algoritmos em grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · algoritmos...
TRANSCRIPT
![Page 1: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/1.jpg)
Universidade Federal de Alfenas
Algoritmos em Grafos
Aula 13 – Caminho Mínimo: Grafos Acíclicos
Prof. Humberto César Brandão de [email protected]
![Page 2: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/2.jpg)
Última aula...• Caminho mais curto
(mínimo) de um para todos os outros vértices emem grafos cíclicos (ou acíclicos)...
• Os grafos podem ter ciclos de peso negativo...
▫ Algoritmo de Bellman-Ford.
![Page 3: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/3.jpg)
Algoritmo
de
Bellman-Ford
Última aula
fim
verdadeiroretorna
parafim
sefim
falsoretorna
vuwudvdse
Avuarestacadapara
parafim
parafim
wvuRELAXA
Avuarestacadapara
Vatéipara
sGINICIALIZA
swAVGFORDELLMAN
),(][][
),(
),,(
),(
1||1
),(
),),,((B
![Page 4: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/4.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Quando os grafos não possuem ciclos, podemos otimizaro algoritmo que calcula o caminho mínimo de um vértice para todos os outros vértices...
• Detalhe... O Algoritmo de Bellman-Ford continua resolvendo o problema... mas...▫ Lembrando que ele resolve para o caso mais geral;
▫ Ele possui complexidade algorítmica elevada, apesar de ter comportamento polinomial no pior caso.
![Page 5: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/5.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Antes do aprendizado do algoritmo desta aula, precisamos entender o algoritmo de ordenação topológica...
![Page 6: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/6.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• GAO: Grafos Acíclicos Orientados:▫ Estes, são utilizados para indicar precedência de eventos;
▫ Geralmente utilizados para descrever processos;
▫ Uma aresta orientada (u, v) no GAO indica que a peça de roupa udeve ser vestida antes da peça v.
![Page 7: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/7.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Ordenação Topológica:
▫ Exemplo simplificado: o processo de se vestir de um homem...
▫ Colocar meia antes do sapato: aresta (meia,sapato)
▫ Colocar camisa antes da gravata Aresta (camisa, gravata)
![Page 8: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/8.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Ordenação Topológica:
▫ Grafos acíclicos orientados são utilizados em muitas aplicações para indicar precedência entre eventos;
▫ Exemplo:
Caminho crítico em Gerência de Projetos.
![Page 9: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/9.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Ordenação Topológica:
▫ Algoritmo:
▫ Entrada: G=(V,A):
Chamar DFS (busca em profundidade);
Em função do vertor f (tempo de finalização), retorne uma lista ordenada inversa de todos os vértices do grafo G.
![Page 10: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/10.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• De outra forma...
• Ordenação Topológica:▫ Algoritmo:
Chamar DFS (busca em profundidade);
A medida que os vértices forem marcados como pretos, adicionar o vértice no início de uma pilha...
Retornar pilha...
![Page 11: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/11.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Ordenação Topológica:▫ Exemplo de execução da ordenação topológica....
![Page 12: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/12.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Ordenação Topológica:▫ Comentário:
Podemos encontrar algumas implementações da ordenação topológica, que não altera o método original da DFS, e utiliza apenas o vetor f ao final de sua execução.
Este método precisa utilizar um algoritmo de ordenação, o que deixa o procedimento “mais caro” computacionalmente.
Operação n log(n) no último passo.
![Page 13: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/13.jpg)
Algoritmo dos Caminhos mais curtos de origem única em grafos acíclicos orientados
![Page 14: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/14.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Relaxando as arestas de um GAO (grafo acíclico orientado) ponderado de acordo com uma ordenação topológica de seus vértices, podemos calcular caminhos mais curtos a partir de uma única origem com complexidade O(|V|+|A|);
• Relembrando:
▫ Bellman-Ford: O(|V|.|A|)
![Page 15: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/15.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
• Relembrando dois métodos básicos:
fim
sefim
uv
vuwudvd
entãovuwudvdse
wvu
][
),(][][
)),(][(][
),,(RELAXA
fim
sd
parafim
NULLv
vd
Vvcadapara
sAVG
0][
][
][
)),,((INICIALIZA
![Page 16: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/16.jpg)
Caminhos mais curtos de origem única em
grafos acíclicos orientados
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 17: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/17.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
• Vamos acompanhar para o grafo:
sr x yt z
34
2
16
5 2 7 -1 -2
![Page 18: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/18.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
vértice r s t x y z
d --- --- --- --- --- ---
--- --- --- --- --- ---
K --- --- --- --- --- ---
![Page 19: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/19.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d --- --- --- --- --- ---
--- --- --- --- --- ---
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 20: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/20.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 ∞ ∞ ∞ ∞ ∞
NULL NULL NULL NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 21: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/21.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 ∞ ∞ ∞ ∞ ∞
NULL NULL NULL NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 22: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/22.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 ∞ ∞ ∞ ∞ ∞
NULL NULL NULL NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 23: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/23.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 ∞ ∞ ∞
NULL r r NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 24: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/24.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 ∞ ∞ ∞
NULL r r NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 25: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/25.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 ∞ ∞ ∞
NULL r r NULL NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 26: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/26.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 11 ∞ ∞
NULL r r s NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 27: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/27.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 11 ∞ ∞
NULL r r s NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 28: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/28.jpg)
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 11 ∞ ∞
NULL r r s NULL NULL
K r s t x y z
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
![Page 29: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/29.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 30: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/30.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 31: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/31.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 32: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/32.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 33: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/33.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 34: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/34.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 35: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/35.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 36: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/36.jpg)
.
),,(
][
)topológicaordemem(
)),,((
;teologicamenordenarTopK
),),,((imo_GAOCaminhoMin
fim
parafim
parafim
wvurelaxa
façauAdjvvérticecadapara
façaKuvérticecadapara
vAVINICIALIZA
(V)
vwAVG
s
s
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 7 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
K r s t x y z
![Page 37: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/37.jpg)
7
Caminhos mais curtos de origem única em grafos
acíclicos orientados
• Solução:
Caminhos mais curtos de origem única em grafos
acíclicos orientados
sr x yt z
34
2
16
5 2 -1 -2
vértice r s t x y z
d 0 5 3 10 7 5
NULL r r t t t
![Page 38: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/38.jpg)
Exercícios
• Proponha um grafo acíclico com 10 vértices e 20 arestas. Execute passo a passo o algoritmo sobre o grafo proposto.
• Indique uma aplicação da ordenação topológica relacionada a processos da industria. Mostre um exemplo.
![Page 39: Algoritmos em Grafos - bcc.unifal-mg.edu.brhumberto/disciplinas/2010_2_grafos/pdf... · Algoritmos em Grafos ... de um para todos os outros vértices em em grafos cíclicos ... podemos](https://reader033.vdocuments.pub/reader033/viewer/2022051407/5aebba357f8b9a45568d74c2/html5/thumbnails/39.jpg)
Bibliografia
• CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; (2002). Algoritmos – Teoria e Prática. Tradução da 2ª edição americana. Rio de Janeiro. Editora Campus.▫ 22.4 – Ordenação topológica;▫ 24.2 – CM para GAO
• ZIVIANI, N. (2007). Projeto e Algoritmos com implementações em Java e C++. São Paulo. Editora Thomson;
40