A Torre de Hanói tem sido tradicionalmente considerada como um procedimento para avaliação da capacidade de memória de trabalho, e principalmente de planejamento e solução de problemas.
Origens
Édouard Lucas teve inspiração de uma lenda para construir o jogo das Torres de Hanói em 1883. Já seu nome foi inspirado na torre símbolo da cidade de Hanói, no Vietnã.
Existem várias lendas a respeito da origem do jogo, a mais conhecida diz respeito a um templo Hindu, situado no centro do universo. Diz-se que Fuças supostamente havia criado uma torre com 64 discos de ouro e mais duas estacas equilibradas sobre uma plataforma. Fuças ordenara-lhes que movessem todos os discos de uma estaca para outra segundo as suas instruções. As regras eram simples: apenas um disco poderia ser movido por vez e nunca um disco maior deveria ficar por cima de um disco menor. Segundo a lenda, quando todos os discos fossem transferidos de uma estaca para a outra, o templo desmoronar-se-ia e o mundo desapareceria. Dessa forma criaria-se um novo mundo, o mundo de Hanói.
Soluções
É interessante observar que o número mínimo de "movimentos" para conseguir transferir todos os discos da primeira estaca à terceira é 2n-1, sendo n o número de discos. Logo:
Para solucionar um Hanói de 4 discos, são necessários 15 movimentos
Para solucionar um Hanói de 7 discos, são necessários 127 movimentos
Para solucionar um Hanói de 15 discos, são necessários 32.767 movimentos
Para solucionar um Hanói de 64 discos, como diz a lenda, são necessários 18.446.744.073.709.551.615 movimentos.
Para entender a lógica da Torre de Hanói é necessário analisar a construção de diferentes níveis da torre com o número mínimo de movimentos, tendo o nível anterior já formado, sendo que esses níveis são o número de peças desintegradas da torre original que irão formar outra torre com os menores discos.
Para mover o primeiro disco da torre original, 1 movimento é gasto. Para mover o segundo da torre original, sendo que o primeiro já foi movido e será construída uma torre com os 2 menores discos, são gastos 2 movimentos. Para deslocar o terceiro disco formando nova torre com os três menores discos, tendo a torre com os dois menores já formada, são gastos 4 movimentos.
Assim se sucede com os próximos discos até que o enésimo disco (o último) seja deslocado compondo uma torre com os outros discos tendo uma torre com o penúltimo disco e os demais juntos já formada. A sucessão formada pela soma dos movimentos é uma sucessão. A fórmula é provinda da soma de uma progressão geométrica.Sabe-se que em uma progressão geométrica a soma de seus termos equivale a , onde "a" é o primeiro termo e "q" é a razão.Já que a razão é 2 e o primeiro termo é 1 temos que
Uma solução iterativa em Java para as Torres de Hanoi. A letra A representa o primeiro pino mais à esquerda, a letra C o pino central e a letra B representa o último pino para o qual todos os Disco devem estar no final do algoritmo.
Para solucionar um Hanói de 4 discos, são necessários 15 movimentos
Para solucionar um Hanói de 7 discos, são necessários 127 movimentos
Para solucionar um Hanói de 15 discos, são necessários 32.767 movimentos
Para solucionar um Hanói de 64 discos, como diz a lenda, são necessários 18.446.744.073.709.551.615 movimentos.
Para entender a lógica da Torre de Hanói é necessário analisar a construção de diferentes níveis da torre com o número mínimo de movimentos, tendo o nível anterior já formado, sendo que esses níveis são o número de peças desintegradas da torre original que irão formar outra torre com os menores discos.
Para mover o primeiro disco da torre original, 1 movimento é gasto. Para mover o segundo da torre original, sendo que o primeiro já foi movido e será construída uma torre com os 2 menores discos, são gastos 2 movimentos. Para deslocar o terceiro disco formando nova torre com os três menores discos, tendo a torre com os dois menores já formada, são gastos 4 movimentos.
Assim se sucede com os próximos discos até que o enésimo disco (o último) seja deslocado compondo uma torre com os outros discos tendo uma torre com o penúltimo disco e os demais juntos já formada. A sucessão formada pela soma dos movimentos é uma sucessão. A fórmula é provinda da soma de uma progressão geométrica.Sabe-se que em uma progressão geométrica a soma de seus termos equivale a , onde "a" é o primeiro termo e "q" é a razão.Já que a razão é 2 e o primeiro termo é 1 temos que
Uma solução iterativa em Java para as Torres de Hanoi. A letra A representa o primeiro pino mais à esquerda, a letra C o pino central e a letra B representa o último pino para o qual todos os Disco devem estar no final do algoritmo.
Aplicação
A Torre de Hanói pode ser trabalhada em níveis de desenvolvimento com crianças. Na pré-escola, com regras simples de separação de cores e tamanhos, a torre de Hanói ajuda em questões de coordenação motora, identificação de formas, ordem crescente e decrescente, entre outras formas de aprendizado.
De uma maneira mais ampla, o jogo pode ser usado para o estabelecimento de estratégias de transferência das peças, como a contagem dos movimentos e raciocínio.
Iniciando com um número menor de peças, ou seja, resolvendo problemas mais simples, teremos oportunidade de experimentar uma das mais importantes formas de raciocínio matemático.
O jogo trabalha o desenvolvimento da lógica e do raciocínio matemático.É usado para desenvolver as crianças.
Conclusão
A Torre de Hanói consiste em passar todos os discos de uma extremidade a outra sem que um disco maior fique em cima de um menor.
As suas aplicações são basicamente usadas em escolas para que os professores possam melhorar e desenvolver o cognitivo das crianças, além do trabalho em grupo. Sendo este aplicado em pequenos grupos ou individualmente.
A Torre de Hanói possui várias formas de resolução. Uma delas é a resolução recursiva a qual podemos dizer que é a mais limitada quanto ao tempo de realização, já que sua execução dependerá de alguns fatores para tornar-se mais eficaz.
A resolução Iterativa utiliza alguns ciclos (estruturas) de repetição (for, whiles) que podem ser chamados de laços, existe ainda a possibilidade de algumas estruturas adicionais (mais complexas) as quais tornam o algoritmo mais rápido.
É fato que todo algoritmo recursivo possui um algoritmo interativo equivalente; Dependendo apenas da sua complexidade de construção.
Eis o jogo para vocês:







