SlideShare a Scribd company logo
1 of 9
Tutor: Elaborado por:
María de Lourdes Aguilera Pérez
Catedra:
Programacion No Numerica II
Valdivia, José
C.I. 18.652.309
República Bolivariana de Venezuela.
Instituto Universitario Politécnico “Santiago Mariño”
Maturín, Estado Monagas.
Escuela de Ingeniería en Sistemas.
Maturín, Junio del 2013
Introducción.
La técnica de diseño de algoritmos Divide y Vencerás, es una filosofía general
para resolver problemas y en nuestro contexto es una técnica que consiste en
resolver un problema a partir de la solución de sub-problemas del mismo
tipo, pero de menor tamaño. Si esto aun son de un tamaño considerable se
aplicara nuevamente esta técnica hasta conseguir sub-problemas donde la
solución sea obvia.
Hablando un poco sobre la Torres de Hanoi 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 diametro sobre uno de menor
diametro. La torre del centro puede utilizarse de modo auxiliar para el traspaso
de los discos.
Desarrollo.
¿Que son las torres de hanoi?
Las Torres de Hanói es 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.
En realidad, la Torre de Hanoi y la leyenda india habían sido inventadas por el
matemático francés Édouard Lucas (N. Claus de Siam es un anagrama de Lucas
d'Amiens). Su compatriota, el escritor Henri de Parville amplió y adornó la
leyenda poco tiempo después. A pesar de que el reto planteado es
relativamente sencillo, la idea de Lucas ha demostrado ser una de las más
fecundas de la historia de las matemáticas recreativas.
Reseña Historica.
En 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.
El juego de las torres de Hanoi, o torres de diamante, es un juego oriental muy
antiguo que hoy se conoce en todo el mundo. El juego matemático de las Torres
de Hanoi consiste en un dispositivo que consta de tres varillas verticales A, B y C
y un número variable de discos. Los n discos son todos de diferente tamaño y,
en la posición de partida del juego, todos los discos están colocados en la varilla
A ordenados de mayor a menor tamaño, esto es, el mayor en el lugar más bajo
y el menor arriba.
Del número de discos depende la complejidad de la solución. El juego consiste
en lo siguiente: Comenzando en la posición de partida. Trasladar todos los
discos a la varilla B, pero colocados también de mayor a menor, en el mismo
orden en el que estaban colocados en la varilla A. Para el traslado de discos
podemos utilizar la varilla C, pero se debe cumplir siempre la condición de que
sólo se puede mover un disco cada vez y que en ningún caso y en ningún paso
se podrá colocar un disco mayor sobre otro de menor radio que él.
Explicación del juego.
Solución algorítmica aplicando el
método Divide y Vencerás.
El problema de las Torres de Hanoi es un problema utilizado frecuentemente
como ejemplo de resolución de algoritmos. Se puede imaginar que se tienen 3
postes llamados A, B y C. En el poste A se tienen n discos de diferente diámetro,
acomodados en orden creciente de diámetro desde lo más alto hasta lo más
bajo. Solamente se puede mover un disco a la vez desde un poste hasta otro y
no esta permitido poner un disco más grande sobre otro más pequeño. La tarea
consiste en mover todos los discos desde el poste A hasta el poste C.
Ejemplo N° 1:
Se debe Escribir una función que reciba como parámetro n y que imprima en
pantalla todos los pasos a seguir para mover los discos del poste A al poste C.
Solución Pensando primero en el caso mas pequeño y trivial si n = 1, se tendría
un solo disco y solo habría que moverlo de la torre A a la C.
Ahora, suponiendo que para algún n ya se sabe cómo mover n − 1 discos de una
torre a cualquier otra ¿qué se debe hacer?
Luego de hacer esta pregunta es fácil llegar a la conclusión de que primero hay
que mover los primeros n − 1 discos a la torre B, luego el disco n a la torre C, y
posteriormente mover los n − 1 discos de la torre B a la torre C.
Solución algorítmica aplicando el
método Divide y Vencerás.
Se puede estar seguro que lo anterior funciona ya que los primeros n − 1 discos
de la torre siempre serán mas pequeños que el disco n, por lo cual se podrían
colocar libremente sobre el disco n si así lo requirieren. Por inducción
entonces, el procedimiento anterior funciona. Así que el algoritmo de Divide y
Vencerás queda de la siguiente manera:
Sea X la torre original, Y la torre a la cual se quieren mover los discos, y Z la otra
torre.
Para n > 1, hay que mover n − 1 discos de la torre x a la z, luego mover un disco
de la torre x a la Y y finalmente mover n − 1 discos de la torre Z a la Y.
Para n = 1, hay que mover el disco de la torre X a la Y ignorando la torre Z.
Se puede notar que aquí los pasos de Divide y Vencerás se resumieron en uno
sólo, pero si están presentes ambos. El siguiente código muestra una
implementación del algoritmo anterior, y utiliza como parámetros los nombres
de las 3 torres, utilizando parámetros predeterminados como A, B y C.
Solución algorítmica aplicando el
método Divide y Vencerás.
Código: Torres de Hanoi
(1) int hanoi(int n, char x='A', char y='C', char z='B'){
(2) if(n==1){
(3) printf("Mueve de %c a %c.n", x, y);
(4) }else{
(5) hanoi(n-1, x, z, y);
(6) printf("Mueve de %c a %c.n", x, y);
(7) hanoi(n-1, z, y, x);
(8) }
(9) }
Conclusión.
Luego de haber realizado las investigaciones correspondientes al tema Divide y
Vencerás y el juego las Torres de Hanoi puedo decir que me ha parecido muy
interesante como hasta ahora aun sigan siendo técnicas de gran aprendizaje ya
que nos dejan de una forma muy discreta una de las metodologías conocidas
históricamente por ser aplicadas en su momento por Julio Cesar en la edad
Romana contra sus enemigos y ser además de muy fácil de interpretar muy
significativamente eficaz ya que sus resultados son resultados exactamente
matemáticos.
Tuve la oportunidad de practicar el juego Las Torres de Hanoi y la verdad es que
al principio me costo un poco encontrarle la lógica ya que desconocía las reglas
pero una vez que lo interpretas de la forma para la cual esta diseñado notas
cuan divertido e interesante puede tornarse y si necesitas algo mas complejo
puedes aumentar el numero de discos aumentando así su dificultad.
Acá les dejo un enlace en donde pueden ponerse a prueba con el Juego Las
Torres de Hanoi: http://www.pequejuegos.com/juego-la-torre-de-hanoi.html

More Related Content

What's hot

Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
JOSECYBER
 
Torres hanoi jairo_roca
Torres hanoi jairo_rocaTorres hanoi jairo_roca
Torres hanoi jairo_roca
Jairo Roca
 
torre de hanoi
torre de hanoitorre de hanoi
torre de hanoi
diana2504
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
isa1203
 

What's hot (19)

Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torres hanoi jairo_roca
Torres hanoi jairo_rocaTorres hanoi jairo_roca
Torres hanoi jairo_roca
 
Torres hanoi bonilla
Torres hanoi bonillaTorres hanoi bonilla
Torres hanoi bonilla
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torrres de hanói
Torrres de hanóiTorrres de hanói
Torrres de hanói
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
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
 
Torres de Hanoi
Torres de HanoiTorres de Hanoi
Torres de Hanoi
 
Torres de hanoi upsm
Torres de hanoi upsmTorres de hanoi upsm
Torres de hanoi upsm
 
Torres de hanoi prog. no numerica 2 / Cesar Diaz
Torres de hanoi   prog. no numerica 2 / Cesar DiazTorres de hanoi   prog. no numerica 2 / Cesar Diaz
Torres de hanoi prog. no numerica 2 / Cesar Diaz
 
torre de hanoi
torre de hanoitorre de hanoi
torre de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
Torres de Hanoi - Metodo Divide y Venceras - Presentacion - Yolfred Uzcategui
Torres de Hanoi - Metodo Divide y Venceras - Presentacion - Yolfred UzcateguiTorres de Hanoi - Metodo Divide y Venceras - Presentacion - Yolfred Uzcategui
Torres de Hanoi - Metodo Divide y Venceras - Presentacion - Yolfred Uzcategui
 
Diapositiva torres hanoi
Diapositiva torres hanoiDiapositiva torres hanoi
Diapositiva torres hanoi
 
Manual Torres De Hanoi
Manual Torres De HanoiManual Torres De Hanoi
Manual Torres De Hanoi
 
Problemas cinematica
Problemas cinematicaProblemas cinematica
Problemas cinematica
 

Similar to Las torres de hanoi jose valdivia

Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
vinfeliz
 
Diapositiva torre hanoi german carluccio
Diapositiva torre hanoi german carluccioDiapositiva torre hanoi german carluccio
Diapositiva torre hanoi german carluccio
German A Carluccio M
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
Alex Pin
 

Similar to Las torres de hanoi jose valdivia (20)

Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Las torres de hanói
Las torres de hanóiLas torres de hanói
Las torres de hanói
 
Las Torres de Hanoi
Las Torres de HanoiLas Torres de Hanoi
Las 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
 
Torre de hanói
Torre de hanóiTorre de hanói
Torre de hanói
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Las torres de Hanoi
Las torres de HanoiLas torres de Hanoi
Las torres de Hanoi
 
Diapositiva torre hanoi german carluccio
Diapositiva torre hanoi german carluccioDiapositiva torre hanoi german carluccio
Diapositiva torre hanoi german carluccio
 
Torresdehanoi
TorresdehanoiTorresdehanoi
Torresdehanoi
 
Torres de hanói
Torres de hanóiTorres de hanói
Torres de hanói
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Torres de hanoi
Torres de hanoiTorres de hanoi
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
Torres de hanoiTorres de hanoi
Torres de hanoi
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
TORRES DE HANOI. IUPSM CCS. GABRIELA GODOY
TORRES DE HANOI. IUPSM CCS. GABRIELA GODOYTORRES DE HANOI. IUPSM CCS. GABRIELA GODOY
TORRES DE HANOI. IUPSM CCS. GABRIELA GODOY
 

Las torres de hanoi jose valdivia

  • 1. Tutor: Elaborado por: María de Lourdes Aguilera Pérez Catedra: Programacion No Numerica II Valdivia, José C.I. 18.652.309 República Bolivariana de Venezuela. Instituto Universitario Politécnico “Santiago Mariño” Maturín, Estado Monagas. Escuela de Ingeniería en Sistemas. Maturín, Junio del 2013
  • 2. Introducción. La técnica de diseño de algoritmos Divide y Vencerás, es una filosofía general para resolver problemas y en nuestro contexto es una técnica que consiste en resolver un problema a partir de la solución de sub-problemas del mismo tipo, pero de menor tamaño. Si esto aun son de un tamaño considerable se aplicara nuevamente esta técnica hasta conseguir sub-problemas donde la solución sea obvia. Hablando un poco sobre la Torres de Hanoi 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 diametro sobre uno de menor diametro. La torre del centro puede utilizarse de modo auxiliar para el traspaso de los discos.
  • 3. Desarrollo. ¿Que son las torres de hanoi? Las Torres de Hanói es 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. En realidad, la Torre de Hanoi y la leyenda india habían sido inventadas por el matemático francés Édouard Lucas (N. Claus de Siam es un anagrama de Lucas d'Amiens). Su compatriota, el escritor Henri de Parville amplió y adornó la leyenda poco tiempo después. A pesar de que el reto planteado es relativamente sencillo, la idea de Lucas ha demostrado ser una de las más fecundas de la historia de las matemáticas recreativas.
  • 4. Reseña Historica. En 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.
  • 5. El juego de las torres de Hanoi, o torres de diamante, es un juego oriental muy antiguo que hoy se conoce en todo el mundo. El juego matemático de las Torres de Hanoi consiste en un dispositivo que consta de tres varillas verticales A, B y C y un número variable de discos. Los n discos son todos de diferente tamaño y, en la posición de partida del juego, todos los discos están colocados en la varilla A ordenados de mayor a menor tamaño, esto es, el mayor en el lugar más bajo y el menor arriba. Del número de discos depende la complejidad de la solución. El juego consiste en lo siguiente: Comenzando en la posición de partida. Trasladar todos los discos a la varilla B, pero colocados también de mayor a menor, en el mismo orden en el que estaban colocados en la varilla A. Para el traslado de discos podemos utilizar la varilla C, pero se debe cumplir siempre la condición de que sólo se puede mover un disco cada vez y que en ningún caso y en ningún paso se podrá colocar un disco mayor sobre otro de menor radio que él. Explicación del juego.
  • 6. Solución algorítmica aplicando el método Divide y Vencerás. El problema de las Torres de Hanoi es un problema utilizado frecuentemente como ejemplo de resolución de algoritmos. Se puede imaginar que se tienen 3 postes llamados A, B y C. En el poste A se tienen n discos de diferente diámetro, acomodados en orden creciente de diámetro desde lo más alto hasta lo más bajo. Solamente se puede mover un disco a la vez desde un poste hasta otro y no esta permitido poner un disco más grande sobre otro más pequeño. La tarea consiste en mover todos los discos desde el poste A hasta el poste C. Ejemplo N° 1: Se debe Escribir una función que reciba como parámetro n y que imprima en pantalla todos los pasos a seguir para mover los discos del poste A al poste C. Solución Pensando primero en el caso mas pequeño y trivial si n = 1, se tendría un solo disco y solo habría que moverlo de la torre A a la C. Ahora, suponiendo que para algún n ya se sabe cómo mover n − 1 discos de una torre a cualquier otra ¿qué se debe hacer? Luego de hacer esta pregunta es fácil llegar a la conclusión de que primero hay que mover los primeros n − 1 discos a la torre B, luego el disco n a la torre C, y posteriormente mover los n − 1 discos de la torre B a la torre C.
  • 7. Solución algorítmica aplicando el método Divide y Vencerás. Se puede estar seguro que lo anterior funciona ya que los primeros n − 1 discos de la torre siempre serán mas pequeños que el disco n, por lo cual se podrían colocar libremente sobre el disco n si así lo requirieren. Por inducción entonces, el procedimiento anterior funciona. Así que el algoritmo de Divide y Vencerás queda de la siguiente manera: Sea X la torre original, Y la torre a la cual se quieren mover los discos, y Z la otra torre. Para n > 1, hay que mover n − 1 discos de la torre x a la z, luego mover un disco de la torre x a la Y y finalmente mover n − 1 discos de la torre Z a la Y. Para n = 1, hay que mover el disco de la torre X a la Y ignorando la torre Z. Se puede notar que aquí los pasos de Divide y Vencerás se resumieron en uno sólo, pero si están presentes ambos. El siguiente código muestra una implementación del algoritmo anterior, y utiliza como parámetros los nombres de las 3 torres, utilizando parámetros predeterminados como A, B y C.
  • 8. Solución algorítmica aplicando el método Divide y Vencerás. Código: Torres de Hanoi (1) int hanoi(int n, char x='A', char y='C', char z='B'){ (2) if(n==1){ (3) printf("Mueve de %c a %c.n", x, y); (4) }else{ (5) hanoi(n-1, x, z, y); (6) printf("Mueve de %c a %c.n", x, y); (7) hanoi(n-1, z, y, x); (8) } (9) }
  • 9. Conclusión. Luego de haber realizado las investigaciones correspondientes al tema Divide y Vencerás y el juego las Torres de Hanoi puedo decir que me ha parecido muy interesante como hasta ahora aun sigan siendo técnicas de gran aprendizaje ya que nos dejan de una forma muy discreta una de las metodologías conocidas históricamente por ser aplicadas en su momento por Julio Cesar en la edad Romana contra sus enemigos y ser además de muy fácil de interpretar muy significativamente eficaz ya que sus resultados son resultados exactamente matemáticos. Tuve la oportunidad de practicar el juego Las Torres de Hanoi y la verdad es que al principio me costo un poco encontrarle la lógica ya que desconocía las reglas pero una vez que lo interpretas de la forma para la cual esta diseñado notas cuan divertido e interesante puede tornarse y si necesitas algo mas complejo puedes aumentar el numero de discos aumentando así su dificultad. Acá les dejo un enlace en donde pueden ponerse a prueba con el Juego Las Torres de Hanoi: http://www.pequejuegos.com/juego-la-torre-de-hanoi.html