Torres de hanói melany rojas
Upcoming SlideShare
Loading in...5
×
 

Torres de hanói melany rojas

on

  • 813 views

Torres de hanói IUPSM

Torres de hanói IUPSM

Statistics

Views

Total Views
813
Views on SlideShare
813
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Torres de hanói melany rojas Torres de hanói melany rojas Presentation Transcript

  • TORRES DE HANÓI Melany Rojas. IUP. “Santiago Mariño”
  • INTRODUCCIÓNDesde la antigüedad se han visto los problemas con un grado complejoqueriendo buscar una única solución radical y exacta al mismo, con elpasar del tiempo esta búsqueda ha dado como resultados muchos métodospara ver y encontrarle de distintas formas la solución de estos desde el maspequeño hasta el mas grande desde el mas simple hasta el mas complejo!Uno de los principales métodos es el de Divide y Vencerás, haciendo así ladivisión del problema en partes para luego al juntarlas tener una soluciónoptima.
  • DIVIDE Y VENCERÁSAl igual que en la programación dinámica y algoritmos ávidos, sebusca resolver un problema a través de sus partes. La idea básica esir dividiendo el problema en partes (generalmente dos) e intentarresolverlas. Si las partes son todavía demasiado complejas, sevuelven a partir. Se repite esto recursivamente hasta que puedaresolverse los subproblemas de manera directa. Una vez que setienen estas respuestas, se juntan para obtener la solución general.
  • LAS TORRES DE HANÓI (ALGORITMOS DE HANOI)Las torres de Hanói es un algoritmo matemático que tiene sus orígenes enun juego de tres torres con discos de distintos tamaños el juego consisteen mover los discos de la primera a la ultima torre en orden creciente, elobjetivo del juego es volver armar la torre con una serie de reglas.En la computación el algoritmo de Hanói trata de resolver problemasmediante la programación dinámica o de recursividad, dividiendo losproblemas recursivamente hasta llegar a un único subproblema o hastaobtener una solución compleja.
  • HISTORIASe cuenta que un templo de Benarés (Uttar Pradesh, India), seencontraba una cúpula que señalaba el centro del mundo. Allí estaba unabandeja sobre la cual existían tres agujas de diamante. En una mañanalluviosa, un rey mandó a poner 64 discos de oro, siendo ordenados portamaño: el mayor en la base de la bandeja y el menor arriba de todos losdiscos.Tras la colocación, los sacerdotes del templo intentaron mover los discosentre las agujas, según las leyes que se les habían entregado: "Elsacerdote de turno no debe mover más de un disco a la vez, y no puedesituar 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..
  • La búsqueda binaria, un algoritmo de divide y vencerás, tiene una largahistoria. La idea de usar una lista ordenada de objetos para facilitar subúsqueda data de la antigua Babilonia en el 200 a. C., mientras que unadescripción del algoritmo en ordenadores apareció en 1946 en un artículo deJohn Mauchly. Otro algoritmo de “divide y vencerás” con un únicosubproblema es el algoritmo de Euclides para computar el máximo comúndivisor de dos números (mediante reducción de números a problemasequivalentes cada vez más pequeños), que data de muchos siglos antes deCristo.Un ejemplo antiguo de algoritmo de “divide y vencerás” con múltiplessubproblemas es la descripción realizada por Gauss en 1805 de lo que se lellama ahora algoritmo de la rápida transformación de Fourier Cooley-Tukey(FFT), aunque él no analizó su conjunto de operaciones cuantitativamente ylos 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 fueespecíficamente desarrollado para ordenadores y analizado adecuadamente esel algoritmo de merge-sort, inventado por John von Neumann en 1945.
  • ALGORITMO DIVIDE Y VENCERÁSEn las ciencias de la computación, el término divide y vencerás (DYV) hacereferencia 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 problemadividiéndolo en dos o más subproblemas de igual tipo o similar.El proceso continúa hasta que éstos llegan a ser lo suficientementesencillos como para que se resuelvan directamente. Al final, las soluciones acada uno de los subproblemas se combinan para dar una solución alproblema original.
  • D I S E Ñ O E I M P L E M E N TA C I Ó N La resolución de un problema mediante esta técnica consta fundamentalmente de los siguientes pasos:1. Ha de plantearse el problema de forma que pueda ser descompuesto en subproblemas del mismo tipo, pero de menor tamaño. Es decir, si el tamaño de la entrada es n, hemos de conseguir dividir el problema en k subproblemas (donde 1 ≤ k ≤ n), cada uno con una entrada de tamaño nk y donde 0 ≤ nk < n. A esta tarea se le conoce como división.2. En segundo lugar han de resolverse independientemente todos los subproblemas, bien directamente si son elementales o bien de forma recursiva. El hecho de que el tamaño de los subproblemas sea estrictamente menor que el tamaño original del problema nos garantiza la convergencia hacia los casos elementales, también denominados casos base.3. Por último, combinar las soluciones obtenidas en el paso anterior para construir la solución del problema original.
  • EL PROBLEMA MATEMÁTICAMENTE La ficha número n (siendo 1 la más pequeña) se mueve por primera vez en el paso número 2^(n-1), y después de ese primer movimiento, se moverá cada 2^n movimientos. De este modo, la ficha 1, se mueve en 1, 3, 5, 7, 9... etc. La ficha 3, se mueve en 4, 12, 20, 28, 36... etc. Y el número de veces que se mueve cada ficha es de 2^(n-k),siendo n el número de fichas y k igual a 1 para la ficha más pequeña. El número de movimientos mínimo a realizar para resolver el problema es de (2^n)-1, siendo n el número de fichas.
  •  Todas las fichas impares (siendo 1 la más pequeña) se muevensiguiendo el mismo patrón. Asimismo, todas las fichas pares semueven siguiendo el patrón inverso a las impares. Por ejemplo: siqueremos mover un número impar de piezas desde la columna 1hasta la 3, sucederá lo siguiente:• Todas las fichas impares seguirán este patrón de movimiento: 1 - > 3 -> 2 -> 1 -> 3 -> 2 -> 1 -> 3 -> 2 -> 1.• Todas las fichas pares seguirán este patrón de movimiento: 1 -> 2 -> 3 -> 1 -> 2 -> 3 -> 1 -> 2 -> 3
  • Estos patrones dependen únicamente del número de piezas. Si elnúmero de piezas es par, los patrones de las impares serán los de laspares, y viceversa. Uniendo la primera regla con la segunda, sabemos siempre quépieza hay que mover y a qué columna hay que desplazarla, luego elproblema está resuelto.
  • CONCLUSIÓNEl Algoritmo de Hanói y el método divide y vencerás es un gran ejemplo de comoaplicando la lógica y la matemática pueden ser resueltos grandes problemashaciéndolos cada vez mas pequeños para así obtener una solución efectiva.Los programadores pueden utilizar este modelo algorítmico como una herramientapotente para solucionar problemas complejos, tales como el clásico juego de las torresde Hanói. Todo lo que necesita este algoritmo es dividir el problema en subproblemasmás sencillos, y éstos en otros más sencillos hasta llegar a unos subproblemas fáciles(también llamados casos base).Una vez ahí, se resuelven y se combinan los subproblemas en orden inverso a su inicio.Cómo dividir los problemas es, a menudo, la parte más compleja del algoritmo. Poreso, en muchos problemas, el modelo sólo ofrece la solución más sencilla, no la mejor.
  • JUEGO TORRES DE HANOIhttp://www.jugarconjuegos.com/ESTRATEGIA/JUEGO%20TORRE%20DE%20HANOI.htm