1. “Algoritmos Computacionales”Cursos de VeranoKarla Fabiola García MosquedaFacultad de Ingeniería Mecánica y Eléctrica. Tema: “Algoritmo recursivo” Subtema: Torres de Hanói.
2. Torres de Hanói Las Torres de Hanói es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Éduard Lucas. Este solitario se trata de un juego de ocho discos de radio creciente que se apilan insertándose en una de las tres estacas de un tablero. El objetivo del juego es crear la pila en otra de las estacas siguiendo unas 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.
3. Pseudocódigo Hanói(n, origen, destino, auxiliar) si n=1 entonces mover un disco de la torre origen a la torre destino //{solución del método recursivo}si no //{mover n-1 discos de la torre origen a la torre auxiliar}llamar Hanói(n-1, origen, auxiliar, destino) //{llamada recursiva}Mover un disco de la torre origen a la torre destino //{mover n-1 discos de la torre auxiliar a la torre destino} llamar método Hanói(n-1, auxiliar, destino, origen) //{llamada recursiva} fin fin
4. Explicación del algoritmo Supongamos que tenemos solo dos discos (N=2) en la torre ORIGEN y debemos pasarlos a la torre DESTINO. Recordemos que un disco no puede estar sobre uno de menor tamaño, entonces no podemos mover ambos discos a la misma columna en los dos primeros movimientos, debido a que quedaría el disco mas pequeño bajo el disco mas grande, por lo tanto se requiere de tres movimientos para lograr el objetivo: Mover disco de ORIGEN a AUXILIARMover disco de ORIGEN a DESTINOMover disco de AUXILIAR a DESTINO En caso de tener 3 discos, es decir N=3 se deben hacer los siguientes movimientos: Mover disco de ORIGEN a DESTINOMover disco de ORIGEN a AUXILIARMover disco de DESTINO a AUXILIARMover disco de ORIGEN a DESTINOMover disco de AUXILIAR a ORIGENMover disco de AUXILIAR a DESTINOMover disco de ORIGEN a DESTINO
5. Formula Solución Si para N=2 tenemos que realizar 3 movimientos y para N=3, son 7 movimientos, podemos concluir la siguiente ecuación: Donde: NM= 2-1 NM = numero de movimientosN= Numero de discos N