Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G....

23
Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo

Transcript of Algoritmos e Teoria dos Grafos Aula 18 · Algoritmos e Teoria dos Grafos Aula 18 Prof. Murilo V. G....

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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