Torre de Hanoi

jucindra 6,215 views 11 slides Nov 07, 2011
Slide 1
Slide 1 of 11
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11

About This Presentation

No description available for this slideshow.


Slide Content

TORREDE
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
11
1+T(n-1)1+T(n-1)
11
1+T(n-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?E na k-ésima iteração?

ANÁLISE DE COMPLEXIDADE
Na k-ésima iteração:Na k-ésima iteração:
Tn=42
1
42
2
42
3
42
4
Tn−k
442
1
2
2
2
3
2
4
...2

Tn−k
PG: PG: 2
1
2
2
2
3
2
4
...2

Soma da Soma da
PG:PG:
S
k=
a
1
∗q
n
−1
q−1
S
k=
2∗2
n
−1
2−1
S
k=2
n1
−2

ANÁLISE DE COMPLEXIDADE
Condição de parada: Condição de parada:
n-k = 0
n=k
Substituindo:Substituindo:
tn=44∗S
k
tn−k
tn=44∗2
n1
−21
tn=44∗2
n1
−81
tn=2
n3
−3ou2
n
∗8−3

ANÁLISE DE COMPLEXIDADE
A pergunta que não quer calar...
O algoritmo da Torre de Hanoi é:O algoritmo da Torre de Hanoi é:
O2
n

E este é o fim!
OBRIGADO.