Buscar

Bellman Ford

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmo Dijkstra 
Começando do 1:
L(2) = 2; Path 1-2 | L(3) = 5; Path 1-3 | L(4) = 1; Path 1-4 | L(5) = ∞; Path - | L(6) = ∞; Path –
O custo de 1 para 2, é 2. O custo de 1 para 3, é 3. O custo de 1 para 4, é 1. O custo de 1 para 5 ou 6 é inexistente, pois estamos avaliando os caminhos diretos.
Qual o menor custo? No caso ir por 4, fazendo o caminho 1-4, pois tem custo 1.
Sempre o que tiver menor custo da “iteração atual”, repete-se os valores dele até o final e ele é desconsiderado nas iterações seguintes
A próxima iteração é envolvendo o 4, já que este foi o menor custo anterior. Então tem que verificar se é mais barato fazer o caminho 1-2 ou 1-4-2, assim como 1-3 ou 1-4-3. No caso os cálculos ficam dessa forma:
T {1,4}
(2) = min { L(2) = 2; (custo de 1 para 2) 
 L(4) + w4,2 = 1 + 2 = 3; } (custo de 1 para 4, já calculado anteriormente mais o custo de 4 para 2)
O menor custo para se chegar a 2 é o primeiro, pelo caminho 1-2
(3) = min { L(3) = 5; (custo de 1 para 3) 
 L(4) + w4,3 = 1 + 3 = 4; } (custo de 1 para 4, já calculado anteriormente mais o custo de 4 para 3)
O menor custo para se chegar a 3 é o segundo, pelo caminho 1-4-3
(5) = min { L(5) = ∞; (custo de 1 para 5) 
 L(4) + w4,5 = 1 + 1 = 2; } (custo de 1 para 4, já calculado anteriormente mais o custo de 4 para 5)
O menor custo para se chegar a 5 é o segundo, pelo caminho 1-4-5
(6) = min { L(6) = ∞; (custo de 1 para 6) 
 L(4) + w4,6 = 1 + ∞ = ∞; } (custo de 1 para 4, já calculado anteriormente mais o custo de 4 para 6)
Não existe menor custo para se chegar a 6.
Assim a tabela é preenchida com os menores custos. Pode-se perceber que dois caminhos tem o menor custo, (2) e (5), no caso escolhe-se sempre o primeiro a esquerda, neste caso o (2), então ele será repetido, a partir desta iteração até o final (não se deixe enganar pelo valor da primeira iteração que foi igual, foi um mero acaso). Perceba que nem olhamos por (4) pois já está preenchido, da mesma forma que a partir da próxima iteração não iremos fazer os cálculos para (2) e para (4).
Iteração 3 T {1,4,2}
(3) = min { L(3) = 4; (custo de 1 para 4 para 3) 
 L(2) + w2,3 = 2 + 3 = 5; } (custo de 1 para 2, já calculado anteriormente mais o custo de 2 para 3)
O menor custo para se chegar a 3 é o primeiro, pelo caminho 1-4-3
(5) = min { L(5) =2; (custo de 1 para 4 para 5) 
 L(2) + w2,5 = 2 + ∞ = ∞; } (custo de 1 para 2, já calculado anteriormente mais o custo de 2 para 5)
O menor custo para se chegar a 5 é o primeiro, pelo caminho 1-4-5
(6) = min { L(6) =∞; (custo de 1 para 4 para 6) 
 L(2) + w2,6 = 2 + ∞ = ∞; } (custo de 1 para 2, já calculado anteriormente mais o custo de 2 para 6)
Não existe menor custo para se chegar a 6.
T {1,4,2,5}
(3) = min { L(3) = 4; 
 L(5) + w5,3 = 2 + 1 = 3; }
O menor custo para se chegar a 3 é o segundo, pelo caminho 1-4-5-3
(6) = min { L(6) =∞; 
 L(5) + w5,6 = 2 + 2 = 4; }
O menor custo para se chegar a 6 é o segundo, pelo caminho 1-4-5-6
T {1,4,2,5,3}
(6) = min { L(6) = 4; 
 L(3) + w3,6 = 3 + 5 = 8; }
O menor custo para se chegar a 6 é o primeiro, pelo caminho 1-4-5-6
A linha da última iteração é sempre igual a da penúltima

Continue navegando