O documento descreve a Torre de Hanói, um quebra-cabeça matemático no qual discos de diferentes tamanhos devem ser movimentados entre três estacas seguindo regras de empilhamento. O documento explica a origem do quebra-cabeça, como resolvê-lo de forma recursiva e analisa a complexidade algorítmica, que é exponencial em relação ao número de discos.
2. ORIGEM Criador: Edouard Lucas. Motivo do nome: inspirado na torre símbolo da cidade de Hanói, no Vietnã. Lenda sobre a origem (mais conhecida): h á um templo Hindu no centro do universo. Nesse Templo, Brahma criou uma torre com 64 discos de ouro e mais duas estacas equilibradas sobre uma plataforma. Se as ordens e instruções dadas por Brahma para essa construção forem cumpridas, o templo irá se desmoronar e o mundo desaparecer.
3. SOLUÇÃO É preciso diminuir a complexidade da torre para movê-la da melhor maneira (mínimo de movimentos) possível. EXEMPLO PRÁTICO, COM 4 DISCOS: 1º disco => 1 movimento. Torre do 1º e 2º disco (sendo que o primeiro já foi movido) => 2 movimentos. Torre do 1º, 2º e 3º (sempre leva em conta a formação anterior) => 4 movimentos. E assim se sucede até o último disco, numa PG: (1,2,4,8...2n) => => => => => => =>
4. NÚMERO DE MOVIMENTOS MÍNIMO 2 n -1 4 discos => 15 movimentos 7 discos => 127 movimentos 15 discos => 32.767 movimentos 64 discos (de Brahma) => 18.446.744.073.709.551.615 movimentos.
5. RESOLUÇÃO ALGORÍTMICA RECURSIVA Hanoi (n, origem, destino, auxiliar) Inicio Se n>0 então Hanoi (n-1, origem, auxiliar, destino) destino = origem Hanoi (n-1, auxiliar, destino, origem) Fim-se Fim 1 1+T(n-1) 1 1+T(n-1)
7. ANÁLISE DE COMPLEXIDADE Na 1ª iteração T(n) = 4+2T(n-1) Na 2ª iteração T(n) = 4+2(4)+4T(n-2) Na 3ª iteração T(n) = 4+2(4)+4(4)+8T(n-3) Na 4ª iteração T(n) = 4+2(4)+4(4)+8(4)+16T(n-4) E na k-ésima iteração?