algoritmos e teoria dos grafos aula 18 · algoritmos e teoria dos grafos aula 18 prof. murilo v. g....
TRANSCRIPT
![Page 1: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/1.jpg)
Algoritmos e Teoria dos GrafosAula 18
Prof. Murilo V. G. da Silva
DINF/UFPR
Material da Disciplina:
Renato J. S. Carmo
![Page 2: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/2.jpg)
DFS em grafos direcionados
Seja G um grafo conexo
(ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 3: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/3.jpg)
DFS em grafos direcionados
Seja G um grafo conexo (ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 4: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/4.jpg)
DFS em grafos direcionados
Seja G um grafo conexo (ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?
Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 5: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/5.jpg)
DFS em grafos direcionados
Seja G um grafo conexo (ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 6: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/6.jpg)
DFS em grafos direcionados
Seja G um grafo conexo (ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 7: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/7.jpg)
DFS em grafos direcionados
Seja G um grafo conexo (ou um grafo direcionado tal que S(G) e conexo).
Uma DFS em G simples sempre retorna uma arborescencia?Responta: SIM.
Uma DFS em um grafo direcionado sempre retorna uma arborescencia?
Responta: NAO.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 8: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/8.jpg)
DFS em grafos direcionados
Relacoes de ordem sobre os vertices:
Pre-ordem de uma floresta direcionada
Uma pre–ordem de F e uma permutacao de V (F ) na qual ancestrais sao anteriores aseus descendentes.
Pos-ordem de uma floresta direcionada
Uma pos–ordem de F e uma permutacao de V (F ) na qual ancestrais sao posteriores aseus descendentes.
Ordenacao topologica de um grafo direcionado
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e
i < j , ∀(vi , vj ) ∈ A(G)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 9: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/9.jpg)
DFS em grafos direcionados
Relacoes de ordem sobre os vertices:
Pre-ordem de uma floresta direcionada
Uma pre–ordem de F e uma permutacao de V (F ) na qual ancestrais sao anteriores aseus descendentes.
Pos-ordem de uma floresta direcionada
Uma pos–ordem de F e uma permutacao de V (F ) na qual ancestrais sao posteriores aseus descendentes.
Ordenacao topologica de um grafo direcionado
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e
i < j , ∀(vi , vj ) ∈ A(G)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 10: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/10.jpg)
DFS em grafos direcionados
Relacoes de ordem sobre os vertices:
Pre-ordem de uma floresta direcionada
Uma pre–ordem de F e uma permutacao de V (F ) na qual ancestrais sao anteriores aseus descendentes.
Pos-ordem de uma floresta direcionada
Uma pos–ordem de F e uma permutacao de V (F ) na qual ancestrais sao posteriores aseus descendentes.
Ordenacao topologica de um grafo direcionado
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e
i < j , ∀(vi , vj ) ∈ A(G)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 11: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/11.jpg)
DFS em grafos direcionados
Relacoes de ordem sobre os vertices:
Pre-ordem de uma floresta direcionada
Uma pre–ordem de F e uma permutacao de V (F ) na qual ancestrais sao anteriores aseus descendentes.
Pos-ordem de uma floresta direcionada
Uma pos–ordem de F e uma permutacao de V (F ) na qual ancestrais sao posteriores aseus descendentes.
Ordenacao topologica de um grafo direcionado
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e
i < j , ∀(vi , vj ) ∈ A(G)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 12: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/12.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 13: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/13.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 14: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/14.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 15: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/15.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 16: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/16.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 17: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/17.jpg)
DFS em grafos direcionados
Seja F a floresta direcionada resultante da execucao de uma busca em profundidadesobre o grafo direcionado G .
Teorema
Para cada v ∈ V (G) sejam v .pre e v .pos os ındices computados pelo busca
1 Se (u, v) e arco de F (arco de arvore) ou arco de avanco com relacao a F , entaou.pre < v .pre < v .pos < u.pos.
2 Se (u, v) e arco cruzado com relacao a F , entao v .pre < v .pos < u.pre < u.pos.
3 A ordem < induzida sobre V (G) definida da seguinte maneira:u < v se u.pre < v .pre, ∀u, v ∈ V (G),e uma pre–ordem de F .
4 A ordem < induzida sobre V (G) definida da seguinte maneirau < v se u.pos < v .pos, ∀u, v ∈ V (G),e uma pos–ordem de F .
Prova: exercıcio
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 18: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/18.jpg)
DFS em grafos direcionados (aplicacao)
Ordenacao Topologica (relembrando)
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e,
i < j , ∀(vi , vj ) ∈ A(G)
Teorema
Um grafo direcionado G admite ordenacao topologica se e somente se e acıclico.
Prova: exercıcio
Teorema
O reverso da pos–ordem de uma floresta direcionada resultante de uma busca emprofundidade em um grafo direcionado acıclico G , e uma ordenacao topologica de G .
Prova: Proxima aula
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 19: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/19.jpg)
DFS em grafos direcionados (aplicacao)
Ordenacao Topologica (relembrando)
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e,
i < j , ∀(vi , vj ) ∈ A(G)
Teorema
Um grafo direcionado G admite ordenacao topologica se e somente se e acıclico.
Prova: exercıcio
Teorema
O reverso da pos–ordem de uma floresta direcionada resultante de uma busca emprofundidade em um grafo direcionado acıclico G , e uma ordenacao topologica de G .
Prova: Proxima aula
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 20: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/20.jpg)
DFS em grafos direcionados (aplicacao)
Ordenacao Topologica (relembrando)
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e,
i < j , ∀(vi , vj ) ∈ A(G)
Teorema
Um grafo direcionado G admite ordenacao topologica se e somente se e acıclico.
Prova: exercıcio
Teorema
O reverso da pos–ordem de uma floresta direcionada resultante de uma busca emprofundidade em um grafo direcionado acıclico G , e uma ordenacao topologica de G .
Prova: Proxima aula
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 21: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/21.jpg)
DFS em grafos direcionados (aplicacao)
Ordenacao Topologica (relembrando)
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e,
i < j , ∀(vi , vj ) ∈ A(G)
Teorema
Um grafo direcionado G admite ordenacao topologica se e somente se e acıclico.
Prova: exercıcio
Teorema
O reverso da pos–ordem de uma floresta direcionada resultante de uma busca emprofundidade em um grafo direcionado acıclico G , e uma ordenacao topologica de G .
Prova: Proxima aula
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 22: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/22.jpg)
DFS em grafos direcionados (aplicacao)
Ordenacao Topologica (relembrando)
Uma ordenacao topologica de um grafo direcionado G e uma permutacao (v1, . . . , vn)de V (G) que “respeita a direcao dos arcos” de G , isto e,
i < j , ∀(vi , vj ) ∈ A(G)
Teorema
Um grafo direcionado G admite ordenacao topologica se e somente se e acıclico.
Prova: exercıcio
Teorema
O reverso da pos–ordem de uma floresta direcionada resultante de uma busca emprofundidade em um grafo direcionado acıclico G , e uma ordenacao topologica de G .
Prova: Proxima aula
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 23: Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader036.vdocuments.net/reader036/viewer/2022081400/604e066fbec9a6755e3e7324/html5/thumbnails/23.jpg)
Algoritmo de Ordenacao Topologica
TopSort (G)
1: ∀v ∈ V (G), v .estado = 02: InicializaPilha(G .Pilha)3: for cada v ∈ V (G) do4: if v .estado = 0 then5: RecursiveTopSort(G , v)6: end if7: end for
RecursiveTopSort (G , r)
1: r .estado = 12: for cada v ∈ ΓG (r) do3: if v .estado = 0 then4: RecursiveTopSort(G , v)5: end if6: end for7: Empilhe (G .Pilha, r)8: r .estado = 2
Relembrando: o grafo de entrada e direcionado e acıclico
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos