Articulo de referencia

Gira de Knight

Un recorrido abierto del caballo por un tablero de ajedrez Animación de un recorrido abierto del caballo en un tablero de 5 × 5 Un recorrido de caballo es una secuencia de movim...

Un recorrido abierto del caballo por un tablero de ajedrez
Animación de un recorrido abierto del caballo en un tablero de 5 × 5

Un recorrido de caballo es una secuencia de movimientos de un caballo en un tablero de ajedrez en la que el caballo visita cada casilla exactamente una vez. Si el caballo termina en una casilla que está a un movimiento de caballo de la casilla inicial (de modo que podría recorrer el tablero de nuevo inmediatamente, siguiendo el mismo camino), el recorrido es "cerrado" o "reentrante"; de lo contrario, es "abierto". [ 1 ] [ 2 ]

El problema del recorrido del caballo es el problema matemático de encontrar un recorrido del caballo. Crear un programa para encontrar un recorrido del caballo es un problema común que se les plantea a los estudiantes de informática . [ 3 ] Las variaciones del problema del recorrido del caballo involucran tableros de ajedrez de tamaños diferentes al habitual de 8 × 8 , así como tableros irregulares (no rectangulares).

Teoría

Gráfico del caballo que muestra todos los caminos posibles para el recorrido de un caballo en un tablero de ajedrez estándar de 8 × 8. Los números en cada nodo indican la cantidad de movimientos posibles que se pueden realizar desde esa posición.

El problema del recorrido del caballo es una instancia del problema más general del camino hamiltoniano en la teoría de grafos . El problema de encontrar un recorrido cerrado del caballo es, de manera similar, una instancia del problema del ciclo hamiltoniano . A diferencia del problema general del camino hamiltoniano, el problema del recorrido del caballo se puede resolver en tiempo lineal . [ 4 ]

Historia

El recorrido del caballo, tal como lo demuestra el Turco , una máquina de ajedrez fraudulenta. Esta solución en particular es cerrada (circular) y, por lo tanto, puede completarse desde cualquier punto del tablero. [ 5 ]

La referencia más antigua conocida al problema del recorrido del caballo data del siglo IX d. C. En el Kavyalankara de Rudrata [ 6 ] (5.15), una obra sánscrita sobre poética, el patrón del recorrido de un caballo en medio tablero se presenta como una figura poética elaborada ( citra-alaṅkāra ) llamada turagapadabandha o «disposición en los pasos de un caballo». El mismo verso, dividido en cuatro líneas de ocho sílabas cada una, puede leerse de izquierda a derecha o siguiendo el camino del caballo en su recorrido. Dado que los sistemas de escritura índicos utilizados para el sánscrito son silábicos, cada sílaba puede considerarse como una casilla en un tablero de ajedrez. El ejemplo de Rudrata es el siguiente:

transliterado:

Por ejemplo, la primera línea se puede leer de izquierda a derecha o moviéndose del primer cuadrado a la segunda línea, tercera sílaba (2.3) y luego a 1.5 a 2.7 a 4.8 a 3.6 a 4.4 a 3.2.

El poeta y filósofo Sri Vaishnava Vedanta Desika , durante el siglo XIV, en su obra magna de 1008 versos que alaba las sandalias divinas de Srirangam de la deidad Ranganatha , Paduka Sahasram (en el capítulo 30: Chitra Paddhati ), compuso dos versos consecutivos en sánscrito que contienen 32 letras cada uno (en metro Anushtubh ), donde el segundo verso se puede derivar del primero realizando un recorrido del caballo en un tablero de 4 × 8 , comenzando desde la esquina superior izquierda. [ 7 ] El verso 19 transliterado es el siguiente:

El vigésimo verso que se puede obtener realizando el recorrido del caballero sobre el verso anterior es el siguiente:

sThi thA sa ma ya rA ja thpA

ga tha rA mA dha kE ga vi |

dhu ran ha sAm sa nna thA dhA

sA dhyA thA pa ka rA sa rA ||

Se cree que Desika compuso los 1.008 versos (incluido el especial Chaturanga Turanga Padabandham mencionado anteriormente) en una sola noche como un desafío. [ 8 ]

Un recorrido descrito en el quinto libro del Bhagavantabaskaraby de Bhat Nilakantha, una obra enciclopédica en sánscrito sobre ritual, ley y política, escrita alrededor de 1600 o 1700, describe tres recorridos de caballeros. Los recorridos no solo son reentrantes, sino también simétricos, y los versos se basan en el mismo recorrido, partiendo de diferentes casillas. [ 9 ] La obra de Nilakantha es un logro extraordinario, al tratarse de un recorrido cerrado completamente simétrico, anterior a la obra de Euler (1759) por al menos 60 años.

Un cuadrado semimágico (sus diagonales no suman su constante mágica , 260) que también forma un recorrido del caballo ; no existen recorridos completamente mágicos en un tablero de 8x8 (aunque sí existen en tableros más grandes) [ 10 ].

Después de Nilakantha, uno de los primeros matemáticos en investigar el recorrido del caballo fue Leonhard Euler . El primer procedimiento para completar el recorrido del caballo fue la regla de Warnsdorf, descrita por primera vez en 1823 por H. C. von Warnsdorff.

En el siglo XX, el grupo de escritores Oulipo lo utilizó, entre muchos otros. El ejemplo más notable es el recorrido del caballero de 10 × 10 que establece el orden de los capítulos en la novela de Georges Perec , La vida, manual de instrucciones .

En la sexta partida del Campeonato Mundial de Ajedrez de 2010 entre Viswanathan Anand y Veselin Topalov, Anand realizó 13 movimientos consecutivos de caballo (aunque utilizando ambos caballos); los comentaristas en línea bromearon diciendo que Anand estaba intentando resolver el problema del recorrido del caballo durante la partida.

Existencia

Un recorrido cerrado del caballo con simetría radial

Schwenk [ 11 ] demostró que para cualquier tablero m × n con mn , siempre es posible un recorrido cerrado del caballo a menos que se cumpla una o más de estas tres condiciones:

  1. m y n son ambos impares
  2. m = 1, 2 o 4
  3. m = 3 y n = 4, 6 u 8.

Cull et al. y Conrad et al. demostraron que en cualquier tablero rectangular cuya dimensión menor sea al menos 5, existe un recorrido del caballo (posiblemente abierto). [ 4 ] [ 12 ] Para cualquier tablero m × n con mn , siempre es posible un recorrido del caballo (posiblemente abierto) a menos que se cumpla una o más de estas tres condiciones:

  1. m = 1 o 2
  2. m = 3 y n = 3, 5 o 6 [ 13 ]
  3. m = 4 y n = 4. [ 14 ]

Número de recorridos

En un tablero de 8 × 8 , hay exactamente 26.534.728.821.064 recorridos cerrados dirigidos (es decir, dos recorridos a lo largo del mismo camino que viajan en direcciones opuestas se cuentan por separado, al igual que las rotaciones y las reflexiones ). [ 15 ] [ 16 ] [ 17 ] El número de recorridos cerrados no dirigidos es la mitad de este número, ya que cada recorrido se puede trazar en sentido inverso. Hay 9.862 recorridos cerrados no dirigidos en un tablero de 6 × 6. [ 18 ]

Encontrar tours con computadoras

Existen varias maneras de encontrar un recorrido del caballo en un tablero dado con la ayuda de una computadora. Algunos de estos métodos son algoritmos , mientras que otros son heurísticas .

Algoritmos de fuerza bruta

Una búsqueda por fuerza bruta de un recorrido del caballo es impracticable en todos los tableros excepto en los más pequeños. [ 19 ] En un tablero de 8 × 8 , por ejemplo, hay13.267.364.410.532 recorridos del caballo, [ 15 ] y un número mucho mayor de secuencias de movimientos del caballo de la misma longitud. Está muy por encima de la capacidad de las computadoras modernas (o redes de computadoras) para realizar operaciones en un conjunto tan grande. Sin embargo, el tamaño de este número no es indicativo de la dificultad del problema, que puede resolverse "utilizando la intuición y el ingenio humanos... sin mucha dificultad". [ 19 ]

Al dividir el tablero en piezas más pequeñas, construir recorridos en cada pieza y unirlas, se pueden construir recorridos en la mayoría de los tableros rectangulares en tiempo lineal , es decir, en un tiempo proporcional al número de casillas del tablero. [ 12 ] [ 20 ]

La regla de Warnsdorff

Representación gráfica de la regla de Warnsdorff. Cada casilla contiene un número entero que indica la cantidad de movimientos que el caballo puede realizar desde esa casilla. En este caso, la regla nos indica que debemos movernos a la casilla con el número entero más pequeño, que es el 2.
Un recorrido abierto del caballo de casillas muy grandes (130 × 130) creado utilizando la regla de Warnsdorff.

La regla de Warnsdorff es una heurística para encontrar un único recorrido del caballo. El caballo se mueve de manera que siempre avance a la casilla desde la que tendrá el menor número de movimientos hacia adelante. Al calcular el número de movimientos hacia adelante para cada casilla candidata, no se cuentan los movimientos que vuelven a visitar una casilla ya visitada. Es posible tener dos o más opciones con el mismo número de movimientos hacia adelante; existen varios métodos para resolver estos empates, incluyendo uno ideado por Pohl [ 21 ] y otro por Squirrel y Cull [ 22 ] .

Esta regla también puede aplicarse de forma más general a cualquier grafo. En términos de teoría de grafos, cada movimiento se realiza al vértice adyacente con el menor grado . [ 23 ] Aunque el problema del camino hamiltoniano es NP-difícil en general, en muchos grafos que aparecen en la práctica esta heurística es capaz de encontrar con éxito una solución en tiempo lineal . [ 21 ] El recorrido del caballo es un caso especial de este tipo. [ 24 ]

La heurística fue descrita por primera vez en "Des Rösselsprungs einfachste und allgemeinste Lösung" de HC von Warnsdorff en 1823. [ 24 ]

Un programa informático que encuentra un recorrido del caballo para cualquier posición inicial utilizando la regla de Warnsdorff fue escrito por Gordon Horsington y publicado en 1984 en el libro Century/Acorn User Book of Computer Puzzles . [ 25 ]

Soluciones de redes neuronales

Recorrido cerrado del caballo en un tablero de 24 × 24 resuelto por una red neuronal

El problema del recorrido del caballo también se presta a ser resuelto mediante una implementación de red neuronal . [ 26 ] La red está configurada de tal manera que cada movimiento legal del caballo está representado por una neurona , y cada neurona se inicializa aleatoriamente como "activa" o "inactiva" (salida de 1 o 0), donde 1 implica que la neurona forma parte de la solución. Cada neurona también tiene una función de estado (descrita más adelante) que se inicializa a 0.

Cuando se permite que la red funcione, cada neurona puede cambiar su estado y salida en función de los estados y salidas de sus vecinas (aquellas que se encuentran exactamente a un movimiento de caballo de distancia) según las siguientes reglas de transición:

Ut+1(nortei,j)=Ut(nortei,j)+2norteGRAMO(nortei,j)Vt(norte){\displaystyle U_{t+1}(N_{i,j})=U_{t}(N_{i,j})+2-\sum _{N\in G(N_{i,j})}V_{t}(N)}
Vt+1(nortei,j)={1siUt+1(nortei,j)>30siUt+1(nortei,j)<0Vt(nortei,j)de lo contrario,{\displaystyle V_{t+1}(N_{i,j})=\left\{{\begin{array}{ll}1&{\mbox{si}}\,\,U_{t+1}(N_{i,j})>3\\0&{\mbox{si}}\,\,U_{t+1}(N_{i,j})<0\\V_{t}(N_{i,j})&{\mbox{en otro caso}},\end{array}}\right.}

dóndet{\displaystyle t}representa intervalos de tiempo discretos,U(nortei,j){\displaystyle U(N_{i,j})}es el estado de la neurona que conecta el cuadradoi{\displaystyle i}al cuadradoj{\displaystyle j},V(nortei,j){\displaystyle V(N_{i,j})}es la salida de la neurona dei{\displaystyle i}aj{\displaystyle j}, yGRAMO(nortei,j){\displaystyle G(N_{i,j})}es el conjunto de vecinos de la neurona.

Aunque son posibles casos divergentes, la red debería converger eventualmente, lo que ocurre cuando ninguna neurona cambia su estado desde el tiempot{\displaystyle t}at+1{\displaystyle t+1}Cuando la red converge, codifica un recorrido del caballo o una serie de dos o más circuitos independientes dentro del mismo tablero.

Véase también

Notas

  1. Brown, Alfred James (2017). Knight's Tours and Zeta Functions (tesis de maestría). Universidad Estatal de San José. pág.  3. doi : 10.31979/etd.e7ra-46ny .
  2. Hooper, David ; Whyld, Kenneth (1996) [Primera publicación: 1992]. "Recorrido del caballero". The Oxford Companion to Chess (2.ª ed.). Oxford University Press . pág. 204. ISBN   0-19-280049-3.
  3. ^ Deitel, HM; Deitel, PJ (2003). Java Cómo programar quinta edición (5ª ed.). Prentice Hall . págs. 326–328 . ISBN   978-0131016217.
  4. 1 2 Conrad, A.; Hindrichs, T.; Morsy, H. y Wegener, I. (1994). "Solución del problema del camino hamiltoniano del caballo en tableros de ajedrez" . Matemáticas aplicadas discretas . 50 (2): 125– 134. doi : 10.1016/0166-218X(92)00170-Q .
  5. Standage, Tom (2002). El turco: la vida y la época de la famosa máquina de ajedrez del siglo XVIII . Walker & Co. pp. 30–31 . ISBN  0-8027-1391-2.
  6. ^ Satyadev, Chaudhary. Kavyalankara de Rudrata (texto en sánscrito, con traducción al hindi); . Delhitraversal: Serie Parimal Sánscrito No. 30.
  7. "Instituto Indio de Tecnología de la Información, Bangalore" . www.iiitb.ac.in . Consultado el 11 de octubre de 2019 .
  8. ^ Puente-india (5 de agosto de 2011). "Puente-India: Paduka Sahasram de Vedanta Desika" . Puente-India . Consultado el 16 de octubre de 2019 .
  9. Historia del ajedrez por Murray
  10. "Noticias de MathWorld: No existen recorridos mágicos del caballo en el tablero de ajedrez" .
  11. Allen J. Schwenk (1991). "¿Qué tableros de ajedrez rectangulares tienen un recorrido del caballo?" (PDF) . Mathematics Magazine . 64 (5): 325– 332. doi : 10.1080/0025570X.1991.11977627 . S2CID 28726833. Archivado del original (PDF) el 26 de mayo de 2019. 
  12. 1 2 Cull, P.; De Curtins, J. (1978). "Knight's Tour Revisited" (PDF) . Fibonacci Quarterly . 16 (3): 276– 285. doi : 10.1080/00150517.1978.12430328 . Archivado (PDF) del original el 09-10-2022.
  13. "Knight's Tours en 3 por N Boards" .
  14. "Knight's Tours en 4 por N Boards" .
  15. 1 2 Löbbing, Martin; Wegener, Ingo (1996). "El número de recorridos del caballo es igual a 33.439.123.484.294: conteo con diagramas de decisión binarios". Revista electrónica de combinatoria . 3 (1). Documento de investigación 5. doi : 10.37236/1229 . MR 1368332 . Consulte el comentario adjunto de Brendan McKay, del 18 de febrero de 1997, para ver el recuento corregido.
  16. Brendan McKay (1997). "Recorridos del caballo en un tablero de ajedrez de 8 × 8 " . Informe técnico TR-CS-97-03 . Departamento de Ciencias de la Computación, Universidad Nacional Australiana. Archivado del original el 28 de septiembre de 2013. Consultado el 22 de septiembre de 2013 .
  17. Wegener, I. (2000). Programas de ramificación y diagramas de decisión binarios . Sociedad de Matemáticas Industriales y Aplicadas. ISBN 978-0-89871-458-6.
  18. Weisstein, Eric W. "Knight Graph" . MathWorld .
  19. 1 2 Simon, Dan (2013), Algoritmos de optimización evolutiva , John Wiley & Sons, págs. 449–450 , ISBN  9781118659502El problema del recorrido del caballo es un problema clásico de optimización combinatoria. La cardinalidad N x de x (el tamaño del espacio de búsqueda) supera los 3,3 × 10¹³ (Löbbing y Wegener, 1995). No sería conveniente intentar resolver este problema mediante fuerza bruta, pero con la intuición y el ingenio humanos podemos resolver el recorrido del caballo sin mucha dificultad. Vemos que la cardinalidad de un problema de optimización combinatoria no es necesariamente indicativa de su dificultad.
  20. Parberry, Ian (1997). "Un algoritmo eficiente para el problema del recorrido del caballo" (PDF) . Matemáticas Aplicadas Discretas . 73 (3): 251– 260. doi : 10.1016/S0166-218X(96)00010-8 . Archivado (PDF) del original el 9 de octubre de 2022.
  21. 1 2 Pohl, Ira (julio de 1967). "Un método para encontrar caminos de Hamilton y recorridos de Knight". Communications of the ACM . 10 (7): 446– 449. CiteSeerX 10.1.1.412.8410 . doi : 10.1145/363427.363463 . S2CID 14100648 .  
  22. Squirrel, Douglas; Cull, P. (1996). "Un algoritmo de la regla de Warnsdorff para recorridos del caballo en tableros cuadrados" (PDF) . GitHub . Recuperado el 21 de agosto de 2011 .
  23. Van Horn, Gijs; Olij, Richard; Sleegers, Joeri; Van den Berg, Daan (2018). Un análisis predictivo de datos para la dificultad de instancias de problemas de ciclos hamiltonianos (PDF) . ANÁLISIS DE DATOS 2018: Séptima Conferencia Internacional sobre Análisis de Datos. Atenas, Grecia: XPS . págs. 91–96 . ISBN  978-1-61208-681-1. Consultado el 27 de noviembre de 2018 .
  24. 1 2 Alwan, Karla; Waters, K. (1992). Finding Re-entrant Knight's Tours on N-by-M Boards . ACM Southeast Regional Conference. Nueva York, Nueva York: ACM . pp. 377– 382. doi : 10.1145/503720.503806 . 
  25. Dally, Simon, ed. (1984). Century/Acorn User Book of Computer Puzzles . Century Communications. ISBN 978-0712605410.
  26. Y. Takefuji, KC Lee. "Computación de redes neuronales para problemas del recorrido del caballo." Neurocomputing , 4(5):249–254, 1992.
  • Logotipo de Wikimedia CommonsContenido multimedia relacionado con Knight's Tours en Wikimedia Commons
  • Secuencia OEIS A001230 (Número de recorridos cerrados no dirigidos del caballo en un tablero de ajedrez de 2n x 2n)
  • Secuencia OEIS A390833 (Número de caminos hamiltonianos no dirigidos en el grafo de caballeros k X n)
  • HC von Warnsdorff 1823 en Google Libros
  • Introducción a las visitas guiadas de Knight por George Jelliss
  • Notas sobre la gira de Knight por George Jelliss
  • Philip, Anish (2013). "Un algoritmo generalizado de recorrido de pseudo-caballero para el cifrado de una imagen". IEEE Potentials . 32 (6): 10– 16. Bibcode : 2013IPot...32f..10P . doi : 10.1109/MPOT.2012.2219651 . S2CID 39213422 .