TORRE DE HANÓI Juliana, Marianna e Rafael 18/03/2011
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.
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)  => => => => => => =>
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.
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)
ANÁLISE DE COMPLEXIDADE Quando n>0 T(n) = 4+2T(n-1) Quando n=0 T(n) = 1
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?
ANÁLISE DE COMPLEXIDADE Na k-ésima iteração: PG:  Soma da PG:
ANÁLISE DE COMPLEXIDADE Condição de parada:  n-k = 0 n=k Substituindo:
ANÁLISE DE COMPLEXIDADE A pergunta que não quer calar... O algoritmo da Torre de Hanoi é:
E este é o fim! OBRIGADO.

Torre de Hanoi

  • 1.
    TORRE DE HANÓIJuliana, Marianna e Rafael 18/03/2011
  • 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 É precisodiminuir 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 MOVIMENTOSMÍ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 RECURSIVAHanoi (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)
  • 6.
    ANÁLISE DE COMPLEXIDADEQuando n>0 T(n) = 4+2T(n-1) Quando n=0 T(n) = 1
  • 7.
    ANÁLISE DE COMPLEXIDADENa 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?
  • 8.
    ANÁLISE DE COMPLEXIDADENa k-ésima iteração: PG: Soma da PG:
  • 9.
    ANÁLISE DE COMPLEXIDADECondição de parada: n-k = 0 n=k Substituindo:
  • 10.
    ANÁLISE DE COMPLEXIDADEA pergunta que não quer calar... O algoritmo da Torre de Hanoi é:
  • 11.
    E este éo fim! OBRIGADO.