Articulo de referencia

El problema de Josefo

La interpretación de Claude Gaspar Bachet de Méziriac del problema de Josefo con 41 soldados y un tamaño de paso de 3, que muestra que los lugares 16 y 31 son los últimos en ser...

La interpretación de Claude Gaspar Bachet de Méziriac del problema de Josefo con 41 soldados y un tamaño de paso de 3, que muestra que los lugares 16 y 31 son los últimos en ser asesinados ; el tiempo avanza hacia adentro a lo largo de la espiral, los puntos verdes denotan soldados vivos, los grises soldados muertos y las cruces asesinatos.

En informática y matemáticas , el problema de Josefo (o permutación de Josefo ) es un problema teórico relacionado con un determinado juego de conteo . Estos juegos se utilizan para seleccionar a una persona de un grupo, por ejemplo, eeny, meeny, miny, moe .

Un diagrama para la secuencia del problema de Josefo para 500 personas y un valor de salto de 6. El eje horizontal representa el número de la persona. El eje vertical (de arriba a abajo) representa el tiempo (el número de ciclo). Una persona viva se dibuja en verde, una persona muerta en negro. [ 1 ]

En el juego de conteo que da origen al problema de Josefo, varias personas se encuentran en círculo esperando ser ejecutadas. El conteo comienza en un punto específico del círculo y continúa alrededor del mismo en una dirección determinada. Después de que se salta un número determinado de personas, se ejecuta a la siguiente. El procedimiento se repite con las personas restantes, comenzando con la siguiente, siguiendo la misma dirección y saltándose el mismo número de personas, hasta que solo queda una, quien es liberada.

El problema —dado el número de personas, el punto de partida, la dirección y el número que se debe omitir— es elegir la posición en el círculo inicial para evitar la ejecución.

Historia

El problema recibe su nombre de Flavio Josefo , historiador y líder judío que vivió en el siglo I. Según el relato de primera mano de Josefo sobre el asedio de Yodfat , él y sus 40 soldados quedaron atrapados en una cueva por soldados romanos . Prefirieron suicidarse antes que ser capturados y optaron por un método de suicidio en serie mediante sorteo. Josefo afirma que, por suerte o posiblemente por intervención divina, él y otro hombre permanecieron hasta el final y se rindieron a los romanos en lugar de quitarse la vida. Esta es la historia que se narra en el Libro 3, Capítulo 8, parte 7 de La guerra judía de Josefo ( escrita en tercera persona ).

Sin embargo, en esta extrema angustia, no careció de su sagacidad habitual; sino que, confiando en la providencia de Dios, puso su vida en riesgo [de la siguiente manera]: «Y ahora», dijo, «puesto que está resuelto entre vosotros que vais a morir, venid, dejemos nuestras muertes mutuas a determinar por sorteo. Aquel a quien le toque la primera suerte, que sea asesinado por aquel a quien le toque la segunda, y así la fortuna seguirá su curso entre todos nosotros; y ninguno de nosotros perecerá por su propia mano derecha, pues sería injusto que, cuando los demás hayan muerto, alguien se arrepienta y se salve». Esta propuesta les pareció muy justa; y cuando los convenció de decidir este asunto por sorteo, echó una de las suertes para sí mismo también. Aquel a quien le tocó la primera suerte le ofreció su cuello a aquel a quien le tocó la siguiente, suponiendo que el general moriría entre ellos inmediatamente; pues pensaban que la muerte, si Josefo pudiera morir con ellos, era más dulce que la vida; Sin embargo, él, junto con otro, quedó hasta el final, ya sea por casualidad o por la providencia divina. Y como deseaba fervientemente no ser condenado por el azar, ni, de haber quedado hasta el final, mancharse la mano derecha con la sangre de sus compatriotas, lo persuadió para que le confiara su fidelidad y viviera tan bien como él.

Josefo s.f. , pág. 579, Guerras de los judíos, Libro III, Cap. 8, párr. 7 

Los detalles del mecanismo utilizado en esta hazaña son bastante vagos. Según James Dowdy y Michael Mays, [ 2 ] en 1612 Claude Gaspard Bachet de Méziriac sugirió el mecanismo específico de disponer a los hombres en círculo y contar de tres en tres para determinar el orden de eliminación. [ 3 ] Esta historia se ha repetido a menudo y los detalles específicos varían considerablemente de una fuente a otra. Por ejemplo, Israel Nathan Herstein e Irving Kaplansky (1974) presentan a Josefo y 39 compañeros de pie en círculo, con cada séptimo hombre eliminado. [ 4 ] Una historia del problema se puede encontrar en la Carta al editor de SL Zabell del Fibonacci Quarterly . [ 5 ]

En cuanto a la intencionalidad, Josefo preguntó: "¿Debemos atribuirlo a la providencia divina o simplemente a la suerte?" [ 6 ] Pero el manuscrito eslavo de Josefo que se conserva cuenta una historia diferente: que "contó los números astutamente y así logró engañar a todos los demás". [ 6 ] [ 7 ] Josefo tenía un cómplice; el problema era entonces encontrar los lugares de los dos últimos supervivientes (cuya conspiración aseguraría su supervivencia). Se alega que se colocó a sí mismo y al otro hombre en el puesto 31 y 16 respectivamente (para k = 3 más adelante). [ 8 ]

Variantes y generalizaciones

Variante del problema de Josefo con 30 personas y un paso de 9 : el tiempo avanza hacia adentro a lo largo de la espiral, los puntos verdes representan soldados vivos, los grises soldados muertos y las cruces asesinatos.

Una versión medieval del problema de Josefo plantea la situación de 15 turcos y 15 cristianos a bordo de un barco durante una tormenta, que se hundirá a menos que la mitad de los pasajeros sean arrojados por la borda. Los 30 se colocan en círculo y cada novena persona debe ser arrojada al mar. Los cristianos deben determinar dónde colocarse para asegurarse de que solo los turcos sean arrojados. [ 9 ] En otras versiones, los roles de turcos y cristianos se intercambian.

Graham, Knuth y Patashnik 1989 , p. 8 describen y estudian una variante "estándar": Determinar dónde se encuentra el último superviviente si hay n personas al principio y cada segunda persona ( k = 2 a continuación) es eliminada. 

Una generalización de este problema es la siguiente. Se supone que cada m -ésima persona será ejecutada de un grupo de tamaño n , en el que la p -ésima persona es la superviviente. Si se añaden x personas al círculo, entonces la superviviente está en la p + mx -ésima posición si esta es menor o igual que n + x . Si x es el valor más pequeño para el cual p + mx > n + x , entonces la superviviente está en la posición ( p + mx ) − ( n + x ) . [ 10 ]

Solución

Penúltimo lugar (rosa) y último lugar (azul ultramar) en el problema de Josefo para diferentes tamaños de grupo, n, y tamaño de paso, k . En el archivo SVG, coloque el cursor sobre los valores para mostrar el orden completo de eliminación.

A continuación,norte{\displaystyle n}denota el número de personas en el círculo inicial, yk{\displaystyle k}denota el recuento para cada paso, es decir,k1{\displaystyle k-1}Se omiten personas y elk{\displaystyle k}-th se ejecuta. Las personas en el círculo están numeradas desde1{\displaystyle 1}anorte{\displaystyle n}, siendo la posición de partida1{\displaystyle 1}y que el recuento sea inclusivo .

k = 2

El problema se resuelve explícitamente cuando una de cada dos personas muere (cada persona mata a la persona que está a su izquierda o derecha), es decirk=2{\displaystyle k=2}. (Para el caso más generalk2{\displaystyle k\neq 2}(A continuación se describe una solución). La solución se expresa recursivamente . SeaF(norte){\displaystyle f(n)}denotan la posición del superviviente cuando inicialmente hay n personas (yk=2{\displaystyle k=2}). La primera vuelta al círculo, mueren todas las personas con número par . La segunda vuelta al círculo, muere la nueva segunda persona, luego la nueva cuarta persona, etc.; es como si no hubiera habido una primera vuelta al círculo.

Si el número inicial de personas era par, entonces la persona en la posición x durante la segunda vuelta al círculo estaba originalmente en la posición2incógnita1{\displaystyle 2x-1}(para cada elección de x ). Seanorte=2j{\displaystyle n=2j}La persona enF(j){\displaystyle f(j)}quien ahora sobrevivirá estaba originalmente en posición2F(j)1{\displaystyle 2f(j)-1}Esto produce la recurrenciaF(2j)=2F(j)1.{\displaystyle f(2j)=2f(j)-1.}

Si el número inicial de personas era impar , entonces se puede pensar que la persona 1 muere al final de la primera vuelta al círculo. Nuevamente, durante la segunda vuelta al círculo, muere la nueva 2.ª persona, luego la nueva 4.ª persona, etc. En este caso, la persona en la posición x estaba originalmente en la posición2incógnita+1{\displaystyle 2x+1}Esto produce la recurrencia F(2j+1)=2F(j)+1.{\displaystyle f(2j+1)=2f(j)+1.}

Cuando se tabulan los valores denorte{\displaystyle n}yF(norte){\displaystyle f(n)}Se observa un patrón ( OEIS : A006257  , también la columna de números azules más a la izquierda en la figura anterior):

Esto sugiere queF(norte){\displaystyle f(n)}es una secuencia extraña creciente que se reinicia conF(norte)=1{\displaystyle f(n)=1}siempre que el índice n sea una potencia de 2. Por lo tanto, si m y l se eligen de manera quenorte=2metro+l{\displaystyle n=2^{m}+l}y0l<2metro{\displaystyle 0\leq l<2^{m}}, entoncesF(norte)=2l+1{\displaystyle f(n)=2l+1}. Es evidente que los valores de la tabla satisfacen esta ecuación. O se puede pensar que después de que l personas mueren, solo quedan l.2metro{\displaystyle 2^{m}}gente, y va a la2l+1{\displaystyle 2l+1}primera persona. Esta persona debe ser la superviviente. EntoncesF(norte)=2l+1{\displaystyle f(n)=2l+1}A continuación se presenta una demostración por inducción .

Teorema: Sinorte=2metro+l{\displaystyle n=2^{m}+l}y0l<2metro{\displaystyle 0\leq l<2^{m}}, entoncesF(norte)=2l+1{\displaystyle f(n)=2l+1}.

Prueba: Se utiliza la inducción fuerte sobre n . El caso basenorte=1{\displaystyle n=1}Es cierto. Los casos se consideran por separado cuando n es par y cuando n es impar.

Si n es par, entonces eligel1{\displaystyle l_{1}}ymetro1{\displaystyle m_{1}}de tal manera quenorte/2=2metro1+l1{\displaystyle n/2=2^{m_{1}}+l_{1}}y0l1<2metro1{\displaystyle 0\leq l_{1}<2^{m_{1}}}. Tenga en cuenta quel1=l/2{\displaystyle l_{1}=l/2}.F(norte)=2F(norte/2)1=2[(2l1)+1]1=2l+1{\displaystyle f(n)=2f(n/2)-1=2[(2l_{1})+1]-1=2l+1}se tiene donde la segunda igualdad se deduce de la hipótesis de inducción.

Si n es impar, entonces eligel1{\displaystyle l_{1}}ymetro1{\displaystyle m_{1}}de tal manera que(norte1)/2=2metro1+l1{\displaystyle (n-1)/2=2^{m_{1}}+l_{1}}y0l1<2metro1{\displaystyle 0\leq l_{1}<2^{m_{1}}}. Tenga en cuenta quel1=(l1)/2{\displaystyle l_{1}=(l-1)/2}.F(norte)=2F[(norte1)/2]+1=2[(2l1)+1]+1=2l+1{\displaystyle f(n)=2f[(n-1)/2]+1=2[(2l_{1})+1]+1=2l+1}se tiene donde la segunda igualdad se deduce de la hipótesis de inducción. Esto completa la demostración.

l se puede resolver para obtener una expresión explícita paraF(norte){\displaystyle f(n)}: F(norte)=2(norte2registro2(norte))+1.{\displaystyle f(n)=2(n-2^{\lfloor \log _{2}(n)\rfloor })+1.}

La forma más elegante de la respuesta implica la representación binaria de tamaño n :F(norte){\displaystyle f(n)}se puede obtener mediante un desplazamiento cíclico a la izquierda de un bit de n mismo. Si n se representa en binario comonorte=1b1b2b3bmetro{\displaystyle n=1b_{1}b_{2}b_{3}\dots b_{m}}, entonces la solución viene dada porF(norte)=b1b2b3bmetro1{\displaystyle f(n)=b_{1}b_{2}b_{3}\dots b_{m}1}. La prueba de esto se deduce de la representación de n como2metro+l{\displaystyle 2^{m}+l}o de la expresión anterior paraF(norte){\displaystyle f(n)}.

Implementación: Si n denota el número de personas, la posición segura viene dada por la funciónF(norte)=2l+1{\displaystyle f(n)=2l+1}, dónde norte=2metro+l{\displaystyle n=2^{m}+l}y0l<2metro{\displaystyle 0\leq l<2^{m}}.

Ahora bien, si el número se representa en formato binario, el primer bit indica2metro{\displaystyle 2^{m}}y los bits restantes denotarán l . Por ejemplo, cuandonorte=41{\displaystyle n=41} , su representación binaria es

n = 1 0 1 0 0 1 2 m = 1 0 0 0 0 0 l = 0 1 0 0 1
/** * @param n el número de personas que se encuentran en el círculo * @return la posición segura que sobrevivirá a la ejecución * f(N) = 2L + 1 donde N = 2^M + L y 0 <= L < 2^M */ public int getSafePosition ( int n ) { // encuentra el valor de L para la ecuación int valueOfL = n - Integer . highestOneBit ( n ); return 2 * valueOfL + 1 ; }

Bitwise

La forma más sencilla de encontrar la posición segura es mediante operadores bit a bit . En este enfoque, desplazar el bit más significativo de n al bit menos significativo devolverá la posición segura. [ 11 ] La entrada debe ser un entero positivo .

n = 1 0 1 0 0 1 f(n) = 0 1 0 0 1 1
/** * @param n (41) el número de personas que se encuentran en el círculo * @return la posición segura que sobrevivirá a la ejecución */ public int getSafePosition ( int n ) { return ~ Integer . highestOneBit ( n * 2 ) & (( n << 1 ) | 1 ); // ---------------------- --- | ------------ // Obtener el primer bit activado | | Desplazar n a la izquierda y voltear el último bit // y tomar su complemento | | // | | // Multiplicar n por 2 | // AND bit a bit para copiar los bits que existen en ambos operandos. }

k = 3

En 1997, Lorenz Halbeisen y Norbert Hungerbühler descubrieron una forma cerrada para el casok=3{\displaystyle k=3}Demostraron que existe una cierta constante.

α0,8111...{\displaystyle \alpha \approx 0.8111...}

que se puede calcular con precisión arbitraria. Dada esta constante, elija m como el mayor entero tal queredondo(α(3/2)metro)norte{\displaystyle \operatorname {round} (\alpha \cdot (3/2)^{m})\leq n}(esto será ometro=redondo(registro3/2norte/α){\displaystyle m^{\prime }=\operatorname {round} (\log _{3/2}n/\alpha )}ometro1{\displaystyle m^{\prime }-1}). Entonces, el último superviviente es

F(norte)=3(norteredondo(α(3/2)metro))+(2{\displaystyle f(n)=3(n-\operatorname {round} (\alpha \cdot (3/2)^{m}))+(2}si se redondea hacia arriba de lo contrario1){\displaystyle 1)}

a pesar denorte5{\displaystyle n\geq 5}.

Como ejemplo de cálculo, Halbeisen y Hungerbühler dannorte=41,k=3{\displaystyle n=41,k=3}(que en realidad es la formulación original del problema de Josefo). Calculan:

metroredondo(registro3/241/0,8111)redondo(9,68)=10{\displaystyle m^{\prime }\approx \operatorname {round} (\log _{3/2}41/0.8111)\approx \operatorname {round} (9.68)=10}
redondo(α(3/2)metro)redondo(0,8111(3/2)10)=47{\displaystyle \operatorname {round} (\alpha \cdot (3/2)^{m^{\prime }})\approx \operatorname {round} (0.8111\cdot (3/2)^{10})=47}y por lo tantometro=9{\displaystyle m=9}
redondo(0,8111(3/2)9)redondo(31.18)=31{\displaystyle \operatorname {round} (0.8111\cdot (3/2)^{9})\approx \operatorname {round} (31.18)=31}(tenga en cuenta que este valor se ha redondeado a la baja)
F(norte)=3(4131)+1=31{\displaystyle f(n)=3(41-31)+1=31}

Esto se puede verificar observando cada pasada sucesiva sobre los números.1 a41 :

1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41
2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 38, 40
2, 4, 8, 11, 16, 17, 22, 25, 29, 31, 35, 38
2, 4, 11, 16, 22, 25, 31, 35
2, 4, 16, 22, 31, 35
4, 16, 31, 35
16, 31
31

El caso general

La programación dinámica se utiliza para resolver este problema en el caso general realizando el primer paso y luego utilizando la solución del problema restante. Cuando el índice comienza desde uno, entonces la persona ens{\displaystyle s}cambia desde la primera persona está en posición((s1)modnorte)+1{\displaystyle ((s-1){\bmod {n}})+1}donde n es el número total de personas. SeaF(norte,k){\displaystyle f(n,k)}denotan la posición del superviviente. Después de lak{\displaystyle k}La persona número -es asesinada, un círculo denorte1{\displaystyle n-1}permanece, y el siguiente conteo se inicia con la persona cuyo número en el problema original era(kmodnorte)+1{\displaystyle (k{\bmod {n}})+1}. La posición del superviviente en el círculo restante seríaF(norte1,k){\displaystyle f(n-1,k)}si el conteo se inicia en1{\displaystyle 1}; cambiando esto para tener en cuenta el hecho de que el punto de partida es(kmodnorte)+1{\displaystyle (k{\bmod {n}})+1}produce la recurrencia [ 12 ]F(norte,k)=([F(norte1,k)+k1]modnorte)+1, con F(1,k)=1,{\displaystyle f(n,k)={\big (}[f(n-1,k)+k-1]{\bmod {n}}{\big )}+1,{\text{ with }}f(1,k)=1,} que adopta la forma más sencilla gramo(norte,k)=[gramo(norte1,k)+k]modnorte, con gramo(1,k)=0{\displaystyle g(n,k)=[g(n-1,k)+k]{\bmod {n}},{\text{ with }}g(1,k)=0} si las posiciones están numeradas desde0{\displaystyle 0}anorte1{\displaystyle n-1}en cambio.

Este enfoque tiene tiempo de ejecuciónO(norte){\displaystyle O(n)}pero para los pequeñosk{\displaystyle k}y grandenorte{\displaystyle n}Existe otro enfoque. El segundo enfoque también utiliza programación dinámica, pero tiene un tiempo de ejecución.O(kregistronorte){\displaystyle O(k\log n)}. Se basa en considerar matar al k -ésimo, 2k - ésimo, ...,(norte/kk){\displaystyle (\lfloor n/k\rfloor k)}-personas como un paso, luego cambiando la numeración.

Este enfoque mejorado toma la forma gramo(norte,k)={0si norte=1,(gramo(norte1,k)+k)modnortesi 1<norte<k,{gramo(nortenortek,k)nortemodk+nortesi gramo(nortenortek,k)<nortemodkk(gramo(nortenortek,k)nortemodk)k1si gramo(nortenortek,k)nortemodk}si knorte.{\displaystyle g(n,k)={\begin{cases}0&{\text{if }}n=1,\\(g(n-1,k)+k){\bmod {n}}&{\text{if }}1<n<k,\\{\begin{Bmatrix}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)-n{\bmod {k}}+n&{\text{if }}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)<n{\bmod {k}}\\\left\lfloor {\dfrac {k\left(g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)-n{\bmod {k}}\right)}{k-1}}\right\rfloor &{\text{if }}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)\geq n{\bmod {k}}\end{Bmatrix}}&{\text{if }}k\leq n.\\\end{cases}}}

Véase también

Referencias

Citas

  1. R.Ugalde, Laurence. "El problema de Josefo en el lenguaje de programación Fōrmulæ" . Fōrmulæ . Consultado el 26 de julio de 2021 .
  2. Dowdy y Mays 1989 , pág. 125.
  3. Bachet 1612 , pág. 174.
  4. Herstein y Kaplansky 1974 , págs. 121–126.
  5. Zabell 1976 , págs. 48, 51.
  6. 1 2 Cohen, Richard. Haciendo historia: Los narradores que moldearon el pasado , pág. 54 (Simon & Schuster 2022).
  7. Hailperin, Max; Kaiser, Barbara; Knight, Karl (1999). "3.5 Una aplicación: El problema de Josefo" (PDF) . Abstracciones concretas: Una introducción a la informática con Scheme . Brooks/Cole Publishing Company. págs. 65–67 . 
  8. Rouse Ball 1905 , pág. 19.
  9. Newman 1988 , págs. 2403–2405.
  10. Robinson 1960 , págs. 47–52.
  11. "Problema de Josefo usando operaciones bit a bit (Java)" . GitHub . 7 de enero de 2018. Consultado el 7 de enero de 2018 .
  12. Parque & Teixeira 2018 , págs. 1–7.

Fuentes

  • Bachet, CG (1612). Problemes Plaisants ed Delectables qui se font par les Nombres (en francés).
  • Graham, RL ; Knuth, DE ; Patashnik, O. (1989). Matemáticas concretas: Fundamentos para la informática . Addison Wesley. ISBN 978-0-201-14236-5.
  • Herstein, IN; Kaplansky, I. (1974). Asuntos matemáticos . Harper and Row. ISBN 9780060428037.
  • Josefo, Flavio (s.f.). Obras de Flavio Josefo: en tres volúmenes; con ilustraciones . Traducido por William Whiston. Londres: George Routledge & Sons.
  • Newman, JR (1988). El mundo de las matemáticas . Vol.  4. Tempus.
  • Park, Jang-Woo; Teixeira, Ricardo (2018). "Problema de ejecución serial de Josefo". Korean J. Math . 26 (1): 1– 7. doi : 10.11568/kjm.2018.26.1.1 .
  • Robinson, WJ (1960). "El problema de Josefo". Math . Gaz . 44 (347): 47– 52. doi : 10.2307/3608532 . JSTOR 3608532. S2CID 125735054 .  
  • Rouse Ball, WW (1905). Recreaciones y ensayos matemáticos (2.ª  ed.). Londres: Macmillan.
  • Zabell, SL (1976). "Carta al editor" (PDF) . Fibonacci Quarterly . 14 : 48–51 . doi : 10.1080/00150517.1976.12430596 .

Lecturas adicionales

  • Cormen, Thomas H.; Leiserson , Charles E .; Rivest, Ronald L .; Stein, Clifford (2001). «Capítulo 14: Ampliación de estructuras de datos». Introducción a los algoritmos (Segunda  edición). MIT Press y McGraw-Hill. pág.  318. ISBN 0-262-03293-7.
  • Dowdy, James; Mays, Michael E. (1989). "Permutaciones de Josefo" . Journal of Combinatorial Mathematics and Combinatorial Computing . 6 : 125–130 .
  • Halbeisen, L.; Hungerbühler, N. (1997). "El problema de Josefo" . J. Théor. Nombres Burdeos . 9 (2): 303– 318. doi : 10.5802/jtnb.204 .
  • Jakóbczyk, F. (1973). "Sobre el problema generalizado de Josefo" . Glasow Math. J. 14 ( 2): 168– 173. doi : 10.1017/S0017089500001919 . S2CID 122980022 . 
  • Lloyd, Errol L. (1983). "Un algoritmo O(n log m) para el problema de Josefo". J. Algor . 4 (3): 262– 270. doi : 10.1016/0196-6774(83)90025-1 .
  • Mount, John (11 de octubre de 2024). "Dudeney's Catching The Mice Puzzle" . Blog de Win Vector . Win Vector LLC . Recuperado el 12 de octubre de 2024 .
  • Odlyzko, Andrew M.; Wilf, Herbert S. (1991). "Iteración funcional y el problema de Josefo" . Glasgow Math. J. 33 ( 2): 235– 240. doi : 10.1017/S0017089500008272 . S2CID 123160551 . 
  • Ruskey, Frank; Williams, Aaron (2010). "El problema felino de Josefo". Lect. Not. Comp. Sci . Lecture Notes in Computer Science. Vol.  6099. pp. 343–354 . Bibcode : 2010LNCS.6099..343R . doi : 10.1007/978-3-642-13122-6_33 . ISBN  978-3-642-13121-9.DIVERSIÓN 2010
  • Ruskey, Frank; Williams, Aaron (2012). "El problema felino de Josefo". Theory Comput. Syst . 50 : 20–34 . CiteSeerX 10.1.1.157.2956 . doi : 10.1007/s00224-011-9343-6 . S2CID 2273820 .  
  • Sullivan, Shaun; Insko, Erik (2018). "Una variante del problema del felino Josefo". arXiv : 1803.11340 [ matemáticas.CO ].
  • Theriault, Nicolas (2001). "Generilizaciones del problema de Josefo". Útil. Matemáticas. (58): 161– 173. CiteSeerX 10.1.1.164.2015 . 
  • Woodhouse, David (1973). "El problema extendido de Josefo". Rev. Mat. Hisp.-Amer . 33 (4): 207– 218.