Você está na página 1de 38

Teoria de Grafos

Matemática Discreta

Matemática Discreta Teoria de Grafos 1 / 38


Grafos Isomorfos
Dois grafos G1 = (V1 , E1 ) e G2 = (V2 , E2 ) são isomorfos
se existir uma bijeção

ψ : V1 −→ V2

tal que {ψ(u), ψ(v )} seja uma aresta de G2 se e so se


{u, v } for uma aresta de G1 , uma bijectora conservando
a adjacencia dos vértices.

Matemática Discreta Teoria de Grafos 2 / 38


Exemplo
Sejam dados os grafos

Matemática Discreta Teoria de Grafos 3 / 38


solucao
Vamos escolher o vértice a

ψ(a) = t, ψ(b) = u, ψ(c) = w, ψ(d) = v,


então os dois grafos são isomorfos.

Matemática Discreta Teoria de Grafos 4 / 38


Invariantes do Isomorfismo

1 número de vértices
2 número de arestas
3 sucessão crescente de graus de vértices
4 caminhos simples
5 cíclo simples

Matemática Discreta Teoria de Grafos 5 / 38


Exemplo
Sejam dados os grafos

Os dois grafos não são isomorfos porque no grafo G1 o


vértice c é de grau 1 e não existe nenhum vértice com o
mesmo grau no G2 .
Matemática Discreta Teoria de Grafos 6 / 38
Exemplo
Sejam dados os grafos

Os grafos não são isomorfos pois G possui dois ciclos de


comprimento quatro enquanto que H possui três ciclos
de comprimento quatro.

Matemática Discreta Teoria de Grafos 7 / 38


Grafo Conexo
Um grafo não direccionado é denominado conexo, se
existe um caminho entre cada par de vértices distintos,
caso contrário diz se desconexo.

Matemática Discreta Teoria de Grafos 8 / 38


Exemplo
Verifique se os seguintes grafos são conexos

Matemática Discreta Teoria de Grafos 9 / 38


solucao
O grafo G1 é conexo porque existe caminho entre cada
par de vértices e G2 é desconexo porque entre os vértices
b e d não existe caminho.

Matemática Discreta Teoria de Grafos 10 / 38


Caminhos de Euler e Hamilton

Caminho de Euler
Será possível sair de casa á cidade atravessando
uma única vez cada uma das sete pontes?

Matemática Discreta Teoria de Grafos 11 / 38


Matemática Discreta Teoria de Grafos 12 / 38
Matemática Discreta Teoria de Grafos 13 / 38
1 Camininho de Euler é um caminho simples que
passa por todas as arestas.
2 Circuito de Euler é um circuito simples contendo
todas aresta.
Teorema
Um grafo conexo possui um caminho de Euler, se e só se
tem exatamente dois vértices de grau ímpar.

Teorema
Um grafo conexo possui um circuito de Euler, se e só se
cada vértice é de grau par.

Matemática Discreta Teoria de Grafos 14 / 38


Exemplo
O grafo desenhado por Euler, não possui caminho de
Euler porque tem 3 vértices de grau ímpar.

Matemática Discreta Teoria de Grafos 15 / 38


Exemplo
Verifique se os grafos seguintes possuem caminho de
Euler.

O primeiro grafo possue caminho Euleriano e o segundo


não.
Matemática Discreta Teoria de Grafos 16 / 38
Exemplo
Verifique se o grafo tem circuito de Euler

Como existem vértices de grau ímpar, logo o grafo não


possue circuito Euleriano.
Matemática Discreta Teoria de Grafos 17 / 38
Caminho de Hamilton
1 Camininho de Hamilton é um caminho elementar que
passa por todos os vértices.
2 Cíclo de Hamilton é um caminho elementar que passa
por todos vértices.

Teorema (Dirac)
Se G é um grafo conexo com n vértices, n ≥ 3, tal que o
grau de cada vértice seja pelomenos n/2, então o grafo
possui um cíclo de Hamilton.

Teorema (Ole)
Se G é um grafo conexo com n vértices, n ≥ 3, tal que
deg(u) + deg(v ) ≥ n para cada par de vértice não
adjacentes, então o grafo possui um cíclo de Hamilton.
Matemática Discreta Teoria de Grafos 18 / 38
Exemplo
Verifique se os seguintes grafos tem caminho e cíclo de
Hamilton

Matemática Discreta Teoria de Grafos 19 / 38


solucao
Teorema de Dirac:
1 No grafo G1 , n = 5 e n/2 = 2, 5. O grau de cada
vértice é pelomenos 2,5. Logo, o grafo tem cíclo de
hamilton.
2 No grafo G2 , n = 4 e n/2 = 2. O vértice a é de grau
1. Logo, o grafo não tem cíclo de hamilton.

Matemática Discreta Teoria de Grafos 20 / 38


solucao
Teorema de Ole:
1 No grafo G1 , n = 5 a soma dos vértices não
adjacentes deg(a) + deg(d) = 3 + 2 = 5 e
deg(b) + deg(d) = 3 + 2 = 5. logo, o grafo tem
cíclo de hamilton.
2 No grafo G2 , n = 4 a soma dos vértices não
adjacentes deg(a) + deg(d) = 1 + 2 = 3 < 4. Logo,
o grafo não tem cíclo de hamilton.

Matemática Discreta Teoria de Grafos 21 / 38


Problema de caminho mínimo
O objectivo é determinar o caminho mínimo entre dois
vértices.
Exemplo
Qual é o comprimento do caminho mínimo entre os
vértices a e z no grafo.

Matemática Discreta Teoria de Grafos 22 / 38


Algorítmo de Djisktra
procedure Dijkstra(G: grafo simples ponderado, com
todos pesos positivos)
G tem vértices a = v0 , v1 , · · · , vn = z e comprimento
w (vi , vj ) onde w (vi , vj ) = ∞ se não é aresta em G
for i = 1 to n
L(vi ) = ∞
L(a) = 0
S=∅
As etiquetas são agora inicializadas de tal maneira que a
etiqueta de a é 0 e todas outras etiquetas são ∞, e S é
conjunto vazio

Matemática Discreta Teoria de Grafos 23 / 38


while z ∈/S
u := a um vértice não em S com L(u) mínimo
S := S ∪ {u}
for todo vértice v não em S
if L(u) + w (u, v ) < L(v ) then
L(v ) := L(u) + w (u, v )
Isto adiciona um vértice a S com uma etiqueta mínima e
actualiza as etiquetas de vértices não em S
return L(z), comprimento de caminho mínimo de a para z

Matemática Discreta Teoria de Grafos 24 / 38


Exemplo
Dado o grafo

Determine o caminho mínimo do vértice A até F usando


o algorítmo de Djisktra.
Matemática Discreta Teoria de Grafos 25 / 38
solucao

V P1 P2 P3 P4 P5 P6
A (0, A) – – – – –
B (4, A) (3, C ) (3, C) – – –
C (2, A) (2, A) – – – –
D ∞ (10, C ) (8, B) (8, B) – –
E ∞ (12, C ) (12, C ) (10, D) (10, D) –
F ∞ ∞ ∞ (14, D) (12, D) (12, E)
Caminho mínimo: A, C , B, D, E , F com comprimento 12.

Matemática Discreta Teoria de Grafos 26 / 38


Árvore
Uma árvore é um grafo simples conexo e sem cíclos.
Exemplo
Qual dos grafos abaixo são árvores?

Matemática Discreta Teoria de Grafos 27 / 38


Exemplo
Os grafos G1 e G2 são árvores pois são conexos e
sem cíclos.
O grafo G3 apesar de ser conexo possui cíclos,
portanto não é árvore.
O grafo G4 não é árvore porque não é conexo.

Matemática Discreta Teoria de Grafos 28 / 38


Uma árvore com raiz é uma árvore com um vértice
especial denominado raiz.

Matemática Discreta Teoria de Grafos 29 / 38


Todo vértice de grau 1 chama-se folha.
Chama se nivel de uma árvore ao comprimento do
caminho simples partindo da raiz para este vértice.
O nivel máximo dos vértices na árvore denomina se
altura.
Exemplo
Folhas: vértices H, I, J, K , L, M, N, O.
Nível=3
Altura=3

Matemática Discreta Teoria de Grafos 30 / 38


Uma árvore m-ária completa á uma árvore com raiz na
qual cada vértice tem nenhum filho ou m filhos.
Exemplo
Qual das árvores é completa?

As árvores T1 , T2 e T3 são completas porque tem o


mesmo número de filhos enquanto que T4 não é
completa pois tem 2 e 3 filhos.
Matemática Discreta Teoria de Grafos 31 / 38
Uma árvore binária á uma árvore com raiz na qual cada
vértice tem um filho a esquerda ou um filho a direita.

Matemática Discreta Teoria de Grafos 32 / 38


Seja G um grafo simples. Uma árvore gerada por G é um
subgrafo de G (árvore) que contém todos vértice de G.
Exemplo
Ache uma árvore gerada pelo grafo simples G.

O gráfo G é conexo, mas não é uma árvore porque


contém cíclos simples.
Matemática Discreta Teoria de Grafos 33 / 38
Exemplo
Vamos remover algumas arestas

Matemática Discreta Teoria de Grafos 34 / 38


Exemplo
Obtemos a árvore gerada pelo grafo G.

Matemática Discreta Teoria de Grafos 35 / 38


Árvore geradora com peso mínimo
Uma árvore gerada por G com peso mínimo é uma árvore
que possui a menor soma possível de pesos de suas
arestas.
Algorítmo de Kruskal
Consiste em constuir a árvore com peso mínimo
selecionando as arestas em ordem crescente.

Matemática Discreta Teoria de Grafos 36 / 38


Exemplo
Use o algorítmo de Kruskal para encontrar uma árvore
gerada pelo grafo com peso mínimo.

Matemática Discreta Teoria de Grafos 37 / 38


Selecionamos as arestas com os pesos na ordem
crescente.

Matemática Discreta Teoria de Grafos 38 / 38

Você também pode gostar