Você está na página 1de 8

Torre de Hanoi:jogando com a Matemtica

Runo, Elzimar de O. 5 de maio de 2012

Resumo As idias 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 situaes do Ensino da Matemtica, como por exemplo no estudo de exponenciais, funes exponenciais, logartimos, progresso geomtrica, funo maior inteiro, induo matemtica, etc.

Um pouco de histria

O jogo tem origem em um mito indiano segundo o qual o centro do mundo encontra-se sob a cpula de um templo situado em Benares, na ndia. Neste centro haveria uma placa de lato onde estariam xados trs pinos de diamente. 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 dimetros decrescentes, estando o maior junto placa e o menor no topo da pilha. Esta seria a Torre do Brahma. Segundo as leis imutveis criadas por ele, os sacerdotes teriam sido incubidos de transferir a pilha de discos para um dos outros pinos, trabalhando desde ento, dia e noite sem sessar. Segundo o mito a vida decorrer durante a realizao de tal tarefa de transferncia e, antes que os sacerdotes consigam levar a cabo a misso que receberam, o templo transformar-se- em p e o mundo desaparecer, com um estrondo de trovo. No mundo ocidental o jogo foi inventado, a partir do mito pelo Matemtico francs Edouard Lucas (4 de abril de 1842- 3 de outubro de 1891). A gura abaixo mostra uma Torre de Hanoi confeccionada em madeira.
Professor do Departamento de Matemtica da Universidade Federal de Roraima. Licenciado em Matemtica-UFRR, Especialista em Matemtica-UFRR e Mestre em Matemtica-UFAM.

Figura 1: Torre de Hanoi

O objetivo e as regras

O objetivo principal do jogo transladar a Torre de um pino para um dos outros dois. As regras so simples: deve-se movimentar um disco de cada vez, sendo que um disco qualquer nunca pode sobrepor outro de dimetro menor. Deve-se fazer a translao com um nmero mnimo de movimentos.

Algumas idias sugestivas

O professor dispondo de vrias Torres apresenta o jogo aos seus alunos instigando-os a jogar comeando com poucos discos e fazer anotaes do nmero de movimentos em uma tabela. Aps jogarem bastante, provavelmente determinaro a tabela abaixo:

nmero de discos nmero de movimentos 1 1 2 3 3 7 4 15 5 31 Tabela 1: Nmero de discos e nmero de movimentos.


A partir da muitas idias podem surgir dependendo da criatividade e curiosidade dos participantes. Por exemplo, olhando a segunda coluna da tabela acima como uma sequncia pode-se perceber certa propriedade ou uma lei de formao. Surgem ento as seguintes perguntas: 1- Que caracterstica pode-se perceber na sequncia (de cima para baixo) formada pelos elementos da segunda coluna na tabela 1?

Uma resposta esperada : cada elemento o dobro do anterior mais uma unidade. 2- Como podemos representar essa propriedade matematicamente? 3- Que propriedade ou relao existe entre o nmero de discos e o respectivo nmero de movimentos? 4- Dada uma quantidade de discos, como garantir que o nmero de movimentos dado na tabela 1 o nmero mnimo de movimentos? Vamos dar ateno agora pergunta 2. Como expressar matemticamente a frase:cada elemento da sequncia o dobro do anterior mais uma unidade. Surge a necessidade de se utilizar uma notao matemtica para cada termo, ou seja, para o primeiro, segundo, e assim por diante. Depois de vericadas as idias dos alunos e os prs e contras, o professor pode sugerir a notao utilizada na tabela abaixo. termo primeiro segundo terceiro quarto quinto notao a1 a2 = 2a1 + 1 a3 = 2a2 + 1 a4 = 2a3 + 1 a5 = 2a4 + 1

De um modo geral, dado um nmero natural n temos an = 2an1 + 1. claro que esta propriedade est apenas sendo conjecturada e a rigor teria de ser demonstrada.

O nmero mnimo de movimentos

Manipulando os dados da primeira tabela , pode-se faz-los perceber uma funo que determina o nmero mnimo de movimentos ao se jogar com uma Torre com n discos. Vamos enunciar esse resultado e demonstr-lo formalmente. Porm, antes vamos ver dois lemas. Lema 1-Para qualquer n, o jogo tem soluo. Prova: (Induo Matemtica) Para n=1, obviamente o jogo tem soluo. Suponha que o jogo tenha soluo para n = k discos, vamos mostrar que possui soluo para n = (k + 1) discos. Em uma Torre com n = (k + 1) discos, a hiptese de induo nos diz que podemos transladar os k primeiros discos para um dos dois pinos livres. Aps feito isso, o (k + 1)simo

disco pode ser ento transladado para o pino que ainda est livre. Usando novamente a hiptese de induo podemos transladar os primeiros k discos para cima do (k + 1)simo disco e ento o jogo estar solucionado. Lema 2-Acrescentando um disco ao jogo com uma Torre de n discos o nmero de movimentos duplica mais uma unidade. Prova: uma consequncia do procedimento descrito na prova do Lema 1. Teorema- O nmero mnimo de movimentos ao se jogar com uma Torre de n discos dada pela funo f : N N tal que f (n) = 2n 1 Prova: Seja f : N N a funo que determina a soluo mnima para um jogo com n discos garantida pelo Lema 1. Pelo Lema 2, devemos ter f (n + 1) = 2f (n) + 1 ou ainda f (n) = 2f (n 1) + 1 (2) Na equao (2) substituindo-se , n por n 1, n 2, n 3, ..., 1, obtemos (1)

f (n 1) = 2f (n 2) + 1, f (n 2) = 2f (n 3) + 1, , ..., f (1) = 1. Consequentemente, por sucessivas substituies (recorrncia), 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 . . . = 2n1 f (1) + 1 + 2 + 22 + ... + 2n2 1 2n1 1 = 2n1 + 21 = 2n 1.

Note que utilizamos a frmula Sn = uma Progresso Geomtrica.

a1 (q n 1) q1

da soma dos n termos de

Vamos obter a expresso f (n) = 2n 1 do nmero mnimo de movimentos utiliando um outro olhar. Comearemos com uma Proposio- O nmero mnimo de movimentos realizados pelo disco menor d1 em um jogo com n discos dado pela expresso gn (1) = 2n1 . (3)

Prova: (Induo matemtica) Para n = 1 a proposio vlida visto que, gn (1) = 1 = 211 . Suponhamos que a proposio seja vlida para n = k, e vamos mostrar que continua vlida para n = k + 1. Devemos mostrar ento a seguinte implicao: gk (1) = 2k1 gk+1 (1) = 2(k+1)1 = 2k . Veja que podemos transferir a Torre com k + 1 discos em trs etapas bsicas: 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 hiptese de induo, na etapa 1, o nmero mnimo de movimentos do disco d1 gk (1) = 2k1 . Usando novamente a hiptese de induo,o disco d1 se movimentar novamente na etapa 3, no mnimo, 2k1 vezes. Portanto, ao transferirmos a Torre com k + 1 discos teremos movimentado o disco d1 no menos que 22k1 vezes, ou seja, gk+1 = 22k1 = 2k como queramos mostrar. Corolrio- O nmero mnimo de movimentos realizados pelo disco di em uma Torre com n discos dado pela frmula gn (i) = 2ni . Prova- Observe que em um jogo com n discos, ao se transferir os i 1 primeiros discos no se movimenta o disco di . S apartir da o disco di ir se movimentar e imediatamente aps cada um de seus movimentos os i 1 primeiros discos iro sobrep-lo (consequncia 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. Ento devemos ter gn (i) = gn(i1) (1) = 2n(i1)1 = 2i1 .

Por exemplo, jogando com uma Torre com 7 discos, a quantidade mnima de movimentos realizados pelo d3 ser g7 (3) = 273 = 24 = 16. O interessante que (gn (n), gn (n 1), ..., gn (2), gn (1)) uma progresso geomtrica de razo q = 2. Isso signica que um disco de certo dimetro movimenta-se o dobro de vezes que um disco de dimetro imediatamente maior. De acordo com o que vimos acima podemos obter a expreso f (n) que determina o nmero mnimo de movimentos em um jogo com n discos somando-se o nmero mnimo de movimentos de cada disco.Ento
n

gn (i) =
i=1

1 (2n 1) = 2n 1 = f (n). 21

Corolrio( do Corolrio anterior)-Acrescentando um disco ao jogo, a quantidade mnima de movimentos do disco di duplica. Prova: gn+1 (i) = 2n+1i = 2 2ni = 2gn (i).

Explorando o tempo

Uma idia interessante fazer uma estimativa do tempo gasto para o trmino do jogo. Suponha que um jogador gaste um segundo para cada movimento. O tempo gasto obviamente ser f (n) segundos. Na mesma situao acima suponha que um jogador dispunha de 50 minutos. Ele poder transferir uma Torre com no mximo quantos discos? Se os alunos observarem que 50 minutos equivalem a 3000 segundos, tentaro (creio eu!) encontrar o maior valor de n tal que 2n 1 = 3000 ou 2n 1 esteja o mai prximo pssvel de 3000. Vericaro, por exausto, que n = 11 e o tempo gasto ser 2047 segundos. Para uso posterior vamos ver a denio da funo maior inteiro. Denio- O maior inteiro de um nmero real x, denotado por x , o maior inteiro que menor ou igual a x. Exemplos: 11, 56 = 11, 11, 56 = 12. A ttulo de curiosidade apresentamos um grco desta funo.Veja a gura 2.

Figura 2: Grco da funo maior inteiro com x [3, 3]


O seguinte resultado nos d uma estimativa do nmero de discos que se pode movimentar dispondo-se de um um tempo pr-determinado. Teorema- Suponha que um jogador demore um segundo para movimentar cada disco e que este dispe de x segundos para jogar. Ento, ele poder (x+1) movimentar no mximo uma Torre com n = log2 discos. Prova: Como o nmero mnimo 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 prximo possvel 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 percebero que a tarefa de jogar com muitos discos ilusria. Jogando com 12 discos nas condies do teorema, o tempo gasto seria mais de uma hora e imaginem que para um jogo com 64 discos seriam necessrios 184447440737095511615 segundos, o que equivale a um tempinho de cerca de 6 bilhes de sculos. Como se v, acreditando ou no no mito, ainda termos a existncia de nosso mundinho por muito tempo.

Idias para vencer o jogo

Aqui usaremos a notao (i, j) para representar a transferncia 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 sequncia de jogadas para um jogo com trs discos, onde a Torre transferida para o pino 2.

(1, 2) (2, 3) (1, 3) (3, 2) (1, 1) (2, 2) (1, 2).

Note que para transferir a Torre com 3 discos para o pino j devemos comear movimentando o disco d1 para o pino j. Considere agora uma Torre com n discos. Ao transferir T3 estar liberado um pino para a transferncia de d4 . Transra d4 e translade T3 para onde est d4 , resultando a T4 . Estar liberado um pino para a transferncia de d5 . Transra d5 e transra T4 para onde est d5 observando o processo anterior. Continuando, sempre estar liberado um pino para a transferncia de di . Transra di e em seguida Ti1 para onde est di . O jogo estar terminado quando i = n. Para realizar o procedimento descrito anteriormente necessrio 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 consideraes mais rigorosas a respeito de um algortimo vencedor sugerimos ao leitor consultar [1]. Com um pouco de esforo muitas outras situaes matemticas podem ser exploradas com o auxlio do jogo Torre de Hanoi.

Referncias
[1] Silva,Gentil Lopes. Novas Sequncias Aritmticas e Geomtricas.THESAURUS-DF, 2000. [2] MACHADO, Nilson Jos. Matemtica e Educao: Alegorias e Temas Ans. Cortez, So Paulo,2001. [3] HEFEZ, Abramo. Elementos de Aritmtica. Sociedade Brasileira de Matemtica, Rio de Janeiro,2005.