Our 3D CAD supplier models have been moved to 3Dfindit.com, the new visual search engine for 3D CAD, CAE & BIM models.
You can log in there with your existing account of this site.
The content remains free of charge.
Licensed under Creative Commons Attribution-Share Alike 3.0 (Unkown).
|
En este artículo sobre ocio se detectaron varios problemas, por favor, edítalo para mejorarlo:
Estas deficiencias fueron encontradas el 22 de octubre de 2012. |
Las Torres de Hanói es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Édouard Lucas.[1] Este juego de mesa solitario consiste en un número de 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.
La fórmula para encontrar el número de movimientos necesarios para transferir n discos del poste A al poste C es: 2n - 1.
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 siete discos. Los discos se apilan sobre una varilla en tamaño decreciente de abajo a arriba. No hay dos discos iguales, y todos ellos están apilados de mayor a menor radio -de la base de la varilla hacia arriba- 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:
1. Sólo se puede mover un disco a la vez.
2. Un disco de mayor tamaño no se puede estar sobre uno más pequeño que él mismo.
3. Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.
Existen diversas formas de realizar la solución final, todas ellas siguiendo estrategias diversas.
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.
Otra leyenda cuenta que Dios, al crear el mundo, colocó 3 cascos 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, cuando los monjes resolvieran el problema sería el fin del mundo (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?».) La mínima cantidad de movimientos para resolver este problema es de 264 – 1; si los monjes hicieran un movimiento por segundo, sin equivocarse, los 64 discos estarían en la tercera varilla en 18446744073709551615 segundos (213503982334601.291840278 días) algo menos de 585 mil millones de años. (Como comparación para ver la magnitud de esta cifra, la Tierra tiene unos 5 mil millones de años, y el Universo, unos 14 mil millones de años de antigüedad, solo una pequeña fracción de esa cifra.)
La solución del problema de las Torres de Hanói es muy fácil de hallar, aunque el número de pasos para resolver el problema crece exponencialmente conforme aumenta el número de discos.
Una manera sencilla para saber si es posible terminar el "juego" es que si la cantidad de discos es impar la pieza inicial ira a destino y si es par a auxiliar.
Una forma de resolver el problema se fundamenta en el disco más pequeño, el de más arriba en la varilla de origen. En un juego con un número par de discos, el movimiento inicial de la varilla origen es hacia la varilla auxiliar. El disco n.o 2 se debe mover, por regla, a la varilla destino. Luego, el disco n.o 1 se mueve también a la varilla destino para que quede sobre el disco n.o 2. A continuación, se mueve el disco que sigue de la varilla origen, en este caso el disco n.o 3, y se coloca en la varilla auxiliar. Finalmente, el disco n.o 1 regresa de la varilla destino a la origen (sin pasar por la auxiliar), y así sucesivamente. Es decir, el truco está en el disco más pequeño.
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:
Algoritmo Torres de Hanói (Complejidad |
Entrada: Tres pilas de números origen, auxiliar, destino, con la pila origen ordenada Salida: La pila destino
|
El número de movimientos mínimo a realizar para resolver el problema de este modo es de 2n – 1, siendo n el número de discos.
Otra manera de resolver el problema, sin utilizar la recursividad, se basa en el hecho de que para obtener la solución más corta, es necesario mover el disco más pequeño en todos los pasos impares, mientras que en los pasos pares sólo existe un movimiento posible que no lo incluye. El problema se reduce a decidir en cada paso impar a cuál de las dos pilas posibles se desplazará el disco pequeño. El algoritmo en cuestión depende del número de discos del problema:
Una forma equivalente de resolverlo es la siguiente: coloreando los discos pares de un color y los impares de otro, y se resuelve el problema añadiendo la siguiente regla: no colocar juntos dos discos de un mismo color. De esta manera, solo queda un movimiento posible (además del de volver hacia atrás).
El señor Henry Dudeney en su libro The Canterbury Puzzles (1907) propuso una variante (llamada «Problema del almojarife» o The reve's puzzle) que usa cuatro agujas en lugar de tres.[2] En 1939, J. S. Frame y B. M. Stewart propusieron —en forma independiente— un algoritmo que resuelve el problema, dado un parámetro i:
Y demostraron que, si n es igual al número triangular tk, la elección óptima para i es justamente k, y si tk – 1 < n < tk, tanto k – 1 como k lo son. Nótese que se está hablando del valor óptimo para este algoritmo particular; encontrar el número mínimo de movimientos en el caso general es, todavía, una cuestión abierta. Sin embargo, para n menor o igual a 30 discos se ha verificado que el algoritmo de Frame-Stewart es, efectivamente, óptimo.[3]
This article uses material from the Wikipedia article "Torres de Hanói", which is released under the Creative Commons Attribution-Share-Alike License 3.0. There is a list of all authors in Wikipedia
3d,model,playground,board games,computer,strategy,thinktank