Professional Documents
Culture Documents
nulos em suas arestas, encontre o caminho mais curto entre o vrtice A e o vrtice E, aplicando o Algoritmo de Dijkstra.
B
3 8
A
4
D
1
Resposta Exerccio 1 Sabemos que, pelo Algoritmo de Dijkstra, deve-se percorrer todos os ns do grafo, inciando em um n fixado e encontrando sucessivamente o n mais prximo, ainda no percorrido, at que todos tenham sido percorridos. Ento efetuamos os seguintes passos:
1- Inicializamos os custos dos vrtices.
O 1 vrtice (A) inicializado com 0 , pois ele o ponto de partida e at ele mesmo no h custo nenhum e inicializamos os outros com infinito, indicando que ainda no foram calculados custos para eles. (Fig. 1a.)
2-
[]
B 3 8
[0 A ]
4
[]
7
D
1
[]
[]
Figura 1a
sido percorridos, ou seja B,D,C verifica-se o caminho mais curto a ser percorrido no caso at o vrtice B, pois tem peso 3, e atribumos o valor do custo de B, que a soma do peso de A(0) com a distncia da aresta adjacente a B(3), totalizando 3.
4- Aplicando a mesma regra para as outras duas
vrtices adjacentes a A, temos ento para o vrtice D (custo 7) e para o vrtice C (custo 4). Fig.1b [0
]
A
4
[3]
B 3 7 8
[7]
D
1 9
[]
[4]
Figura 1b
[3]
Figura 1c.
8
[0 A ]
4
[7]
7
D
1
[11]
E
[4]
Figura 1c
caminho A-B-E que 11. Agora faremos novamente o processo de percorrer os vrtices verificando o caminho mais curto j percorrido, que neste caso C (custo 4).
E.
9- Soma-se ento o custo do vrtice C (4) com a distncia da
[3]
5. Figura 1d
8
[0 A ]
4
[5]
7
D
1
[11]
E
[4]
Figura 1d
[3]
8
[0 A ]
4
[5]
7
D
1
[10]
E
[4]
Figura 1e
e soma-se o valor de seu custo acumulado (5) com o a distncia dos vrtices vizinhos, neste caso 9, resultando num custo de total 14. Figura 1f [3]
B 3 8
[0 A ]
4
[5]
7
D
1
[14]
E
[4]
Figura 1f
A-C-D-E que 14, com o anteriormente calculado A-C-E que 10, vemos que este ltimo o caminho de menor custo. Portanto a resposta certa para o exerccio : O caminho entre os vrtices A-C-E, de valor 10 o mais curto entre os vrtices A e E. vrtice 1 a qualquer n, utilizando o Algoritmo de Dijakstra.
2 2 3 1 3 2 4 3 7 1 3 3 1 2 6 2 5 3
Resolvendo o exerccio 2.
1- De inicio ento escolhemos o n 1 e marcamos com a seguinte etiqueta [0,-]0 onde o 1 0(zero) representa que no existe nenhuma
distncia, o hfen (-) que no procede de nenhum lugar e zero(0 fora do colchete) quer dizer que nenhuma interao.
2- Calculamos ento a etiquetas correspondentes (vrtices adjacentes) ao vrtice n 1. Nesse caso os vrtices 2 e 4 e percorremos, segundo o Algoritmo de Dijkstra o caminho mais curto (ou de menor custo). Observamos nesse caso que houve um empate ou seja os valores so iguais para os vrtices 3 e 4, podendo-se, neste caso, escolher aleatoriamente o vrtice que se quer prosseguir. 3- Pegaremos o vrtice 2 e fizemos o clculo: 0 (valor do vrtice 1) + 3
(valor do vrtice 2) = 3. A procedncia do vrtice 1 e o n de interao 1, ficando assim a etiqueta [3,1]1. Da mesma forma fica a mesma etiqueta para o vrtice 4 pois tem o mesmo valor a sua aresta e a procedncia do vrtice 1. Os vrtices 1 e 4 j foram esgotados todos os clculos dos custos de suas arestas para todos os vrtices adjacentes, portanto, ficam marcados e no mais so percorridos.
5-
O vrtice 4 com o vrtice 3,ficaria ento: [3,1]1 pois o acumulado do 4 +2 que o valor da aresta at 3. Ficaria ento a etiqueta: [5,4]2 pois 5 o acumulado, 4 procedncia e a interao 2.
6-
Fazendo para o vrtice 6 ficaria [4,4]2 e para o vrtice 7 7- Escolhes o vrtices que j foram calculados os seus custos e que ainda no foram marcados que so:2 ([3,1]1), 3([5,4]2),6([4,4]2),7([6,4]2). Novamente pegamos o de custo acumulado menor que o 2. Fizemos o custo de 2 5 e a etiqueta em 5 seria [5,2]3 .Fizemos com a outra adjacente ao 2 que o 3. A etiqueta ficar com o valor [4,2]3 . Notamos que o vrtice 3 agora possui duas etiquetas: [5,4]2 e [4,2]3. O que faramos agora? Ficamos com a distncia menor e cancelamos a anterior. 8- Novamente pegamos a menor distncia acumulada dos vrtices: 3,5,6,7 que : 3 e 6 que 4 respectivamente. Como sabemos podemos escolher qualquer um dos dois vrtices. 9- Vamos escolher ento, o vrtice 3 que nesse momento pode ir para o vrtice 5 e para o vrtice 6 . Vrtice 3 em direo ao 5 sua distncia acumulada fica com o valor 7. menor que o valor 5 que ali j estava na etiqueta acumulado? No, ento mantemos a etiqueta que j estava. Com o vrtice 6 ficaria o valor acumulado de 6 que tambm no menor ao 4 que ali j estava na etiqueta permanecendo o valor 4. 10J neste momento temos apenas para percorrer os vrtices 5,6,7. O menor valor o 4 que est no vrtice 6 . Indo do vrtice 6 para o vrtice 5, a sua distncia acumulada ficaria 7, que no menor do que o 5 que ali j est. 11Indo do 6 ao 7 somaramos: 4+2 = 6. Deu empate com o valor da etiqueta que j havia ali anteriormente. 12Novamente pegamos a menor distncia que a do vrtice 5 cujo valor 5. A partir deste vrtice j percorremos todos os outros adjacentes, ento no h mais para percorrer. Igualmente acontece com o vrtice 7. Vejamos a Figura 2a
ficaria [6,4]2.
[5,2]5 5 3 [4,4]2
6 2
Figura 2b
7 [6,4]4
Referncias: CORMEN,Thomas H. Algoritmos: Teoria e Prtica. Rio de Janeiro: Campus, 2002. GERSTING,Judith L. Fundamentos Matemticos para a Cincia da Computao,3 Ed. LTC, 1995.