Grafos eulerianos
Linha de Euler
• Em que tipo de grafo é possível achar um ciclo
que passe por cada aresta exatamente uma
vez?
• Esse ciclo
linha de Euler
• O grafo que consiste nesta linha: grafo
euleriano
• Um grafo euleriano é sempre conexo, a menos
de vértices isolados.
Teorema
Um grafo conexo G é um grafo euleriano
sss
todos os vértices de G são de grau par
Teorema
Um grafo conexo G é um grafo euleriano
sss
ele pode ser decomposto em ciclos
Pontes
Seja (G) o número de componentes conexas
de G.
Uma ponte é uma aresta a
tal que
(G - a) > (G)
Ciclos Eulerianos
entrada: grafo euleriano G = (V,E)
1. EC ← [w];
2. CV ← w;
3. E´ ← ;
4. enquanto |(w)| > 0 faça
5. se |  (CV)| > 1 então
6.
encontrar v   (CV), {CV,v} não é ponte de G-E´
7. senão
8.
v = o vértice em  (CV)
9. fim-se
10. retirar v de  (CV) e CV de  (v)
11. E´ ← E´ U {{CV,v}}
12. CV ← v;
13. adicionar CV no final de EC
CV: vértice que está sendo visitado
14. fim-enquanto
E´: conjunto de arestas já traçadas
saída: EC
EC: lista de vértices ordenada pela
seqüência de visitas
(v):conjunto de vizinhos de v em GE´
CC/EC/Mestrado
Teoria dos Grafos
Exemplo
Exercício:
Executar o algoritmo para o grafo
descrevendo os principais passos
e a idéia do seu funcionamento.
g
b
a
c
e
f
d
CC/EC/Mestrado
Teoria dos Grafos
Grafos Hamiltonianos
CC/EC/Mestrado
Teoria dos Grafos
Ciclo Hamiltoniano
• Um caminho que contém todos os vértices de
G é dito um caminho hamiltoniano
CC/EC/Mestrado
Teoria dos Grafos
Caminho e Ciclo Hamiltoniano
• Um caminho que contém todos os vértices de
G é dito um caminho hamiltoniano
• Um ciclo hamiltoniano é um ciclo que contém
todos os vértices de G
• Nem todo grafo conexo possui um ciclo
hamiltoniano
CC/EC/Mestrado
Teoria dos Grafos
Questão
Existe uma condição necessária e
suficiente para um grafo conexo possuir
um ciclo hamiltoniano?
CC/EC/Mestrado
Teoria dos Grafos
Teorema
Se G é hamiltoniano então,
para todo subconjunto não-vazio e próprio
S de V,
(G-S)  |S|
CC/EC/Mestrado
Teoria dos Grafos
Exemplo
n=9
S = {s1, s2, s3}
s21
s1
CC/EC/Mestrado
Teoria dos Grafos
s3
Grafo de Petersen
CC/EC/Mestrado
Teoria dos Grafos
Teorema
Se G é um grafo simples
com n  3 e   n/2,
então G é hamiltoniano
d
b
a
c
CC/EC/Mestrado
Teoria dos Grafos
Prova
• Seja G um grafo simples e maximal, com n  3 e   n/2 e não
hamiltoniano. Ou seja, não existe nenhum outro grafo com
mais arestas do que ele que não seja hamiltoniano
• Sejam u e v vértices não adjacentes em G
• Como G é maximal, G + {u,v} é hamiltoniano
• A aresta {u,v} pode ser adicionada a G pois sabemos que G
não é completo, pois por suposição, n  3 e G é não
hamiltoniano (todo grafo completo possui um ciclo
hamiltoniano)
• Como G é não hamiltoniano, todo ciclo hamiltoniano de
G+{u,v} contém a aresta {u,v}
CC/EC/Mestrado
Teoria dos Grafos
Prova
• Logo existe o caminho hamiltoniano em G descrito por
u = v1v2v3...vn-1vn= v
• O grafo G pode conter mais arestas do que aquelas
pertencentes ao caminho (pois   n/2)
• Sejam S = {vi | uvi+1  E} e T = {vi | viv  E}
• vn  S e vn  T  vn  S  T  |S  T| < n (I)
• Além disso, |S  T| = 0 (senão haveria um ciclo hamiltoniano
em G) (II)
• De (I) e (II): d(u) + d(v) = |S|+|T| = |S  T| + |S  T| < n+0 = n
• Daí, existe algum vértice em G cujo grau é menor que n/2
(contradição)
• Logo G é hamiltoniano
CC/EC/Mestrado
Teoria dos Grafos
Teorema
Número de ciclos hamiltonianos com arestas
disjuntas em um grafo: em aberto!
Em um grafo completo esse número
pode ser determinado
Em um grafo completo com n vértices, existem
(n-1)/2 ciclos hamiltonianos com arestas
disjuntas, se n é ímpar e n  3.
CC/EC/Mestrado
Teoria dos Grafos
Exercício
•
Exiba um grafo euleriano e hamiltoniano
•
Exiba um grafo euleriano e não hamiltoniano
•
Exiba um grafo não euleriano e hamiltoniano
•
Exiba um grafo não euleriano e não hamiltoniano
CC/EC/Mestrado
Teoria dos Grafos
Exercícios
1. Mostre que |E(Kp,q)| = p*q
2. Seja G = (V,E) um grafo com |V| = n e |E| = m. Mostre que
se G é um grafo bipartido então m  n2/4.
3. Sejam a, b e c três vértices distintos em um grafo. Existe
um caminho entre a e b e também existe um caminho
entre b e c. Prove que existe um caminho entre a e c.
CC/EC/Mestrado
Teoria dos Grafos
Download

Grafos eulerianos