Torres de hanói

9
Torres de Hanói Autor: Carlos Bermúdez C.I. 17.934.613 República Bolivariana de Venezuela Instituto Universitario Politécnico “Santiago Mariño” Escuela de Ingeniería de Sistemas Extensión Maturín Maturín; noviembre 2013

Transcript of Torres de hanói

Page 1: Torres de hanói

Torres de Hanói

Autor:Carlos Bermúdez C.I. 17.934.613

República Bolivariana de Venezuela Instituto Universitario Politécnico “Santiago Mariño” Escuela de Ingeniería de Sistemas Extensión Maturín

Maturín; noviembre 2013

Page 2: Torres de hanói

Introducción• En la cultura popular, divide y vencerás hace referencia a

un refrán que implica resolver un problema difícil, dividiéndolo en partes más simples tantas veces como sea necesario, hasta que la resolución de las partes se torna obvia. La solución del problema principal se construye con las soluciones encontradas.

• Un problema que pueda ser resuelto por divide y vencerás, muchas veces es también posible resolverlo mediante programación dinámica con un enfoque “arriba-abajo”, o viceversa. Lo importante al decidir cuál utilizar es si existen empalmes o repeticiones en los subproblemas.

Page 3: Torres de hanói

¿Qué son las torres de Hanói?

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

Page 4: Torres de hanói

Reseña histórica• Se cuenta que en un templo de Benarés (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.

Page 5: Torres de hanói

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 Éduard 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?».)

Page 6: Torres de hanói

Explicación del juego

• El juego consiste en ir moviendo discos de la torre original de la izquierda de modo tal que finalmente queden en la misma posición en la torre de la derecha. Los movimientos de los discos deben hacerse bajo las siguientes restricciones: solo podrá moverse un disco a la vez y nunca podrá ubicarse un disco de mayor diámetro sobre uno de menor diámetro La torre del centro puede utilizarse de modo auxiliar para el traspaso de los discos.

Page 7: Torres de hanói

Solución Algorítmica Divide y

Vencerá• El problema consiste en desplazar N discos de la columna i

de inicio a la columna f de fin utilizando la columna t como un “almacenamiento” temporal.

• El problema menor consiste en mover n-1 discos de i a t utilizando f como soporte temporal.

• De esta forma es posible mover un disco (el que queda) desde i hasta f y, después, mover los n-1 discos de t a f.

Page 9: Torres de hanói

Conclusión• La Torre de Hanói suele aparecer como ejemplo para ilustrar el

concepto de recursión en los cursos de programación de computadoras, ya que existe un algoritmo recursivo sorprendentemente simple que lo resuelve.

• Los algoritmos recursivos funcionan bien con ordenadores, pero son difíciles de aplicar para un ser humano, pues, resulta bastante fácil que te pierdas a no ser que vayas tomando notas de por dónde vas. Incluso para los ordenadores los algoritmos recursivos suelen ser «poco económicos», en el sentido de que consumen bastante memoria (y es que ellos también necesitan «tomar notas»). La alternativa a los algoritmos recursivos son los iterativos, en los que no hay llamadas a sí mismo, sino uno o varios bucles. Muy a menudo no existe o no se conoce una alternativa iterativa para un algoritmo recursivo, y cuando sí se conoce, suele ser mucho más complicada que la versión recursiva. Sin embargo, en el caso de la Torre de Hanói, existen varios algoritmos iterativos muy simples.