• No se han encontrado resultados

Matemáticas Discretas TC1003

N/A
N/A
Protected

Academic year: 2021

Share "Matemáticas Discretas TC1003"

Copied!
25
0
0

Texto completo

(1)

Matemáticas Discretas TC1003

Recursión: Solución de Problemas

Departamento de Matemáticas / Centro de Sistema Inteligentes

ITESM

(2)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi.

(3)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi. El juego consistía de

ocho discos de madera con hoyos

en su centro, los cuales se apila-

ban en tamaño decreciente en un

poste en una fila de tres postes.

(4)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi. El juego consistía de

ocho discos de madera con hoyos

en su centro, los cuales se apila-

ban en tamaño decreciente en un

poste en una fila de tres postes.

(5)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi. El juego consistía de

ocho discos de madera con hoyos

en su centro, los cuales se apila-

ban en tamaño decreciente en un

poste en una fila de tres postes. El

jugador debería cambiar todos los

discos de un poste a otro,

(6)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi. El juego consistía de

ocho discos de madera con hoyos

en su centro, los cuales se apila-

ban en tamaño decreciente en un

poste en una fila de tres postes. El

jugador debería cambiar todos los

discos de un poste a otro, siempre

moviendo de uno en uno y

(7)

Hanoi Portada Links Soluci ´on

Recursión: Las Torres de Hanoi

En 1883 el matemático fran-

cés Édouard Lucas (4/april/1842-

3/october/1891) inventó un rom-

pecabezas que llamó Las Torres

de Hanoi. El juego consistía de

ocho discos de madera con hoyos

en su centro, los cuales se apila-

ban en tamaño decreciente en un

poste en una fila de tres postes. El

jugador debería cambiar todos los

discos de un poste a otro, siempre

moviendo de uno en uno y nun-

ca apilando un disco sobre otro de

menor tamaño.

(8)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Portada Juego

THE TOWER OF HANOÏ

AUTHENTIC BRAIN TEASER OF THE

ANAMITES

A GAME BROUGHT BACK FROM

TONKIN

BY PROFESSOR N.

CLAUS (OF SIAM)

Mandarin of the

College of

Li-Sou-Stian!

(9)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Links

Un applet en:

http://www.mazeworks.com/hanoi/

Un juego interactivo en:

http://www.ability.org.uk/tower.html

Información:

http://www.cut-the-

knot.org/recurrence/hanoi.shtml

(10)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Solución

Suponga 3 postes:

(11)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Solución

Suponga 3 postes:

Poste origen: donde se encuentran ahora los

discos.

(12)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Solución

Suponga 3 postes:

Poste origen: donde se encuentran ahora los discos.

Poste meta: donde se deberán colocar los

discos.

(13)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Solución

Suponga 3 postes:

Poste origen: donde se encuentran ahora los discos.

Poste meta: donde se deberán colocar los discos.

Poste auxiliar: donde se pueden hacer

movimientos.

(14)

Hanoi Portada Links Soluci ´on

Las Torres de Hanoi: Solución

Suponga 3 postes:

Poste origen: donde se encuentran ahora los discos.

Poste meta: donde se deberán colocar los discos.

Poste auxiliar: donde se pueden hacer

movimientos.

(15)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en

poste meta.

(16)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”.

(17)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”. Suponga también que se tiene una forma

de colocar k discos de un poste cualquiera a otro

poste cualquiera usando un poste auxiliar para

movimientos (Hipótesis Inductiva).

(18)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”. Suponga también que se tiene una forma

de colocar k discos de un poste cualquiera a otro

poste cualquiera usando un poste auxiliar para

movimientos (Hipótesis Inductiva). Entonces una

estrategia de solución será:

(19)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”. Suponga también que se tiene una forma de colocar k discos de un poste cualquiera a otro poste cualquiera usando un poste auxiliar para movimientos (Hipótesis Inductiva). Entonces una estrategia de solución será:

Mover los k primeros discos del poste origen al poste auxiliar con

el proceso solución dado en la hipótesis inductiva,

(20)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”. Suponga también que se tiene una forma de colocar k discos de un poste cualquiera a otro poste cualquiera usando un poste auxiliar para movimientos (Hipótesis Inductiva). Entonces una estrategia de solución será:

Mover los k primeros discos del poste origen al poste auxiliar con el proceso solución dado en la hipótesis inductiva,

Una vez liberado el disco k + 1 , moverlo del poste origen al poste

meta, y

(21)

Hanoi Portada Links Soluci ´on

Caso Base

Si hay un sólo disco (n=1) sólo colóquelo en en poste meta.

Paso Inductivo

Suponga un pilar con k + 1 discos en un poste

“origen” y que se desean colocar en el poste

“meta”. Suponga también que se tiene una forma de colocar k discos de un poste cualquiera a otro poste cualquiera usando un poste auxiliar para movimientos (Hipótesis Inductiva). Entonces una estrategia de solución será:

Mover los k primeros discos del poste origen al poste auxiliar con el proceso solución dado en la hipótesis inductiva,

Una vez liberado el disco k + 1 , moverlo del poste origen al poste

meta, y

(22)

Hanoi Portada Links Soluci ´on

Hanoi( n, origen, distino, auxiliar) if (n == 1) then

printf(“Disco %d: de %d a %d\n”,1,origen,destino);

else

Hanoi(n-1,origen,auxiliar,destino);

printf(“Disco %d: de %d a %d\n”,n,origen,destino);

Hanoi(n-1,auxiliar,destino,origen);

end if

(23)

Hanoi Portada Links Soluci ´on

Hanoi( n, origen, distino, auxiliar) if (n == 1) then

printf(“Disco %d: de %d a %d\n”,1,origen,destino);

else

Hanoi(n-1,origen,auxiliar,destino);

printf(“Disco %d: de %d a %d\n”,n,origen,destino);

Hanoi(n-1,auxiliar,destino,origen);

end if Ejecutar

Hanoi(8,1,2,3)

(24)

Hanoi Portada Links Soluci ´on

Hanoi( n, origen, distino, auxiliar) if (n == 1) then

printf(“Disco %d: de %d a %d\n”,1,origen,destino);

else

Hanoi(n-1,origen,auxiliar,destino);

printf(“Disco %d: de %d a %d\n”,n,origen,destino);

Hanoi(n-1,auxiliar,destino,origen);

end if Ejecutar

Hanoi(8,1,2,3)

¿¿Total de movimientos para mover n discos??

(25)

Hanoi Portada Links Soluci ´on

Hanoi( n, origen, distino, auxiliar) if (n == 1) then

printf(“Disco %d: de %d a %d\n”,1,origen,destino);

else

Hanoi(n-1,origen,auxiliar,destino);

printf(“Disco %d: de %d a %d\n”,n,origen,destino);

Hanoi(n-1,auxiliar,destino,origen);

end if Ejecutar

Hanoi(8,1,2,3)

¿¿Total de movimientos para mover n discos??

Referencias

Documento similar

Centre el canal en U en el poste y utilice los agujeros del canal en U como guía para taladrar el poste utilizando una broca de 1 ⁄ 8 ". Instale 3 tornillos para fijar el canal

El reanimador para bebés Neopuff ™ con Pieza en T puede ser montado sobre un poste utilizando un bloque de montaje lateral y una abrazadera en forma de “C” o un soporte de

Tome el travesaño inferior e insértelo en el canal del primer poste de modo que descanse sobre los bloques espaciadores de 3"

también se podrá aplicar en forma de mancha mediante una bomba a presión, en un árbol, poste, etc… (Figura 4). del protocolo de erradicación. Para realizar una

Habitualmente existe una demora en el diagnóstico de una lesión a nivel del uréter tras una cirugía lumbar poste- rior.. Tras la revisión bibliográfica se observa que el tiempo

Pour envoyer votre dossier, cliquez sur le bouton « Envoyer », qui sera transmis au poste diplomatique pour validation.. Une fois envoyé, un message de confirmation apparaîtra en

Fije la tapa para poste sobre la cubierta de la base para poste con los 4 tornillos de máquina provistos.. Como se muestra en

a) Tal y como se muestra en el dibujo , afloje el tornillo de fijación ③ de la cuchilla móvil para posicionar el filo de la cuchilla móvil ① en el centro de la ranura en forma de