SlideShare una empresa de Scribd logo
1 de 8
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. En las ciencias de la computación, el término divide y vencerás (DYV) hace
referencia a uno de los más importantes paradigmas de diseño algorítmico. El método está basado en
la resolución recursiva de un problema dividiéndolo en dos o más sub-problemas de igual tipo o
similar. El proceso continúa hasta que éstos llegan a ser lo suficientemente sencillos como para que se
resuelvan directamente. Al final, las soluciones a cada uno de los sub-problemas se combinan para dar
una solución al problema original.
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áctico top-down) y la transformada
discreta de Fourier.
Por otra parte, analizar y diseñar algoritmos de D y V 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 sub- problema, 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 de crementa y
vencerás ha sido propuesta para la subclase simple de problemas.
Es un juego matemático que fue inventado 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 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.
El juego, en su forma más tradicional, consiste en tres varillas verticales. En una
de las varillas se apila un número indeterminado de discos (elaborados de madera) que
determinará la complejidad de la solución, por regla general se consideran ocho discos.
Los discos se apilan sobre una varilla en tamaño decreciente. No hay dos discos iguales, y
todos ellos están apilados de mayor a menor radio en una de las varillas, quedando las
otras dos varillas vacantes. El juego consiste en pasar todos los discos de la varilla ocupada
(es decir la que posee la torre) a una de las otras varillas vacantes. Para realizar este
objetivo, es necesario seguir tres simples reglas:
 Sólo se puede mover un disco cada vez.
 Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.
 Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.
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.
 OBJETIVO
El juego consiste en pasar todos los discos a la tercera varilla colocados de mayor a menor
ascendentemente.
Descubrir la explicación matemática para todos los aspectos posibles del juego, y las
relaciones entre ellas:
- número de movimientos totales
- número de movimientos de cada pieza
- secuencia de piezas que se mueven
- apariencia de las torres en un movimiento dado
- número de "tiempos" que espera cada pieza entre cada uno de sus movimientos (es
constante)
Demostrar que el juego se basa en potencias de 2.
 LAS REGLAS
Sólo se puede mover un disco cada vez.
Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.
Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.
Este problema se suele plantear a menudo en programación, especialmente para
explicar la recursividad. Si numeramos los discos desde 1 hasta n, si llamamos origen a la
primera pila de discos, destino a la tercera y auxiliar a la intermedia, y si a la función la
denomináramos hanoi, con origen, auxiliar y destino como parámetros, el algoritmo de la
función sería el siguiente:
Entrada: Tres pilas de números origen, auxiliar, destino, con la pila origen ordenada
Salida: La pila destino
1-si origen entonces
1-mover el disco 1 de pila origen a la pila destino (insertarlo arriba de la pila destino)
2-terminar
2-si no
1-hanoi({1,….,n-1}origen, destino, auxiliar) //mover todas las fichas menos la más grande (n)
a la varilla auxiliar
3-mover disco n a destino //mover la ficha grande hasta la varilla final
4-hanoi (auxiliar, origen, destino) //mover todas las fichas restantes, 1...n–1, encima de
la ficha grande (n)
5-terminar
 http://www.disfrutalasmatematicas.com/juegos/torre-
de-hanoi-2.html
Esta documentación nos permitió aprender sobre
el juego de las torres de hanoi y el método de divide y
vencerás, sabiendo que el primero es uno de los juegos
de lógica y estrategia matemática mas usados en la
historia y efectivos al momento de agilizar nuestra
mente, esto también nos enseña que todo problema
tiene solución por difícil que sea, solo tenemos que
buscar la manera de resolverlo.
Me gustaría cerrar con un dicho que me gusta
mucho que dice: Si un problema tiene solución, para
que te preocupas y Si un problema NO tiene solución,
para que te preocupas.

Más contenido relacionado

Similar a Torres de hanoi (20)

Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Lastorresdehanoi
LastorresdehanoiLastorresdehanoi
Lastorresdehanoi
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torre hanoi Programación No numérica II
Torre hanoi  Programación No numérica IITorre hanoi  Programación No numérica II
Torre hanoi Programación No numérica II
 
Las torres de hanói
Las torres de hanóiLas torres de hanói
Las torres de hanói
 
Torre de hanói
Torre de hanóiTorre de hanói
Torre de hanói
 
Torresdehanoi javierguzman
Torresdehanoi javierguzmanTorresdehanoi javierguzman
Torresdehanoi javierguzman
 
Las torres de Hanoi
Las torres de HanoiLas torres de Hanoi
Las torres de Hanoi
 
Torres de hanoi upsm
Torres de hanoi upsmTorres de hanoi upsm
Torres de hanoi upsm
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torre de hanói
Torre de hanóiTorre de hanói
Torre de hanói
 
Torredehanoi
TorredehanoiTorredehanoi
Torredehanoi
 
Las Torres de Hanoi
Las Torres de HanoiLas Torres de Hanoi
Las Torres de Hanoi
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
Las Torres de Hanoi
Las Torres de HanoiLas Torres de Hanoi
Las Torres de Hanoi
 

Torres de hanoi

  • 1.
  • 2. 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. En las ciencias de la computación, el término divide y vencerás (DYV) hace referencia a uno de los más importantes paradigmas de diseño algorítmico. El método está basado en la resolución recursiva de un problema dividiéndolo en dos o más sub-problemas de igual tipo o similar. El proceso continúa hasta que éstos llegan a ser lo suficientemente sencillos como para que se resuelvan directamente. Al final, las soluciones a cada uno de los sub-problemas se combinan para dar una solución al problema original. 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áctico top-down) y la transformada discreta de Fourier. Por otra parte, analizar y diseñar algoritmos de D y V 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 sub- problema, 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 de crementa y vencerás ha sido propuesta para la subclase simple de problemas.
  • 3. Es un juego matemático que fue inventado 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 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. El juego, en su forma más tradicional, consiste en tres varillas verticales. En una de las varillas se apila un número indeterminado de discos (elaborados de madera) que determinará la complejidad de la solución, por regla general se consideran ocho discos. Los discos se apilan sobre una varilla en tamaño decreciente. No hay dos discos iguales, y todos ellos están apilados de mayor a menor radio en una de las varillas, quedando las otras dos varillas vacantes. El juego consiste en pasar todos los discos de la varilla ocupada (es decir la que posee la torre) a una de las otras varillas vacantes. Para realizar este objetivo, es necesario seguir tres simples reglas:  Sólo se puede mover un disco cada vez.  Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.  Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.
  • 4. 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.
  • 5.  OBJETIVO El juego consiste en pasar todos los discos a la tercera varilla colocados de mayor a menor ascendentemente. Descubrir la explicación matemática para todos los aspectos posibles del juego, y las relaciones entre ellas: - número de movimientos totales - número de movimientos de cada pieza - secuencia de piezas que se mueven - apariencia de las torres en un movimiento dado - número de "tiempos" que espera cada pieza entre cada uno de sus movimientos (es constante) Demostrar que el juego se basa en potencias de 2.  LAS REGLAS Sólo se puede mover un disco cada vez. Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo. Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.
  • 6. Este problema se suele plantear a menudo en programación, especialmente para explicar la recursividad. Si numeramos los discos desde 1 hasta n, si llamamos origen a la primera pila de discos, destino a la tercera y auxiliar a la intermedia, y si a la función la denomináramos hanoi, con origen, auxiliar y destino como parámetros, el algoritmo de la función sería el siguiente: Entrada: Tres pilas de números origen, auxiliar, destino, con la pila origen ordenada Salida: La pila destino 1-si origen entonces 1-mover el disco 1 de pila origen a la pila destino (insertarlo arriba de la pila destino) 2-terminar 2-si no 1-hanoi({1,….,n-1}origen, destino, auxiliar) //mover todas las fichas menos la más grande (n) a la varilla auxiliar 3-mover disco n a destino //mover la ficha grande hasta la varilla final 4-hanoi (auxiliar, origen, destino) //mover todas las fichas restantes, 1...n–1, encima de la ficha grande (n) 5-terminar
  • 8. Esta documentación nos permitió aprender sobre el juego de las torres de hanoi y el método de divide y vencerás, sabiendo que el primero es uno de los juegos de lógica y estrategia matemática mas usados en la historia y efectivos al momento de agilizar nuestra mente, esto también nos enseña que todo problema tiene solución por difícil que sea, solo tenemos que buscar la manera de resolverlo. Me gustaría cerrar con un dicho que me gusta mucho que dice: Si un problema tiene solución, para que te preocupas y Si un problema NO tiene solución, para que te preocupas.