Torre de Hanói

A Torre de Hanói é um clássico problema matemático que consiste em mover todos os discos da primeira haste para a terceira, respeitando as regras:

Instrução: Clique em uma haste para selecionar um disco, depois clique em outra haste para movê-lo. O objetivo é mover todos os discos para a haste da direita com o menor número de movimentos possível.

O número mínimo de movimentos para resolver com \(n\) discos é \(2^n - 1\).

Torre de Hanói - Análise Matemática

1. O Problema:
A Torre de Hanói foi criada pelo matemático francês Édouard Lucas em 1883. O problema consiste em três hastes e um número variável de discos de tamanhos diferentes, empilhados em ordem decrescente (maior embaixo, menor em cima).

2. Regras:
- Mover apenas um disco por vez.
- Nunca colocar um disco maior sobre um menor.
- Todos os discos começam na haste esquerda (A) e devem terminar na haste direita (C).

3. Solução Recursiva:
A solução do problema pode ser descrita recursivamente:

  • Mover \(n-1\) discos da haste A para a haste B (usando C como auxiliar).
  • Mover o disco maior da haste A para a haste C.
  • Mover \(n-1\) discos da haste B para a haste C (usando A como auxiliar).

4. Número Mínimo de Movimentos:
A sequência de movimentos segue uma progressão geométrica. Seja \(M(n)\) o número mínimo de movimentos para \(n\) discos:

\[M(1) = 1\]

\[M(n) = 2 \cdot M(n-1) + 1\]

Resolvendo esta recorrência, obtemos:

\[M(n) = 2^n - 1\]

5. Exemplos:

  • - 1 disco: \(2^1 - 1 = 1\) movimento
  • - 2 discos: \(2^2 - 1 = 3\) movimentos
  • - 3 discos: \(2^3 - 1 = 7\) movimentos
  • - 4 discos: \(2^4 - 1 = 15\) movimentos
  • - 5 discos: \(2^5 - 1 = 31\) movimentos

6. Complexidade:
O problema tem complexidade exponencial \(\mathcal{O}(2^n)\), o que significa que o número de movimentos dobra a cada disco adicional. Para 10 discos, são necessários 1023 movimentos!

Discos0
Jogadas0
Mínimo Teórico0
StatusSelecione discos

Entendendo a Torre de Hanói - Guia Completo

A Torre de Hanói é um problema clássico que demonstra conceitos importantes de recursividade e complexidade computacional. Abaixo, explicamos detalhadamente cada elemento do jogo:

1. Estrutura do Jogo

O jogo consiste em três hastes verticais (A, B, C) e um conjunto de discos de tamanhos diferentes. Inicialmente, todos os discos estão empilhados na haste esquerda (A) em ordem decrescente - o maior disco na base e o menor no topo. O objetivo é mover toda a pilha para a haste direita (C).

2. Como Jogar

Para jogar manualmente:

  • Clique em uma haste para selecionar o disco do topo (o disco ficará destacado em vermelho).
  • Clique em outra haste para mover o disco selecionado.
  • O movimento só é permitido se o disco for menor que o disco do topo da haste de destino.
  • O jogo termina quando todos os discos estiverem na haste da direita.

3. Número Mínimo de Movimentos

O número mínimo de movimentos para resolver a Torre de Hanói com \(n\) discos é dado pela fórmula:

\[ M(n) = 2^n - 1 \]

Isso significa que:

  • 3 discos: 7 movimentos mínimos
  • 4 discos: 15 movimentos
  • 5 discos: 31 movimentos
  • 6 discos: 63 movimentos

4. Resolução Automática

O botão "Resolver Automaticamente" executa o algoritmo recursivo clássico que resolve o problema em tempo real. Você verá os discos se movendo um a um até que todos estejam na haste direita. Esta animação demonstra visualmente como a solução recursiva funciona na prática.

Dica Importante: Para obter a melhor pontuação, tente resolver o jogo com o menor número possível de movimentos. Compare seus resultados com o número mínimo teórico mostrado no painel. Quanto mais próximo você chegar, melhor!

5. Aplicações Educacionais

A Torre de Hanói é amplamente utilizada no ensino de:

  • Recursividade: A solução natural do problema é recursiva.
  • Complexidade Algorítmica: Demonstra problemas de tempo exponencial.
  • Pensamento Lógico: Desenvolve raciocínio estratégico e planejamento.
  • Algoritmos de Busca: Introduz conceitos de espaço de estados e busca de soluções.

Este jogo é um excelente exercício para desenvolver raciocínio lógico e entender conceitos fundamentais da computação e matemática aplicada.