Saltar al contenido

Resolver

Solucionador de las Torres de Hanói

La solución más corta para cualquier posición legal, no solo para una pila completa. Coloca el tablero tal como está y mira cómo se juega el camino óptimo.

Solución óptima

31movimientos25 − 1 = 31

El rompecabezas clásico: todos los discos empiezan en la torre A y terminan en la torre C.

Listo para reproducirPaso 0 de 31

←→pasoEspacioreproducirInicioFinsaltar

Todos los movimientos, en orden

El disco 1 es el más pequeño, y A → C significa: levanta el disco superior de la torre A y colócalo en la torre C. Selecciona cualquier fila para llevar el tablero a ese movimiento.

El movimiento 16 es el disco 5 cruzando de A a C. Los 15 movimientos a cada lado son la misma solución dos veces: la solución de 4 discos, jugada primero hacia la torre libre y después desde ella.

#DiscoDesdeHasta
11AC
22AB
31CB
43AC
51BA
62BC
71AC
84AB
91CB
102CA
111BA
123CB
131AC
142AB
151CB
165AC
171BA
182BC
191AC
203BA
211CB
222CA
231BA
244BC
251AC
262AB
271CB
283AC
291BA
302BC
311AC
En esta página
  1. El solucionador
  2. Cómo funciona
  3. Leer una solución
  4. Llevarte la solución
  5. Por qué la lista acaba en 12 discos
  6. Preguntas frecuentes

Cómo funciona el solucionador

El método es la propia lógica del rompecabezas, ejecutada hacia delante. Para sentar el disco mayor en su torre de destino, todos los discos menores tienen que estar en otro sitio: concretamente, apilados en la única torre que queda. Así que el solucionador pide primero que esa pila pequeña se mueva allí, cruza el disco grande y después pide que la pila pequeña vuelva encima de él. Cada una de esas peticiones es el mismo problema con un disco menos, hasta llegar a un solo disco, que se mueve en un paso.

Lo que distingue a este solucionador de los que solo saben resolver una pila completa es una línea más de razonamiento: si el disco mayor ya está en su destino, no hay nada que hacer con él, y el problema entero se reduce a los discos que tiene encima. Ese único caso es lo que le permite resolver desde un tablero a medias en lugar de obligarte a empezar de nuevo, y es la razón de que los recuentos que da desde una posición personalizada sean menores que 2ⁿ − 1, a menudo mucho menores en una partida que llevabas avanzada.

  1. Mueve los n−1 discos que tiene encima a la torre libre. No puede pasar nada más hasta que estén fuera del camino.

  2. El disco mayor está libre y su destino, vacío. Cruza en un solo movimiento, el único que necesita esta fase.

  3. Reconstruye encima de él la pila de n−1 discos. Es el mismo problema otra vez con un disco menos, hasta llegar a un solo disco que se mueve en un paso.

Resolver n discos en tres fases. Los discos sombreados son los que se mueven; la torre libre es la que no es ni el origen ni el destino, y cambia en cada nivel de la recursión.

Leer una solución

Cada fila nombra un movimiento: qué disco, de qué torre sale y en cuál aterriza. El disco 1 es el más pequeño. Nunca hace falta comprobar si un movimiento es legal: todos los de la lista lo son por construcción.

Desde una pila completa saltan a la vista dos patrones:

  • El disco más pequeño se mueve en uno de cada dos turnos —los movimientos 1, 3, 5, etc.— y siempre da la vuelta a las tres torres en el mismo sentido.
  • Cada movimiento intermedio es el único movimiento legal que no toca al disco más pequeño.

Ese es el método iterativo completo, y puedes leerlo directamente en cualquier solución desde pila completa. Desde una posición personalizada la lista sigue siendo la más corta, pero está cosida a partir de traslados menores, así que el disco más pequeño puede cambiar de sentido a mitad de camino. La solución iterativa explica por qué funciona el método, y la guía de estrategias lo convierte en algo con lo que jugar. Para la recursión en sí, seguida línea a línea en seis lenguajes, está el algoritmo de las Torres de Hanói.

Los tamaños más habituales también tienen su propia página, con todos los movimientos y lo que es particular de cada uno: soluciones de 3 a 10 discos y los 64 discos de la leyenda.

Llevarte una solución

La barra de direcciones siempre describe el tablero que tienes en pantalla. Un traslado completo se lee ?disks=5&from=A&to=C; una posición personalizada añade un código como pos=CBBAA, una letra por disco empezando por el más pequeño. Copia ese enlace y se abrirá exactamente en este rompecabezas, que es también la forma de enviarle a alguien la posición en la que estás atascado en vez de una descripción de ella.

La lista de movimientos se copia al portapapeles, o se descarga como archivo de texto para leerla junto a un rompecabezas físico y como CSV para abrirla en una hoja de cálculo. La descarga no tiene el tope que sí tiene la tabla impresa: con quince discos, el archivo sigue conteniendo los 32.767 movimientos.

Por qué la lista acaba en 12 discos

Las soluciones se duplican con cada disco. Doce discos son 4095 movimientos, una tabla larga pero utilizable. Trece son 8191, veinte son 1.048.575, y ningún navegador convierte una tabla de un millón de filas en algo que una persona pueda usar. Por encima de doce discos esta página da el recuento exacto y mantiene el tablero animado, y las descargas de arriba siguen conteniendo todos los movimientos: la solución sigue siendo tuya, simplemente no se imprime. Para los recuentos a secas, la calculadora llega a sesenta y cuatro discos y más allá.

Preguntas frecuentes

¿Qué hace el solucionador de las Torres de Hanói?

Imprime la secuencia de movimientos más corta posible que reúne todos los discos en una torre. Dale un número de discos y resuelve el traslado completo clásico; dale una posición a medio terminar y resuelve desde ahí, que es la parte que la mayoría de los solucionadores no sabe hacer.

¿La solución es la más corta?

Sí. El solucionador es demostrablemente óptimo, no solo correcto: desde una pila inicial completa produce exactamente 2ⁿ − 1 movimientos, y desde cualquier otra posición legal produce el camino más corto de verdad hasta la meta. No existe ninguna secuencia con menos movimientos.

¿Puede resolver desde una posición que ya he empezado?

Sí, para eso está la posición inicial personalizada. Pon cada disco en la torre en la que está ahora y el solucionador terminará el trabajo en el mínimo de movimientos disponible desde ahí, que suele ser muchos menos que empezar de cero.

¿Puedo compartir o guardar una solución?

Sí. La barra de direcciones siempre contiene el tablero que estás viendo: /es/solver/?disks=5&from=A&to=C es un traslado completo de cinco discos, y una posición personalizada añade un código como pos=CBBAA, una letra por disco empezando por el más pequeño. Copia el enlace y se reabrirá en ese rompecabezas exacto.

¿Puedo descargar la lista de movimientos?

Sí, como archivo .txt o como .csv con una fila por movimiento, junto al botón de copiar. La descarga funciona incluso con las soluciones muy largas que la página no imprime como tabla, así que una respuesta de 15 discos también es tuya.

¿Cómo se lee la lista de movimientos?

Cada línea nombra un movimiento: el número del disco, la torre de la que sale y la torre en la que aterriza. El disco 1 es el más pequeño. Juégalos en orden y el rompecabezas se resuelve solo; nunca tienes que pensar qué disco es legal, porque todos los movimientos de la lista ya lo son.

¿Por qué la lista de movimientos acaba en 12 discos?

Una solución de 12 discos son 4095 movimientos. Con 20 discos serían 1.048.575 filas, que ningún navegador muestra de forma útil, así que por encima de 12 discos la página da el recuento exacto y la fórmula en lugar de la lista, y el tablero animado sigue reproduciendo la solución.