Torre de Hanoi: Uma ferramenta valiosa para ensinar matemática
1. Torre de Hanoi:jogando com a Matemática
Rufino, Elzimar de O. ∗
18 de maio de 2011
Resumo
As idéias principais deste artigo foram escritas em abril de 2006. Nosso
objetivo aqui é mostrar como o jogo Torre de Hanoi pode ser utilizado
como ferramenta valiosa em algumas situações do Ensino da Matemática,
como por exemplo no estudo de exponenciais, funções exponenciais, loga-
rítimos, progressão geométrica, função maior inteiro, indução matemática,
etc.
1 Um pouco de história
O jogo tem origem em um mito indiano segundo o qual o centro do mundo
encontra-se sob a cúpula de um templo situado em Benares, na Índia. Neste
centro haveria uma placa de latão onde estariam fixados três pinos de dia-
mente. Ao criar o mundo o deus Brahma teria colocado em um desses pinos
sessenta e quatro discos de ouro, apoiados um sobre o outro de diâmetros
decrescentes, estando o maior junto à placa e o menor no topo da pilha. Esta
seria a Torre do Brahma. Segundo as leis imutáveis criadas por ele, os sacer-
dotes teriam sido incubidos de transferir a pilha de discos para um dos out-
ros pinos, trabalhando desde então, dia e noite sem sessar. Segundo o mito
a vida decorrerá durante a realização de tal tarefa de transferência e, antes
que os sacerdotes consigam levar a cabo a missão que receberam, o templo
transformar-se-á em pó e o mundo desaparecerá, com um estrondo de trovão.
No mundo ocidental o jogo foi inventado, a partir do mito pelo Matemático
francês Edouard Lucas (4 de abril de 1842- 3 de outubro de 1891). A figura
abaixo mostra uma Torre de Hanoi confeccionada em madeira.
∗
Professor do Departamento de Matemática da Universidade Federal de Roraima. Licenciado
em Matemática-UFRR, Especialista em Matemática-UFRR e Mestre em Matemática-UFAM.
1
2. Figura 1: Torre de Hanoi
2 O objetivo e as regras
O objetivo principal do jogo é transladar a Torre de um pino para um dos
outros dois. As regras são simples: deve-se movimentar um disco de cada
vez, sendo que um disco qualquer nunca pode sobrepor outro de diâmetro
menor. Deve-se fazer a translação com um número mínimo de movimentos.
3 Algumas idéias sugestivas
O professor dispondo de várias Torres apresenta o jogo aos seus alunos
instigando-os a jogar começando com poucos discos e fazer anotações do
número de movimentos em uma tabela. Após jogarem bastante, provavel-
mente determinarão a tabela abaixo:
número de discos número de movimentos
1 1
2 3
3 7
4 15
5 31
Tabela 1: Número de discos e número de movimentos.
A partir daí muitas idéias podem surgir dependendo da criatividade e
curiosidade dos participantes. Por exemplo, olhando a segunda coluna da
tabela acima como uma sequência pode-se perceber certa propriedade ou
uma lei de formação. Surgem então as seguintes perguntas:
1- Que característica pode-se perceber na sequência (de cima para baixo)
formada pelos elementos da segunda coluna na tabela 1?
2
3. Uma resposta esperada : cada elemento é o dobro do anterior mais
uma unidade.
2- Como podemos representar essa propriedade matematicamente?
3- Que propriedade ou relação existe entre o número de discos e o re-
spectivo número de movimentos?
4- Dada uma quantidade de discos, como garantir que o número de
movimentos dado na tabela 1 é o número mínimo de movimentos?
Vamos dar atenção agora à pergunta 2. Como expressar matemática-
mente a frase:cada elemento da sequência é o dobro do anterior mais
uma unidade. Surge a necessidade de se utilizar uma notação matemática
para cada termo, ou seja, para o primeiro, segundo, e assim por diante.
Depois de verificadas as idéias dos alunos e os prós e contras, o professor
pode sugerir a notação utilizada na tabela abaixo.
termo notação
primeiro a1
segundo a2 = 2a1 + 1
terceiro a3 = 2a2 + 1
quarto a4 = 2a3 + 1
quinto a5 = 2a4 + 1
De um modo geral, dado um número natural n temos an = 2an−1 + 1.
É claro que esta propriedade está apenas sendo conjecturada e a rigor teria
de ser demonstrada.
4 O número mínimo de movimentos
Manipulando os dados da primeira tabela , pode-se fazê-los perceber uma
função que determina o número mínimo de movimentos ao se jogar com
uma Torre com n discos. Vamos enunciar esse resultado e demonstrá-lo
formalmente. Porém, antes vamos ver dois lemas.
Lema 1-Para qualquer n, o jogo tem solução.
Prova: (Indução Matemática) Para n=1, obviamente o jogo tem solução.
Suponha que o jogo tenha solução para n = k discos, vamos mostrar que
possui solução para n = (k + 1) discos. Em uma Torre com n = (k + 1)
discos, a hipótese de indução nos diz que podemos transladar os k primeiros
discos para um dos dois pinos livres. Após feito isso, o (k + 1)−ésimo
3
4. disco pode ser então transladado para o pino que ainda está livre. Usando
novamente a hipótese de indução podemos transladar os primeiros k discos
para cima do (k + 1)−ésimo disco e então o jogo estará solucionado.
Lema 2-Acrescentando um disco ao jogo com uma Torre de n discos o
número de movimentos duplica mais uma unidade.
Prova: É uma consequência do procedimento descrito na prova do Lema
1.
Teorema- O número mínimo de movimentos ao se jogar com uma Torre
de n discos é dada pela função
f : N → N tal que f (n) = 2n − 1
Prova: Seja f : N → N a função que determina a solução mínima para
um jogo com n discos garantida pelos Lemas 1 e 2. Pelo Lema 2, devemos
ter
f (n + 1) = 2f (n) + 1 (1)
ou ainda
f (n) = 2f (n − 1) + 1 (2)
Na equação (2) substituindo-se , n por n − 1, n − 2, n − 3, ..., 1, obtemos
f (n − 1) = 2f (n − 2) + 1, f (n − 2) = 2f (n − 3) + 1, , ..., f (1) = 1.
Consequentemente, por sucessivas substituições (recorrência), resulta
que
f (n) = 2[2f (n − 2) + 1] + 1
= 22 f (n − 2) + 1 + 2
= 22 [2f (n − 3) + 1] + 1 + 2
= 23 f (n − 3) + 1 + 2 + 22
.
.
.
= 2n−1 f (1) + 1 + 2 + 22 + ... + 2n−2
1 · 2n−1 − 1
= 2n−1 +
2−1
n−1
= 2 − 1.
4
5. a1 q n −1
Note que utilizamos a fórmula Sn = q−1 da soma dos n termos de
uma Progressão Geométrica.
Vamos obter a expressão f (n) = 2n − 1 do número mínimo de movi-
mentos utiliando um outro olhar. Começaremos com uma
Proposição- O número mínimo de movimentos realizados pelo disco
menor d1 em um jogo com n discos é dado pela expressão
gn (1) = 2n−1 . (3)
Prova: (Indução matemática) Para n = 1 a proposição é válida visto
que, gn (1) = 1 = 21−1 .
Suponhamos que a proposição seja válida para n = k, e vamos mostrar
que continua válida para n = k + 1. Devemos mostrar então a seguinte
implicação:
gk (1) = 2k−1 ⇒ gk+1 (1) = 2(k+1)−1 = 2k .
Veja que podemos transferir a Torre com k + 1 discos em três etapas
básicas:
Etapa 1- Transferimos a Torre com k discos.
Etapa 2- Transferimos a o disco dk+1 para o pino livre.
Etapa 3- Transferimos a Torre com k discos para onde está o disco dk+1 .
Assim, pela hipótese de indução, na etapa 1, o número mínimo de movi-
mentos do disco d1 é gk (1) = 2k−1 . Usando novamente a hipótese de in-
dução,o disco d1 se movimentará novamente na etapa 3, no mínimo, 2k−1
vezes. Portanto, ao transferirmos a Torre com k + 1 discos teremos movi-
mentado o disco d1 não menos que 2·2k−1 vezes, ou seja, gk+1 = 2·2k−1 =
2k como queríamos mostrar.
Corolário- O número mínimo de movimentos realizados pelo disco di
em uma Torre com n discos é dado pela fórmula gn (i) = 2n−i .
Prova- Observe que em um jogo com n discos, ao se transferir os i − 1
primeiros discos não se movimenta o disco di . Só apartir daí o disco di irá
se movimentar e imediatamente após cada um de seus movimentos os i − 1
primeiros discos irão sobrepô-lo (consequência da regra do jogo). Sendo
assim, para efeito de contagem, o disco di pode ser considerado o disco d1
em uma Torre com n − (i − 1) movimentos. Então devemos ter
gn (i) = gn−(i−1) (1) = 2n−(i−1)−1 = 2i−1 .
5
6. Por exemplo, jogando com uma Torre com 7 discos, a quantidade mín-
ima de movimentos realizados pelo d3 será
g7 (3) = 27−3 = 24 = 16.
O interessante é que
(gn (n), gn (n − 1), ..., gn (2), gn (1))
é uma progressão geométrica de razão q = 2. Isso significa que um disco
de certo diâmetro movimenta-se o dobro de vezes que um disco de diâmetro
imediatamente maior.
De acordo com o que vimos acima podemos obter a expresão f (n) que
determina o número mínimo de movimentos em um jogo com n discos
somando-se o número mínimo de movimentos de cada disco.Então
n
1 · (2n − 1)
gn (i) = = 2n − 1 = f (n).
2−1
i=1
Corolário( do Corolário anterior)-Acrescentando um disco jogo, a quan-
tidade mínima de movimentos do disco di duplica.
Prova: gn+1 (i) = 2n+1−i = 2 · 2n−i = 2gn (i).
5 Explorando o tempo
Uma idéia interessante é fazer uma estimativa do tempo gasto para o término
do jogo. Suponha que um jogador gaste um segundo para cada movimento.
O tempo gasto obviamente será f (n) segundos.
Na mesma situação acima suponha que um jogador dispunha de 50 min-
utos. Ele poderá transferir uma Torre com no máximo quantos discos?
Se os alunos observarem que 50 minutos equivalem a 3000 segundos,
tentarão (creio eu!) encontrar o maior valor de n tal que 2n − 1 = 3000 ou
2n − 1 esteja o mai próximo pssível de 3000. Verificarão, por exaustão, que
n = 11 e o tempo gasto será 2047 segundos.
Para uso posterior vamos ver a definição da função maior inteiro.
Definição- O maior inteiro de um número real x, denotado por x , é o
maior inteiro que é menor ou igual a x.
Exemplos: 11, 56 = 11, −11, 56 = −12.
A título de curiosidade apresentamos um gráfico desta função.Veja a
figura 2.
6
7. Figura 2: Gráfico da função maior inteiro com x ∈ [−3, 3]
O seguinte resultado nos dá uma estimativa do número de discos que se
pode movimentar dispondo-se de um um tempo pré-determinado.
Teorema- Suponha que um jogador demore um segundo para movimen-
tar cada disco e que este dispõe de x segundos para jogar. Então, ele poderá
(x+1)
movimentar no máximo uma Torre com n = log2 discos.
Prova: Como o número mínimo de movimentos é f (n) = 2n − 1 e
leva-se um segundo para movimentar cada disco, procuramos um n tal que
2n − 1 = x, ou esteja o mais próximo possível de x pela esquerda.
(x+1)
Seja r ∈ R tal que 2r = x + 1, ou seja, r = log2 . Basta tomar
n= r .
Os alunos logo perceberão que a tarefa de jogar com muitos discos é
ilusória. Jogando com 12 discos nas condições do teorema, o tempo gasto
seria mais de uma hora e imaginem que para um jogo com 64 discos se-
riam necessários 184447440737095511615 segundos, o que equivale a um
tempinho de cerca de 6 bilhões de séculos.
Como se vê, acreditando ou não no mito, ainda terímos a existência de
nosso mundinho por muito tempo.
6 Idéias para vencer o jogo
Aqui usaremos a notação (i, j) para representar a transferência do disco di
para o pino j e Tn para uma Torre com n discos. Podemos considerar os
pinos 1, 2 e 3 da esquerda para a direita. Abaixo temos a sequência de
jogadas para um jogo com três discos, onde a Torre é transferida para o pino
2.
(1, 2) → (2, 3) → (1, 3) → (3, 2) → (1, 1) → (2, 2) → (1, 2).
7
8. Note que para transferir a Torre com 3 discos para o pino j devemos
começar movimentando o disco d1 para o pino j.
Considere agora uma Torre com n discos. Ao transferir T3 estará lib-
erado um pino para a transferência de d4 . Transfira d4 e translade T3 para
onde está d4 , resultando aí T4 . Estará liberado um pino para a transferência
de d5 . Transfira d5 e transfira T4 para onde está d5 observando o processo
anterior. Continuando, sempre estará liberado um pino para a transferên-
cia de di . Transfira di e em seguida Ti−1 para onde está di . O jogo estará
terminado quando i = n.
Para realizar o procedimento descrito anteriormente é necessário estar
atento para a paridade de i:
Se i for par e deseja-se transferir Ti para o pino j, o procedimento
inicial deverá ser (1, k) onde k = j. Se i for ímpar, o procedimento inicial
deverá ser (1, j).
Para considerações mais rigorosas a respeito de um algorítimo vencedor
sugerimos ao leitor consultar [1].
Com um pouco de esforço muitas outras situações matemáticas podem
ser exploradas com o auxílio do jogo Torre de Hanoi.
Referências
[1] Silva,Gentil Lopes. Novas Sequências Aritméticas e Geométri-
cas.THESAURUS-DF, 2000.
[2] MACHADO, Nilson José. Matemática e Educação: Alegorias e Temas
Afins. Cortez, São Paulo,2001.
[3] HEFEZ, Abramo. Elementos de Aritmática. Sociedade Brasileira de
Matemática, Rio de Janeiro,2005.
8