Você está na página 1de 101

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 Blcher Ltda, 1996. 3. F. Harary. Graph Theory, Perseus, 1969. 4. J. A Bondy, U. S. R. Murty. Graph Theory with applications. Elsevier, 1976.

Bibliografia
1. J. L. Szwarcfiter. Grafos e Algoritmos Computacionais. Editora Campus. 1988 2. P. O Boaventura Neto. Grafos: Teoria, Modelos, Algoritmos. Editora Edgard Blcher Ltda, 1996. 3. F. Harary. Graph Theory, Perseus, 1969. 4. J. A Bondy, U. S. R. Murty. Graph Theory with applications. Elsevier, 1976.

Motivao

Motivao

Por que estudar grafos?


Importante ferramenta matemtica com aplicao em diversas reas do conhecimento Utilizados na definio e/ou resoluo de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso.

Motivao

Por que estudar grafos?

Importante ferramenta matemtica com aplicao em diversas reas do conhecimento Utilizados na definio e/ou resoluo de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso.

Motivao

Por que estudar grafos?

Importante ferramenta matemtica com aplicao em diversas reas do conhecimento Utilizados na definio e/ou resoluo de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso.

Motivao

Por que estudar grafos?

Importante ferramenta matemtica com aplicao em diversas reas do conhecimento Utilizados na definio e/ou resoluo de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso.

Motivao

Por que estudar grafos?

Importante ferramenta matemtica com aplicao em diversas reas do conhecimento Utilizados na definio e/ou resoluo de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso.

As pontes de Knigsberg

As pontes de Knigsberg
Em Knigsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa regio existiam 7 pontes, como mostra a figura.

As pontes de Knigsberg
Em Knigsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa regio existiam 7 pontes, como mostra a figura.

As pontes de Knigsberg
possvel andar por toda a cidade de tal modo que cada ponte seja atravessada exatamente uma vez?

As pontes de Knigsberg
No possvel !!!!!

As pontes de Knigsberg

Remodelando o problema

Remodelando o problema

Remodelando o problema

Remodelando o problema

O problema agora consiste em percorrer todos os arcos, passando por cada um apenas uma vez, sem levantar o lpis do papel.

Teoria de Grafos

Na teoria de grafos, um caminho completo com as propriedades descritas acima de no retraar nenhum arco chamado de TRAJETRIA de EULER

Outro Exemplo:

Ser que existe alguma trajetria de Euler para o grfico ao lado? Se existir, como ela ?

Ementa do Curso

Grafos e Subgrafos rvores Conectividade Ciclo Hamiltoniano e Caminho Euleriano Emparelhamento Colorao de Arestas Conjuntos Independentes e Cliques Colorao de Vrtices Grafos Planares Grafos Direcionados

Avaliao:

Listas de Exerccios 2 Avaliaes: PR1 e PR2 Trabalho (Alunos de Doutorado)

PR1: 24/05 PR2: 17/07 Final: 19/07

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

Grafos e Subgrafos

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

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

Conjunto no vazio de vrtices

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

Conjunto no vazio de vrtices Conjunto disjunto de V(G), chamado arestas

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

Conjunto no vazio de vrtices

Funo que associa cada aresta de G um par de vrtices de G

Conjunto disjunto de V(G), chamado arestas

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

Conjunto no vazio de vrtices

Funo que associa cada aresta de G um par de vrtices de G

Conjunto disjunto de V(G), chamado arestas


Se e=(u,v) ento dizemos que e une u e v (u e v so ditos extremos de e)

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)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2

Exemplo1:

v1

v3

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

v2
v3

Exemplo1:

v1

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


v4

v5

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

G(e1)= G(e3)= G(e5)= G(e7)=

(v1, (v3, (v2, (v2,

v2), v3), v4), v5),

G(e2)= G(e4)= G(e6)= G(e8)=

(v2, (v3, (v4, (v2,

v3), v4), v5), v5 )

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Exemplo2:

H=(V(H), E(H), H), onde


x w

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)

Observaes

Observaes

Grafos so assim chamados por poderem ser representados graficamente

Observaes

Grafos so assim chamados por poderem ser representados graficamente Existe uma nica maneira de desenhar um grafo?

Observaes

Duas arestas num diagrama de um grafo podem se interceptar num ponto que no um vrtice

Observaes

Duas arestas num diagrama de um grafo podem se interceptar num ponto que no um vrtice
Grafos que possuem uma representao em que as aresta se interceptem apenas em seus extremos so chamados planares

Definies e Conceitos

Definies e Conceitos

Os extremos de uma aresta so ditos incidentes com a aresta, e vice-versa.

Definies e Conceitos

Os extremos de uma aresta so ditos incidentes com a aresta, e vice-versa.


e
u v

Ex.:

Definies e Conceitos

Os extremos de uma aresta so ditos incidentes com a aresta, e vice-versa.


e
u v

Ex.:

u e v so incidentes a e

Definies e Conceitos

Os extremos de uma aresta so ditos incidentes com a aresta, e vice-versa.


e
u v

Ex.:

u e v so incidentes a e (e incidente a u e a v)

Definies e Conceitos

Dois vrtices que so incidentes a uma mesma aresta so ditos adjacentes.

Definies e Conceitos

Dois vrtices que so incidentes a uma mesma aresta so ditos adjacentes.


e
u v

Ex.:

Definies e Conceitos

Dois vrtices que so incidentes a uma mesma aresta so ditos adjacentes.


e
u v

Ex.:

u e v so adjacentes

Definies e Conceitos

Dois vrtices que so incidentes a uma mesma aresta so ditos adjacentes.


e
u v u

Ex.:

e
e

u e v so adjacentes e e eso adjacentes

Definies e Conceitos

Loop: uma aresta com extremos idnticos

Definies e Conceitos

Loop: uma aresta com extremos idnticos

Link: aresta com extremos diferentes


e
u v

Definies e Conceitos

Aresta Mltipla: links com mesmos extremos


e e

Definies e Conceitos

Um grafo finito se V(G) e E(G) so finitos

Definies e Conceitos

Um grafo finito se V(G) e E(G) so finitos

Estudaremos apenas grafos finitos.

Definies e Conceitos

Um grafo finito se V(G) e E(G) so finitos

Estudaremos apenas grafos finitos.

Grafos com apenas um vrtice so ditos triviais.

Definies e Conceitos

Um grafo finito se V(G) e E(G) so finitos

Estudaremos apenas grafos finitos.

Grafos com apenas um vrtice so ditos triviais. Um grafo simples se no possuir loops e arestas mltiplas.

Notao

G: Grafo com conjunto de vrtices V(G) e conjunto de arestas E(G).

n: nmero de vrtices de G m: nmero de arestas de G

Exerccio:

1. Mostre que se G um grafo simples, ento m (n ) 2

Isomorfismo entre Grafos

Isomorfismo entre Grafos

Dois grafos G e H so idnticos se


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

Isomorfismo entre Grafos

Dois grafos G e H so idnticos se


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

Grafos idnticos podem ser representados por um mesmo diagrama

Isomorfismo entre Grafos

Um isomorfismo entre dois grafos uma bijeo f de V(G) em V(H) tal que

Isomorfismo entre Grafos

Um isomorfismo entre dois grafos uma bijeo f de V(G) em V(H) tal que

(u,v) V(G)

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

Isomorfismo entre Grafos

Um isomorfismo entre dois grafos uma bijeo f de V(G) em V(H) tal que

(u,v) V(G)

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

possvel alterar o nome dos vrtices de um deles de forma que fiquem iguais.

Exemplo: G H ?
G
v2 v1

v3

v4

v5

Exemplo: G H ?
G
v2 v1

v3

v4

v5

Para mostrar que dois grafos so isomorfos, devemos indicar um isomorfismo entre eles.

Classes especiais de grafos

Classes especiais de grafos

Grafo Completo: grafo simples em que cada par de vrtices distintos possui um aresta.

Classes especiais de grafos

Grafo Completo: grafo simples em que cada par de vrtices distintos possui um aresta.
A menos de isomorfismo, existe apenas um grafo completo com n vrtices, denotado por Kn

Classes especiais de grafos

Grafo Vazio: um grafo sem arestas.

Classes especiais de grafos

Grafo Bipartido: aquele em que o conjunto de vrtices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y.

Classes especiais de grafos

Grafo Bipartido: aquele em que o conjunto de vrtices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y.
X Y

Classes especiais de grafos

Grafo Bipartido: aquele em que o conjunto de vrtices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y.
X Y

Classes especiais de grafos

Grafo Bipartido: aquele em que o conjunto de vrtices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y.
X Y

Classes especiais de grafos

Grafo Bipartido: aquele em que o conjunto de vrtices 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 bipartio do grafo

Classes especiais de grafos


Grafo Bipartido Completo: um grafo bipartido com bipartio (X, Y) em que cada vrtice de X adjacente a cada vrtice de Y.

Se |X|=m e |Y|=n, ento denotamos tal grafo por Km,n

Exerccios
1. Mostre que os seguintes grafos no so isomorfos:
G
H

Exerccios
2. Mostre que m(Km,n) = mn.
3. Se G simples e bipartido, ento m n2/4 (m: #arestas, n: #vrtices)

Você também pode gostar