Las torres de hanoi

11

Click here to load reader

description

Fidel Rivero

Transcript of Las torres de hanoi

Page 1: Las torres de hanoi

Realizado por:

Fidel Rivero 15.933.084

Maturín, noviembre de 2013.

Page 2: Las torres de hanoi

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 3: Las torres de hanoi

Las Torres de Hanói no son solo un juego,. Su

funcionalidad y propósito es proporcionar herramientas para

resolver problemas.

Ha sido el eje de muchos métodos creados a partir de allí,

pero siempre con el mismo resultado, como es el caso del

método divide y vencerás para lo cual hay que separar el

problema original en cuantas partes se pueda a fin de

buscarles solución a cada uno, luego al unir todas las

soluciones encontradas podremos resolver el problema por

el que se llego hasta aquí.

Page 4: Las torres de hanoi

Se cuenta que 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 cual existían tres agujas de diamante.

En una mañana lluviosa, un rey mandó a poner 64 discos de oro,

siendo ordenados por tamaño: el mayor en la base de la bandeja y

el menor arriba de todos los discos. Tras la 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 un disco de mayor diámetro encima de otro de menor

diámetro". Hoy no existe tal templo, pero el juego aún perduró en

el tiempo...

Page 5: Las torres de hanoi

Eln su forma más tradicional, consiste en tres barras verticales. En una de las

barras se coloca un número indefinido de discos que determinará la

complejidad de la solución, por regla general se consideran ocho discos. Los

discos se apilan sobre una barra en tamaño decreciente. No hay dos discos

iguales, y todos ellos están apilados de mayor a menor radio en una de las

barras, quedando las otras dos barras libres.

El juego consiste en pasar todos los discos de la barra ocupada a una de las

otras barras libres. Para realizar este objetivo, es necesario seguir tres

simples reglas:

1. Sólo se puede mover un disco cada vez.

2. Un disco de mayor tamaño no puede descansar sobre uno más pequeño

que él mismo.

3. Sólo puedes trasladar el disco que se encuentre arriba en cada barra.

Page 6: Las torres de hanoi

Una forma de resolver la colocación de la torre es

fundamentándose en el disco más pequeño, en este caso el

de hasta arriba. El movimiento inicial de este es hacia la

barra auxiliar. El disco número dos por regla, se debe mover

a la barra número tres. Luego el disco uno se mueve a la

varilla tres para que quede sobre el disco dos. A

continuación se mueve el disco que sigue de la barra uno, en

este caso el disco número tres, y se coloca en la barra dos.

Finalmente el disco número uno regresa de la barra tres a la

uno (sin pasar por la dos) y así sucesivamente. Es decir, el

truco está en el disco más pequeño.

Page 7: Las torres de hanoi

Este método hace referencia tomar un problema a resolver y

dividirlo en sus partes mas pequeñas es decir repararlo e ir

solucionando por parte así el problema principal se resolverá

con la mejor solución encontrada en sus anteriores soluciones

divididas.

En la programación funciona tomando el algoritmo y

dividiéndolo en subprogramas hasta hacerlo mas sencillo y

simple posible a fin de solucionar cada uno por separado y al

combinar todas las soluciones se consigue la solución final del

problema original.

Page 8: Las torres de hanoi

Los algoritmos de “divide y vencerás” están naturalmente implementados, como

procesos recursivos. En ese caso, los subproblemas parciales encabezados por

aquel que ya ha sido resuelto se almacenan en la pila de llamadas de

procedimiento. Normalmente, esta técnica proporciona una forma natural de

diseñar algoritmos eficientes. Por ejemplo, si el trabajo de dividir el problema y

de combinar las soluciones parciales es proporcional al tamaño del problema

(n); además, hay un número limitado p de subproblemas de tamaño

aproximadamente igual a n/p en cada etapa; y por último, los casos base

requieren un tiempo constante (O(1)); entonces el algoritmo divide y vencerás

tiene por cota superior asintótica a O(nlogn).

Page 9: Las torres de hanoi

Esta cota es la que tienen los algoritmos divide y vencerás que solucionan problemas

tales como ordenar y la transformada discreta de fourier. Ambos procedimientos

reducen su complejidad, anteriormente definida por O(n2). Para terminar, cabe

destacar que existen otros enfoques y métodos que mejoran estas cotas.

Al efectuar un análisis de la eficiencia de este método, se encuentra que la decisión

de cómo se divida el problema afecta el 'orden' O de la implementación.

Page 10: Las torres de hanoi

Mi opinión particular referente a este excelente tema, es

que este método o juego nos muestra una manera eficaz

de resolver los problemas, como seres humanos a veces

nos encerramos solo en el problema sin buscar alternativas

o mirarlo desde otro enfoque. Utilizando este método esta

comprobado que no solo se vuelve eficaz a la hora de

resolver algoritmos o procesos matemáticos si no en lo

cotidiano es de mucha utilidad enseñándonos a pensar

mas allá.