LAS TORRES DE HANOI

13
República Bolivariana de Venezuela. I.U.P. “Santiago Mariño”. Extensión Maturín. Escuela de Ingeniería de Sistemas. Programación no numérica II Maturín; Noviembre 2013 LAS TORRES DE HANOI Autor: Romer. E. Gómez García .I: 18.674.044

Transcript of LAS TORRES DE HANOI

República Bolivariana de Venezuela.I.U.P. “Santiago Mariño”.

Extensión Maturín.Escuela de Ingeniería de Sistemas.

Programación no numérica II

Maturín; Noviembre 2013

LAS TORRES DE HANOI

Autor: Romer. E. Gómez García .I: 18.674.044

Introducción

Las Torres de Hanói es un juego matemático. Consiste en tres varillas verticales y un número indeterminado de discos que determinarán la complejidad de la solución. No hay dos discos iguales, están colocados de mayor a menor en la primera varilla ascendentemente, y no se puede colocar ningún disco mayor sobre uno menor a él en ningún momento.

Las Torres de Hanói es un rompecabezas o juego de matemático inventado en 1883 por el matemático francés Edouard 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.

Que son Torres de Hanoi

1883 empezó a venderse en Francia un antiguo rompecabezas oriental, rescatado para Occidente por el profesor N. Claus (de Siam) y cuyas primeras referencias eran los escritos del ilustre mandarín Fer-Fer-Tam-Tam. Según una leyenda india, en el Templo de Benarés, bajo el domo que marca el centro del mundo, hay una placa de latón con tres agujas de diamante. Durante la creación, Dios puso sesenta y cuatro discos de oro puro de distinto tamaño en una de las agujas, formando una torre. Los bramanes llevan generaciones cambiando de lugar, uno a uno, los discos de la torre entre las tres agujas de forma que en ningún momento un disco mayor descanse sobre otro más pequeño. Cuando hayan conseguido trasladar todos los discos a otra aguja su trabajo estará terminado, y la torre y el templo se derrumbarán, y con un gran trueno, el mundo se desvanecerá. La versión simplificada que se vendía en Francia se componía de ocho discos de madera.

Que son Torres de Hanoi

Es éste un clásico de los juegos de estrategia.

Se parte de tres estacas, en la primera de las cuales hay n discos de diámetros diferentes ensartados formando una torre.

Se trata de llevar los n discos a la tercera estaca, conservando la forma de torre.Los movimientos válidos consisten en llevar el disco superior de una estaca a cualquier otra (libre o con otros discos), de modo que no quede encima de un disco de diámetro menor

Reseña Histórica

Se cuenta que en un templo de Benares (Uttar Pradesh, India) se encontraba una cúpula que señalaba el centro del mundo. Allí estaba una bandeja sobre la que existían tres agujas de diamante. En una mañana lluviosa, un rey mandó a poner 64 discos de oro ordenados por tamaño: el mayor, en la base de la bandeja, y el menor, arriba de todos los discos. Tras su colocación, los sacerdotes del templo intentaron mover los discos entre las agujas, según las leyes que se les habían entregado: «El sacerdote de turno no debe mover más de un disco a la vez, y no puede situar ningún disco encima de otro de menor diámetro». Hoy no existe tal templo, pero el juego aún perdura en el tiempo.

Reseña Histórica

Otra leyenda cuenta que Dios, al crear el mundo, colocó tres varillas de diamante con 64 discos en la primera. También creó un monasterio con monjes, quienes tenían la tarea de resolver esta Torre de Hanói divina. El día que estos monjes consiguieran terminar el juego, el mundo acabaría. No obstante, esta leyenda resultó ser un invento publicitario del creador del juego, el matemático Eduard Lucas

En aquella época, era muy común encontrar matemáticos ganándose la vida de forma itinerante con juegos de su invención, de la misma forma que los juglares lo hacían con su música. No obstante, la falacia resultó ser tan efectista y tan bonita que ha perdurado hasta nuestros días. Además, invita a realizarse la pregunta: «Si la leyenda fuera cierta, ¿cuándo sería el fin del mundo?».) La mínima cantidad de movimientos para resolver este problema es de 264 – 1; si los monjes hicieran un movimiento por segundo, sin equivocarse, los 64 discos estarían en la tercera varilla en algo menos de 585 mil millones de años. (Como comparación para ver la magnitud de esta cifra, la Tierra tiene unos 5 mil millones de años, y el Universo, unos 14 mil millones de años de antigüedad, solo una pequeña fracción de esa cifra.

Reseña Histórica

Otra leyenda cuenta que Dios, al crear el mundo, colocó tres varillas de diamante con 64 discos en la primera. También creó un monasterio con monjes, quienes tenían la tarea de resolver esta Torre de Hanói divina. El día que estos monjes consiguieran terminar el juego, el mundo acabaría. No obstante, esta leyenda resultó ser un invento publicitario del creador del juego, el matemático Eduard Lucas

En aquella época, era muy común encontrar matemáticos ganándose la vida de forma itinerante con juegos de su invención, de la misma forma que los juglares lo hacían con su música. No obstante, la falacia resultó ser tan efectista y tan bonita que ha perdurado hasta nuestros días. Además, invita a realizarse la pregunta: «Si la leyenda fuera cierta, ¿cuándo sería el fin del mundo?».) La mínima cantidad de movimientos para resolver este problema es de 264 – 1; si los monjes hicieran un movimiento por segundo, sin equivocarse, los 64 discos estarían en la tercera varilla en algo menos de 585 mil millones de años. (Como comparación para ver la magnitud de esta cifra, la Tierra tiene unos 5 mil millones de años, y el Universo, unos 14 mil millones de años de antigüedad, solo una pequeña fracción de esa cifra.

Solución algorítmica aplicando el método divide y vencerás

Esta técnica es la base de los algoritmos eficientes para casi cualquier tipo de problema como, por ejemplo, algoritmos de ordenamiento quicksort, mergesort, entre muchos otros), multiplicar números grandes (karatsuba), análisis sintácticos (análisis sintácticos top-dowm) y la transformada discreta de Fourier.

Por otra parte, analizar y diseñar algoritmos de DyV son tareas que lleva tiempo dominar. Al igual que en la inducción, a veces es necesario sustituir el problema original por uno más complejo para conseguir realizar la recursión, y no hay un método sistemático de generalización.

El nombre divide y vencerás también se aplica a veces a algoritmos que reducen cada problema a un único subproblema, como la búsqueda binaria para encontrar un elemento en una lista ordenada (o su equivalente en computación numérica, el algoritmo de bisección para búsqueda de raíces). Estos algoritmos pueden ser implementados más eficientemente que los algoritmos generales de “divide y vencerás”; en particular, si es usando una serie de recursiones que lo convierten en simples bucles. Bajo esta amplia definición, sin embargo, cada algoritmo que usa recursión o bucles puede ser tomado como un algoritmo de “divide y vencerás”. El nombre decremento y vencerás ha sido propuesta para la subclase simple de problemas.

Proceso Histórico

La búsqueda binaria, un algoritmo de divide y vencerás en el que el problema original es partido sucesivamente en subproblemas simples de más o menos la mitad del tamaño, tiene una larga historia. La idea de usar una lista ordenada de objetos para facilitar su búsqueda data de la antigua Babilonia en el 200 a. C., mientras que una descripción del algoritmo en ordenadores apareció en 1946 en un artículo de John Mauchly. Otro algoritmo de “divide y vencerás” con un único subproblema es el algoritmo de Euclides para computar el máximo comun divisor de dos números (mediante reducción de números a problemas equivalentes cada vez más pequeños), que data de muchos siglos antes de Cristo.

Un ejemplo antiguo de algoritmo de “divide y vencerás” con múltiples subproblemas es la descripción realizada por Gauss en 1805 de lo que se le llama ahora algoritmo de la rápida transformación de Fourier cooley-Tukey (FFT), aunque él no analizó su conjunto de operaciones cuantitativamente y los FFT no se difundieron hasta que se redescubrieron casi un siglo después.Otro problema antiguo de 2 subdivisiones de “divide y vencerás” que fue específicamente desarrollado para ordenadores y analizado adecuadamente es el algoritmo de merge-sort, inventado por John von Neumann en 1945.

Proceso Histórico

Otro ejemplo notable es el algoritmo inventado por A. karatsuba en 1960 que puede multiplicar dos números de n dígitos en . El algoritmo refutó la conjetura de Andréi kolmogorov en 1956 que esa tarea requería Ω(n2) operaciones. Otro ejemplo de algoritmo de divide y vencerás que originalmente no se usaba en ordenador, Knuth dio el método que habitualmente una oficina de correos usa para dirigir las cartas: las cartas se ordenan en diferentes bolsas en función de su área geográfica, cada una de estas bolsas a su vez se ordena en diferentes lotes para subregiones más pequeñas, y así sucesivamente hasta que son repartidas. Esto está relacionado con el ordenamiento Radix, descrito para las máquinas de ordenación de tarjetas perforadas a los comienzos

Enlace y Explicación

11

El objetivo del juego consiste en pasar los discos de un extremo al otro pero no de cualquierforma sino siguiendo unas precisas y sencillas normas que son las que dictó Brahma y quereproducimos a continuación.

Y es que como la imaginación humana no tiene límites, este juego se transformó en leyenda,una de cuyas versiones es la que dice que cuando Brahma terminó su obra, construyó unenorme monasterio en Benarés, en uno de los patios interiores instaló tres agujas de oro alineadascolocando en una de las agujas extremas 64 discos de distintos diámetros tal y comose ha indicado anteriormente. Pues bien, la leyenda continúa diciendo que Brahma reunió asus monjes y les dijo que a partir de ese momento deberían trabajar incesantemente para llevarlos discos situados en una aguja extrema a la aguja del otro extremo. Pero no podrían hacerlode cualquier forma sino que tendrían que respetar las siguientes normas:

• En cada movimiento solo podrán llevar un disco.• El trabajo hay que hacerlo en el menor número de movimientos posibles.• No se puede colocar nunca un disco mayor sobre otro menor.La leyenda concluye con esta sentencia de Brahma: “Cuando paséis el último disco, vendrécon todo mi poder para llevaros al Nirvana eterno donde no existirá ni el dolor ni la ignorancia.Después, la tierra desaparecerá”.

http://www.uterra.com/juegos/torre_hanoi.php

Conclusión

Según una leyenda, los monjes del templo de una antigua ciudad de la India tienen que mover una torre de 64 discos sagrados de un sitio a otro. Pero los discos son frágiles así que solo uno de ellos puede moverse a la vez. Ningún disco puede colocarse encima de otro mas pequeño. Y únicamente existe otro lugar en el templo (además del sitio original y el destino) lo suficientemente sagrado para que una torre de discos pueda ponerse ahí.

La leyenda dice además que antes de que los mojes realicen el último movimiento para completar la torre en su nuevo lugar, el templo se reducirá a cenizas y el mundo se acabará. Quizá esta leyenda tenga razón debido a la cantidad de movimientos necesarios para cambiar de lugar los 64 discos.

El Problema de las torres de Hanoi se considerará con solo 3 discos, y manteniendo claro esta la cantidad de pilares (3 torres) que se utilizan para dejar los discos, esto para facilitar el desarrollo y reducir la cantidad de movimientos y por ende de recursos que se necesitarían para desarrollar el problema original de la leyenda.

El objetivo es mover todos los discos de la torre 1 a la torre 3. La torre 2 es para almacenamiento temporal. Manteniendo las leyes del problema original, solo se permite realizar movimientos válidos, así que no puede moverse un disco encima de otro de menor diámetro.

Para el desarrollo de este problema se debe considerar en un principio un estado inicial(la torre 1 con los 3 discos, la torre 2 y 3 vacías) y desde ahí realizar una serie de movimientos válidos (una combinación de estados posibles y válidos) para lograr llegar a un estado final o estado objetivo (la torre 3 con los 3 discos, la torre 1 y 2 vacías).Para el desarrollo del problema de las Torres de Hanoi se considero 2 tipos de solución, aquella que le dará el jugador y que solamente depende el y otra propia del software y para la cual se utilizó un principio matemático.Para el desarrollo del programa se utilizo la herramienta JAVA, esta opción se tomo por sobre la de usar JESS, ya que el manejo actual que se tiene de Java es un poco mayor y en esta herramienta se logro con satisfacción el desarrollo del problema, utilizando además el algoritmo basado en principios matemáticos el cual permite al computador resolver el problema en un mínimo de movidas( para el caso de 3 discos se necesitan solo 7movidas).

¡Hoy mejor que ayer, mañana mejor que hoy!” su significado es que siempre es posible hacer mejor

las cosas. Ningún día debe pasar sin una cierta mejora.

13

Muchas Gracias por su Atención