Articulo de referencia

Torre de Hanoi

Un conjunto de maquetas de la Torre de Hanoi (con 8 discos) Una solución animada del rompecabezas de la Torre de Hanoi para T (4, 3) Exposición interactiva de la Torre de Hanoi ...

Un conjunto de maquetas de la Torre de Hanoi (con 8 discos)
Una solución animada del rompecabezas de la Torre de Hanoi para T (4, 3)
Exposición interactiva de la Torre de Hanoi en el Museo Universum de la Ciudad de México.

La Torre de Hanoi (también llamada problema del Templo de Benarés , [ 1 ] Torre de Brahma o Torre de Lucas , [ 2 ] y a veces pluralizada como Torres , o simplemente el rompecabezas de la pirámide [ 3 ] ) es un juego o rompecabezas matemático que consiste en tres varillas y varios discos de diferentes diámetros , que pueden deslizarse sobre cualquier varilla. El rompecabezas comienza con los discos apilados en una varilla en orden de tamaño decreciente, el más pequeño en la parte superior, aproximándose así a una forma cónica . El objetivo del rompecabezas es mover toda la pila a una de las otras varillas, obedeciendo las siguientes reglas: [ 4 ]

  1. Solo se puede mover un disco a la vez.
  2. Cada movimiento consiste en tomar el disco superior de una de las pilas y colocarlo encima de otra pila o sobre una varilla vacía.
  3. No se puede colocar ningún disco encima de otro disco de menor tamaño.

Con tres discos, el rompecabezas se puede resolver en siete movimientos. El número mínimo de movimientos necesarios para resolver un rompecabezas de la Torre de Hanoi es 2 n − 1 , donde n es el número de discos.

Orígenes

El rompecabezas fue inventado por el matemático francés Édouard Lucas , presentado por primera vez en 1883 como un juego descubierto por "N. Claus (de Siam)" (un anagrama de "Lucas d'Amiens"), [ 5 ] [ 6 ] [ 7 ] y publicado posteriormente como un folleto en 1889 [ 8 ] y en un volumen publicado póstumamente de las Récréations mathématiques de Lucas . [ 9 ] Junto con el juego había un folleto de instrucciones, que describía los supuestos orígenes del juego en Tonkín y afirmaba que, según la leyenda, los brahmanes de un templo en Benarés habían estado llevando a cabo el movimiento de la "Torre Sagrada de Brahma ", que consta de 64 discos dorados, según las mismas reglas que en el juego, y que la finalización de la torre conduciría al fin del mundo. [ 10 ] Existen numerosas variaciones de esta leyenda, en relación con la naturaleza antigua y mística del enigma. [ 5 ]

A una velocidad de un movimiento por segundo, el tiempo mínimo que se necesitaría para completar los 64 discos sería de 2 64  1 segundos o 585 mil millones de años, aproximadamente 42 veces la edad actual estimada del universo . [ 11 ]

Existen muchas variantes de esta leyenda. Por ejemplo, en algunas versiones, el templo es un monasterio y los sacerdotes son monjes . El templo o monasterio puede estar ubicado en diversos lugares, incluyendo Hanói , y puede estar asociado a cualquier religión . En algunas versiones, se introducen otros elementos, como el hecho de que la torre fue creada al principio del mundo, o que los sacerdotes o monjes solo pueden moverse una vez al día.

Solución

El rompecabezas se puede jugar con cualquier número de discos, aunque muchas versiones de juguete tienen entre 7 y 9. El número mínimo de movimientos necesarios para resolver un rompecabezas de la Torre de Hanoi con n discos es 2 n − 1 . [ 12 ]

Solución iterativa

Animación de un algoritmo iterativo para resolver el problema de los 6 discos.

Una solución sencilla para el rompecabezas de juguete es alternar entre 1) mover la pieza superior y 2) mover otra pieza.

En el caso 1, siempre que movemos la parte superior, la desplazamos a la siguiente posición en la misma dirección. Esto es hacia la derecha si el número inicial de piezas es par, o hacia la izquierda si el número inicial de piezas es impar.

Imaginamos que las torres están dispuestas en círculo, o que la imagen del rompecabezas se extiende horizontalmente, de modo que al movernos hacia la izquierda desde la primera torre llegamos a la tercera, y al movernos hacia la derecha desde la tercera torre llegamos a la primera.

En otras palabras, los pasos 1, 3, 5, 7... colocarán la parte superior de A > B > C > A ... (para un número par de piezas) o A > C > B > A ... repetir (para un número impar de piezas).

Para el 2, siempre que movemos otra pieza, siempre hay solo un movimiento legal, ya que ninguna pieza puede moverse a la más pequeña, y de cualquier combinación de otras piezas, solo una encajará con la otra.

Siguiendo correctamente los pasos 1, 2, 1, 2, ... se completará el rompecabezas en el menor número de movimientos. [ 13 ]

Enunciado más sencillo de la solución iterativa

La solución iterativa equivale a la ejecución repetida de la siguiente secuencia de pasos hasta que se haya alcanzado el objetivo:

  • Mueva un disco de la clavija A a la clavija B o viceversa, según cuál movimiento sea válido.
  • Mueva un disco de la clavija A a la clavija C o viceversa, según cuál movimiento sea válido.
  • Mueva un disco de la clavija B a la clavija C o viceversa, según cuál movimiento sea válido.

Siguiendo este enfoque, la pila terminará en la clavija B si el número de discos es impar y en la clavija C si es par. Cambiar el orden modificará el resultado:

  • Mueva un disco de la clavija A a la clavija C o viceversa, según cuál movimiento sea válido.
  • Mueva un disco de la clavija A a la clavija B o viceversa, según cuál movimiento sea válido.
  • Mueva un disco de la clavija B a la clavija C o viceversa, según cuál movimiento sea válido.

De esta forma, la pila terminará en la clavija B si el número de discos es par y en la clavija C si es impar.

Solución recursiva

Ilustración de una solución recursiva para el rompecabezas de las Torres de Hanoi con 4 discos. En el archivo SVG, haga clic en un botón gris para expandirlo o contraerlo.

La clave para resolver un problema recursivamente reside en reconocer que puede descomponerse en un conjunto de subproblemas más pequeños, a cada uno de los cuales se aplica el mismo procedimiento general de resolución que buscamos , y la solución total se halla de forma sencilla a partir de las soluciones de dichos subproblemas. El hecho de que cada uno de estos subproblemas creados sea "más pequeño" garantiza que, finalmente, se alcanzará el caso base. Para las Torres de Hanoi:

  • etiqueta las clavijas A, B, C,
  • Sea n el número total de discos, y
  • Numera los discos del 1 (el más pequeño, el de arriba) al n (el más grande, el de abajo).

Suponiendo que los n discos están distribuidos en arreglos válidos entre las clavijas; suponiendo que hay m discos superiores en una clavija de origen , y que todos los demás discos son más grandes que m , por lo que pueden ignorarse con seguridad; mover m discos de una clavija de origen a una clavija de destino usando una clavija de repuesto , sin violar las reglas:

  1. Traslada m − 1 discos desde la clavija de origen a la clavija de reserva , siguiendo el mismo procedimiento general de resolución . Por supuesto, no se infringen las reglas. Esto deja el disco m como disco superior en la clavija de origen.
  2. Mover el disco m desde la clavija de origen hasta la clavija de destino , lo cual está garantizado que es un movimiento válido, según las suposiciones, es un paso simple .
  3. Mueva los m − 1 discos que acabamos de colocar en el repuesto, desde el repuesto hasta la clavija objetivo mediante el mismo procedimiento general de resolución , de modo que se coloquen encima del disco m sin violar las reglas.
  4. El caso base consiste en mover 0 discos (en los pasos 1 y 3), es decir, no hacer nada, lo cual no infringe las reglas.

La solución completa de la Torre de Hanoi consiste en mover n discos desde la clavija de origen A hasta la clavija de destino C, utilizando B como clavija de reserva.

Este enfoque puede demostrarse matemáticamente de forma rigurosa mediante inducción matemática y se utiliza con frecuencia como ejemplo de recursión al enseñar programación.

Análisis lógico de la solución recursiva

Como en muchos acertijos matemáticos, encontrar una solución se facilita resolviendo un problema ligeramente más general: cómo mover una torre de h (altura) discos desde una clavija inicial f = A (desde) hasta una clavija de destino t = C (hasta), siendo B la tercera clavija restante y suponiendo que tf . Primero, observe que el problema es simétrico para permutaciones de los nombres de las clavijas ( grupo simétrico S 3 ). Si se conoce una solución moviendo de la clavija A a la clavija C , entonces, cambiando el nombre de las clavijas, se puede usar la misma solución para cualquier otra elección de clavija inicial y de destino. Si solo hay un disco (o incluso ninguno), el problema es trivial. Si h = 1, entonces mueva el disco de la clavija A a la clavija C . Si h > 1, entonces en algún punto de la secuencia de movimientos, el disco más grande debe moverse de la clavija A a otra clavija, preferiblemente a la clavija C . La única situación que permite este movimiento es cuando todos los discos más pequeños h − 1 están en la clavija B. Por lo tanto, primero todos los discos más pequeños h − 1 deben ir de A a B. Luego mover el disco más grande y finalmente mover los discos más pequeños h − 1 de la clavija B a la clavija C. La presencia del disco más grande no impide ningún movimiento de los discos más pequeños h − 1 y puede ignorarse temporalmente. Ahora el problema se reduce a mover h − 1 discos de una clavija a otra, primero de A a B y posteriormente de B a C , pero el mismo método puede usarse en ambos casos cambiando el nombre de las clavijas. La misma estrategia puede usarse para reducir el problema h − 1 a h − 2, h − 3, y así sucesivamente hasta que solo quede un disco. Esto se llama recursión. Este algoritmo puede esquematizarse de la siguiente manera.

Identifica los discos en orden creciente de tamaño según los números naturales desde 0 hasta h , sin incluirlo . Por lo tanto, el disco 0 es el más pequeño y el disco h − 1 el más grande.

El siguiente es un procedimiento para mover una torre de h discos desde una clavija A a una clavija C , siendo B la tercera clavija restante:

  1. Si h > 1, entonces mueva los h − 1 discos más pequeños de la clavija A a la clavija B.
  2. Ahora el disco más grande, es decir, el disco h, se puede mover de la clavija A a la clavija C.
  3. Luego , mueva los h − 1 discos más pequeños de la clavija B a la clavija C.

Por inducción matemática , se demuestra fácilmente que el procedimiento anterior requiere el número mínimo de movimientos posible y que la solución obtenida es la única con este número mínimo de movimientos. Utilizando relaciones de recurrencia , el número exacto de movimientos que requiere esta solución se puede calcular mediante:2h1{\displaystyle 2^{h}-1}Este resultado se obtiene al observar que los pasos 1 y 3 tomanTh1{\displaystyle T_{h-1}}movimientos, y el paso 2 toma un movimiento, dandoTh=2Th1+1{\displaystyle T_{h}=2T_{h-1}+1}.

Solución no recursiva

La lista de movimientos para una torre que se traslada de una clavija a otra, según lo produce el algoritmo recursivo, tiene muchas regularidades. Al contar los movimientos desde 1, el ordinal del disco que se mueve durante el movimiento m es el número de veces que m se puede dividir por 2. Por lo tanto, cada movimiento impar involucra el disco más pequeño. También se puede observar que el disco más pequeño recorre las clavijas f , t , r , f , t , r , etc. para una altura impar de la torre y recorre las clavijas f , r , t , f , r , t , etc. para una altura par de la torre. Esto proporciona el siguiente algoritmo, que es más fácil de realizar a mano que el algoritmo recursivo.

En movimientos alternos:

  • Mueva el disco más pequeño a la clavija de la que no haya salido recientemente.
  • Mueva otro disco legalmente (solo habrá una posibilidad).

En el primer movimiento, el disco más pequeño va a la clavija t si h es impar y a la clavija r si h es par.

Observe también que:

  • Los discos cuyos ordinales tienen paridad par se mueven en el mismo sentido que el disco más pequeño.
  • Los discos cuyos ordinales tienen paridad impar se mueven en sentido opuesto.
  • Si h es par, la tercera clavija restante durante los movimientos sucesivos es t , r , f , t , r , f , etc.
  • Si h es impar, la tercera clavija restante durante los movimientos sucesivos es r , t , f , r , t , f , etc.

Con este conocimiento, se puede recuperar un conjunto de discos en el centro de una solución óptima con tan solo conocer la posición de cada disco:

  • Denominemos a los movimientos detallados anteriormente como el movimiento "natural" de un disco.
  • Examine el disco superior más pequeño que no sea el disco 0 y observe cuál sería su único movimiento (legal): si no existe tal disco, entonces estamos en el primer o último movimiento.
  • Si ese movimiento es el movimiento "natural" del disco, entonces el disco no se ha movido desde el último movimiento del disco 0, y ese movimiento debería tomarse.
  • Si ese movimiento no es el movimiento "natural" del disco, entonces mueva el disco 0.

Solución binaria

Las posiciones de los discos en un rompecabezas de n discos se pueden determinar directamente a partir de la representación binaria del número de movimiento, m . Por ejemplo, todos los detalles del movimiento m = 216 de la Torre de Hanoi de 8 discos se pueden calcular sin iteración ni recursión, y sin referencia a movimientos previos ni a la distribución de discos. A la inversa, dada una distribución válida de discos, se puede calcular el número de movimiento necesario para lograr dicha distribución.

Sean los discos numerados del n al 1 , del n al n al 1, en orden decreciente de tamaño. Sean las clavijas A , B y C numeradas del 0 al 2, respectivamente, siendo el 0 la clavija inicial y el 2 la clavija final. Además, sean las bases de las clavijas sobre las que se apilan los discos numeradas del n al 1, del n al 2 y del n al 3, respectivamente.

Las posiciones del disco después del movimiento m se pueden mapear a partir de la representación binaria de m mediante las siguientes reglas: [ 14 ]

  • Hay 1 dígito binario (bit) en m para cada disco.
  • La cadena de bits para m se lee de izquierda a derecha, y cada bit se puede usar para mapear la ubicación del disco correspondiente, desde el disco n hasta el disco 1.
  • El bit más significativo (el de la izquierda) representa el disco más grande, el disco n . Un valor de 0 indica que el disco más grande está en la clavija inicial 0 ( A ), mientras que un 1 indica que está en la clavija final 2 ( C ).
  • Después de cualquier movimiento:
  1. Cada disco se apila sobre otro disco, o sobre una base vacía, en orden de paridad opuesto . Es decir: 5>4>3 (3 sobre 4 sobre 5) es válido; 5>4>2 (con 2 sobre 4) no es válido.
  2. Exactamente 1 de las etiquetas superiores (número de disco o base vacía) es par (para n par; de lo contrario, exactamente 1 es impar).
  3. Un bit con el mismo valor que el dígito anterior significa que el disco correspondiente está apilado encima del anterior. Es decir: una secuencia contigua de 1s o 0s significa que los discos correspondientes están todos en la misma clavija.
  • Un bit con un valor diferente al anterior significa que el disco correspondiente está en otra clavija y no en la pila anterior. Dado lo anterior (1), solo una de las dos clavijas restantes es una colocación válida. Cabe destacar que, tras la colocación del primer conjunto de discos, cada ronda de colocación comienza y termina con una de las clavijas potenciales con paridad par y la otra con paridad impar.

Por ejemplo, en la Torre de Hanoi de 8 discos:

  • Mover 0 = 00000000.
    • El bit más grande del disco (el de más a la izquierda) es 0, por lo que está en la clavija inicial (0).
    • Todos los demás discos también son 0, por lo que se apilan encima. Por lo tanto, todos los discos están en la clavija inicial, en la configuración inicial del rompecabezas.
  • Mover 255 10 (2 8 − 1) = 11111111.
    • El bit más grande del disco es 1, por lo que está en la clavija final (2).
    • Todos los demás discos también valen 1, así que se apilan encima. Por lo tanto, todos los discos están en la última clavija y el rompecabezas está resuelto.
  • Mover 216 10 = 11011000.
    • El bit más grande del disco es 1, por lo que el disco 8 está en la clavija final (2). Nótese que se encuentra en la base número 11 (11>8).
    • El disco 7 también es 1, por lo que está apilado encima del disco 8 (11>8>7).
    • El disco 6 es 0, por lo que se coloca en otra clavija. La clavija 1 está vacía, pero su base es 10. El disco 6 no puede colocarse en la base 10 (ambas son pares). Por lo tanto, el disco 6 se coloca en la clavija 0 (9 > 6).
    • El disco 5 es 1, por lo que se coloca en otra clavija. Dado que la clavija 2 ahora tiene un 7, no puede ir allí. Por lo tanto, el disco 5 se coloca en la clavija 1 (10 > 5).
    • El disco 4 también es 1, por lo que está apilado encima del disco 5 (10>5>4).
    • El disco 3 es 0, por lo que está en otra clavija. Como la clavija 2 tiene un 7 encima, no puede ir allí. El disco 3 se coloca en la clavija 0 (9>6>3).
    • Los discos 2 y 1 también son 0, por lo que están apilados encima del disco 3 (9>3>2>1).

Los puntos de origen y destino para el m -ésimo movimiento (excluyendo el movimiento 0) se pueden encontrar elegantemente a partir de la representación binaria de m usando operaciones bit a bit . Para usar la sintaxis del lenguaje de programación C , el movimiento m es:

de clavija a clavija .(m & m - 1) % 3((m | m - 1) + 1) % 3

Otra formulación para esto es:

de clavija a clavija .(m - (m & -m)) % 3(m + (m & -m)) % 3

Esto se aplica a los rompecabezas con n impar . Para los rompecabezas con n par , las referencias de salida a las clavijas 1 y 2 deben invertirse.

Además, el disco único que se moverá para cualquier movimiento específico se determina por la cantidad de veces que el contador de movimientos ( m ) se puede dividir por 2 (es decir, la cantidad de bits cero consecutivos a la derecha de m ) y luego sumar 1. En el ejemplo anterior para el movimiento 216, con 3 0 a la derecha, el disco 4 (3 + 1) se mueve de la clavija 2 a la clavija 1.

Solución de código gris

El sistema numérico binario de los códigos Gray ofrece una forma alternativa de resolver el rompecabezas. En el sistema Gray, los números se expresan mediante una combinación binaria de 0 y 1, pero en lugar de ser un sistema numérico posicional estándar , el código Gray se basa en la premisa de que cada valor difiere de su predecesor en un solo bit.

Si se cuenta en código Gray con un tamaño de bit igual al número de discos en una Torre de Hanoi en particular, comenzando en cero y contando hacia arriba, entonces el bit que cambia en cada movimiento corresponde al disco que se mueve, donde el bit menos significativo es el disco más pequeño y el bit más significativo es el más grande.

Contando los movimientos desde 1 e identificando los discos por números que comienzan desde 0 en orden de tamaño creciente, el ordinal del disco que se va a mover durante el movimiento m es el número de veces que m se puede dividir por 2.

Esta técnica identifica qué disco mover, pero no a dónde moverlo. Para el disco más pequeño, siempre hay dos posibilidades. Para los demás discos, siempre hay una posibilidad, excepto cuando todos los discos están en la misma clavija, pero en ese caso o bien es el disco más pequeño el que debe moverse o el objetivo ya se ha logrado. Por suerte, existe una regla que sí indica a dónde mover el disco más pequeño. Sea f la clavija de inicio, t la clavija de destino y r la tercera clavija restante. Si el número de discos es impar, el disco más pequeño recorre las clavijas en el orden ftrftr , etc. Si el número de discos es par, esto debe invertirse: frtfrt , etc. [ 15 ]

La posición del cambio de bit en la solución del código Gray da el tamaño del disco movido en cada paso: 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, ... (secuencia A001511 en la OEIS ) , [ 16 ] una secuencia también conocida como la función de regla , o uno más que la potencia de 2 dentro del número de movimiento. En el lenguaje Wolfram , IntegerExponent[Range[2^8 - 1], 2] + 1da los movimientos para el rompecabezas de 8 discos.

Representación gráfica

El juego se puede representar mediante un grafo no dirigido , donde los nodos representan distribuciones de discos y las aristas representan movimientos. Para un disco, el grafo es un triángulo:

La gráfica de dos discos está formada por tres triángulos conectados que forman los vértices de un triángulo más grande.

Se añade una segunda letra para representar el disco de mayor tamaño. Evidentemente, inicialmente no se puede mover.

El triángulo pequeño superior ahora representa las posibilidades de un solo movimiento con dos discos:

Los nodos situados en los vértices del triángulo más externo representan distribuciones con todos los discos en la misma clavija.

Para h + 1 discos, tome la gráfica de h discos y reemplace cada triángulo pequeño con la gráfica de dos discos.

Para tres discos, la gráfica es:

El gráfico del juego de nivel 7 muestra la relación con el triángulo de Sierpiński .
  • Llamemos a las clavijas a, b y c.
  • Enumere las posiciones de los discos de izquierda a derecha en orden de tamaño creciente.

Los lados del triángulo más externo representan las rutas más cortas para mover una torre de una clavija a otra. La arista central del triángulo más grande representa un movimiento del disco más grande. La arista central de cada triángulo siguiente más pequeño representa un movimiento de cada disco siguiente más pequeño. Los lados de los triángulos más pequeños representan movimientos del disco más pequeño.

En general, para un rompecabezas con n discos, hay 3n nodos en el grafo; cada nodo tiene tres aristas hacia otros nodos, excepto los tres nodos de las esquinas, que tienen dos: siempre es posible mover el disco más pequeño a una de las otras dos clavijas, y es posible mover un disco entre esas dos clavijas excepto en la situación en que todos los discos estén apilados en una sola clavija. Los nodos de las esquinas representan los tres casos en que todos los discos están apilados en una sola clavija. El diagrama para n  +  1 discos se obtiene tomando tres copias del diagrama de n discos —cada una representando todos los estados y movimientos de los discos más pequeños para una posición particular del nuevo disco más grande— y uniéndolas en las esquinas con tres nuevas aristas, que representan las únicas tres oportunidades para mover el disco más grande. La figura resultante tiene así 3n + 1 nodos y aún quedan tres esquinas con solo dos aristas.

A medida que se añaden más discos, la representación gráfica del juego se asemejará a una figura fractal , el triángulo de Sierpiński . Es evidente que la gran mayoría de las posiciones del rompecabezas nunca se alcanzarán utilizando la solución más corta posible; de ​​hecho, si los sacerdotes de la leyenda utilizan la solución más larga posible (sin volver a visitar ninguna posición), les llevará 3 64  1 movimientos, o más de 10 23 años.

La ruta no repetitiva más larga para tres discos se puede visualizar borrando los bordes no utilizados:

Por cierto, este camino no repetitivo más largo se puede obtener prohibiendo todos los movimientos de a a c .

El ciclo hamiltoniano para tres discos es:

Los gráficos muestran claramente que:

  • Desde cualquier distribución arbitraria de discos, existe exactamente una ruta más corta para mover todos los discos a uno de los tres soportes.
  • Entre cada par de distribuciones arbitrarias de discos existen uno o dos caminos más cortos diferentes.
  • Desde cualquier distribución arbitraria de discos, existen uno o dos caminos más largos que no se cruzan a sí mismos para mover todos los discos a una de las tres clavijas.
  • Entre cada par de distribuciones arbitrarias de discos hay uno o dos caminos más largos que no se cruzan consigo mismos.
  • Sea N h el número de caminos que no se cruzan a sí mismos al mover una torre de h discos de una clavija a otra. Entonces:
    • N 1 = 2
    • N h +1 = ( N h ) 2 + ( N h ) 3

Esto da como resultado que N h sea 2, 12, 1872, 6563711232, ... (secuencia A125295 en el OEIS )

Variaciones

Hanói lineal

Si todos los movimientos deben realizarse entre clavijas adyacentes (es decir, dadas las clavijas A, B y C, no se puede mover directamente entre las clavijas A y C), entonces mover una pila de n discos de la clavija A a la clavija C requiere 3n 1 movimientos. La solución utiliza las 3n posiciones válidas, tomando siempre el único movimiento que no deshace el anterior. La posición con todos los discos en la clavija B se alcanza a la mitad, es decir, después de (3n 1) / 2 movimientos. [ 17 ] [ 18 ]

Hanói cíclico

En el problema de Hanoi Cíclico, se nos dan tres clavijas (A, B, C), dispuestas en círculo, con las direcciones en sentido horario y antihorario definidas como A – B – C – A y A – C – B – A, respectivamente. La dirección de movimiento del disco debe ser en sentido horario. [ 19 ] Basta con representar la secuencia de discos que se deben mover. La solución se puede encontrar utilizando dos procedimientos mutuamente recursivos:

Para mover n discos en sentido contrario a las agujas del reloj hasta la clavija objetivo vecina:

  1. mover n − 1 discos en sentido contrario a las agujas del reloj hasta la clavija objetivo
  2. Mueva el disco n un paso en el sentido de las agujas del reloj.
  3. mover n − 1 discos en sentido horario hasta la clavija de inicio
  4. Mueva el disco n un paso en el sentido de las agujas del reloj.
  5. mover n − 1 discos en sentido contrario a las agujas del reloj hasta la clavija objetivo

Para mover n discos en el sentido de las agujas del reloj hasta la clavija objetivo vecina:

  1. mover n − 1 discos en sentido contrario a las agujas del reloj hasta una clavija libre
  2. Mueva el disco n un paso en el sentido de las agujas del reloj.
  3. mover n − 1 discos en sentido contrario a las agujas del reloj hasta la clavija objetivo

Si C(n) y A(n) representan el movimiento de n discos en sentido horario y antihorario, entonces podemos escribir ambas fórmulas:

La solución para el Hanoi Cíclico tiene algunas propiedades interesantes:

  1. Los patrones de movimiento para transferir una torre de discos de una clavija a otra son simétricos con respecto a los puntos centrales.
  2. El disco más pequeño es el primero y el último en moverse.
  3. Los grupos de movimientos de los discos más pequeños se alternan con movimientos individuales de otros discos.
  4. El número de movimientos de discos especificados por C(n) y A(n) es mínimo.

Con cuatro clavijas y más allá

Aunque la versión de tres clavijas tiene una solución recursiva simple que se conoce desde hace mucho tiempo, la solución óptima para el problema de la Torre de Hanoi con cuatro clavijas (llamado rompecabezas de Reve) no fue verificada hasta 2014 por Bousch. [ 20 ]

Sin embargo, en caso de cuatro o más clavijas, el algoritmo Frame-Stewart se conoce sin prueba de optimalidad desde 1941. [ 21 ]

Para la derivación formal del número exacto de movimientos mínimos necesarios para resolver el problema aplicando el algoritmo de Frame-Stewart (y otros métodos equivalentes), consulte el siguiente artículo. [ 22 ]

Para otras variantes del problema de la Torre de Hanoi de cuatro clavijas, véase el artículo de revisión de Paul Stockmeyer. [ 23 ]

Las denominadas configuraciones de juego Torres de Bucarest y Torres de Klagenfurt producen códigos Gray ternarios y pentarios . [ 24 ]

Algoritmo de Frame-Stewart

El algoritmo de Frame-Stewart se describe a continuación:

  • Dejarnorte{\displaystyle n}sea ​​el número de discos.
  • Dejarr{\displaystyle r}sea ​​el número de clavijas.
  • DefinirT(norte,r){\displaystyle T(n,r)}ser el número mínimo de movimientos necesarios para transferir n discos usando r clavijas.

El algoritmo se puede describir de forma recursiva:

  1. Para algunosk{\displaystyle k},1k<norte{\displaystyle 1\leq k<n}transferir la parte superiork{\displaystyle k}discos a una sola clavija distinta de las clavijas de inicio o destino, tomandoT(k,r){\displaystyle T(k,r)}movimientos.
  2. Sin mover la clavija que ahora sostiene la parte superiork{\displaystyle k}discos, transfiera el restonortek{\displaystyle n-k}discos al soporte de destino, utilizando solo el restanter1{\displaystyle r-1}clavijas, tomandoT(nortek,r1){\displaystyle T(n-k,r-1)}movimientos.
  3. Finalmente, transfiera la parte superiork{\displaystyle k}discos al soporte de destino, tomandoT(k,r){\displaystyle T(k,r)}movimientos.

Todo el proceso lleva2T(k,r)+T(nortek,r1){\displaystyle 2T(k,r)+T(n-k,r-1)}se mueve. Por lo tanto, el recuentok{\displaystyle k}Se debe elegir aquel para el cual esta cantidad sea mínima. En el caso de 4 clavijas, el óptimok{\displaystyle k}igualnorte2norte+1+1{\displaystyle n-\left\lfloor {\sqrt {2n+1}}\right\rceil +1}, dónde{\displaystyle \left\lfloor \cdot \right\rceil }es la función entera más cercana . [ 25 ] Por ejemplo, en el curso UPenn CIS 194 sobre Haskell, la primera página de la tarea [ 26 ] enumera la solución óptima para el caso de 15 discos y 4 clavijas como 129 pasos, que se obtiene para el valor anterior de k .

Se presume que este algoritmo es óptimo para cualquier número de clavijas; su número de movimientos es 2 Θ ( n 1/( r −2) ) (para r fijo ).

Rutas más cortas generales y el número 466/885

Una curiosa generalización del objetivo original del rompecabezas consiste en partir de una configuración dada de los discos, donde no todos los discos están necesariamente en la misma clavija, y llegar, con un número mínimo de movimientos, a otra configuración dada. En general, puede resultar bastante difícil calcular la secuencia más corta de movimientos para resolver este problema. Andreas Hinz propuso una solución basada en la observación de que, en la secuencia más corta de movimientos, el disco más grande que debe moverse (obviamente, se pueden ignorar todos los discos más grandes que ocuparán la misma clavija tanto en la configuración inicial como en la final) se moverá exactamente una o exactamente dos veces. [ 27 ]

Las matemáticas relacionadas con este problema generalizado se vuelven aún más interesantes cuando se considera el número promedio de movimientos en una secuencia más corta de movimientos entre dos configuraciones de discos inicial y final elegidas al azar. Hinz y Chan Tat-Hung descubrieron independientemente [ 28 ] [ 29 ] (véase también [ 30 ] : Capítulo 1, pág. 14 ) que el número promedio de movimientos en una Torre de n discos viene dado por la siguiente fórmula exacta:

4668852norte1335(13)norte+(1259+18100317)(5+1718)norte+(125918100317)(51718)norte.{\displaystyle {\frac {466}{885}}\cdot 2^{n}-{\frac {1}{3}}-{\frac {3}{5}}\cdot \left({\frac {1}{3}}\right)^{n}+\left({\frac {12}{59}}+{\frac {18}{1003}}{\sqrt {17}}\right)\left({\frac {5+{\sqrt {17}}}{18}}\right)^{n}+\left({\frac {12}{59}}-{\frac {18}{1003}}{\sqrt {17}}\right)\left({\frac {5-{\sqrt {17}}}{18}}\right)^{n}.}

Para valores de n suficientemente grandes , solo el primer y el segundo término no convergen a cero, por lo que obtenemos una expresión asintótica :466/8852norte1/3+o(1){\displaystyle 466/885\cdot 2^{n}-1/3+o(1)}, comonorte{\displaystyle n\to \infty }. Por lo tanto, intuitivamente, podríamos interpretar la fracción de466/88552.6%{\displaystyle 466/885\approx 52.6\%}como representativa de la relación del trabajo que uno tiene que realizar al pasar de una configuración elegida al azar a otra configuración elegida al azar, en relación con la dificultad de tener que cruzar el camino "más difícil" de longitud2norte1{\displaystyle 2^{n}-1}lo cual implica mover todos los discos de una clavija a otra. Romik ofreció una explicación alternativa para la aparición de la constante 466/885, así como un algoritmo nuevo y algo mejorado para calcular el camino más corto. [ 31 ]

Hanói magnético

En la Torre Magnética de Hanoi, cada disco tiene dos caras distintas, Norte y Sur (generalmente de color rojo y azul). No se deben colocar los discos con polos iguales juntos, ya que los imanes en cada disco impiden esta acción. Además, cada disco debe voltearse al moverlo.

Configuración inicial de las torres bicolores de Hanoi (n=4)

Torres bicolores de Hanói

Esta variación del famoso rompecabezas de la Torre de Hanoi se ofreció a estudiantes de 3.º a 6.º grado en el 2ème Championnat de France des Jeux Mathématiques et Logiques, celebrado en julio de 1988. [ 32 ]

Configuración final de las torres bicolores de Hanoi (n=4)

Las reglas del rompecabezas son esencialmente las mismas: los discos se transfieren entre las clavijas de uno en uno. En ningún caso se puede colocar un disco más grande encima de uno más pequeño. La diferencia radica en que ahora, para cada tamaño, hay dos discos: uno negro y uno blanco. Además, ahora hay dos torres de discos de colores alternos. El objetivo del rompecabezas es lograr que las torres sean monocromáticas (del mismo color). Se supone que los discos más grandes en la base de las torres intercambian posiciones.

Torre de Hanoy

Una variante del rompecabezas se ha adaptado como un juego de solitario con nueve cartas bajo el nombre de Torre de Hanoy . [ 33 ] [ 34 ] Se desconoce si la ortografía alterada del nombre original es deliberada o accidental. [ 35 ]

Aplicaciones

Imagen topográfica 3D AFM de una nanohoja de paladio multicapa sobre una oblea de silicio, con una estructura similar a la Torre de Hanoi [ 36 ].

La Torre de Hanoi se utiliza frecuentemente en la investigación psicológica sobre la resolución de problemas . También existe una variante de esta tarea llamada Torre de Londres para el diagnóstico neuropsicológico y el tratamiento de trastornos de la función ejecutiva . [ 37 ]

Zhang y Norman [ 38 ] utilizaron varias representaciones isomórficas (equivalentes) del juego para estudiar el impacto del efecto de representación en el diseño de tareas. Demostraron un impacto en el rendimiento del usuario al cambiar la forma en que se representan las reglas del juego, utilizando variaciones en el diseño físico de los componentes del juego. Este conocimiento ha influido en el desarrollo del marco TURF [ 39 ] para la representación de la interacción humano-computadora .

La Torre de Hanoi también se utiliza como esquema de rotación de respaldo al realizar copias de seguridad de datos informáticos donde intervienen múltiples cintas/medios. [ 40 ]

La Torre de Hanoi también es utilizada como prueba por neuropsicólogos que intentan evaluar déficits del lóbulo frontal . [ 41 ]

En 2010, los investigadores publicaron los resultados de un experimento que demostró que la especie de hormiga Linepithema humile pudo resolver con éxito la versión de 3 discos del problema de la Torre de Hanoi mediante dinámica no lineal y señales de feromonas. [ 42 ]

En 2014, los científicos sintetizaron nanohojas de paladio multicapa con una estructura similar a la Torre de Hanoi. [ 36 ]

En 2025, investigadores de Apple Inc. utilizaron la Torre de Hanoi y otros rompecabezas para probar la capacidad de razonamiento de los programas de IA generativa LLM . Los investigadores descubrieron que los principales modelos de IA, incluidos ChatGPT , Claude y Deepseek , tuvieron dificultades para resolver una Torre de Hanoi de 7 anillos, obteniendo una precisión inferior al 80%, y fallaron por completo al intentar resolver una Torre de Hanoi de 8 anillos. Incluso en los casos en que los investigadores proporcionaron a los modelos de IA el algoritmo de solución, estos siguieron fallando. Basándose en este rendimiento, los investigadores concluyeron que los sistemas de IA colapsan cuando aumenta la complejidad, lo que indica que son incapaces de manejar tareas que los llevan más allá de la distribución de sus datos de entrenamiento, lo que también genera dudas sobre la capacidad de esos modelos para avanzar al nivel de IAG . [ 43 ] [ 44 ]

En el relato de ciencia ficción «Now Inhale», de Eric Frank Russell , un humano es prisionero en un planeta donde la costumbre local es obligarlo a jugar un juego hasta que gane o pierda antes de su ejecución. El protagonista sabe que una nave de rescate podría tardar un año o más en llegar, así que elige jugar a Las Torres de Hanoi con 64 discos. Este relato hace referencia a la leyenda de los monjes budistas que jugaron a este juego hasta el fin del mundo. [ 45 ] [ 46 ] [ 47 ]

En la historia de Doctor Who de 1966, The Celestial Toymaker , el villano homónimo obliga al Doctor a jugar un juego de la Torre de Hanoi de diez piezas y 1023 movimientos llamado The Trilogic Game, cuyas piezas forman una pirámide al apilarse. [ 46 ] [ 48 ]

En 2007, el concepto del problema de las Torres de Hanoi se utilizó en Professor Layton and the Diabolical Box en los rompecabezas 6, 83 y 84, pero los discos se cambiaron por panqueques. El rompecabezas se basaba en un dilema en el que el chef de un restaurante tenía que mover una pila de panqueques de un plato a otro, siguiendo los principios básicos del rompecabezas original (es decir, tres platos donde se podían colocar los panqueques, la imposibilidad de poner un panqueque más grande sobre uno más pequeño, etc.).

En la película de 2011 El origen del planeta de los simios , este rompecabezas, llamado en la película la "Torre Lucas", se utiliza como prueba para estudiar la inteligencia de los simios . [ 46 ]

El rompecabezas aparece con frecuencia en juegos de aventuras y puzles . Dado que es fácil de implementar y fácilmente reconocible, resulta muy adecuado para su uso como puzle en juegos con gráficos más complejos (por ejemplo, Star Wars: Knights of the Old Republic y Mass Effect ). [ 49 ] Algunas implementaciones utilizan discos rectos, pero otras disimulan el rompecabezas con alguna otra forma. Existe una versión arcade de Sega . [ 50 ]

Una versión de 15 discos del rompecabezas aparece en el juego Sunless Sea como cerradura de una tumba. El jugador tiene la opción de avanzar paso a paso para resolverlo, pero el juego indica que se necesitarán 32 767 movimientos para completarlo. Si un jugador especialmente dedicado llega hasta el final del rompecabezas, se revela que completarlo no desbloquea la puerta.

Este desafío se utilizó por primera vez en Survivor Tailandia en 2002, pero en lugar de anillos, las piezas se diseñaron para parecerse a un templo. Sook Jai se dejó ganar para eliminar a Jed, aunque Shii-Ann sabía perfectamente cómo resolver el rompecabezas. El problema aparece como parte de un desafío de recompensa en un episodio de 2011 de la versión estadounidense de la serie de televisión Survivor . Ambos jugadores ( Ozzy Lusth y Benjamin "Coach" Wade ) tuvieron dificultades para entender cómo resolver el rompecabezas y recibieron ayuda de sus compañeros de tribu.

En 2025, el rompecabezas también aparece al comienzo del Mega Duelo en la final de la segunda temporada de Love Island Games .

Véase también

Notas

  1. "A000225 - OEIS" . oeis.org . Consultado el 3 de septiembre de 2021 .
  2. Hofstadter, Douglas R. (1985). Metamagical Themas : Questing for the Essence of Mind and Pattern . Nueva York: Basic Books. ISBN  978-0-465-04540-2.
  3. Cohn, Ernst M. (1963). "Un dispositivo para demostrar algunas propiedades elementales de los números enteros" . The Mathematics Teacher . 56 (2). Consejo Nacional de Profesores de Matemáticas: 84. doi : 10.5951/MT.56.2.0084 . ISSN 0025-5769 . Consultado el 9 de marzo de 2021 . 
  4. Weisstein, Eric W. "Torre de Hanoi" . mathworld.wolfram.com . Consultado el 20 de octubre de 2023 .
  5. ^ Hinz , Andreas M.; Klavžar, Sandi; Milutinović, Uroš; Petr, Ciril (31 de enero de 2013). La Torre de Hanoi – Mitos y Matemáticas . Saltador. ISBN 978-3034802369.
  6. Stockmeyer, Paul K. "La Torre de Hanoi: una bibliografía" (PDF) . Consultado el 21 de febrero de 2024 .
  7. ^ de Parville, Henri (27 de diciembre de 1883). "Revista de Ciencias" . Diario de debates . Consultado el 21 de febrero de 2024 .
  8. ^ Lucas, Édouard (1889). Jeux scientifiques pour servir à l'histoire, à l'enseignement et à la pratique du calcul et du dessin (en francés). París: Chambon et Baye . Consultado el 27 de enero de 2024 .
  9. ^ Lucas, Édouard (1892). Récréations mathématiques (en francés). vol. 3. Biblioteca Albert Blanchard, 1979. p. 58.  
  10. Stockmeyer, Paul K. "Instrucciones de la Torre de Hanoi en inglés, página 1" . Consultado el 21 de febrero de 2024 .
  11. Moscovich, Ivan (2001). 1000 juegos de ingenio: rompecabezas, paradojas, ilusiones y juegos . Workman. ISBN 978-0-7611-1826-8.
  12. Petković, Miodrag (2009). Famous Puzzles of Great Mathematicians . Librería AMS. pág. 197. ISBN  978-0-8218-4814-2.
  13. Troshkin, M. "Se acerca el fin del mundo: un análisis no recursivo del problema recursivo de las Torres de Hanoi". Focus (en ruso). 95 (2): 10– 14.
  14. TR Walsh, Las torres de Hanoi revisitadas: moviendo los anillos contando los movimientos , Information Processing Letters, 1982, vol. 15, 64-67. Países Bajos.
  15. Miller, Charles D. (2000). «Cap. 4: Números binarios y el código Gray estándar». Ideas matemáticas (9.ª ed.). Addison Wesley Longman. ISBN  978-0-321-07607-6Archivado del original el 21 de agosto de 2004.
  16. ^ Gros, L. (1872). Teoría del Baguenodier . Lyon: Aimé Vingtrinier.
  17. "Rincón de preguntas: generalizando el problema de las torres de Hanoi" . math.toronto.edu . Consultado el 28 de julio de 2023 .
  18. Hinz, Andreas M.; Klavzar, Sandi; Milutinovic, Uros; Petr, Ciril; Stewart, Ian (2013). La Torre de Hanoi: Mitos y Matemáticas (1.ª ed.). Basilea: Springer Science+Business Media . págs. 241–259 . ISBN   9783034802369.
  19. Gedeon, TD (1996). "Las torres cíclicas de Hanoi: una solución iterativa producida por transformación". The Computer Journal . 39 (4): 353– 356. doi : 10.1093/comjnl/39.4.353 .
  20. ^ Bousch, T. (2014). «La quatrieme tour de Hanoi» (PDF) . Toro. Belga. Matemáticas. Soc. Simón Stevin . 21 (5): 895– 912. doi : 10.36045/bbms/1420071861 . S2CID 14243013 . Archivado desde el original (PDF) el 21 de septiembre de 2017. 
  21. Stewart, BM; Frame, JS (marzo de 1941). "Solución al problema avanzado 3819". American Mathematical Monthly . 48 (3): 216– 9. doi : 10.2307/2304268 . JSTOR 2304268 . 
  22. Klavzar, Sandi; Milutinovi, Uro; Petrb, Ciril (2002). "Variaciones sobre el rompecabezas de la Torre de Hanoi de cuatro postes" (Postscript) . Congressus Numerantium . 102 .
  23. Stockmeyer, Paul (1994). "Variaciones sobre el rompecabezas de la Torre de Hanoi de cuatro postes" (Postscript) . Congressus Numerantium . 102 : 3–12 .
  24. Herter, Felix; Rote, Günter (14-11-2018) [09-08-2018, 12-2017, 09-08-2017, 22-04-2016]. "Enumeración de código Gray sin bucles y la Torre de Bucarest" ( PDF) . Theoretical Computer Science . 748. Berlín, Alemania: 40–54 . arXiv : 1604.06707 . doi : 10.1016/j.tcs.2017.11.017 . ISSN 0304-3975 . S2CID 4014870. Archivado (PDF) del original el 16-12-2020 . Recuperado el 16-12-2020 .  (15/18/19/24 páginas)
  25. "University of Toronto CSC148 Slog" . 5 de abril de 2014. Consultado el 22 de julio de 2015 .
  26. "UPenn CIS 194 Introducción a Haskell Tarea 1" (PDF) . Consultado el 31 de enero de 2016 .
  27. ^ Hinz, A. (1989). "La Torre de Hanói". L'Enseignement Mathématique . 35 : 300– 303. doi : 10.5169/sellos-57378 .
  28. Hinz 1989 , pág. 307.
  29. Chan, T. (1988). "Un análisis estadístico del problema de las torres de Hanoi". Internat. J. Comput. Math . 28 ( 1–4 ): 57–65 . doi : 10.1080/00207168908803728 .
  30. Stewart, Ian (2004). Another Fine Math You've Got Me Into... Courier Dover. ISBN 978-0-7167-2342-4.
  31. Romik, D. (2006). "Shortest paths in the Tower of Hanoi graph and finite automata". SIAM Journal on Discrete Mathematics . 20 (3): 610– 622. arXiv : math/0310109 . doi : 10.1137/050628660 . S2CID 8342396 . 
  32. Prasad Vithal Chaugule (2015). "Una solución recursiva al problema de las torres bicolores de Hanoi" (PDF) . Recreational Mathematics Magazine (4): 37–48 . ISSN 2182-1976 . 
  33. Arnold, Peter (28 de mayo de 2003). Juegos de cartas para uno . Sterling Publishing Company. ISBN 978-0-600-60727-4.
  34. Hedges, Sid G. (6 de marzo de 2018). Everybody's Book of Hobbies . Read Books Ltd. ISBN 978-1-5287-8344-6.
  35. "Torre de la paciencia de Hanoy (también conocida como Torre de la paciencia de Hanoi)" . bbcmicro.co.uk . Consultado el 17 de octubre de 2020 .
  36. 1 2 Yin, Xi; Liu, Xinhong; Pan, Yung-Tin; Walsh, Kathleen A.; Yang, Hong (4 de noviembre de 2014). "Nanocapas ultradelgadas de paladio multicapa similares a la Torre de Hanoi". Nano Letters . 14 (12): 7188– 94. Bibcode : 2014NanoL..14.7188Y . doi : 10.1021/nl503879a . PMID 25369350 . 
  37. Shallice, T. (1982-06-25). "Deterioros específicos de la planificación" . Philosophical Transactions of the Royal Society of London. B, Biological Sciences . 298 (1089): 199– 209. Bibcode : 1982RSPTB.298..199S . doi : 10.1098/rstb.1982.0082 . ISSN 0080-4622 . PMID 6125971 .  
  38. Zhang, J (1994). "Representaciones en tareas cognitivas distribuidas" (PDF) . Cognitive Science . 18 : 87–122 . doi : 10.1016/0364-0213(94)90021-3 .
  39. Zhang, Jiajie; Walji, Muhammad F. (2011). "TURF: Hacia un marco unificado de usabilidad de la HCE" . Journal of Biomedical Informatics . 44 (6): 1056– 67. doi : 10.1016/j.jbi.2011.08.005 . PMID 21867774 . 
  40. Ruiz, Dirk; Newell, Allen (1989-06-01). La observación de la torre desencadena un cambio de estrategia en la Torre de Hanoi: un modelo SOAR (Informe). Fort Belvoir, VA: Centro de Información Técnica de Defensa. doi : 10.21236/ada218927 .
  41. Beers, SR; Rosenberg, DR; Dick, EL; Williams, T.; O'Hearn, KM; Birmaher, B.; Ryan, CM (1999). "Estudio neuropsicológico de la función del lóbulo frontal en niños sin tratamiento psicotrópico con trastorno obsesivo-compulsivo" . The American Journal of Psychiatry . 156 (5): 777– 9. doi : 10.1176/ajp.156.5.777 . PMID 10327915. S2CID 21359382 .  
  42. Reid, CR; Sumpter, DJ; Beekman, M. (enero de 2011). "Optimización en un sistema natural: las hormigas argentinas resuelven las Torres de Hanoi". J. Exp. Biol . 214 (Pt 1): 50– 8. Bibcode : 2011JExpB.214...50R . CiteSeerX 10.1.1.231.9201 . doi : 10.1242 / jeb.048173 . PMID 21147968. S2CID 18819977 .   
  43. Gary Marcus (10 de junio de 2025). «Cuando las IA multimillonarias fallan con rompecabezas que un niño puede resolver, es hora de replantearse la exageración» . The Guardian . Consultado el 9 de noviembre de 2025 .
  44. Parshin Shojaee; Iman Mirzadeh; Keivan Alizadeh; Maxwell Horton; Samy Bengio; Mehrdad Farajtabar (10 de junio de 2025). "La ilusión del pensamiento: comprender las fortalezas y limitaciones de los modelos de razonamiento a través de la lente de la complejidad del problema" (PDF) . Machine Learning Research . Consultado el 9 de noviembre de 2025 .
  45. Russell, Eric Frank (abril de 1959). "Now Inhale" . Novelettes. Astounding Science Fiction . Vol. 63, n.º 2, págs. 31-77 .   
    • Reimpreso: Russell, Eric Frank (2000). «Now Inhale». En Katze, Rick (ed.). Major Ingredients: The Selected Short Stories of Eric Frank Russell . Framingham, Mass.: NESFA Press. pp. 399–417 . ISBN  978-1-886778-10-8.
  46. 1 2 3 Bonanome, Marianna C.; Dean, Margaret H.; Dean, Judith Putnam (2018). «Grupos autosimilares». Una muestra de grupos notables: Thompson, autosimilar, Lamplighter y Baumslag-Solitar . Libros de texto compactos de matemáticas. Cham, Suiza: Springer. pág. 96. doi : 10.1007/978-3-030-01978-5_3 . ISBN  978-3-030-01976-1.
  47. Birtwistle, Graham (enero de 1985). "Las corrutinas de Hanoi". ACM SIGPLAN Notices . 20 (1): 9– 10. doi : 10.1145/988284.988286 . S2CID 7310661 . 
  48. "La cuarta dimensión: El fabricante de juguetes celestial" . Doctor Who . BBC One . Consultado el 2 de abril de 2021 .
  49. "Torre de Hanoi (concepto de videojuego)" . Giantbomb.com . Consultado el 5 de diciembre de 2010 .
  50. "Torre de Hanoi / Andamiro" . Sega Amusements. Archivado del original el 1 de marzo de 2012. Consultado el 26 de febrero de 2012 .