Академический Документы
Профессиональный Документы
Культура Документы
por
MAESTRO EN CIENCIAS
en
MATEMÁTICA APLICADA
Universidad Interamericana
Recinto de San Germán
Departamento de Matemáticas
2010
Aprobado por:
_______________________________________
Dr. Balbino García
Director del Proyecto Creativo
Resumen
2
Abstract
3
Tabla de Contenido
Algoritmos……………………………………………………………………… 5
………………..
Recursión e Iteración 8
………………………………………………………………………….
Torre de Hanoi 10
…………………………………………………………………………………..
Solución Gráfica de la Torre de Hanoi 13
………………………………………….
Solución Recursiva de la Torre de Hanoi 15
………………………………………
Solución Iterativa de la Torre de Hanoi 16
………………………………………..
Análisis de Resultados 19
…………………………………………………………………………
Conclusión……………………………………………………………………… 21
…………………
Referencias……………………………………………………………………… 22
……………….
4
Algoritmos
7
• Programación dinámica: Es una técnica similar a “divide y
vencerás” con la diferencia de que los subconjuntos o
subproblemas que trata no son totalmente independientes, sino
que tienen cierto grado de solapamiento.
Recursión e Iteración
8
PROCEDURE factorial(n)
{
IF n = 1
{
nfac = 1
}
ELSE
{
nfac = n*factorial(n-1)
}
RETURN(nfac)
PROCEDURE factorial(n)
{
nfac = 1
FOR i = 1 TO n
{
nfac = nfac*i
}
RETURN(nfac)
A diferencia del caso anterior, cada ciclo termina sin dejar incógnitas o
valores intermedios sin analizar. Veamos, por ejemplo, el caso para n
9
= 4. Al entrar en el algoritmo, se asigna un valor inicial de 1 a nfac y
se define en valor del índice de iteración, i. Esto permite que al evaluar
la ecuación se obtenga un resultado concreto cada vez.
Torre de Hanoi
10
El juego de la Torre de Hanoi (Figura 1), en su formato original,
consiste de tres columnas paralelas. En una de las columnas se
colocan discos concéntricos de diferentes diámetros de forma que la
columna pasa por el centro de los discos y los discos están apilados en
orden ascendente de diámetro, es decir, el disco de menor diámetro
está arriba y el de mayor diámetro abajo. El objetivo del juego es
mover los discos de una columna a otra. Para esto se imponen las
restricciones de que (1) sólo se puede mover un disco a la vez, y (2)
los discos sólo se pueden colocar en espacios vacíos o sobre discos de
mayor diámetro.
11
300
Movidas mínimas
250 8
200
150
7
100
6
50
5
3 4
0 1 2
0 2 4 6 8
Número de discos
Figura 2: Número mínimo de movidas para la solución óptima según la
cantidad de discos en el juego
12
Tabla 1: Movidas necesarias para alcanzar la solución óptima
Número de Solución Número de
M(n) = f(M(n-
discos óptima movidas
1))
(n) H(n,3) = 2n+1 M(n)
1 1 1 --
2 3 2(1)+1 2M(1)+1
3 7 2(2(1)+1)+1 2M(2)+1
2(2(2(1)+1)+1)+
4 15 2M(3)+1
1
Para el caso particular del problema con cuatro torres, Frame (1941) y
Steward (1941) reportaron acerca de un algoritmo que proveía la
solución presuntamente óptima. Sin embargo, dicha solución estaba
basada en la llamada conjetura Frame-Steward que dice que
FS(n,k)=H(n,k), es decir, que el resultado del algoritmo para n discos y
k columnas es realmente la solución óptima. En otras palabras, la
solución que provee el algoritmo parece ser óptima, pero no se ha
podido probar, ni negar, que en realidad lo es. Chen y Shen (2004)
retaron esta paradoja y probaron que FS(n,k) y H(n,k) son de la misma
magnitud, lo que ellos llamaron la evidencia más contundente en
apoyo a la conjetura Frame-Steward.
13
resolver los problemas. No reclaman, sin embargo, que sus soluciones
sean óptimas.
Asumamos que tenemos una Torre de Hanoi con tres columnas (A, B,
C) y tres discos. Para propósitos del grafo, asumamos la siguiente
nomenclatura. Los discos aumentan de tamaño de izquierda a
derecha, es decir, el disco menor está a la izquierda. Además, la
localización de disco se identificará con el nombre de la columna. De
esta forma, la notación ABC indica que el disco mayor está en la
columna A, el segundo disco en la columna B y el disco menor en la
columna C.
14
AAA
AAB AAC
ACB ABC
BCC CBB
15
AAA
AAB AAC
ACB ABC
BCC CBB
Otros pasos de interés son el paso más largo y el paso del vendedor
viajero que pasa por todos los puntos del grafo una sola vez y regresa
al origen. Además, es posible establecer un paso que lleve los discos
desde cualquier configuración inicial permitida hasta la solución final.
16
SOLUCIÓN RECURSIVA DE LA TORRE DE HANOI
17
Figura 6 Algoritmo recursivo para la solución óptima de la Torre de Hanoi
18
Parte de la simpleza del algoritmo radica en que el patrón de
movimiento de los discos, una vez reconocidos, se repite para los
diferentes discos. Por ejemplo, cuando hay una cantidad par de
discos, todos los discos pares se mueven de la primera columna a la
segunda, luego a la tercera y regresan a la primera. En cada
movimiento del disco, se moverá de columna en columna siguiendo
este patrón.
19
Figura 7 Algoritmo iterativo para la solución óptima de la Torre de Hanoi
Los resultados del algoritmo iterativo para el caso de tres discos se presentan en
la Figura 8. Cada matriz representa la condición de las torres (columnas de la
matriz) en cada paso de la secuencia.
20
Figura 8 Resultado arrojado por el algoritmo iterativo para el caso de tres (3) discos
Análisis de Resultados
21
Para probar el reclamo del tiempo de ejecución, los algoritmos
anteriormente descritos fueron ejecutados varias veces para verificar
su desempeño y poder comparar sus resultados. Para cada caso
(cantidad de discos), los algoritmos se ejecutaron cinco (5) veces y se
tomó nota del tiempo de ejecución de cada corrida. La Tabla 2
presenta los resultados como el promedio del tiempo de ejecución.
22
Figura 9 Datos normalizados del tiempo de computación por disco añadido al juego
Conclusión
23
En este trabajo se realizó una comparación entre algoritmos
recursivos e iterativos. Como se mencionó anteriormente tanto la
recursión como la iteración buscan que el algoritmo se ejecute en
forma secuencial y consecutiva un cierto número de veces. La
diferencia entre éstas estriba en que la iteración ejecuta el algoritmo
completamente antes de volverlo a llamar, mientras que la recursión
llama al mismo algoritmo para poder resolverlo.
Referencias
24
• Crossley, J. N. 1967. Sets, Models and Recursion Theory.
Proceedings of the Summer School in Mathematical Logic and
Tenth Logic Colloquium. Leicester. August-September 1965.
North-Holland Publishing Company
25
University, Ithaca, New York. American Mathematical Society.
Volume 42.
26