91
Introdu¸c˜ ao Algoritmos em Grafos Marco A L Barbosa cba Este trabalho est´ a licenciado com uma Licen¸ ca Creative Commons - Atribui¸c˜ ao-CompartilhaIgual 4.0 Internacional.

Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Introducao

Algoritmos em Grafos

Marco A L Barbosa

cba

Este trabalho esta licenciado com uma Licenca Creative Commons - Atribuicao-CompartilhaIgual 4.0 Internacional.

Page 2: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conteudo

Historico

Definicoes e propriedades

Caminhos e ciclos

Conexidade

Isomorfismo

Subgrafos

Versoes orientada e nao orientada

Vizinho

Grafos com nomes especiais

Variantes de grafos

Referencias

Page 3: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

O estudo utilizando apenas este material nao e suficiente para oentendimento do conteudo. Recomendamos a leitura dasreferencias no final deste material e a resolucao (por parte doaluno) de todos os exercıcios indicados.

3 / 39

Page 4: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

Page 5: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

I Em 1736 Leonhard Euler propos e resolveu o problema dassete pontes de Konigsberg

I A cidade de Konigsberg era cortada por um rio que continhaduas ilhas

I Existiam 7 pontes que ligavam as ilhas e as margens do rios

I O problema consistia em encontrar um caminho que cruzassecada uma das 7 pontes uma unica vez

I Existe tal caminho?

5 / 39

Page 6: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

I Euler formulou o problema em termos abstratos

→ →

6 / 39

Page 7: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

I Euler formulou o problema em termos abstratos

6 / 39

Page 8: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

I Euler formulou o problema em termos abstratos

→ →

6 / 39

Page 9: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Historico

I Euler observou que toda vez que alguem atinge uma porcaode terra por uma ponte, deve deixar a porcao de terratambem por uma ponte

I Para que cada ponte fosse cruzada apenas uma vez, todas asporcoes de terra, exceto talvez a inicial e a final, deveriam terum numero par de pontes ligadas a ela

I Mas todas as porcoes de terra do problema tem um numeroımpar de pontes

I Com esta observacao, Euler mostrou que nao e possıvel fazero percurso

I Surgiu a area da matematica que e conhecida como Teoriados Grafos

7 / 39

Page 10: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Page 11: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Um grafo orientado G e um par (V ,E ), onde

I V e um conjunto finito, chamado de conjunto de verticesI E e uma relacao binaria em V , chamado de conjunto de

arestas

I Em um grafo nao orientado G = (V ,E ), E consiste depares de vertices nao ordenados

I Os grafos podem ser representados graficamente

I Os vertices sao desenhados como cırculosI As arestas sao desenhadas como curvas ligando dois cırculos,

no caso de grafos orientados, as curvas tem um seta em umadas extremidades

9 / 39

Page 12: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Figura: B-2

I Na figura B-2-a, qual e o conjunto de vertices e o conjunto dearestas?

V = {1, 2, 3, 4, 5, 6},E = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (6, 3)}

I Na figura B-2-b, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6}, E = {(1, 2), (1, 5), (2, 5), (3, 6)}

10 / 39

Page 13: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Figura: B-2

I Na figura B-2-a, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6},E = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (6, 3)}

I Na figura B-2-b, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6}, E = {(1, 2), (1, 5), (2, 5), (3, 6)}

10 / 39

Page 14: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Figura: B-2

I Na figura B-2-a, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6},E = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (6, 3)}

I Na figura B-2-b, qual e o conjunto de vertices e o conjunto dearestas?

V = {1, 2, 3, 4, 5, 6}, E = {(1, 2), (1, 5), (2, 5), (3, 6)}

10 / 39

Page 15: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Figura: B-2

I Na figura B-2-a, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6},E = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (6, 3)}

I Na figura B-2-b, qual e o conjunto de vertices e o conjunto dearestas?V = {1, 2, 3, 4, 5, 6}, E = {(1, 2), (1, 5), (2, 5), (3, 6)}

10 / 39

Page 16: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

Figura: B-2

I ObservacoesI Em grafos orientados sao permitidos autoloops (arestas de um

vertice para ele mesmo). Em grafos nao orientados nao saopermitidos. Exemplo: aresta (2, 2) da figura B-2-a

I Um grafo orientado sem autoloops e chamado de grafosimples

I Para grafos nao orientados, definimos a convencao de utilizar(u, v) para uma aresta, ao inves da notacao de conjunto{u, v}. (u, v) e (v , u) sao consideradas a mesma aresta

11 / 39

Page 17: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 18: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?

(2, 2), (2, 4) e (2, 5)I Quais as arestas que entram no vertice 2 na figura B-2-a?

(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 19: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 20: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?

(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 21: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 22: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e v

I Quais sao as arestas incidentes no vertice 2 da figura B-2-b?(1, 2) e (2, 5)

12 / 39

Page 23: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 24: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v) em um grafo orientado, dizemos que

I (u, v) e incidente do ou sai do vertice u e e incidente no ouentra no vertice v

I Quais as arestas que saem do vertice 2 na figura B-2-a?(2, 2), (2, 4) e (2, 5)

I Quais as arestas que entram no vertice 2 na figura B-2-a?(1, 2) e (2, 2)

I Para uma aresta (u, v) em um grafo nao orientado, dizemosque

I (u, v) e incidente nos vertices u e vI Quais sao as arestas incidentes no vertice 2 da figura B-2-b?

(1, 2) e (2, 5)

12 / 39

Page 25: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v), dizemos que o vertice v e adjacenteao vertice u

I Para grafos nao orientados, a relacao de adjacencia e simetrica

I Se v e adjacente a u em um grafo orientado, escrevemosu → v

I O vertice 1 e adjacente ao vertice 2 na figura B-2-b? Sim. Ena figura B-2-a? Nao, pois nao existe a aresta (2, 1)

13 / 39

Page 26: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v), dizemos que o vertice v e adjacenteao vertice u

I Para grafos nao orientados, a relacao de adjacencia e simetrica

I Se v e adjacente a u em um grafo orientado, escrevemosu → v

I O vertice 1 e adjacente ao vertice 2 na figura B-2-b?

Sim. Ena figura B-2-a? Nao, pois nao existe a aresta (2, 1)

13 / 39

Page 27: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v), dizemos que o vertice v e adjacenteao vertice u

I Para grafos nao orientados, a relacao de adjacencia e simetrica

I Se v e adjacente a u em um grafo orientado, escrevemosu → v

I O vertice 1 e adjacente ao vertice 2 na figura B-2-b? Sim.

Ena figura B-2-a? Nao, pois nao existe a aresta (2, 1)

13 / 39

Page 28: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v), dizemos que o vertice v e adjacenteao vertice u

I Para grafos nao orientados, a relacao de adjacencia e simetrica

I Se v e adjacente a u em um grafo orientado, escrevemosu → v

I O vertice 1 e adjacente ao vertice 2 na figura B-2-b? Sim. Ena figura B-2-a?

Nao, pois nao existe a aresta (2, 1)

13 / 39

Page 29: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Para uma aresta (u, v), dizemos que o vertice v e adjacenteao vertice u

I Para grafos nao orientados, a relacao de adjacencia e simetrica

I Se v e adjacente a u em um grafo orientado, escrevemosu → v

I O vertice 1 e adjacente ao vertice 2 na figura B-2-b? Sim. Ena figura B-2-a? Nao, pois nao existe a aresta (2, 1)

13 / 39

Page 30: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes nele

I Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 31: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2?

2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 32: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 33: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 34: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2?

2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 35: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 36: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 37: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2?

Sim, overtice 4 da figura B-2-b

14 / 39

Page 38: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Definicoes e propriedades

I Em um grafo nao orientado

I O grau de um vertice e o numero de arestas incidentes neleI Na figura B-2-b, qual e o grau do vertice 2? 2

I Em um grafo orientado

I O grau de saıda de um vertice e o numero de arestas quesaem dele

I O grau de entrada de um vertice e o numero de arestas queentram nele

I O grau de um vertice e soma do grau de saıda e do grau deentrada

I Na figura B-2-a, qual e o grau de entrada, o grau de saıda e ograu do vertice 2? 2, 3 e 5

I Um vertice isolado tem grau 0

I Existe algum vertice isolado nos grafos da figura B-2? Sim, overtice 4 da figura B-2-b

14 / 39

Page 39: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

Page 40: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um caminho de comprimento k de um vertice u ate umvertice u′ em um grafo G = (V ,E ) e uma sequencia〈v0, v1, v2, . . . , vk〉 de vertices tal que u = v0, u′ = vk e(vi−1, vi ) ∈ E para i = 1, 2, . . . , k

I O comprimento do caminho e a quantidade de aresta nocaminho

I O caminho contem os vertice v0, v1, . . . , vk e as arestas(v0, v1), (v1, v2), . . . , (vk−1, vk)

I Se existe um caminho p de u ate u′, dizemos que u′ e

acessıvel a partir de u via p, ou up u′ se o grafo e orientado

I Sempre existe um caminho de comprimento 0 de u para u

I Exemplos da figura B-2-a: 〈1, 2, 5, 4〉, 〈2, 5, 4, 5〉 e 〈3〉

16 / 39

Page 41: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um caminho e simples se todos os vertices no caminho saodistintos

I Existe um caminho de tamanho 5 no grafo da figura B-2-a?

Sim. Por exemplo, 〈1, 2, 5, 4, 1, 2〉I Existe um caminho simples de tamanho 5 no grafo da figura

B-2-a? Nao

17 / 39

Page 42: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um caminho e simples se todos os vertices no caminho saodistintos

I Existe um caminho de tamanho 5 no grafo da figura B-2-a?Sim. Por exemplo, 〈1, 2, 5, 4, 1, 2〉

I Existe um caminho simples de tamanho 5 no grafo da figuraB-2-a? Nao

17 / 39

Page 43: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um caminho e simples se todos os vertices no caminho saodistintos

I Existe um caminho de tamanho 5 no grafo da figura B-2-a?Sim. Por exemplo, 〈1, 2, 5, 4, 1, 2〉

I Existe um caminho simples de tamanho 5 no grafo da figuraB-2-a?

Nao

17 / 39

Page 44: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um caminho e simples se todos os vertices no caminho saodistintos

I Existe um caminho de tamanho 5 no grafo da figura B-2-a?Sim. Por exemplo, 〈1, 2, 5, 4, 1, 2〉

I Existe um caminho simples de tamanho 5 no grafo da figuraB-2-a? Nao

17 / 39

Page 45: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um subcaminho do caminho p = 〈v0, v1, . . . , vk〉 e umasubsequencia contıgua de seus vertices

I Em um grafo orientado

I Um caminho 〈v0, v1, . . . , vk〉 forma um ciclo se v0 = vk e ocaminho contem pelo menos uma aresta

I O ciclo e simples se alem disso v1, v2, . . . , vk sao distintosI Dois caminhos 〈v0, v1, . . . , vk−1, v0〉 e 〈v ′0, v ′1, . . . , v ′k−1, v

′0〉

formam o mesmo ciclo se existe um inteiro j tal quev ′i = v(i+j) mod k para i = 0, 1, . . . , k − 1

I Considerando a figura B-2-a, de dois caminhos que formam omesmo ciclo que o caminho 〈1, 2, 4, 1〉.

〈2, 4, 1, 2〉 e 〈4, 1, 2, 4〉

18 / 39

Page 46: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Um subcaminho do caminho p = 〈v0, v1, . . . , vk〉 e umasubsequencia contıgua de seus vertices

I Em um grafo orientado

I Um caminho 〈v0, v1, . . . , vk〉 forma um ciclo se v0 = vk e ocaminho contem pelo menos uma aresta

I O ciclo e simples se alem disso v1, v2, . . . , vk sao distintosI Dois caminhos 〈v0, v1, . . . , vk−1, v0〉 e 〈v ′0, v ′1, . . . , v ′k−1, v

′0〉

formam o mesmo ciclo se existe um inteiro j tal quev ′i = v(i+j) mod k para i = 0, 1, . . . , k − 1

I Considerando a figura B-2-a, de dois caminhos que formam omesmo ciclo que o caminho 〈1, 2, 4, 1〉. 〈2, 4, 1, 2〉 e 〈4, 1, 2, 4〉

18 / 39

Page 47: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Caminhos e ciclos

I Em um grafo nao orientado

I Um caminho 〈v0, v1, . . . , vk〉 forma um ciclo se k > 0, v0 = vke todas as arestas do caminho sao distintas

I O ciclo e simples se v1, v2, . . . , vk sao distintos

I Um grafo sem ciclo e acıclico

19 / 39

Page 48: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

Page 49: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo nao orientado e conexo se cada vertice e acessıvel apartir de todos os outros

I Os componentes conexos de um grafo sao as classes deequivalencia de vertices sob a relacao “e acessıvel a partir de”

I Na figura B-2-b quais sao os componentes conexos? {1, 2, 5},{3, 6} e {4}

I Um grafo nao orientado e conexo se tem exatamente umcomponente conexo

21 / 39

Page 50: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo nao orientado e conexo se cada vertice e acessıvel apartir de todos os outros

I Os componentes conexos de um grafo sao as classes deequivalencia de vertices sob a relacao “e acessıvel a partir de”

I Na figura B-2-b quais sao os componentes conexos?

{1, 2, 5},{3, 6} e {4}

I Um grafo nao orientado e conexo se tem exatamente umcomponente conexo

21 / 39

Page 51: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo nao orientado e conexo se cada vertice e acessıvel apartir de todos os outros

I Os componentes conexos de um grafo sao as classes deequivalencia de vertices sob a relacao “e acessıvel a partir de”

I Na figura B-2-b quais sao os componentes conexos? {1, 2, 5},{3, 6} e {4}

I Um grafo nao orientado e conexo se tem exatamente umcomponente conexo

21 / 39

Page 52: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo nao orientado e conexo se cada vertice e acessıvel apartir de todos os outros

I Os componentes conexos de um grafo sao as classes deequivalencia de vertices sob a relacao “e acessıvel a partir de”

I Na figura B-2-b quais sao os componentes conexos? {1, 2, 5},{3, 6} e {4}

I Um grafo nao orientado e conexo se tem exatamente umcomponente conexo

21 / 39

Page 53: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5} , {3} e {6}

I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamenteacessıveis

I Os vertices {3, 6} nao formam um componente fortementeconexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 54: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?

{1, 2, 4, 5} , {3} e {6}I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamente

acessıveisI Os vertices {3, 6} nao formam um componente fortemente

conexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 55: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5}

, {3} e {6}I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamente

acessıveisI Os vertices {3, 6} nao formam um componente fortemente

conexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 56: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5} , {3} e {6}

I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamenteacessıveis

I Os vertices {3, 6} nao formam um componente fortementeconexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 57: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5} , {3} e {6}

I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamenteacessıveis

I Os vertices {3, 6} nao formam um componente fortementeconexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 58: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5} , {3} e {6}

I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamenteacessıveis

I Os vertices {3, 6} nao formam um componente fortementeconexo. Por que?

O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 59: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Conexidade

I Um grafo orientado e fortemente conexo se para cada parde vertices (u, v), v e acessıvel a partir de u

I Os componentes fortemente conexos de um grafoorientado sao as classes de equivalencia de vertices sob arelacao “sao mutuamente acessıveis”

I Um grafo orientado e fortemente conexo se ele so tem umcomponente fortemente conexo

I Quais os componentes fortemente conexos da figura B-2-a?{1, 2, 4, 5} , {3} e {6}

I Todos os pares de vertices em {1, 2, 4, 5} sao mutuamenteacessıveis

I Os vertices {3, 6} nao formam um componente fortementeconexo. Por que? O vertice 6 nao pode ser acessado a partirdo vertice 3

22 / 39

Page 60: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

Page 61: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Dois grafos G = (V ,E ) e G ′ = (V ′,E ′) sao isomorfos seexiste uma bijecao f : V → V ′ tal que (u, v) ∈ E se esomente se (f (u), f (v)) ∈ E ′

I Podemos identificar os vertices de G como vertices de G ′,mantendo as arestas correspondentes em G e G ′

24 / 39

Page 62: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

Figura: B-3

25 / 39

Page 63: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-a sao isomorfos entre si?

I V = {1, 2, 3, 4, 5, 6} e V ′ = {u, v ,w , x , y , z}

I |V | = 6 e |V ′| = 6 ; |E | = 9 e |E ′| = 9I Mapeamento de V para V ′ dado pela funcao bijetora

f (1) = u, f (2) = v , f (3) = w , f (4) = x , f (5) = y , f (6) = zI Sim, sao isomorfos

26 / 39

Page 64: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-a sao isomorfos entre si?

I V = {1, 2, 3, 4, 5, 6} e V ′ = {u, v ,w , x , y , z}I |V | = 6 e |V ′| = 6 ; |E | = 9 e |E ′| = 9

I Mapeamento de V para V ′ dado pela funcao bijetoraf (1) = u, f (2) = v , f (3) = w , f (4) = x , f (5) = y , f (6) = z

I Sim, sao isomorfos

26 / 39

Page 65: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-a sao isomorfos entre si?

I V = {1, 2, 3, 4, 5, 6} e V ′ = {u, v ,w , x , y , z}I |V | = 6 e |V ′| = 6 ; |E | = 9 e |E ′| = 9I Mapeamento de V para V ′ dado pela funcao bijetora

f (1) = u, f (2) = v , f (3) = w , f (4) = x , f (5) = y , f (6) = z

I Sim, sao isomorfos

26 / 39

Page 66: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-a sao isomorfos entre si?

I V = {1, 2, 3, 4, 5, 6} e V ′ = {u, v ,w , x , y , z}I |V | = 6 e |V ′| = 6 ; |E | = 9 e |E ′| = 9I Mapeamento de V para V ′ dado pela funcao bijetora

f (1) = u, f (2) = v , f (3) = w , f (4) = x , f (5) = y , f (6) = zI Sim, sao isomorfos

26 / 39

Page 67: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-b, sao isomorfos?

I V = {1, 2, 3, 4, 5} e V ′ = {u, v ,w , x , y}

I |V | = 5 e |V ′| = 5; |E | = 7 e |E ′| = 7I G tem um vertice de grau 4, mas G ′ nao temI Nao sao isomorfos

27 / 39

Page 68: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-b, sao isomorfos?

I V = {1, 2, 3, 4, 5} e V ′ = {u, v ,w , x , y}I |V | = 5 e |V ′| = 5; |E | = 7 e |E ′| = 7

I G tem um vertice de grau 4, mas G ′ nao temI Nao sao isomorfos

27 / 39

Page 69: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-b, sao isomorfos?

I V = {1, 2, 3, 4, 5} e V ′ = {u, v ,w , x , y}I |V | = 5 e |V ′| = 5; |E | = 7 e |E ′| = 7I G tem um vertice de grau 4, mas G ′ nao tem

I Nao sao isomorfos

27 / 39

Page 70: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Isomorfismo

I Os grafos da figura B-3-b, sao isomorfos?

I V = {1, 2, 3, 4, 5} e V ′ = {u, v ,w , x , y}I |V | = 5 e |V ′| = 5; |E | = 7 e |E ′| = 7I G tem um vertice de grau 4, mas G ′ nao temI Nao sao isomorfos

27 / 39

Page 71: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Subgrafos

Page 72: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Subgrafos

I G ′ = (V ′,E ′) e um subgrafo de G = (V ,E ) se V ′ ⊆ V eE ′ ⊆ E

I Dado um conjunto V ′ de modo que V ′ ⊆ V , o subgrafo de Ginduzido por V ′ e o grafo G ′ = (V ′,E ′), ondeE ′ = {(u, v) ∈ E : u, v ∈ V ′}

I Qual e o subgrafo induzido pelo conjunto de vertices{1, 2, 3, 6} na figura B-2-a?G = ({1, 2, 3, 6}, {(1, 2), (2, 2), (6, 3)}

29 / 39

Page 73: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Subgrafos

I G ′ = (V ′,E ′) e um subgrafo de G = (V ,E ) se V ′ ⊆ V eE ′ ⊆ E

I Dado um conjunto V ′ de modo que V ′ ⊆ V , o subgrafo de Ginduzido por V ′ e o grafo G ′ = (V ′,E ′), ondeE ′ = {(u, v) ∈ E : u, v ∈ V ′}

I Qual e o subgrafo induzido pelo conjunto de vertices{1, 2, 3, 6} na figura B-2-a?

G = ({1, 2, 3, 6}, {(1, 2), (2, 2), (6, 3)}

29 / 39

Page 74: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Subgrafos

I G ′ = (V ′,E ′) e um subgrafo de G = (V ,E ) se V ′ ⊆ V eE ′ ⊆ E

I Dado um conjunto V ′ de modo que V ′ ⊆ V , o subgrafo de Ginduzido por V ′ e o grafo G ′ = (V ′,E ′), ondeE ′ = {(u, v) ∈ E : u, v ∈ V ′}

I Qual e o subgrafo induzido pelo conjunto de vertices{1, 2, 3, 6} na figura B-2-a?G = ({1, 2, 3, 6}, {(1, 2), (2, 2), (6, 3)}

29 / 39

Page 75: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Versoes orientada e nao orientada

Page 76: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Versoes orientada e nao orientada

I Dado um grafo nao orientado G = (V ,E ), a versaoorientada de G e o grafo orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se (u, v) ∈ E

I Cada aresta nao orientada (u, v) em G e substituıda na versaoorientada pelas duas arestas orientadas (u, v) e (v , u)

I Dado um grafo orientado G = (V ,E ), a versao naoorientada de G e o grafo nao orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se u 6= v e (u, v) ∈ E

I A versao nao orientada contem as arestas de G “com suasorientacoes removidas” e autoloops eliminados

I Mesmo que o grafo orientado contenha as arestas (u, v) e(v , u), o grafo nao orientado contera (u, v) somente uma vez

31 / 39

Page 77: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Versoes orientada e nao orientada

I Dado um grafo nao orientado G = (V ,E ), a versaoorientada de G e o grafo orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se (u, v) ∈ E

I Cada aresta nao orientada (u, v) em G e substituıda na versaoorientada pelas duas arestas orientadas (u, v) e (v , u)

I Dado um grafo orientado G = (V ,E ), a versao naoorientada de G e o grafo nao orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se u 6= v e (u, v) ∈ E

I A versao nao orientada contem as arestas de G “com suasorientacoes removidas” e autoloops eliminados

I Mesmo que o grafo orientado contenha as arestas (u, v) e(v , u), o grafo nao orientado contera (u, v) somente uma vez

31 / 39

Page 78: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Versoes orientada e nao orientada

I Dado um grafo nao orientado G = (V ,E ), a versaoorientada de G e o grafo orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se (u, v) ∈ E

I Cada aresta nao orientada (u, v) em G e substituıda na versaoorientada pelas duas arestas orientadas (u, v) e (v , u)

I Dado um grafo orientado G = (V ,E ), a versao naoorientada de G e o grafo nao orientado G ′ = (V ,E ′), onde(u, v) ∈ E ′ se e somente se u 6= v e (u, v) ∈ E

I A versao nao orientada contem as arestas de G “com suasorientacoes removidas” e autoloops eliminados

I Mesmo que o grafo orientado contenha as arestas (u, v) e(v , u), o grafo nao orientado contera (u, v) somente uma vez

31 / 39

Page 79: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Vizinho

Page 80: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Vizinho

I Em um grafo orientado, um vizinho de um vertice u e qualquervertice que seja adjacente a u na versao nao orientada

I v e vizinho de u se (u, v) ∈ E ou (v , u) ∈ E

I Em um grafo nao orientado, u e v sao vizinhos se saoadjacentes

33 / 39

Page 81: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Vizinho

I Em um grafo orientado, um vizinho de um vertice u e qualquervertice que seja adjacente a u na versao nao orientada

I v e vizinho de u se (u, v) ∈ E ou (v , u) ∈ E

I Em um grafo nao orientado, u e v sao vizinhos se saoadjacentes

33 / 39

Page 82: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Grafos com nomes especiais

Page 83: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Grafos com nomes especiais

I Grafo completo e um grafo nao orientado no qual todo parde vertices e adjacente

I Um grafo completo com n vertices e chamado de Kn

I Grafo bipartido e um grafo nao orientado G = (V ,E ) emque V pode ser particionado em dois conjuntos V1 e V2 taisque (u, v) ∈ E implica queu ∈ V1 e v ∈ V2 ouu ∈ V2 e v ∈ V1

I Todas as arestas ficam entre os dois conjuntos V1 e V2

I Um grafo acıclico nao orientado e uma floresta

I Um grafo conexo acıclico nao orientado e uma arvore (livre)

I gao: grafo acıclico orientado

35 / 39

Page 84: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Grafos com nomes especiais

I Grafo completo e um grafo nao orientado no qual todo parde vertices e adjacente

I Um grafo completo com n vertices e chamado de Kn

I Grafo bipartido e um grafo nao orientado G = (V ,E ) emque V pode ser particionado em dois conjuntos V1 e V2 taisque (u, v) ∈ E implica queu ∈ V1 e v ∈ V2 ouu ∈ V2 e v ∈ V1

I Todas as arestas ficam entre os dois conjuntos V1 e V2

I Um grafo acıclico nao orientado e uma floresta

I Um grafo conexo acıclico nao orientado e uma arvore (livre)

I gao: grafo acıclico orientado

35 / 39

Page 85: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Grafos com nomes especiais

I Grafo completo e um grafo nao orientado no qual todo parde vertices e adjacente

I Um grafo completo com n vertices e chamado de Kn

I Grafo bipartido e um grafo nao orientado G = (V ,E ) emque V pode ser particionado em dois conjuntos V1 e V2 taisque (u, v) ∈ E implica queu ∈ V1 e v ∈ V2 ouu ∈ V2 e v ∈ V1

I Todas as arestas ficam entre os dois conjuntos V1 e V2

I Um grafo acıclico nao orientado e uma floresta

I Um grafo conexo acıclico nao orientado e uma arvore (livre)

I gao: grafo acıclico orientado

35 / 39

Page 86: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Grafos com nomes especiais

I Grafo completo e um grafo nao orientado no qual todo parde vertices e adjacente

I Um grafo completo com n vertices e chamado de Kn

I Grafo bipartido e um grafo nao orientado G = (V ,E ) emque V pode ser particionado em dois conjuntos V1 e V2 taisque (u, v) ∈ E implica queu ∈ V1 e v ∈ V2 ouu ∈ V2 e v ∈ V1

I Todas as arestas ficam entre os dois conjuntos V1 e V2

I Um grafo acıclico nao orientado e uma floresta

I Um grafo conexo acıclico nao orientado e uma arvore (livre)

I gao: grafo acıclico orientado

35 / 39

Page 87: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Variantes de grafos

Page 88: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Variantes de grafos

I Semelhantes a grafos nao orientados

I Multigrafo: pode ter varias arestas entre vertices e tambemautoloops

I Hipergrafo: cada hiperarestas, em lugar de conectar doisvertices, conecta um subconjunto arbitrario de vertices

37 / 39

Page 89: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Variantes de grafos

I Semelhantes a grafos nao orientados

I Multigrafo: pode ter varias arestas entre vertices e tambemautoloops

I Hipergrafo: cada hiperarestas, em lugar de conectar doisvertices, conecta um subconjunto arbitrario de vertices

37 / 39

Page 90: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Referencias

Page 91: Introdução - Algoritmos em Grafos · De ni˘c~oes e propriedades IUm grafo orientado G e um par (V;E), onde I V e um conjunto nito, chamado de conjunto de v ertices I E e uma rela˘c~ao

Referencias

I Wikipedia - Seven Bridges of Konigsberg

I Thomas H. Cormen et al. Introduction to Algorithms. 3rdedition. Capıtulo B.4.

39 / 39