Torre de Hanoi: Sistema Binario y...

38
La torre de Hanoi: el sistema binario y ternario Pablo Viedma La Torre de Hanoi y El Sistema Binario La Torre de Hanoi HISTORIA. El puzzle llamado la torre de Hanoi fue inventado por el matemático francés en 1883 Édouard Lucas d'Amiens (1842-1891), quien, a efectos publicitarios, inventó la siguiente leyenda: Portada original del juego de Lucas, 1883 El juego consiste en una torre formada por un conjunto de discos insertados en una varilla y colocados en forma de pirámide (cada disco es de menor tamaño que el disco sobre el que reposa). El objetivo es transferir la torre completa a otra varilla, utilizando una tercera varilla auxiliar, moviendo sólo un disco cada vez y nunca colocando uno más grande sobre otro mas pequeño. Página de 1 38 La torre de Brahma en el gran templo de Benarés tiene un poste en el que Dios insertó, el día de la creación, 64 discos dorados c o l o c a d o s e n o r d e n decreciente de tamaño. Estos discos deben moverse, uno por uno, por los monjes del templo a otro poste, con la ayuda de un tercer poste, de modo que nunca un disco de mayor tamaño esté colocado sobre otro de menor tamaño. Se decía que en el momento en que se lograra la transposición, el templo se derrumbaría y la tierra desaparecería.

Transcript of Torre de Hanoi: Sistema Binario y...

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

La Torre de Hanoi y El Sistema Binario

La Torre de Hanoi

HISTORIA. El puzzle llamado la torre de Hanoi fue inventado por el

matemático francés en 1883 Édouard Lucas d'Amiens (1842-1891), quien, a

efectos publicitarios, inventó la siguiente leyenda:

Portada original del juego de Lucas, 1883

El juego consiste en una torre formada por un conjunto de discos

insertados en una varilla y colocados en forma de pirámide (cada disco es

de menor tamaño que el disco sobre el que reposa). El objetivo es transferir

la torre completa a otra varilla, utilizando una tercera varilla auxiliar,

moviendo sólo un disco cada vez y nunca colocando uno más grande sobre

otro mas pequeño.

Página de 1 38

La torre de Brahma en el gran templo de Benarés tiene un poste en el que Dios i n s e r t ó , e l d í a d e l a creación, 64 discos dorados c o l o c a d o s e n o r d e n decreciente de tamaño. Estos discos deben moverse, uno por uno, por los monjes del templo a otro poste, con la ayuda de un tercer poste, de modo que nunca un disco de mayor tamaño esté colocado sobre otro de menor tamaño. Se decía que en el momento en que se lograra la transposición, el templo se derrumbaría y la tierra desaparecería.

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Para desarrollar el estudio del juego vamos a llamar a cada uno de

los postes con las letras A (poste origen), B (poste auxiliar) y C (poste

destino) y enumeraremos los discos, adoptando el siguiente criterio: si

estamos hablando, por ejemplo del juego de las torres de Hanoi con 7 discos

(en lo que sigue TH7), nombraremos a los discos con los números del 1 al 7,

siendo el disco 1 el más pequeño, y el disco 7 el más grande.

Si empezamos el juego con un solo disco, es obvio que para llevar ese

disco al poste destino, sólo se necesita hacer un movimiento.

Si tenemos dos discos colocados en el poste origen A. El número de

movimientos mínimo que tenemos que hacer es 3, que son: llevamos en

primer lugar el disco 1 al poste auxiliar B, después el disco 2 al poste

destino C, y por último el disco 1 lo desplazamos al poste destino C.

Con tres discos, tendremos que trasladar los discos 1 y 2 que se

encuentran en el poste origen A al poste auxiliar B, invirtiendo en ello 3

movimientos, en el siguiente movimiento desplazamos el disco 3 del poste

origen A al poste destino C, y necesitamos otros tres movimientos para

trasladar los discos 1 y 2 del poste B al poste C; por tanto para trasladar

tres discos necesitamos hacer 3+1+3=7 movimientos.

Lo hecho para tres discos, se puede aplicar para cuatro; es decir, para

resolver una torre formada por 4 discos se necesitarán hacer como mínimo

15 movimientos: 7 para llevar los discos 1, 2 y 3 al poste B, 1 para llevar el

disco 4 al poste C y otros 7 para llevar los discos 1, 2 y 3 del poste B al poste

C; por tanto para trasladar 4 discos necesitamos hacer como mínimo

7+1+7=15 movimientos.

Aplicando un razonamiento similar al utilizado para dos, tres y

cuatro discos, estamos en condiciones de generalizar y demostrar que el

mínimo número de movimientos que se necesitan hacer para resolver THn

es 1 más el doble de movimientos mínimos que se necesita para resolver

TH(n-1). También se puede demostrar por inducción que ese número mínimo

de movimientos es . 2n −1

Página de 2 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

En efecto: Llamemos al mínimo número de movimientos que se

necesitan hacer para resolver THn. En THn hay que trasladar los (n−1) discos que están sobre el disco n hasta el poste B, lo que aporta

 movimientos; luego se traslada el disco grande (disco n) hasta C y,

finalmente, se trasladan los (n−1) discos menores desde B hasta C, lo que nos

suma otros movimientos. Entonces: como queríamos

demostrar.

Veamos ahora que . Este resultado es cierto para n=1, ya que

y . Supongamos ahora que el resultado es cierto para n y

veamos que ocurre para n+1:

Empecemos por considerar el juego de la Torre de Hanoi con 5 discos:

Sabemos que el número mínimo de movimientos que se hacen para

trasladar los 5 discos del poste origen al poste destino es

Veamos cuando se mueve por primera vez cada uno de los discos en

TH5:

Posición Inicial en TH5

Mn

Mn−1( )

Mn−1( ) Mn =2⋅M n−1( ) +1

Mn =2n −1

M1 =1 1=21 −1

2 n+1( ) −1=2⋅2n −1=2n +2n −1= 2n −1( )+ 2n −1( )+1=2⋅Mn +1=M n+1( )

31=25 −1

Página de 3 38

1

2

3

4

5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Es evidente que el disco 1 se mueve por primera vez en el primer

movimiento,

Primer Movimiento del disco 1: 1º movimiento ( )

A continuación se mueve el disco 2 al poste B:

Primer Movimiento del disco 2: 2º movimiento ( )

y en el tercer movimiento, el disco 1 vuelve a moverse; pero ahora al poste

B, encima del disco 2:

3º Movimiento (los discos 1 y 2 que estaban sobre el disco 3 se desplazan al poste B)

El disco 3, en el cuarto movimiento (cuando la pila de los discos 1 y 2

que estaban encima del disco 3 se han desplazado al poste B), se mueve al

poste C:

Primer Movimiento del disco 3: 4º movimiento ( )

El disco 4 en el octavo movimiento (cuando la pila de los discos 1, 2 y

3 se han desplazado al poste C):

1=20

2=21

4 =22

Página de 4 38

2

3

4

5 1

A B C

3

4 1

5 2

A B C

3

4

5 2 1

A B C

4 1

5 2 3

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Primer Movimiento del disco 4: 8º movimiento ( )

y por último el disco 5 se mueve por primera y única vez en el movimiento

decimosexto (cuando la pila de discos 1, 2, 3 y 4 se han desplazado al poste

B).

Primer Movimiento del disco 5: 16º movimiento ( )

En general si consideramos el juego de la Torre de Hanoi con n discos

y , el disco se mueve por primera vez cuando se desplacen los

discos que tiene encima; es decir, en el movimiento .

Veamos también con que frecuencia se mueven cada uno de los discos

en TH5:

Es evidente que el disco 5 se mueve tan solo una vez, y lo hace en el

movimiento . Sabemos que el disco 4 se mueve por primera vez en el

movimiento

8=23

16=24

1≤ k ≤n k

k−1 2k−1

16=24

8=23

Página de 5 38

1

4 2

5 3

A B C

1

2

3

5 4

A B C

1

2

5 4 3

A B C

1

2

3

4 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Posición de los discos después de 8 movimientos.

A partir de esta posición, para que el disco 4 se mueva por segunda

vez, la pila formada por los discos 1,2 y 3 deben desplazarse sobre el disco 4

que está en el poste B para dejar libre el poste C y poder así colocarse ahí el

disco 5

Posición de los discos después de 8+7=15 movimientos.

Posición de los discos después de 16 movimientos.

Ahora, para que el disco 4 pueda volver a moverse, se necesita que la pila

de 3 discos que están sobre él se desplacen al poste A:

Posición de los discos después de 16+7=23 movimientos.

Página de 6 38

1

2

5 4 3

A B C

1

2

3

5 4

A B C

1

2

3

4 5

A B C

1

2

3 4 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

2º Movimiento del disco 4: 8+16=24

Para estudiar la frecuencia de movimientos del disco 3 vamos a ver

que se necesita para que este disco se mueva:

Partiendo de la posición inicial:

Para que el disco 3 se mueva por primera vez necesita que se

desplacen los discos 1 y 2 al poste B para así moverse el al poste C:

Primer Movimiento del disco 3: Movimiento 4

A partir de esta posición, el disco 3 se moverá por segunda vez cuando el

disco 4 se pose sobre el poste B y el disco 3 vaya encima de el, para eso se

necesita pasar por las siguientes posiciones:

Movimiento 8º =4+4 (primer movimiento del disco 4)

Página de 7 38

1

2 4

3 5

A B C

1

2

3

4

5

A B C

4 1

5 2 3

A B C

1

2

5 4 3

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Movimiento 4+4+3=11

2º Movimiento del disco 3 (4+8=12)

Para el tercer movimiento del disco 3 tenemos que pasar por las

siguientes posiciones:

Movimiento 4+8+3=15

Movimiento 4+8+3+1=16

Movimiento 4+8+3+1+3=19

Página de 8 38

1

2

5 4 3

A B C

1

2 3

5 4

A B C

1

2

3

5 4

A B C

1

2

3

4 5

A B C

1

3 2

4 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

3º Movimiento del disco 3 (4+8+8=20)

Para que el disco 3 se vuelva a mover se necesitan hacer otros 8

movimientos, que son: tres movimientos para que la pila formada por los

discos 1 y 2 se posen sobre el disco 3, un movimiento más para que el disco 4

se ponga sobre el disco 5 en el poste C, tres movimientos más para que la

pila de los discos 1 y 2 se sitúen en el poste B, y por último un movimiento

más para que el disco 3 se ponga sobre el disco 4 en el poste C, y este es el

último movimiento del disco 3.

Movimiento 4+8+8+3=23

Movimiento 4+8+8+3+1=24

Movimiento 4+8+8+3+1+3=27

4º Movimiento del disco 3 (4+8+8+8=28)

Página de 9 38

1

2

3 4 5

A B C

1

2

3 4 5

A B C

1

2 4

3 5

A B C

1 4

3 2 5

A B C

3

1 4

2 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Acabamos de ver que el disco 3 se mueve por primera vez en el 4º

movimiento y después se mueve cada 8 movimientos. Veamos ahora que el

disco 2 se mueve por primera vez en el 2º movimiento, y después cada 4

movimientos:

Movimiento 2º (primer movimiento del disco 2)

Para que el disco 2 se mueva por segunda vez, el disco 1 se mueve del

poste C al poste B encima del disco 2, a continuación el disco 3 se mueve al

poste C, en el siguiente movimiento el disco 1 se mueve del poste B al poste

A encima del disco 4 y en el siguiente movimiento el disco 2 va al poste C

encima del disco 3:

Página de 10 38

1

2

3

4

5

A B C

3

4

5 2 1

A B C

3

4 1

5 2

A B C

4 1

5 2 3

A B C

1

4

5 2 3

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

2º Movimiento del disco 2 (2+1+1+1+1=6)

A partir de esta posición, de cuatro en cuatro movimientos ,

estaríamos en las siguientes posiciones:

3º Movimiento del disco 2 (2+4+4=10)

4º Movimiento del disco 2 (2+4+4+4=14)

5º Movimiento del disco 2 (2+4+4+4+4=18)

6º Movimiento del disco 2 (2+4+4+4+4+4=22)

7º Movimiento del disco 2 (2+4+4+4+4+4+4=26)

8º Movimiento del disco 2 (2+4+4+4+4+4+4+4=30)

Página de 11 38

1

4 2

5 3

A B C

2 1

5 4 3

A B C

2

3

5 4 1

A B C

3 2

1 4 5

A B C

2 1

3 4 5

A B C

1

4

3 2 5

A B C

2

3

4

1 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Podríamos ver que el disco 1 se mueve por primera vez en el primer

movimiento, y luego cada 2. Lo estudiado hasta ahora se puede resumir en

la siguiente tabla:

Página de 12 38

Movimientos de los discos en TH5

COLOCACIÓN DE LOS DISCOS

Nº de Movim.

A B C

0 Disco Está en Va a Dirección 5,4,3,2,1

1 1 A C I 5,4,3,2 1

2 2 A B D 5,4,3 2 1

3 1 C B I 5,4,3 2,1

4 3 A C I 5,4 2,1 3

5 1 B A I 5,4,1 2 3

6 2 B C D 5,4,1 3,2

7 1 A C I 5,4 3,2,1

8 4 A B D 5 4 3,2,1

9 1 C B I 5 4,1 3,2

10 2 C A D 5,2 4,1 3

11 1 B A I 5,2,1 4 3

12 3 C B I 5,2,1 4,3

13 1 A C I 5,2 4,3 1

14 2 A B D 5 4,3,2 1

15 1 C B I 5 4,3,2,1

16 5 A C I 4,3,2,1 5

17 1 B A I 1 4,3,2 5

18 2 B C D 1 4,3 5,2

19 1 A C I 4,3 5,2,1

20 3 B A I 3 4 5,2,1

21 1 C B I 3 4,1 5,2

22 2 C A D 3,2 4,1 5

23 1 B A I 3,2,1 4 5

24 4 B C D 3,2,1 5,4

25 1 A C I 3,2 5,4,1

26 2 A B D 3 2 5,4,1

27 1 C B I 3 2,1 5,4

28 3 A C I 2,1 5,4,3

29 1 B A I 1 2 5,4,3

30 2 B C D 1 5,4,3,2

31 1 A C I 5,4,3,2,1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Analizando la tabla de los movimientos de TH5 vemos como se van

moviendo cada uno de los discos:

El disco 1 empieza en el primer movimiento y luego se mueve cada 2,

además va recorriendo los postes con la secuencia C-B-A-C-B-A-C-B-A-…Con

un total de 16 movimientos.

El disco 2 empieza en el segundo movimiento y luego se mueve cada

4, además va recorriendo los postes con la secuencia B-C-A-B-C-A-B-C-…

Con un total de 8 movimientos,

El disco 3 empieza en el cuarto movimiento y luego se mueve cada 8,

además va recorriendo los postes con la secuencia C-B-A-C. Con un total de

4 movimientos.

El disco 4 empieza en el octavo movimiento y luego se mueve cada 16,

además va recorriendo los postes con la secuencia B-C. Con un total de 2

movimientos.

El disco 5 empieza en el movimiento 16 y hace un solo movimiento.

Después de haber estudiado la Torre de Hanoi con 5 discos, vemos que

aparecen demasiadas veces las potencias de base 2 ¿Tiene esto alguna

consecuencia? Por supuesto que si, veamos, veamos…

Sabemos que , cada uno de los sumandos es el

número de veces que se mueve cada disco; es decir, el disco 5 se mueve una

31=1+2+22 +23 +24

Página de 13 38

PRIMER MOVIMIENTO, FRECUENCIA, SECUENCIA Y Nº DE MOVIMIENTOS DEL DISCO n EN TH5

DISCOS PRIMER MOVIMIENTO FRECUENCIA SECUENCIA Nº DE

MOVIMIENTOS

1 1=20 2=21 C-B-A-… 16=24

2 1+1=2=21 4=22 B-C-A-… 8=23

3 3+1=4=22 8=23 C-B-A-… 4=22

4 7+1=8=23 16=24 B-C-A-… 2=21

5 15+1=16=24 C-B-A-… 1=20

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

vez, el disco 4 se mueve dos veces, el disco 3 se mueve cuatro veces, el disco

2 se mueve ocho veces y el disco 1 se mueve dieciséis veces.

La cuestión es si podríamos dar respuesta a dos preguntas:

1ª.- ¿Podríamos saber, después de un número de movimientos, desde 1

a 31, como están colocados los discos, y cuántas veces se ha movido cada

uno? Y…

2ª.- Viendo como están colocados los discos, ¿podríamos saber cuántos

movimientos se han realizado para llegar a esa posición y cuántas veces se

ha movido cada disco?

A esas dos preguntas podemos dar respuesta codificando cada

posición de TH5 mediante el Sistema de numeración Binario de la siguiente

forma:

Empecemos con un par de ejemplos:

1º.- ¿Cómo están colocados los discos en TH5 después de 23

movimientos? ¿Cuántas veces se ha movido cada disco para llegar a esa

posición después de esos 23 movimientos?

Lo primero que vamos a hacer es escribir 23 como suma de potencias

de 2:

. Los exponentes de esta suma de potencias de 2

nos van a dar la clave para saber como están colocados los discos después

de 23 movimientos:

Partiendo de la posición inicial de TH5:

Sabemos que se necesitan hacer movimientos para desplazar

la pila de los discos 1, 2, 3 y 4 que están en el poste A al poste B:

23=16+4+2+1=24 +22 +21 +20

24 −1=15

Página de 14 38

1

2

3

4

5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Movimientos

Movimientos

El siguiente exponente que aparece en la suma de potencias de 2 es 2.

Lo que hacemos es trasladar la pila formada por los discos 1 y 2 que está en

el poste B al poste C sobre el disco 5:

Movimientos

Sumamos un movimiento a esta posición obteniendo:

Movimientos

Sumando tres movimientos más a esta última posición obtenemos

como están colocados los discos después de 23 movimientos. Esos tres

movimientos son los que se necesitan hacer para trasladar la pila de los

discos 1 y 2 que están en el poste C al poste A encima del disco 3:

24 −1=15

24 −1+1=24 =16

24 +22 −1=16+3=19

24 +22 −1+1=16+4 =20

Página de 15 38

1

2

3

5 4

A B C

1

2

3

4 5

A B C

1

3 2

4 5

A B C

1

2

3 4 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Movimientos

LA TORRE DE HANOI Y EL SISTEMA BINARIO

El hecho de escribir el número 23 como suma de potencias de 2 nos

permite escribir el número 23 en el sistema de numeración binario, y ese

código binario nos lleva a responder a dos cuestiones: 1.- ¿Como están

colocados los discos después de 23 movimientos?, y 2.- ¿Cuantas veces se ha

movido cada disco para llegar a esa posición?. Además también podemos

saber cual es el disco que ha realizado el último movimiento (el movimiento

23):

El número 23 escrito en el sistema de numeración binario es 10111 y

este código nos dice no solo como están colocados los discos, sino también

cuantas veces se ha movido cada disco y cual es el último disco que se ha

movido:

El primer dígito corresponde a la posición del disco 5, como es 1 quiere

decir que se ha movido (se han realizado más de movimientos); por

tanto este disco se encuentra en el poste C, el siguiente dígito al ser distinto

que el anterior quiere decir que el disco 4 no se encuentra sobre el disco 5

en C (para que el disco 4 se encuentre sobre el disco 5 en el poste C, se le

24 +22 +21 +20 =16+4+2+1=23

24 =16

Página de 16 38

1

2

3 4 5

A B C

16 8 4 2 1

23 1 0 1 1 1

Nº Movimientos 1 1 3 6 12 23

Está en... C B A A A

Disco 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

tienen que sumar a los 16 movimientos 8 movimientos más, y 16+8=24 que

se pasa de 23); por tanto, el disco 4 se encuentra en el poste B (en el poste A

no puede estar). El tercer dígito también cambia con respecto al anterior;

por lo tanto el disco 3 no está sobre el disco 4 (no está en B); por lo tanto el

disco 3 está en el poste A. El cuarto dígito es igual al tercero; por tanto, el

disco 2 está sobre el disco 3 en el poste A. Por último, el quinto dígito

también es igual que el anterior, por lo que el disco 1 está sobre el disco 2

que se encuentra en el poste A. ¿Cómo sabemos con el código binario de 23

cuantas veces se ha movido cada disco? En el proceso para hacer el mínimo

número de movimientos para resolver TH5 sabemos que se necesitan hacer

movimientos, siendo cada uno de los

sumandos el número de movimientos de los discos 5, 4, 3, 2 y 1

respectivamente.

Considerando que el número 23 en binario es 1 0 1 1 1. Adoptamos la

siguiente regla con el código anterior: El primer dígito nos dice el número

de movimientos del disco 5 (0 o 1 movimiento). A partir de ahí el siguiente

dígito puede ser menor, igual, o mayor que el anterior (pasar de 1 a 0,

mantener el dígito, o pasar de 0 a 1). Si es menor, hacemos el doble del

anterior menos 1. Si es igual, hacemos el doble del anterior, y si es mayor,

hacemos el doble del anterior mas 1. Es decir que aplicando esta regla, el

código anterior nos lleva a lo siguiente: El disco 5 se ha movido una vez,

como el siguiente dígito es menor, hacemos el doble de 1 menos 1: 2x1-1=1 que

es el número de veces que se ha movido el disco 4, a continuación hacemos

el doble de 1 mas 1: 2x1+1=3, que es el número de movimientos del disco 3, y

a partir de aquí vamos haciendo siempre el doble del anterior: 2x3=6,

2x6=12 y así obtenemos el número de veces que se ha movido cada disco:

1+1+3+6+12=23. Si miramos el código 10111 de derecha a izquierda, el primer

uno que nos encontremos nos dice cuál es el disco que ha hecho el último

movimiento, en este caso, es el disco 1.

1+2+4+8+16=20 +21 +22 +23 +24 =31

Página de 17 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

2º.- Sabiendo que en TH5 los discos están colocados según el gráfico

siguiente:

¿Cuántos movimientos se han realizado para llegar a esa posición y

cuántas veces se ha movido cada disco?

Codificamos en el Sistema Binario mediante las siguientes reglas:

- Si el disco 5 se encuentra en el poste C, ponemos un 1, en caso

contrario ponemos 0.

- Si el disco 4 se encuentra sobre el disco 5, repetimos el dígito que

pusimos para el disco 5, y si no se encuentra sobre él, cambiamos de dígito

(de 0 a 1, o de 1 a 0), y esta regla se repite para los siguientes discos.

Aplicando esas dos reglas, obtenemos el siguiente código: 101010. A

cont inuac ión e s te número b inar io , l o pasamos a dec imal :

. El número de movimientos que se realizan en TH5

para llegar a esa posición es 21, y para saber cuantas veces se ha movido

cada disco, aplicamos lo mismo que en el primer ejemplo, que resumimos en

la siguiente tabla:

24 +22 +20 =16+4+1=21

Página de 18 38

1 2

3 4 5

A B C

16 8 4 2 1

21 1 0 1 0 1

Nº Movimientos 1 1 3 5 11 21

Está en... C B A C B

Disco 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Notas:

1ª.- En el estudio hecho hasta ahora sobre la Torre de Hanoi, se ha

utilizado como ejemplos el caso de 5 discos. Todo lo dicho para TH5 es

aplicable a cualquier número de discos; es decir para THn.

2ª.- En los gráficos utilizados hemos utilizado dos colores (blanco y

negro) para representar los discos. Esto no es casual, está justificado

atendiendo al  Principio de paridad: “Un disco nunca toca a otro de la

misma paridad”. Es decir, en caso de que un disco esté en contacto con otro,

si es par toca a uno o dos impares y si es impar toca a uno o dos pares. Este

hecho hace enunciar a Conway, Guy y Berlekamp su Regla de oro (y plata):

“Usa discos que sean alternativamente de oro y plata y nunca pongas

juntos dos del mismo metal”.

A continuación se exponen unas tablas en las que se cambian el

número de discos (7 y 10 discos) para poder comprobar que las reglas

funcionan para cualquier número de discos:

Página de 19 38

nº de Movimientos en TH7

64 32 16 8 4 2 1

Total Mov.59 0 1 1 1 0 1 1

Nº de Mov. TH 7 0 1 2 4 7 15 30 59

Resto al div. por 3 0 1 2 1 1 0 0

Está en... A B B B C A A

Disco 7 6 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

En esta tabla se ha incluido una nueva fila en la que se incluye el

resto de dividir por 3 el número de movimientos que ha hecho cada disco,

ya que si sabemos cuantas veces se ha movido un disco y la secuencia de los

postes que van recorriendo, podemos saber en que poste se encuentra cada

disco. Expliquemos lo que aparece en la tabla anterior:

Los discos impares 1, 3, 5 y 7 siguen la secuencia C-B-A-C-B-A…

Los discos pares 2, 4 y 6 siguen la secuencia B-C-A-B-C-A…

Si un disco es impar y el resto de dividir el número de movimientos

por 3 es 0, está en el poste A, si es 1 está en el poste C y si es 2, está en el

poste B.

Si un disco es par y el resto de dividir el número de movimientos por

3 es 0, está en el poste A, si es 1 está en el poste B y si es 2, está en el poste C.

El disco 7 ha hecho 0 movimientos; por tanto se encuentra en el poste A.

El disco 6 ha hecho 1 movimiento; por tanto se encuentra en el poste B.

El disco 5 ha hecho 2 movimientos; por tanto se encuentra en el poste B.

El disco 4 ha hecho 4 movimientos; por tanto se encuentra en el poste B.

El disco 3 ha hecho 7 movimientos; por tanto se encuentra en el poste C.

El disco 2 ha hecho 15 movimientos; por tanto se encuentra en el poste A.

El disco 1 ha hecho 30 movimientos; por tanto se encuentra en el poste A.

La secuencia de letras de los postes en los que se encuentran los discos

(del 7 al 1) también podemos codificarla en binario, siguiendo la siguiente

regla:

Si la primera letra es A, pongo 0 y si es C, pongo 1. A partir de ahí, si

hay cambio de letra, cambio de dígito (de 0 a 1, o de 1 a 0).

Así la secuencia de letras ABBBCAA se transforma en el código

binario 0111011 que corresponde con los 59 movimientos del ejemplo.

Supongamos ahora que sabemos como están colocados los discos en

TH7 y nos preguntamos cuantos movimientos se han realizado y cuantas

Página de 20 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

veces se ha movido cada disco: Si los discos (del 7 al 1) están en los postes

CCABCAB. De esta secuencia de letras, pasamos al Código Binario 1101010,

que pasado al sistema de numeración decimal nos da el número:

, que es el número de movimientos y el número

de veces que se ha movido cada disco se resume en la siguiente tabla:

Otros ejemplos en TH7 son los siguientes:

26 +25 +23 +21 =64+32+8+2=106

Página de 21 38

nº de Movimientos en TH7

64 32 16 8 4 2 1

Total Mov.106 1 1 0 1 0 1 0

Nº de Mov. TH 7 1 2 3 7 13 27 53 106

Resto al div. por 3 1 2 0 1 1 0 2

Está en... C C A B C A B

Disco 7 6 5 4 3 2 1

nº de Movimientos en TH7

64 32 16 8 4 2 1

Total Mov.73 1 0 0 1 0 0 1

Nº de Mov. TH 7 1 1 2 5 9 18 37 73

Resto al div. por 3 1 1 2 2 0 0 1

Está en... C B B C A A C

Disco 7 6 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

A continuación se ponen unos cuantos ejemplos con 10 discos:

Página de 22 38

nº de Movimientos en TH7

64 32 16 8 4 2 1

Total Mov.63 0 1 1 1 1 1 1

Nº de Mov. TH 7 0 1 2 4 8 16 32 63

Resto al div. por 3 0 1 2 1 2 1 2

Está en... A B B B B B B

Disco 7 6 5 4 3 2 1

Nº de Movimientos en TH10

512 256 128 64 32 16 8 4 2 1

Total Mov.545 1 0 0 0 1 0 0 0 0 1

Nº de Mov. TH 10 1 1 2 4 9 17 34 68 136 273 545

Resto al div. por 3 1 1 2 1 0 2 1 2 1 0

Está en... C B B B A C C C C A

Disco 10 9 8 7 6 5 4 3 2 1

Nº de Movimientos en TH10

512 256 128 64 32 16 8 4 2 1

Total Mov.348 0 1 0 1 0 1 1 1 0 0

Nº de Mov. TH 10 0 1 1 3 5 11 22 44 87 174 348

Resto al div. por 3 0 1 1 0 2 2 1 2 0 0

Está en... A B C A B C C C A A

Disco 10 9 8 7 6 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

A continuación se proponen unos ejercicios con sus soluciones:

Ejercicio 1: Sabiendo que en TH10 el último disco que se ha movido es

el disco 5 y que los discos 10, 9, 8, 7 y 6 se encuentran en los postes ABCAB,

¿Cuántos movimientos se han realizado? ¿Cuántas veces se ha movido cada

disco?

Respuesta:

Al saber en que postes están los discos 10, 9, 8, 7 y 6 (ABCAB) nos dice

que el código Binario de esa posición empieza por los dígitos 01010, como el

disco 5 es el último que se ha movido, en la posición del disco 5 tiene que

estar un 1 y los siguientes dígitos correspondientes a los discos 4, 3, 2 y 1

tienen que ser 0; por tanto el código binario completo de esa posición es

0101010000, que corresponde con el número de movimientos siguiente:

como se ve en la siguiente tabla:

Ejercicio 2 ¿Cuántos movimientos hay que realizar como mínimo en

TH10 para pasar de la posición de los discos AACCCCABBA a la posición

CBBCABCAAC? ¿Cuántas veces se ha movido cada disco de una posición a

otra?

28 +26 +24 =256+64+16=336

Página de 23 38

Nº de Movimientos en TH10

512 256 128 64 32 16 8 4 2 1

Total Mov.336 0 1 0 1 0 1 0 0 0 0

Nº de Mov. TH 10 0 1 1 3 5 11 21 42 84 168 336

Resto al div. por 3 0 1 1 0 2 2 0 0 0 0

Está en... A B C A B C A A A A

Disco 10 9 8 7 6 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Respuesta:

Codificamos las dos posiciones mediante el Código Binario para saber

cuantos movimientos se han realizado como mínimo en cada una de las

posiciones: La posición AACCCCABBA corresponde con el Código Binario

0011110110 que pasando al sistema decimal tenemos 246 movimientos, de la

misma forma, la posición CBBCABCAAC corresponde con el Código Binario

1001010110 que en el sistema decimal corresponde con el número 598.

Haciendo la diferencia de estos dos números encontramos la respuesta a la

primera pregunta: 598-246=352, y para dar respuesta a la segunda

pregunta, tenemos que saber cuantas veces se ha movido cada disco tras

598 movimientos y también tras 246 movimientos:

598-246=(1+1+2+5+9+19+37+75+150+299)-(0+0+1+2+4+8+15+31+62+123)=

=(1-0)+(1-0)+(2-1)+(5-2)+(9-4)+(19-8)+(37-15)+(75-31)+(150-62)+(299-123)=

=1+1+1+3+5+11+22+44+88+176=352. Cada uno de los sumandos nos da las

veces que se han movido los discos 10, 9,8, 7, 6, …Ver tablas:

Página de 24 38

Nº de Movimientos en TH10

512 256 128 64 32 16 8 4 2 1

Total Mov.246 0 0 1 1 1 1 0 1 1 0

Nº de Mov. TH 10 0 0 1 2 4 8 15 31 62 123 246

Resto al div. por 3 0 0 1 2 1 2 0 1 2 0

Está en... A A C C C C A B B A

Disco 10 9 8 7 6 5 4 3 2 1

Nº de Movimientos en TH10

512 256 128 64 32 16 8 4 2 1

Total Mov.598 1 0 0 1 0 1 0 1 1 0

Nº de Mov. TH 10 1 1 2 5 9 19 37 75 150 299 598

Resto al div. por 3 1 1 2 2 0 1 1 0 0 2

Está en... C B B C A B C A A C

Disco 10 9 8 7 6 5 4 3 2 1

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Ejercicio 3 1.- Obtén los códigos binarios de las siguientes posiciones en

TH10

a) b)

2.- Obtén los dibujos correspondientes en TH10 de los códigos 1010101010

y 0101010101

Respuesta

1.- a) 1000100001 b) 0111011110

2.-

1010101010 0101010101

Posiciones complementarias: Decimos que en TH10 dos posiciones son

complementarias cuando en el código binario de una y otra se

intercambian los unos y los ceros. Por ejemplo los códigos 1010101010 y

0101010101 son posiciones complementarias.

Veamos otra forma de obtener el número de movimientos en TH10. En

la siguiente tabla se exponen el número de movimientos que hace cada

disco en TH10:

Página de 25 38

2

3

7 4

1 8 5

6 9 10

A B C

2

3

4 7

5 8 1

10 9 6

A B C

1

2 3 4

5 6 7

8 9 10

A B C

1

4 3 2

7 6 5

10 9 8

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Si a la tabla anterior añadimos una fila con el código del número de

movimientos en TH10 obtenemos en la última columna el número de

movimientos de cada disco:

Página de 26 38

DiscosNº de

Movimientos de cada disco

1 256 128 64 32 16 8 4 2 1 1 512

2 128 64 32 16 8 4 2 1 1 256

3 64 32 16 8 4 2 1 1 128

4 32 16 8 4 2 1 1 64

5 16 8 4 2 1 1 32

6 8 4 2 1 1 16

7 4 2 1 1 8

8 2 1 1 4

9 1 1 2

10 1 1

512 256 128 64 32 16 8 4 2 1 1023

0 0 1 2 5 10 20 40 80 161

Nº de Movimientos en

TH10

512 256 128 64 32 16 8 4 2 1Nº de

Movimientos de cada disco322 0 1 0 1 0 0 0 0 1 0

1 256 128 64 32 16 8 4 2 1 1 161

2 128 64 32 16 8 4 2 1 1 81

3 64 32 16 8 4 2 1 1 40

4 32 16 8 4 2 1 1 20

5 16 8 4 2 1 1 10

6 8 4 2 1 1 5

7 4 2 1 1 3

8 2 1 1 1

9 1 1 1

10 1 0

TOTAL DE MOVIMIENTOS 322

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

En la última columna los números que aparecen son la suma de las

potencias de 2 que tienen arriba (en la primera fila) un 1. Así el número

322 resulta de sumar por un lado 256+64+2 (010100010 código binario) y por

otro: (128+32+1)+(64+16+1)+(32+8)+(16+4)+(8+2)+(4+1)+(2+1)+(1)+(1)+(0), cada

paréntesis nos da el número de movimientos del disco 1, 2, 3, 4, …, 10 que

son: 161+81+40+20+10+5+3+1+1+0=322

Lo visto en la tabla anterior nos motiva la definición de Matriz de

Movimientos de los Discos en THn:

Se define la Matriz de Movimientos de THn como la Matriz

cuadrada de orden n triangular superior siguiente:

Por ejemplo la Matriz de Movimientos de TH5 sería:

Esta Matriz nos sirve para obtener el número de movimientos de

cada uno de los discos cuando pasamos a Binario el número total de

movimientos: veamos un ejemplo: ¿Cuántas veces se ha movido cada disco

en TH5 después de 17 movimientos totales?

Pasamos 17 a Binario: 10001, multiplicamos la matriz de

Movimientos de TH5 por el vector columna

Página de 27 38

2n−2 2n−3 ... 21 1 12n−3 2n−4 ... 1 1 0! ! 1 1 0 !21 1 1 0 ! 01 1 0 ! 0 01 0 0 0 0 0

⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟⎟

23 22 21 1 122 21 1 1 021 1 1 0 01 1 0 0 01 0 0 0 0

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

23 22 21 1 122 21 1 1 021 1 1 0 01 1 0 0 01 0 0 0 0

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

10001

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

=

23 +1222111

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

=

94211

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

LA TORRE DE HANOI Y EL SISTEMA TERNARIO

Hasta ahora nos hemos movido siempre dentro de la línea recta que

une la posición inicial con la final, siguiendo una secuencia única de

movimientos determinada por El Principio de paridad: “Un disco nunca

toca a otro de la misma paridad”. Pero las reglas del juego permiten otras

posibilidades, por ejemplo, que haya discos juntos de la misma paridad. Es

decir, hay muchos más movimientos y posiciones (o estados) que los vistos

hasta ahora. Un estado queda definido por el poste donde está cada disco.

Por ejemplo, en una torre de 3 discos, CBB sería el estado en el cual el disco

3 está en C, y los discos 2 y 1 están en B. Como en cada poste los discos están

ordenados, esta información es suficiente. Los distintos estados (posiciones

de los discos en los postes) se pueden codificar con el sistema de numeración

ternario de la siguiente forma:

Asignamos al poste origen A el dígito 0, al poste auxiliar B el dígito 1,

y al poste destino C el dígito 2. Si adoptamos la regla de que al primer

dígito de un código ternario es la posición del disco n en THn, la siguiente

posición la del disco n-1, y así sucesivamente hasta el disco 1, tendríamos

que la secuencia CBB en TH3 corresponde con el código ternario 211. Como

ejemplo asignamos el código ternario a una posiciones de TH5:

Código Ternario: 21021

Es evidente que la posición inicial corresponde con el código ternario

00000 y la posición final con el código 22222.

Página de 28 38

1 2

3 4 5

A B C

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

En THn hay en total 3n estados posibles y todos ellos son accesibles

desde cualquier posición inicial. El conjunto de todos los estados y

movimientos se puede representar mediante un grafo, donde los puntos

representan los estados y las líneas, los movimientos (cada línea representa

en realidad dos movimientos, uno en cada sentido). La más simple de las

Torres de Hanoi, la de un solo disco, tiene este grafo.

Grafo para TH1

Hay tres estados: 0, 1 y 2. Para ir del estado inicial (0) al final (2) basta un

movimiento, aunque si lo preferimos podemos dar un rodeo pasando por el

estado 1. El camino más corto para ir del estado inicial al final se

representa de rojo y el más largo de negro. He aquí el grafo de la Torre de

2 discos:

Grafo para TH2

Como se puede observar en esta figura, todas las posibles posiciones

del juego están conectadas. El lado derecho del triángulo nos sigue

presentando la solución óptima (en tres movimientos, por supuesto). Para

encontrar el camino pésimo debemos recorrer todo el grafo sin pasar dos

veces por el mismo vértice. Esto es siempre posible. Para ello, saliendo desde

00, recorremos el primer triángulo en sentido horario, terminando en 02.

Luego bajamos al vértice 12 y recorremos ese triángulo en sentido

antihorario, terminando en 10. Llegamos luego al vértice 20 y recorremos

ese triángulo en sentido horario. Este recorrido, dicho sea para que Euler

repose tranquilo, como se ve, pasa por todos los puntos, pero no por todas

las aristas, es decir, el juego pasa por todas las posiciones posibles pero no se Página de 29 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

realizan todos los movimientos posibles. Si quisiéramos, además, realizar

todos los movimientos posibles una sola vez, habría que recorrer el grafo

pasando por todas las aristas una sola vez, cosa que es imposible pues

existen más de dos vértices de índice impar lo que imposibilita, como Euler

nos enseñó, tal recorrido. Agotar todos los movimientos exigiría repetir

alguno de ellos. Tal camino merecería ser llamado el peor camino.

El grafo para el juego TH2 puede ser entendido como un gran

triángulo equilátero que tiene en cada vértice sendos triángulos equiláteros

colocados en su interior. Los lados de los triángulos pequeños representan

los movimientos del disco pequeño y los tramos no usados de los lados del

grande representan los movimientos del disco grande. Es decir, el grafo de

TH2 consiste en un triángulo que tiene en cada vértice un grafo de TH1.

Esta forma recursiva de mirar el grafo nos permitirá construir los

siguientes. En efecto, el grafo de TH3 es un triángulo que tiene en cada

vértice un grafo de TH2.

Grafo para TH3

Página de 30 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Cada lado de un triángulo pequeño representa un movimiento del

disco 1 (en negro), cada lado de un triángulo que contiene a tres triángulos

pequeños que no pertenezca a un triángulo pequeño representa un

movimiento del disco 2 (en naranja), cada lado del triángulo que contiene a

9 triángulos pequeños y no a los lados de los triángulos menores representa

los movimientos del disco 3 (en rojo) y cada lado del triángulo grande que

no pertenezca a un triángulo menor representa los movimientos del disco 4

(en azul).

Grafo para TH4

Grafo para TH4

Movimientos de los discos y grafo de TH4

Página de 31 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

La forma de encontrar el camino pésimo en este grafo es también recurrente y se puede encontrar de manera sencilla si recorremos las siguientes etapas:

i) Si n es par recorremos el primer triángulo pequeño en sentido horario. Si n es impar lo recorremos en sentido antihorario.

ii) Pasamos al único triángulo pequeño accesible desde el fin del recorrido anterior y lo recorremos en el sentido contrario al anterior.

iii) Repetimos el paso ii tantas veces como sea necesario hasta llegar a la última posición.

Camino Pésimo en el grafo de TH4

Página de 32 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

A continuación se da el grafo de TH5 sin indicar los códigos. Un buen ejercicio sería, precisamente, ponérselos.

Grafo de TH5

El grafo de orden n se construye a partir del de orden n−1: el grafo de orden n está formado por tres grafos de orden n−1 conectados por tres líneas correspondientes a movimientos del disco n. Parece que fue Ian Stewart el primero que describió el grafo de la Torre de Hanoi de esta forma en su libro Another Fine Math You've Got Me Into (no traducido al español). A medida que aumenta el valor de n, el grafo se parece cada vez más a un conocido fractal llamado Triángulo de Sierpinski.

Página de 33 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Por último vamos a ver en el grafo para n = 5, el largo camino que pasa por todas las posiciones sólo una vez (son pasos). Se forma ya una figura bastante impresionante:

Cambiando la posición inicial

Normalmente se presenta la Torre de Hanoi con una posición inicial fija, pero nada impide que, partamos de una posición aleatoria. Es como si nos dejaran en un punto cualquiera del grafo y tuviéramos que llegar a la meta (que sigue estando abajo a la derecha) por el camino más corto. El grafo de orden 5 será suficiente para ilustrarlo. Encuentra el camino desde el punto azul hasta el rojo por el camino mas corto.

35 −1=242

Página de 34 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Aunque la solución es fácil, un giro de 60 grados hacia la derecha la hace parecer aún más obvia. Simplemente hay que «dejarse caer». En el siguiente dibujo, la línea roja podría representar una corriente de agua cayendo por una red de tuberías. La conocida distancia de 2n−1 es máxima, es decir, la posición inicial típica está a la máxima distancia posible de la final.

Página de 35 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Esta forma de mirar el grafo nos ayuda también a agrupar las posiciones iniciales por distancias al objetivo. Todos los puntos que están a la misma altura están alejados de la posición final el mismo número de movimientos.

Página de 36 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Si la longitud del lado de cada triángulo pequeño es 1 ¿qué longitud tienen esas dos trayectorias?

Es obvio que la longitud del triángulo grande es ; por tanto las dos trayectorias rojas tienen la misma longitud y es 29 (comprobarlo).

31=25 −1

Página de 37 38

La torre de Hanoi: el sistema binario y ternario Pablo Viedma

Referencias Bibliográficas

- Alegría, Pedro, Fernández, Santiago, Ibáñez, Raúl, Lekuona, Goyo: Las Matemáticas en las bibliotecas escolares. Juegos didácticos para el programa BBK-Matika, Bilbao (http://www.divulgamat.net).

- Berlekamp, Elwyn R., Conway, John H., y Guy, Richard K., Winnings ways for your Mathematical Plays,  4 vols., 2ª ed., Wellesley, MA, 2001-2004.

- Gardner, Martin, Carnaval matemático, Madrid, Alianza Editorial, 1992.

- Serrano Mora, Antonio Javier (2006): La Torre de Hanoi (http://olmo.pntic.mec.es/~aserra10/articulos/hanoi.html).

- Valeiras, Rodolfo: artículo sobre la torre de Hanoi disponible en www.rodoval.com/heureka/hanoi/index.html

- Viedma Carrillo, Pablo (2014): La Torre de Hanoi y el Sistema Binario.

Página de 38 38