viernes, 15 de marzo de 2019

TORRES DE HANOI

¿QUE SON LAS TORRES DE HANOI?


El rompecabezas de la Torre de Hanoi fue inventado por el matemático francés Edouard Lucas en 1883. Se inspiró en una leyenda acerca de un templo hindú donde el rompecabezas fue presentado a los jóvenes sacerdotes. Al principio de los tiempos, a los sacerdotes se les dieron tres postes y una pila de 64 discos de oro, cada disco un poco más pequeño que el de debajo. Su misión era transferir los 64 discos de uno de los tres postes a otro, con dos limitaciones importantes. Sólo podían mover un disco a la vez, y nunca podían colocar un disco más grande encima de uno más pequeño. Los sacerdotes trabajaban muy eficientemente, día y noche, moviendo un disco cada segundo. Cuando terminaran su trabajo, dice la leyenda, el templo se desmenuzaría en polvo y el mundo se desvanecería. Aunque la leyenda es interesante, usted no tiene que preocuparse de que el final del mundo ocurra pronto en cualquier momento. El número de movimientos necesarios para mover correctamente una torre de 64 discos es 264−1=18,446,744,073,709,551,615. A una velocidad de un movimiento por segundo, ¡eso sería 584,942,417,355 años! Claramente hay algo más en este rompecabezas de lo que parece.

¿COMO ES EL ALGORTIMO PARA RESOLVER EL PROBLEMA DE LAS TORRES DE HANOI?


def moverTorre(altura,origen, destino, intermedio):
 if altura >= 1:
 moverTorre(altura-1,origen,intermedio,destino)
 moverDisco(origen,destino)
 moverTorre(altura-1,intermedio,destino,origen)

 def moverDisco(desde,hacia):
 print("mover disco de",desde,"a",hacia)
 moverTorre(3,"A","B","C")

LAS TORRES SON DE PERMUTACION O COMBINACION SU RESOUCION 

Son permutaciones


PREGUNTAS:

¿Qué son las Torres de Hanoi?
La Torres de Hanoi es un rompecabezas o juego matemático.

¿Cuándo se inventaron las Torres de Hanoi?
Fue inventado en 1883 por el matemático francés Édouard Lucas.

¿En que consiste este juego?
Este juego de mesa individual consiste en un número de discos perforados de radio creciente que se apilan insertándose en uno de los tres postes fijados a un tablero.

¿Cuál es el objetivo del juego?
El objetivo del juego es trasladar la pila a otro de los postes siguiendo ciertas reglas. El problema es muy conocido en la ciencia de la computación y aparece en muchos libros de texto como introducción a la teoría de algoritmos.

¿Cual es la formula para el juego?
La fórmula para encontrar el número de movimientos necesarios para transferir n discos desde un poste a otro es: 2n - 1

¿Cómo es el algoritmo para resolver el problema de las Torres de Hanoi?
La solución del problema de las Torres de Hanói es muy fácil de hallar, aunque el número de pasos para resolver el problema crece exponencialmente conforme aumenta el número de discos.Como ya se ha indicado, el número mínimo de movimientos necesarios para resolver un rompecabezas de la Torre de Hanoi es 2n - 1, donde n es la cantidad de discos.

Una manera sencilla para saber si es posible terminar el "juego" es que si la cantidad de discos es impar la pieza inicial ira a destino y si es par a auxiliar.

¿Mediante que procesos se puede resolver el problema de las Torres de Hanoi?
-Solución Simple
-Mediante recursividad
-Iterativa

¿En qué consiste "La solución Simple"?
El disco 2.o n-1 se debe mover, por regla, a la varilla destino. Luego, el disco n.o 1 se mueve también a la varilla destino para que quede sobre el disco n.o 2. A continuación, se mueve el disco que sigue de la varilla origen, en este caso el disco n.o 3, y se coloca en la varilla auxiliar. Finalmente, el disco n.o 1 regresa de la varilla destino a la origen (sin pasar por la auxiliar), y así sucesivamente. Es decir, el truco está en el disco más pequeño.

¿En qué consiste la solución "Mediante Recursividad"?
Si numeramos los discos desde 1 hasta n, si llamamos origen a la primera pila de discos, destino a la tercera y auxiliar a la intermedia, y si a la función la denomináramos hanoi, con origen, auxiliar y destino como parámetros, el algoritmo de la función sería el siguiente:

El número de movimientos mínimo a realizar para resolver el problema de este modo es de 2n – 1, siendo n el número de discos.

¿En qué consiste la solución "Iterativa"?
Se basa en el hecho de que para obtener la solución más corta, es necesario mover el disco más pequeño en todos los pasos impares, mientras que en los pasos pares solo existe un movimiento posible que no lo incluye.

No hay comentarios.:

Publicar un comentario