Upload
carlos-schez
View
483
Download
8
Embed Size (px)
Citation preview
REPUBLICA BOLIVARIANA DE VENEZUELA I.UP. “SANTIAGO
MARIÑO” ESCUELA DE INGENIERIA DE
SISTEMAS MATURIN ESTADO MONAGAS
Las Torres De Hanoi
Asesora: María Aguilera
Maturín Junio de 2012
Autor: Sánchez CarlosC.I.:83.618.386
HISTORIA DE LAS TORRES DE HANOI
El enigma de las Torres de Hanoi trata de un juego oriental muy antiguo, sin embargo fue presentado, a nivel mundial, en 1883 por el matemático francés Edouard Lucas, bajo el seudónimo de N. Lucas de Siam.
La leyenda que acompaña a este juego cuenta que en Benares (ubicado en la India), durante el reinado del Emperador Fo Hi, existía un templo con una cúpula que marcaba el centro del mundo. Los monjes del templo tenían que mover sesenta y cuatro discos sagrados de un emplazamiento a otro. Pero éstos eran tan frágiles que sólo se podía mover de uno en uno. Y además, tenían que tener cuidado al colocarlos, puesto que no se podía emplazar uno más valioso encima de otro de valor inferior.
HISTORIA DE LAS TORRES DE HANOI
En este caso, el mencionado valor de los aros iba en proporción a su tamaño, cuanto más pequeño fuera el anillo menor era su valía. Para realizar los traslados de los referidos discos, solamente se disponía de otro lugar en el templo (además del de partida y del final) lo suficientemente sagrado como para que estas anillas pudieran ser depositadas en él. Así pues, los monjes comienzan el movimiento de éstas entre el montón inicial, el destino final y la posición intermedia, eso sí, manteniendo siempre el orden antes comentado (el más grande en el fondo y el más pequeño en la cima). La leyenda dice que antes de que los monjes logren reubicar todos los discos en la nueva localización, el templo volverá a convertirse en polvo y el mundo terminará.
EXPLICACIÓN DE LAS TORRES DE HANOI
El objetivo de este juego es colocar n discos en una barra de manera que el más grande quede en el fondo y el más pequeño en la cúspide. Para este fin, el jugador puede servirse la barra inicial o de partida, de la barra final, donde deben terminar los aros ordenados, y de una intermedia. El propósito del citado enigma es realizar esta ordenación con el menor número de movimientos posible. El acertijo con cuatro anillas se conoce como enigma de Reve.
SOLUCIÓN ALGORÍTMICA APLICANDO EL MÉTODO DIVIDE Y VENCERÁS
Esquema general:
Divide y Vencerás (p: problema)
Dividir (p, p1, p2, ..., pk)
para i:= 1, 2, ..., k
si:= Resolver (pi)
solución:= Combinar (s1, s2, ..., sk)
Normalmente para resolver los subproblemas se utilizan llamadas recursivas al mismo algoritmo (aunque no necesariamente).
Ejemplo. Problema de las Torres de Hanoi.
SOLUCIÓN ALGORÍTMICA APLICANDO EL MÉTODO DIVIDE Y VENCERÁS
Ejemplo: Problema de las Torres de Hanoi. Mover n discos del poste A al C:
• Mover n-1 discos de A a B
• Mover 1 disco de A a C
• Mover n-1 discos de B a C
SOLUCIÓN ALGORÍTMICA APLICANDO EL MÉTODO DIVIDE Y VENCERÁS
Hanoi (n, A, B, C: entero)
si n==1 entonces mover (A, C)sino Hanoi (n-1, A, C, B) mover (A, C) Hanoi (n-1, B, A, C)finsi
Si el problema es “pequeño”, entonces se puede resolver de forma directa.
Normalmente para resolver los subproblemas se utilizan llamadas recursivas al mismo algoritmo (aunque no necesariamente).
Esquema recursivo (con división en 2 subproblemas):
divide_venceras (p, q: indice)var m: indice
si pequeño (p, q) solucion = solucion_directa (p, q)en otro caso m = dividir (p, q); solucion = combinar (divide_venceras (p, m),
divide_venceras (m+1, q));
SOLUCIÓN ALGORÍTMICA APLICANDO EL MÉTODO DIVIDE Y VENCERÁS