Teoria dos Grafos

101
Teoria dos Grafos Profª Loana Tito Nogueira

description

Teoria dos Grafos. Profª Loana Tito Nogueira. Bibliografia. 1. J. L. Szwarcfiter. Grafos e Algoritmos Computacionais. Editora Campus. 1988 2. P. O Boaventura Neto. Grafos: Teoria, Modelos, Algoritmos. Editora Edgard Blücher Ltda, 1996. - PowerPoint PPT Presentation

Transcript of Teoria dos Grafos

Page 1: Teoria dos Grafos

Teoria dos Grafos

Profª Loana Tito Nogueira

Page 2: Teoria dos Grafos

Bibliografia

1. J. L. Szwarcfiter. Grafos e Algoritmos Computacionais. Editora Campus. 19882. P. O Boaventura Neto. Grafos: Teoria, Modelos, Algoritmos. Editora Edgard Blücher Ltda, 1996.3. F. Harary. Graph Theory, Perseus, 1969.4. J. A Bondy, U. S. R. Murty. Graph Theory with applications. Elsevier, 1976.

Page 3: Teoria dos Grafos

Bibliografia

1. J. L. Szwarcfiter. Grafos e Algoritmos Computacionais. Editora Campus. 19882. P. O Boaventura Neto. Grafos: Teoria, Modelos, Algoritmos. Editora Edgard Blücher Ltda, 1996.3. F. Harary. Graph Theory, Perseus, 1969.4. J. A Bondy, U. S. R. Murty. Graph Theory with applications. Elsevier, 1976.

Page 4: Teoria dos Grafos

Motivação

Page 5: Teoria dos Grafos

Motivação Por que estudar grafos?

Importante ferramenta matemática com aplicação em diversas áreas do conhecimento

Utilizados na definição e/ou resolução de problemas

Existem centenas de problemas computacionais que empregam grafos com sucesso.

Page 6: Teoria dos Grafos

Motivação Por que estudar grafos?

Importante ferramenta matemática com aplicação em diversas áreas do conhecimento

Utilizados na definição e/ou resolução de problemas

Existem centenas de problemas computacionais que empregam grafos com sucesso.

Page 7: Teoria dos Grafos

Motivação Por que estudar grafos?

Importante ferramenta matemática com aplicação em diversas áreas do conhecimento

Utilizados na definição e/ou resolução de problemas

Existem centenas de problemas computacionais que empregam grafos com sucesso.

Page 8: Teoria dos Grafos

Motivação Por que estudar grafos?

Importante ferramenta matemática com aplicação em diversas áreas do conhecimento

Utilizados na definição e/ou resolução de problemas

Existem centenas de problemas computacionais que empregam grafos com sucesso.

Page 9: Teoria dos Grafos

Motivação Por que estudar grafos?

Importante ferramenta matemática com aplicação em diversas áreas do conhecimento

Utilizados na definição e/ou resolução de problemas

Existem centenas de problemas computacionais que empregam grafos com sucesso.

Page 10: Teoria dos Grafos

As pontes de Königsberg

Page 11: Teoria dos Grafos

As pontes de Königsberg

Em Königsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa região

existiam 7 pontes, como mostra a figura.

Page 12: Teoria dos Grafos

As pontes de Königsberg

Em Königsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa região

existiam 7 pontes, como mostra a figura.

Page 13: Teoria dos Grafos

As pontes de Königsberg

É possível andar por toda a cidade de tal modo que cada ponte seja atravessada

exatamente uma vez?

Page 14: Teoria dos Grafos

As pontes de Königsberg

Não é possível !!!!!

Page 15: Teoria dos Grafos

As pontes de Königsberg

Page 16: Teoria dos Grafos

Remodelando o problema

Page 17: Teoria dos Grafos

Remodelando o problema

Page 18: Teoria dos Grafos

Remodelando o problema

Page 19: Teoria dos Grafos

Remodelando o problema

O problema agora consiste em percorrer todos os arcos, passando por cada um apenas uma vez, sem

levantar o lápis do papel.

Page 20: Teoria dos Grafos

Teoria de Grafos

Na teoria de grafos, um caminho completo com as propriedades descritas acima de não retraçar nenhum arco é chamado de TRAJETÓRIA de EULER

Page 21: Teoria dos Grafos

Outro Exemplo:

Será que existe alguma trajetória de Euler para o gráfico ao lado? Se existir, como ela é?

Page 22: Teoria dos Grafos

Ementa do Curso Grafos e Subgrafos Árvores Conectividade Ciclo Hamiltoniano e Caminho Euleriano Emparelhamento Coloração de Arestas Conjuntos Independentes e Cliques Coloração de Vértices Grafos Planares Grafos Direcionados

Page 23: Teoria dos Grafos

Avaliação:

Listas de Exercícios 2 Avaliações: PR1 e PR2

Trabalho (Alunos de Doutorado)

PR1: 24/05

PR2: 17/07

Final: 19/07

Page 24: Teoria dos Grafos

Grafos e Subgrafos

Page 25: Teoria dos Grafos

Grafos e Subgrafos

Page 26: Teoria dos Grafos

Grafos e Subgrafos

Page 27: Teoria dos Grafos

Grafos e Subgrafos

Page 28: Teoria dos Grafos

Grafos e Subgrafos

Page 29: Teoria dos Grafos

Grafos e Subgrafos

Page 30: Teoria dos Grafos

Grafos e Subgrafos

Page 31: Teoria dos Grafos

Grafos e Subgrafos

Page 32: Teoria dos Grafos

Definição

G=(V(G), E(G), G)

Page 33: Teoria dos Grafos

Definição

G=(V(G), E(G), G)

Conjunto não vazio de vértices

Page 34: Teoria dos Grafos

Definição

G=(V(G), E(G), G)

Conjunto não vazio de vértices

Conjunto disjunto de V(G),chamado arestas

Page 35: Teoria dos Grafos

Definição

G=(V(G), E(G), G)

Conjunto não vazio de vértices

Conjunto disjunto de V(G),chamado arestas

Função que associacada aresta de G um par

de vértices de G

Page 36: Teoria dos Grafos

Definição

G=(V(G), E(G), G)

Conjunto não vazio de vértices

Conjunto disjunto de V(G),chamado arestas

Função que associacada aresta de G um par

de vértices de G

Se e=(u,v) então dizemos que e une u e v (u e v são ditos extremos de e)

Page 37: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

Page 38: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 39: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 40: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 41: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 42: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 43: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 44: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 45: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 46: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

Page 47: Teoria dos Grafos

Exemplo1:

G=(V(G), E(G), G), onde V(G) ={v1, v2, v3, v4, v5} E(G)={e1, e2, e3, e4, e5, e6, e7 , e8} G :

G(e1)= (v1, v2), G(e2)= (v2, v3), G(e3)= (v3, v3), G(e4)= (v3, v4), G(e5)= (v2, v4), G(e6)= (v4, v5), G(e7)= (v2, v5), G(e8)= (v2, v5)

v1

v2

v3

v4 v5

G

Page 48: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

Page 49: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 50: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 51: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 52: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 53: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 54: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 55: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 56: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 57: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

Page 58: Teoria dos Grafos

Exemplo2:

H=(V(H), E(H), H), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} G :

G(a)= (u, v), G(b)= (u, u), G(c)= (v, w), G(d)= (w, x), G(e)= (v, x), G(f)= (w, x), G(g)= (u, x), G(h)= (x, y)

u

vx

w

y

H

Page 59: Teoria dos Grafos

Observações

Page 60: Teoria dos Grafos

Observações Grafos são assim chamados por

poderem ser representados graficamente

Page 61: Teoria dos Grafos

Observações Grafos são assim chamados por

poderem ser representados graficamente

Existe uma única maneira de desenhar um grafo?

Page 62: Teoria dos Grafos

Observações Duas arestas num diagrama de um

grafo podem se interceptar num ponto que não é um vértice

Page 63: Teoria dos Grafos

Observações Duas arestas num diagrama de um

grafo podem se interceptar num ponto que não é um vértice

Grafos que possuem uma representação em que as aresta se interceptem apenas em seus extremos

são chamados planares

Page 64: Teoria dos Grafos

Definições e Conceitos

Page 65: Teoria dos Grafos

Definições e Conceitos Os extremos de uma aresta são

ditos incidentes com a aresta, e vice-versa.

Page 66: Teoria dos Grafos

Definições e Conceitos Os extremos de uma aresta são

ditos incidentes com a aresta, e vice-versa.

Ex.: u v

e

Page 67: Teoria dos Grafos

Definições e Conceitos Os extremos de uma aresta são ditos

incidentes com a aresta, e vice-versa.

Ex.:

u e v são incidentes a e

u v

e

Page 68: Teoria dos Grafos

Definições e Conceitos Os extremos de uma aresta são ditos

incidentes com a aresta, e vice-versa.

Ex.:

u e v são incidentes a e(e é incidente a u e a v)

u v

e

Page 69: Teoria dos Grafos

Definições e Conceitos Dois vértices que são incidentes a

uma mesma aresta são ditos adjacentes.

Page 70: Teoria dos Grafos

Definições e Conceitos Dois vértices que são incidentes a

uma mesma aresta são ditos adjacentes.

Ex.: u v

e

Page 71: Teoria dos Grafos

Definições e Conceitos Dois vértices que são incidentes a uma

mesma aresta são ditos adjacentes.

Ex.:

u e v são adjacentes

u v

e

Page 72: Teoria dos Grafos

Definições e Conceitos Dois vértices que são incidentes a uma

mesma aresta são ditos adjacentes.

Ex.:

u e v são adjacentes e e e´são

adjacentes

u v

e

ue

Page 73: Teoria dos Grafos

Definições e Conceitos Loop: uma aresta com extremos

idênticos

u

Page 74: Teoria dos Grafos

Definições e Conceitos Loop: uma aresta com extremos

idênticos

Link: aresta com extremos diferentes

u

u v

e

Page 75: Teoria dos Grafos

Definições e Conceitos

Aresta Múltipla: links com mesmos extremos

u v

e

Page 76: Teoria dos Grafos

Definições e Conceitos Um grafo é finito se V(G) e E(G) são

finitos

Page 77: Teoria dos Grafos

Definições e Conceitos Um grafo é finito se V(G) e E(G) são

finitos Estudaremos apenas grafos finitos.

Page 78: Teoria dos Grafos

Definições e Conceitos Um grafo é finito se V(G) e E(G) são

finitos Estudaremos apenas grafos finitos.

Grafos com apenas um vértice são ditos triviais.

Page 79: Teoria dos Grafos

Definições e Conceitos Um grafo é finito se V(G) e E(G) são

finitos Estudaremos apenas grafos finitos.

Grafos com apenas um vértice são ditos triviais.

Um grafo é simples se não possuir loops e arestas múltiplas.

Page 80: Teoria dos Grafos

Notação G: Grafo com conjunto de vértices

V(G) e conjunto de arestas E(G).

n: número de vértices de G m: número de arestas de G

Page 81: Teoria dos Grafos

Exercício:

1. Mostre que se G é um grafo simples, então

m ( )n2

Page 82: Teoria dos Grafos

Isomorfismo entre Grafos

Page 83: Teoria dos Grafos

Isomorfismo entre Grafos Dois grafos G e H são idênticos se

V(G)=V(H); E(G)=E(H); G = H

Page 84: Teoria dos Grafos

Isomorfismo entre Grafos Dois grafos G e H são idênticos se

V(G)=V(H); E(G)=E(H); G = H

Grafos idênticos podem ser representados por um mesmo diagrama

Page 85: Teoria dos Grafos

Isomorfismo entre Grafos Um isomorfismo entre dois grafos é

uma bijeção f de V(G) em V(H) tal que

Page 86: Teoria dos Grafos

Isomorfismo entre Grafos Um isomorfismo entre dois grafos é

uma bijeção f de V(G) em V(H) tal que

(u,v) V(G) (f(u),f(v)) V(H)

Page 87: Teoria dos Grafos

Isomorfismo entre Grafos Um isomorfismo entre dois grafos é

uma bijeção f de V(G) em V(H) tal que

(u,v) V(G) (f(u),f(v)) V(H)

É possível alterar o nome dos vértices de um deles de forma que fiquem iguais.

Page 88: Teoria dos Grafos

Exemplo: G H ?

v1

v2

v3

v4 v5

u

vx

w

y

G H

Page 89: Teoria dos Grafos

Exemplo: G H ?

v1

v2

v3

v4 v5

u

vx

w

y

G H

Para mostrar que dois grafos são isomorfos, devemos indicar um isomorfismo entre eles.

Page 90: Teoria dos Grafos

Classes especiais de grafos

Page 91: Teoria dos Grafos

Classes especiais de grafos Grafo Completo: grafo simples em

que cada par de vértices distintos possui um aresta.

Page 92: Teoria dos Grafos

Classes especiais de grafos Grafo Completo: grafo simples em

que cada par de vértices distintos possui um aresta.

A menos de isomorfismo, existe apenas um grafo completo com n vértices, denotado por Kn

Page 93: Teoria dos Grafos

Classes especiais de grafos

Grafo Vazio: é um grafo sem arestas.

Page 94: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido: é aquele em que o conjunto de vértices pode ser

particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo

em X e um em Y.

Page 95: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido: é aquele em que o conjunto de vértices pode ser

particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo

em X e um em Y.X Y

Page 96: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido: é aquele em que o conjunto de vértices pode ser

particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo

em X e um em Y.X Y

Page 97: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido: é aquele em que o conjunto de vértices pode ser

particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo

em X e um em Y.X Y

Page 98: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido: é aquele em que o conjunto de vértices pode ser

particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo

em X e um em Y.X Y

(X, Y) é um bipartiçãodo grafo

Page 99: Teoria dos Grafos

Classes especiais de grafos

Grafo Bipartido Completo: é um grafo bipartido com bipartição (X, Y) em que cada vértice de X é adjacente a cada

vértice de Y.

Se |X|=m e |Y|=n, então denotamos tal grafo por Km,n

Page 100: Teoria dos Grafos

Exercícios

1. Mostre que os seguintes grafos não são isomorfos:

G H

Page 101: Teoria dos Grafos

Exercícios

2. Mostre que m(Km,n) = mn.

3. Se G é simples e bipartido, então m n2/4 (m: #arestas,

n: #vértices)