algoritmos e teoria dos grafos aula 18 · algoritmos e teoria dos grafos aula 18 prof. murilo v. g....
Post on 14-Oct-2020
7 Views
Preview:
TRANSCRIPT
Algoritmos e Teoria dos GrafosAula 18
Prof. Murilo V. G. da Silva
DINF/UFPR
Material da Disciplina:
Renato J. S. Carmo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
top related