Apostila5-Grafos

“GrafosModfrancisca”

2009/6/30
page 1
Estilo OBMEP
Grafos – Uma Introdução
Samuel Jurkiewicz
“GrafosModfrancisca”
2009/6/30
page 2
Estilo OBMEP
Texto já revisado pela nova ortografia.
“GrafosModfrancisca”
2009/6/30
page 3
Estilo OBMEP
Sobre o Autor
Samuel Jurkiewicz é carioca e Doutor em Matemática pela Universi-
dade Pierre et Marie, em Paris. Atualmente é professor da Escola de
Engenharia da UFRJ. Já atuou como docente em todos os níveis, in-
clusive no pré-escolar. Além do ensino de graduação e pós-graduação,
tem desenvolvido atividades junto a professores e alunos do Ensino
Médio através de oficinas de Matemática Discreta.
“GrafosModfrancisca”
2009/6/30
page 4
Estilo OBMEP
“GrafosModfrancisca”
2009/6/30
page i
Estilo OBMEP
Sumário
1 O que é um Grafo? 5
1.1 Primeiras Noções . . . . . . . . . . . . . . . . . . . . . 5
1.2 Grau de um Vértice . . . . . . . . . . . . . . . . . . . 7
1.3 Nosso Primeiro Resultado . . . . . . . . . . . . . . . . 10
1.4 Alguns Problemas com as Definições . . . . . . . . . . 11
1.5 Isomorfismo . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Outras Definições . . . . . . . . . . . . . . . . . . . . . 16
1.7 Tipos Especiais de Grafos . . . . . . . . . . . . . . . . 17
1.8 Representação por Matrizes . . . . . . . . . . . . . . . 22
2 Ciclos e Caminhos 28
2.1 Conexidade Outra Vez . . . . . . . . . . . . . . . . . . 28
2.2 O Problema do Menor Caminho . . . . . . . . . . . . 31
Algoritmos e Computadores . . . . . . . . . . . . . . . 31
Qual o Menor Caminho até a Escola? . . . . . . . . . . 32
3 Mais Ciclos e mais Caminhos 45
i
“GrafosModfrancisca”
2009/6/30
page ii
Estilo OBMEP
ii SUMÁRIO
3.1 Euler e as Pontes de Köenisberg . . . . . . . . . . . . . 45
Esse Problema é Importante? . . . . . . . . . . . . . . 47
3.2 Estrutura de Dados . . . . . . . . . . . . . . . . . . . . 48
3.3 Grafos Eulerianos . . . . . . . . . . . . . . . . . . . . . 51
3.4 O Problema Chinês do Carteiro . . . . . . . . . . . . . 57
3.5 Grafos e Ciclos Hamiltonianos . . . . . . . . . . . . . . 58
3.6 O Problema do Caixeiro Viajante – PCV . . . . . . . . 59
3.7 Uma Palavra sobre Complexidade . . . . . . . . . . . . 62
4 Árvores 66
4.1 Definições e Caracterizações . . . . . . . . . . . . . . . 66
4.2 Árvores Geradoras . . . . . . . . . . . . . . . . . . . . 68
O Problema de Conexão de Peso Mínimo . . . . . . . . 68
5 Subconjuntos Especiais de um Grafo 73
5.1 Conjuntos Independentes . . . . . . . . . . . . . . . . 73
5.2 Coloração . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3 Aplicações de Coloração . . . . . . . . . . . . . . . . . 77
5.4 Cliques . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.5 Acoplamentos . . . . . . . . . . . . . . . . . . . . . . . 82
5.6 Acoplamentos em Grafos Bipartidos . . . . . . . . . . 84
“GrafosModfrancisca”
2009/6/30
page iii
Estilo OBMEP
iii
5.7 Coloração de Arestas . . . . . . . . . . . . . . . . . . . 85
5.8 Outros Subconjuntos . . . . . . . . . . . . . . . . . . . 92
6 Grafos Planares 95
6.1 Definições e Resultados Simples . . . . . . . . . . . . . 95
6.2 Teorema de Kuratowski . . . . . . . . . . . . . . . . . 99
6.3 Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 O Problema das 4 Cores . . . . . . . . . . . . . . . . . 101
Índice 111
“GrafosModfrancisca”
2009/6/30
page iv
Estilo OBMEP
“GrafosModfrancisca”
2009/6/30
page 1
Estilo OBMEP
Introdução
O leitor seria capaz de desenhar a figura 1 abaixo sem tirar o
lápis do papel? Tem que ir de ponto a ponto e não pode passar pela
mesma linha duas vezes.
A
B
C
D
E
Figura 1
Foi fácil? Experimente agora começar pelo ponto B.
Bem, esse problema é importante? Pensemos numa pequena
cidade com pequeno orçamento. O serviço de recolhimento de lixo
é feito por um pequeno caminhão. Queremos evitar o desperdício;
uma boa ideia seria fazer o caminhão passar uma única vez por cada
1
“GrafosModfrancisca”
2009/6/30
page 2
Estilo OBMEP
2
rua e retornar ao ponto de partida. Na verdade, é o mesmo problema.
Um outro problema que propomos às crianças para que se
aquietem é o seguinte: temos que ligar Luz, Gás e Telefone a três
casas sem que as linhas se cruzem. Você já tentou? (veja a figura 2)
casa 1
casa 2
casa 3
L
G
T
Figura 2
Outra vez, cabe a pergunta: esse problema é importante? Pense-
mos então numa fábrica de placas de circuito integrado. Encontrar
esquemas de ligação que evitem cruzamento é crucial para baratear os
custos de manufatura; quanto menos camadas, mais rápido e rentável
se torna o serviço.
Nos dois casos só nos interessou considerar um conjunto de pontos
e um conjunto de ligações entre eles. É a essa estrutura que chamamos
grafo.
Estas notas tratam da Teoria dos Grafos – uma modesta intro-
dução. Desde o século XVIII até nossos dias essa teoria tem conhecido
extraordinário desenvolvimento teórico e aplicado. Adotamos então
“GrafosModfrancisca”
2009/6/30
page 3
Estilo OBMEP
3
a prática de introduzir alguns temas gerais que dessem uma pequena
ideia da variedade de abordagens e problemas que ela pode oferecer.
Certamente, muito ficou para depois. O que esperamos é que ao fi-
nal o leitor tenha se convencido da utilidade dos conceitos e processos
apresentados, mas guardamos o secreto desejo de que o aspecto lúdico
dos grafos o contaminem com o que costumamos chamar de “graphical
desease”, ou melhor, traduzindo, a febre dos grafos.
Uma observação: sendo essa uma primeira abordagem da teoria
dos grafos, tratamos aqui apenas de grafos sem orientação. A intenção
foi apresentar os conceitos da forma mais simplificada possível. Para
o leitor interessado, a bibliografia contempla grafos com orientação.
Cada capítulo é acompanhado de exercícios sem a solução, prefe-
rimos deixar o prazer desta tarefa ao leitor. A bibliografia ao fim
das notas é mais do que suficiente para adquirir um conhecimento
razoável de teoria dos grafos, e inclui trabalhos de nível diversificado.
Enfim, deve haver erros; as críticas (construtivas, por favor) são
bem vindas.
Esperamos que apreciem estas notas.
Samuel Jurkiewicz
Escola de Engenharia/UFRJ – Departamento de Engenharia Indus-
trial
COPPE/UFRJ – Programa de Engenharia de Produção
jurki@pep.ufrj.br
“GrafosModfrancisca”
2009/6/30
page 4
Estilo OBMEP
“GrafosModfrancisca”
2009/6/30
page 5
Estilo OBMEP
Capítulo 1
O que é um Grafo?
1.1 Primeiras Noções
Numa escola algumas turmas resolveram realizar um torneio
de vôlei. Participam do torneio as turmas 6A, 6B, 7A, 7B, 8A e 8B.
Alguns jogos foram realizados até agora:
6A jogou com 7A, 7B, 8B
6B jogou com 7A, 8A, 8B
7A jogou com 6A, 6B
7B jogou com 6A, 8A, 8B
8A jogou com 6B, 7B, 8B
8B jogou com 6A, 6B, 7B, 8A
Mas será que isto está correto? Pode ter havido um erro na
listagem. Uma maneira de representar a situação é através de uma
figura. As turmas serão representadas por pontos e os jogos serão
representados por linhas.
Não é difícil agora constatar a consistência das informações. A
estrutura que acabamos de conhecer é um grafo. Apresentamos duas
formas de representar esta estrutura
5
“GrafosModfrancisca”
2009/6/30
page 6
Estilo OBMEP
6 CAP. 1: O QUE É UM GRAFO?
6A
6B
7A
7B
8A
8B
Figura 1.1: Grafo do Campeonato de Vôlei
• Por uma lista, dizendo quem se relaciona com quem.
• Por um desenho, isto é, uma representação gráfica.
Qual é a forma correta? As duas são corretas. A estrutura “grafo”
admite várias maneiras de ser representada. Isso não é novidade:
a palavra “dois” e o símbolo “2” representam o mesmo conceito
matemático.
Para que um grafo fique bem definido temos que ter dois conjuntos:
• O conjunto V , dos vértices – no nosso exemplo, o conjunto das
turmas.
• O conjunto A, das arestas – no nosso exemplo, são os jogos
realizados.
Em outra palavras, o que nos interessa num grafo é:
• Quem são os vértices.
“GrafosModfrancisca”
2009/6/30
page 7
Estilo OBMEP
SEC. 1.2: GRAU DE UM VÉRTICE 7
• Que pares de vértices estão ligados e quais não estão (isto é,
quem são as arestas).
Quando existe uma aresta ligando dois vértices dizemos que os vértices
são adjacentes e que a aresta é incidente aos vértices. No nosso
exemplo podemos representar o grafo de forma sucinta como:
V = ¦6A; 6B; 7A; 7B; 8A; 8B¦
A = ¦(6A; 7A); (6A; 7B); (6A; 8B); (6B; 7A); (6B; 8A); (6B; 8B); (7B; 8A);
(7B; 8B); (8A; 8B)¦
Observe que não precisamos colocar (8A; 7B) no conjunto de
arestas pois já tínhamos colocado (7B; 8A).
O número de vértices será simbolizado por [V [ ou pela letra n.
O número de arestas será simbolizado por [A[ ou pela letra m.
No nosso exemplo n = 6 e m = 9.
1.2 Grau de um Vértice
No nosso exemplo vimos que cada turma jogou um número dife-
rente de jogos:
“GrafosModfrancisca”
2009/6/30
page 8
Estilo OBMEP
8 CAP. 1: O QUE É UM GRAFO?
6A jogou 3 jogos
6B jogou 3 jogos
7A jogou 2 jogos
7B jogou 3 jogos
8A jogou 3 jogos
8B jogou 4 jogos
Por isso, no nosso desenho, o vértice 6A tem 3 arestas ligadas a
ele, o vértice A7 tem 2 arestas ligadas a ele e assim por diante.
Dizemos que estas arestas são incidentes ao vértice. O número
de vezes que as arestas incidem sobre o vértice v é chamado grau
do vértice v, simbolizado por d(v). No nosso exemplo, d(6A) = 3;
d(7A) = 2.
Exercícios
1. Usando o grafo do campeonato:
(a) Dê o grau de cada um dos vértices
(b) Qual a soma de todos os graus?
(c) Qual o número de arestas?
(d) O que você observou? Será coincidência?
2. Faça o mesmo exercício anterior usando os grafos da figura 1.2:
“GrafosModfrancisca”
2009/6/30
page 9
Estilo OBMEP
SEC. 1.2: GRAU DE UM VÉRTICE 9




Figura 1.2:
“GrafosModfrancisca”
2009/6/30
page 10
Estilo OBMEP
10 CAP. 1: O QUE É UM GRAFO?
1.3 Nosso Primeiro Resultado
No exercício anterior você deve ter observado que a soma dos graus
de um grafo é sempre o dobro do número de arestas (e isso não deve
ser coincidência...). Isso pode ser escrito em linguagem matemática.
Para isso, denotaremos um grafo pela letra G e representaremos
por V (G) e A(G) respectivamente, os conjuntos de vértices e das
arestas de G.
Teorema. Para todo grafo G

v∈V (G)
d(v) = 2 m.
Isto é: “A soma dos graus dos vértices de um grafo é sempre o dobro
do número de arestas.”
Demonstração. Quando contamos os graus dos vértices estamos con-
tando as extremidades das arestas uma vez. Como cada aresta tem
duas extremidades, cada aresta foi contada duas vezes.
Corolário. Todo grafo G possui um número par de vértices de grau
ímpar.
Demonstração. Se tivéssemos um número ímpar de vértices de grau
ímpar a soma dos graus seria ímpar. Mas a soma dos graus é o dobro
do número de arestas e, portanto é um número par.
“GrafosModfrancisca”
2009/6/30
page 11
Estilo OBMEP
SEC. 1.4: ALGUNS PROBLEMAS COM AS DEFINIÇÕES 11
1.4 Alguns Problemas com as Definições
Algumas perguntas acerca das definições podem nos deixar
atrapa-lhados. Vamos examinar algumas.
• Uma aresta pode ligar um vértice a ele mesmo?
Pode. É o que chamamos de laço (veja figura 1.3). Por
exemplo, vamos construir o grafo em que V = ¦2, 3, 4, 5, 6¦ e
dois vértices serão ligados quando tiverem um divisor comum
(diferente de 1).
Figura 1.3: Grafo com laços
Pela definição do grafo vemos que o 5 não está ligado a ne-
nhum outro vértice mas tem um laço (como aliás todos os outros
vértices deste grafo). Para haver coerência com os resultados da
seção anterior, temos que contar o laço duas vezes (uma para
cada extremidade) quando calcularmos o grau do vértice. No
nosso exemplo:
d(2) = 4; d(3) = 3; d(4) = 4; d(5) = 2; d(6) = 5
e o teorema continua valendo.
“GrafosModfrancisca”
2009/6/30
page 12
Estilo OBMEP
12 CAP. 1: O QUE É UM GRAFO?
• Dois vértices podem estar ligados por mais de uma aresta?
Podem. Neste caso usamos o nome especial de multigrafo
(veja figura 1.4). Um exemplo que veremos adiante resulta no
seguinte grafo:
Figura 1.4: Multigrafo (com arestas múltiplas)
Grafos sem laços ou arestas múltiplas são chamados de grafos
simples. Neste texto estaremos trabalhando quase sempre com
grafos simples.
• A figura 1.5 mostra um grafo ou dois grafos?
Figura 1.5: Um grafo ou dois?
Depende da situação. Em princípio parecem dois grafos distin-
tos, e podemos considerá-los assim. Mas podemos pensar que
esse grafo representa as ligações entre casas de uma cidade onde
passa um rio (veja figura a seguir).
Se as pontes forem destruídas em um temporal a cidade ainda
“GrafosModfrancisca”
2009/6/30
page 13
Estilo OBMEP
SEC. 1.5: ISOMORFISMO 13
Figura 1.6:
é uma só, apenas foi desconectada. O grafo da figura 1.5
poderia ser o que chamamos de grafo desconexo. Essa é uma
noção importante e voltaremos a ela algumas vezes. Cada parte
conexa do grafo (no nosso exemplo o “quadrado” e o “triângulo”)
é chamada de componente conexa do grafo. Dizemos que
um grafo é conexo se qualquer par de pontos é ligado por ao
menos um caminho.
1.5 Isomorfismo
Observe o grafo mostrado na figura adiante.
Verifique que a situação representada é exatamente a mesma do
grafo inicial do campeonato. Apenas nesse caso procuramos fazer o
desenho de forma a não haver pontos comuns entre as arestas (fora dos
vértices, é claro). Quando dois grafos representam a mesma situação
dizemos que eles são grafos isomorfos.
Esse conceito às vezes gera polêmica. É o mesmo grafo ou não?
Claramente as características de um e de outro são as mesmas (graus,
número de arestas e outras que veremos mais tarde). E na verdade
“GrafosModfrancisca”
2009/6/30
page 14
Estilo OBMEP
14 CAP. 1: O QUE É UM GRAFO?
6A
6B
7A
7B
8A
8B
Figura 1.7:
esta não é uma questão realmente importante. O essencial é saber
discernir quando dois grafos são isomorfos ou não. Para isso vamos
usar uma definição técnica.
Dois grafos G
1
e G
2
são ditos isomorfos se existe uma
correspondência 1-a-1 entre seus conjuntos de vértices que preserve as
adjacências.
Vejamos um exemplo:
a
b
c
d
w
x
y
z
Figura 1.8:
Vamos estabelecer uma correspondência 1 − 1 entre os conjuntos
“GrafosModfrancisca”
2009/6/30
page 15
Estilo OBMEP
SEC. 1.5: ISOMORFISMO 15
de vértices:
f : a −w
b −x
c −z
d −y
Esta função funciona perfeitamente. Se tomarmos uma aresta no
primeiro grafo (digamos (a; d)) a função fará a correspondência com
(w; y) que é uma aresta no segundo grafo. Se tomarmos dois vértices
que não são ligados por uma aresta (digamos a e c) a função fará
corresponder dois vértices (w e z) que também não são ligados.
Exercícios
1. Verifique que a correspondência a seguir não serve para mostrar
o isomorfismo dos grafos da figura 1.8.
Sugestão: Tome dois vértices que não sejam ligados, faça a
correspondência e veja o que acontece.
f : a −x
b −y
c −z
d −w
“GrafosModfrancisca”
2009/6/30
page 16
Estilo OBMEP
16 CAP. 1: O QUE É UM GRAFO?
2. Mostre que os pares de grafos da figura 1.9 e 1.10 são isomorfos:
v
Figura 1.9:
Figura 1.10:
3. Mostre que os grafos 1.11 e 1.12 não são isomorfos:
Figura 1.11:
Figura 1.12:
1.6 Outras Definições
O conjunto de vértices adjacentes a v é chamado vizinhança
aberta de v, denotado por N(v). A vizinhança fechada de v é
denotada e definida por N[v] = N(v) ∪¦v¦, isto é, inclui a vizinhança
e o próprio vértice. Podemos estender esta definição para conjuntos de
vértices (N(S)eN[S]). Por exemplo, no grafo do campeonato temos
N(7B) = ¦6A; 8A; 8B¦ e N[7B] = ¦6A; 7B; 8A; 8B¦.
“GrafosModfrancisca”
2009/6/30
page 17
Estilo OBMEP
SEC. 1.7: TIPOS ESPECIAIS DE GRAFOS 17
Um vértice de grau 0 é dito isolado; um vértice de grau 1 é dito
pendente. A sequência de graus de um grafo é a sequência não
crescente formada pelos graus dos vértices dos grafos. Por exemplo,
a sequência de graus do grafo do campeonato é (4, 3, 3, 3, 3, 2).
O menor grau de um vértice em G é o grau mínimo, denotado
δ(G), e o maior é o grau máximo, denotado ∆(G). No caso do
campeonato temos ∆(G) = 4 e δ(G) = 2.
G

é dito um subgrafo de G se V (G

) ⊆ V (G) e A(G

) ⊆ A(G).
Na figura a seguir, o grafo G

é um subgrafo de G. O grafo G”
é dito um subgrafo induzido pelo subconjunto ¦a, b, c, d¦ de V (G),
pois todas as arestas incidentes aos vértices de a, b, c, d em G estão
presentes em G”(veja a figura 1.13).
d
a
b
c
e
d
a
b
c
e
d
a
b
c
e
G
G’
G”
Figura 1.13:
1.7 Tipos Especiais de Grafos
• Grafo completo Imagine o grafo do campeonato quando todos
os jogos tiverem sido jogados. Ele ficaria com o aspecto da 1.14:
“GrafosModfrancisca”
2009/6/30
page 18
Estilo OBMEP
18 CAP. 1: O QUE É UM GRAFO?
6A
6B
7A
7B
8A
8B
Figura 1.14: O grafo completo K
6
Isto é o que chamamos um grafo completo. Um grafo com-
pleto é definido como um grafo onde todo par de vértices é
ligado por uma aresta. Um grafo completo com n vértices é
denotado por K
n
(O nosso exemplo é K
6
).
Exercícios
1. Quantas arestas têm K
7
? e K
12
? e K
n
?
2. Quantos vértices um grafo simples precisa ter para poder
ter 200 arestas?
• Grafo complementar (veja figura 1.15)
Imagine agora que temos o grafo do campeonato e queremos
fazer o grafo dos jogos que faltam. Faríamos um grafo com o
mesmo conjunto de vértices mas com as arestas que faltam no
grafo original. Veja a figura.
“GrafosModfrancisca”
2009/6/30
page 19
Estilo OBMEP
SEC. 1.7: TIPOS ESPECIAIS DE GRAFOS 19
6A
6B
7A
7
B
8A
8B
6A
6B
7A
7
B
8A
8B
Figura 1.15: Dois grafos complementares
Chamamos este grafo de grafo complementar do grafo G,
denotado por G. É fácil perceber que V (G) = V (G) e que
A(G) ∪ A(G) inclui todas as arestas de G.
• Grafo nulo ou vazio (figura 1.16)
Um grafo G é nulo ou vazio quando o conjunto de arestas
A(G) é vazio.
Por exemplo, antes de começar o campeonato nenhum jogo
havia sido jogado. Nosso grafo ficaria como na figura 1.16:
6A
6B
7A
7B
8A
8B
Figura 1.16: Grafo nulo ou vazio
“GrafosModfrancisca”
2009/6/30
page 20
Estilo OBMEP
20 CAP. 1: O QUE É UM GRAFO?
• Grafo regular (figura 1.17)
Um grafo é regular (de grau k, ou ainda k-regular) quando
todos os seus vértices têm o mesmo grau (k). A figura 1.17
mostra um grafo 3-regular, isto é, todos os vértices tem grau 3.
Figura 1.17: Um grafo k-regular de grau 3
• Ciclo (figura 1.18)
Um ciclo é um grafo conexo regular de grau 2. A notação é C
n
Figura 1.18: Exemplos de ciclo: C
5
e C
6
• Caminho (figura 1.19)
Um caminho é um ciclo do qual retiramos uma aresta. O com-
primento do caminho é dado pelo número de arestas (o que faz
sentido: é o número de “passos” que gastamos para percorrer o
caminho). Assim, o caminho P
n
é obtido retirando uma aresta
do ciclo C
n+1
.
“GrafosModfrancisca”
2009/6/30
page 21
Estilo OBMEP
SEC. 1.7: TIPOS ESPECIAIS DE GRAFOS 21
Figura 1.19: Exemplos de caminho: P
4
e P
5
• Árvores (figura 1.20)
Uma árvore é um grafo conexo sem ciclos como subgrafos. Note
que o fato de não ter ciclos faz com que a árvore seja a maneira
mais “econômica” de conectar os vértices. As árvores formam
uma família importante de grafos e voltaremos a elas mais tarde.
Figura 1.20: Exemplos de árvores
• Grafos bipartidos (figura 1.21)
É um grafo em que o conjunto V de vértices pode ser parti-
cionado em dois subconjuntos disjuntos V
1
e V
2
tal que toda
aresta de G tem uma extremidade em V
1
e outra em V
2
. O sub-
conjunto V
1
é dito um subconjunto independente de vér-
tices do grafo G pois não há arestas ligando dois vértices de
V
1
. Temos também que V
2
é um subconjunto independente de
“GrafosModfrancisca”
2009/6/30
page 22
Estilo OBMEP
22 CAP. 1: O QUE É UM GRAFO?
vértices de G.
Figura 1.21: Grafo bipartido
• Grafos bipartidos completos – Notação K
p,q
(figura 1.22).
É um grafo bipartido em que todos os vértices de V
1
são ligados
a todos os vértices de V
2
.
Figura 1.22: Grafo bipartido completo K
2,4
1.8 Representação por Matrizes
Matrizes é um assunto típico do ensino médio mas o que
mostraremos aqui pode ser entendido por todos. Uma das formas
“GrafosModfrancisca”
2009/6/30
page 23
Estilo OBMEP
SEC. 1.8: REPRESENTAÇÃO POR MATRIZES 23
mais comuns de “informar” uma estrutura de grafo para um com-
putador é através de matrizes. Uma matriz nada mais é do que uma
tabela com linhas e colunas. Um exemplo bastante conhecido é a
tabuada:
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 10 12 14 16 18
3 0 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 0 5 10 15 20 25 30 35 40 45
6 0 6 12 18 24 30 36 42 48 54
7 0 7 14 21 28 35 42 49 56 63
8 0 8 16 24 32 40 48 56 64 72
9 0 9 18 27 36 45 54 63 72 81
Se quisermos saber o valor de 3 5 procuramos o valor na linha
do 3 e na coluna do 5, isto é 15.
Mas as matrizes têm outras utilidades. No caso dos grafos elas
podem ser usadas na representação de várias formas. Eis algumas
delas. Exemplificaremos com as representações do grafo a seguir:
“GrafosModfrancisca”
2009/6/30
page 24
Estilo OBMEP
24 CAP. 1: O QUE É UM GRAFO?
a
b c
d
Figura 1.23:
• Matriz de adjacência – é a matriz definida por
x
ij
=

1 se ij ∈ A(G)
0 se ij / ∈ A(G)
No exemplo da figura 1.23, a matriz de adjacência é:
0 1 1 1
1 0 1 0
1 1 0 1
1 0 1 0
• Matriz de incidência – é a matriz n m definida por
x
ij
=

1 se a aresta e
j
é incidente em v
i
0 caso contrário
“GrafosModfrancisca”
2009/6/30
page 25
Estilo OBMEP
SEC. 1.8: REPRESENTAÇÃO POR MATRIZES 25
No exemplo da figura 1.23 a matriz de incidência é:
ab ac ad bc cd
a 1 1 1 0 0
b 1 0 0 1 0
c 0 1 0 1 1
d 0 0 1 0 1
Exercícios
1. Qual o grafo complementar do grafo desconexo formado por
duas componentes conexas isomorfas a K
3
e K
7
?
2. Qual o grafo complementar do grafo desconexo formado por
duas componentes conexas isomorfas a K
r
e K
s
?
3. Mostre que um grafo G é desconexo, então seu complementar
G tem um subgrafo bipartido completo. Mostre que a recíproca
não é verdadeira.
4. Mostre que as sequências (9,8,7,6,5,5,4,3,3) e (7,7, 7,6,5,4,3,2)
não correspondem a sequências de graus de nenhum grafo.
5. Mostre que a sequência (3, 3, 3, 3, 3, 3) corresponde a pelo menos
dois grafos não isomorfos.
6. Mostre que uma mesma sequência pode corresponder a grafos
não isomorfos.
7. Prove que δ ≤
2.m
n
≤ ∆.
“GrafosModfrancisca”
2009/6/30
page 26
Estilo OBMEP
26 CAP. 1: O QUE É UM GRAFO?
8. Mostre que em um grafo bipartido m ≤
n
2
4
.
9. (a) Mostre que se G é conexo, então m ≥ n −1.
(b) Mostre que a recíproca não é verdadeira.
(c) Qual o menor valor de m que garante que G é conexo?
10. Desenhe uma representação do grafo cuja matriz de adjacência
é:
0 1 0 1 1
1 0 1 1 0
0 1 0 1 0
1 1 1 0 1
1 0 0 1 0
11. Um grafo é autocomplementar se for isomorfo ao seu com-
plemento. Mostre que se G é autocomplementar, então n = 4k
ou n = 4.k + 1 para algum k inteiro.
12. O grafo de linha ou grafo adjunto, notação L(G), é o grafo
cujos vértices estão em correspondência 1 a 1 com as arestas
de G e cujas arestas ligam vértices que correspondem a arestas
incidentes em G.
(a) Mostre que L(K
3
) = L(K
1,3
).
(b) Mostre que se G é regular de grau k, L(G) é regular de
grau 2.k −2.
(c) Encontre uma expressão para o número de arestas de L(G)
em função dos graus de G.
“GrafosModfrancisca”
2009/6/30
page 27
Estilo OBMEP
SEC. 1.8: REPRESENTAÇÃO POR MATRIZES 27
13. Suponha que as arestas de K
6
sejam coloridas de azul ou de
vermelho. Mostre que, seja qual for a forma de colorir, o grafo
terá um subgrafo isomorfo a K
3
colorido com uma só cor.
Roteiro: Suponha, por absurdo, que isso não é verdade.
(a) Escolha um vértice v qualquer; mostre que existem (pelo
menos) 3 arestas incidentes a v com a mesma cor (diga-
mos, sem perda de generalidade, (v; a); (v; b); e (v; c) são
coloridas de azul).
(b) Mostre que (a; b); (a; c); e (b; c) não podem ser coloridas de
azul.
(c) Conclua que (a; b); (a; c); e (b; c) devem ser coloridas de
vermelho, mostrando o absurdo, e provando a afirmação.
14. Suponha que as arestas de K
17
sejam coloridas de azul, verde
ou de vermelho. Mostre que, seja qual for a forma de colorir, o
grafo terá um subgrafo isomorfo a K
3
colorido com uma só cor.
Sugestão: Use o exercício anterior.
15. Mostre que num grafo simples pelo menos dois vértices têm o
mesmo grau.
“GrafosModfrancisca”
2009/6/30
page 28
Estilo OBMEP
Capítulo 2
Ciclos e Caminhos
2.1 Conexidade Outra Vez
Observação. Quando não houver risco de confusão a aresta (v, w)
será denotada simplesmente por vw.
Um passeio é uma sequência de arestas do tipo
v
0
v
1
,v
1
v
2
,v
2
v
3
,...v
s−1
v
s
; s é o comprimento do passeio. Se
todas as arestas do passeio são distintas, o passeio é chamado
trilha; se v
0
= v
s
o passeio é uma trilha fechada. Se, além das
arestas, todos os vértices são distintos então temos um caminho
e se v
0
= v
s
temos um ciclo (como visto anteriormente). Uma
outra forma de definir a conexidade é observar que um grafo G é
conexo se, e só se, existe um caminho entre quaisquer dois vértices
de G. As componentes conexas podem ser vistas como as classes de
equivalência da relação:
x · y se, e somente se, existe um caminho ligando x a y.
(Para isso, estamos considerando que entre um vértice e ele mesmo
existe um caminho de comprimento 0.) O menor comprimento pos-
28
“GrafosModfrancisca”
2009/6/30
page 29
Estilo OBMEP
SEC. 2.1: CONEXIDADE OUTRA VEZ 29
sível para um caminho entre os vértices u e v é chamado de distância
entre u e v. Podemos também sinalizar as sequências de arestas des-
critas acima pela sucessão de vértices v
0
,v
1
,v
2
,...,v
s−1
,v
s
.
Dizemos que um grafo conexo é k-conexo se, ao retirarmos k −1
vértices do grafo, ele continua conexo. Por exemplo, o grafo da figura
1.17 é 3 conexo, pois podemos escolher 2 vértices quaisquer para
retirar, e mesmo assim o grafo continuará conexo.
Teorema. Um grafo G é bipartido se, e somente se, não contém
ciclos de comprimento ímpar.
Demonstração.
(⇒) Seja G bipartido. Se não houver ciclo em G, não há o que
mostrar. Se há um ciclo em G este alterna vértices de V
1
e V
2
,
dois subconjuntos independentes e disjuntos. Partindo de V
1
(por
exemplo), para retornar ao ponto de partida teremos que utilizar um
número par de arestas. O ciclo é, portanto, de comprimento par.
(⇐) Podemos considerar apenas grafos conexos. Seja G um grafo sem
ciclos ímpares. Vamos particionar seu conjunto de vértices em dois
subconjuntos V
1
e V
2
, independentes e disjuntos. Tomamos primeira-
mente um vértice qualquer v. O subconjunto V
1
será formado por
todos os vértices w tais que exista um caminho de comprimento par
entre v e w. O subconjunto V
2
será formado por todos os vértices
w tais que exista um caminho de comprimento ímpar entre v e w.
Os conjuntos V
1
e V
2
são disjuntos, pois se w estivesse em V
1
e V
2
ao mesmo tempo, haveria um caminho de comprimento par e um
“GrafosModfrancisca”
2009/6/30
page 30
Estilo OBMEP
30 CAP. 2: CICLOS E CAMINHOS
caminho de comprimento ímpar ligando v a w. Esses dois cami-
nhos podem se cruzar (ou não) antes de chegar em w, produzindo
alguns ciclos (veja a figura a seguir). Como o número de arestas
usado nestes ciclos é ímpar (é a soma do número de arestas dos dois
caminhos) isso produziria pelo menos um ciclo ímpar em G, contra-
riando a hipótese.
Figura 2.1:
Já sabemos que o conjunto de vértices de um grafo bipartido é
particionado em dois subconjuntos V
1
e V
2
. O conjunto V
1
(e também
o conjunto V
2
) é chamado conjunto independente, isto é, se w e t
forem ambos vértices de V
1
eles não são adjacentes.
Exercício
Nos pares de grafos das figuras 2.2 e 2.3, mostre qual dos grafos é
bipartido e qual não é.
Figura 2.2:
Figura 2.3:
“GrafosModfrancisca”
2009/6/30
page 31
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 31
2.2 O Problema do Menor Caminho
Algoritmos e Computadores
Nesta seção vamos tratar de um problema relativamente simples.
Por exemplo, alguém precisa se deslocar de uma cidade para outra e
para isso dispõe de várias estradas que passam por diversas cidades.
Qual caminho oferece uma trajetória de menor comprimento?
O algoritmo que soluciona este problema (e até hoje não se en-
controu forma melhor) foi criado por Edsger Wybe Dijkstra, em 1952.
Dijkstra nasceu em 1930, na cidade de Roterdan – Holanda, e morreu
em 2002. Foi um cientista de computação e recebeu o Turing Award
de 1972 por suas contribuições fundamentais na área de linguagens
de programação.
Notem um fato interessante: geralmente o que estudamos em
Matemática foi criado há muito tempo. Mas a Matemática, como
veremos no problema que estamos estudando, continua a oferecer
soluções e com o desenvolvimento da Informática a ideia de uma
solução para um problema tem se modificado. Em vez de procurar-
mos um número, uma resposta (o que em muitos casos é necessário),
procuramos um algoritmo, isto é, uma série de procedimentos que nos
levem à solução. A vantagem é que, se o problema for muito extenso,
poderemos programar um computador para realizar este algoritmo.
Este problema é um excelente exemplo disso.
Veremos mais tarde que isso não quer dizer que não precisamos
de teoria, muito pelo contrário. Um bom algoritmo depende de boa
matemática. Mas, voltaremos a isso adiante. Por enquanto vamos ver
“GrafosModfrancisca”
2009/6/30
page 32
Estilo OBMEP
32 CAP. 2: CICLOS E CAMINHOS
a solução, simples e interessante, oferecida por Dijkstra, que viveu no
nosso tempo, ou dos nossos pais.
Observe que trabalharemos com grafos valorados, isto é, estare-
mos atribuindo valores às arestas. Estes valores podem ser distân-
cias, tempo gasto no trajeto, custo com a ligação etc. Usaremos as
expressões “custo“ ou “distância” para nos referirmos a estes valores.
Estes valores geralmente são estimados por engenheiros, economistas
e consideraremos nos próximos exemplos que eles são dados. Este al-
goritmo trabalha apenas com grafos valorados com valores positivos
e nossa tarefa é minimizar “custo” ou “distância”.
Qual o Menor Caminho até a Escola?
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
5
6
10
3
6
11
6
4
8
13
3

Armazém
Banca de
Jornal
Escola
Cancela
Quitanda
Pracinha
Casa do
João
Figura 2.4:
Lembremos que este grafo é valorado, isto é, atribuímos valores
“GrafosModfrancisca”
2009/6/30
page 33
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 33
às arestas. A “distância” é diferente da que estamos acostumados.
Por exemplo, na figura 2.4, entre a Pracinha (P) e a Banca de Jornal
(B) colocamos a distância 11 pois há um cachorro que nos assusta.
Entre a Quitanda (Q) e a Cancela (C) a “distância” é 4 pois há uma
moça (ou rapaz) interessante. Usaremos este grafo simples e pequeno
para vermos como o algoritmo de Dijkstra funciona. Começamos cal-
culando todas as distâncias a partir da Casa de João (J). A distância
de J até J é 0 (zero).
Vamos começar com o mapa sem ligações (2.5).
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
8

8

8

8

8

8

Armazém
Banca de
Jornal
Escola
Cancela
Quitanda
Pracinha
Figura 2.5:
Até onde posso chegar a partir da casa de João (J) em uma única
etapa? Qual o custo? Vamos preencher a tabela a seguir.
“GrafosModfrancisca”
2009/6/30
page 34
Estilo OBMEP
34 CAP. 2: CICLOS E CAMINHOS
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
J - Casa de João 0 ***
A - Armazém ∞ Ainda não atingimos
P - Pracinha ∞ Ainda não atingimos
Q - Quitanda ∞ Ainda não atingimos
B - Banca de Jornal ∞ Ainda não atingimos
C - Cancela ∞ Ainda não atingimos
E - Escola ∞ Ainda não atingimos
Atenção: colocamos a distância ∞ para dizer que ainda não atingi-
mos este vértice.
Vamos entender a figura e a tabela; na figura escurecemos a “Casa
de João”, pois já sabemos a menor distância: 0. Os outros vértices
ainda podem ser melhorados, por isso não estão escurecidos, e a eti-
queta ∞ mostra que ainda não foram atingidos.
A partir da casa de João, quem podemos atingir imediatamente?
O Armazém, que está a distância 5 da Casa de João, a Pracinha que
está a distância 6 e a Quitanda, que está a distância 10. Vou assinalar
isto no meu grafo. Mais ainda, eu agora percebo que a distância ao
armazém não irá diminuir. De fato, qualquer outro caminho que
eu tome, já começa com um valor maior que 5 (ou eventualmente
igual). Então escureço o vértice do armazém para mostrar que ele
está “fechado”.
“GrafosModfrancisca”
2009/6/30
page 35
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 35
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
10
6
5
8

8

8

5
6
10
é Armazém
Casa do
João
Pracinha
Banca de
Jornal
Quitanda
Cancela Escola
Figura 2.6:
Vamos preencher a tabela de acordo:
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
P - Pracinha 6 J
Q - Quitanda 10 J
B - Banca de Jornal ∞ Ainda não atingimos
C - Cancela ∞ Ainda não atingimos
E - Escola ∞ Ainda não atingimos
Como a distância até o armazém não vai diminuir, é a nossa vez
de investigar se indo pelo caminho do armazém poderemos melhorar
as distâncias. A partir do Armazém só podemos chegar à Banca de
“GrafosModfrancisca”
2009/6/30
page 36
Estilo OBMEP
36 CAP. 2: CICLOS E CAMINHOS
Jornais (B) (Lembre-se que J já está fechado). Note que a etiqueta de
distância da Banca de Jornal passa a ser 18 = 5+13 (5 da etiqueta do
Armazém mais 13 da distância Armazém-Banca de Jornais). Como
18 < ∞ a melhor distância até a Banca é de 18.
Nosso grafo e tabela ficam assim e o próximo vértice a ser fechado
é a Pracinha (P).
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
10
6
5
18
8

8

5
6
10
13
Armazém Casa do
João
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Figura 2.7:
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
* P - Pracinha 6 J
Q - Quitanda 10 J
B - Banca de Jornal 18 A
C - Cancela ∞ Ainda não atingimos
E - Escola ∞ Ainda não atingimos
“GrafosModfrancisca”
2009/6/30
page 37
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 37
Como a distância à Pracinha não pode ser melhorada é a partir
dela que investigaremos. Podemos chegar, passando pela Pracinha à
Quitanda, à Banca de Jornal e à Cancela. Vamos ver o que acontece
nos três casos:
Quitanda: 6 (etiqueta da Pracinha) + 3 (distância Pracinha-
Quitanda) = 9; como 9 < 10 (que é a etiqueta atual da Qui-
tanda), o caminho melhor passa a ser pela Pracinha.
Cancela: 6 + 6 = 12 < ∞ logo o caminho para a cancela passa a ser
pela Pracinha.
Banca de Jornal: 6 + 11 = 17 < 18 e o caminho para a Banca de
Jornal passa a ser pela Pracinha.
O vértice a ser fechado é a Quitanda pois é o menor valor em aberto.
Nosso grafo e tabela ficam assim:
“GrafosModfrancisca”
2009/6/30
page 38
Estilo OBMEP
38 CAP. 2: CICLOS E CAMINHOS
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
9
6
5
17
12 8

5
6
3
11
6
Casa do
João
Armazém
Pracinha
Quitanda
Cancela
Escola
Banca de
Jornal
Figura 2.8:
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
* P - Pracinha 6 J
* Q - Quitanda 9 P
B - Banca de Jornal 17 P
C - Cancela 12 P
E - Escola ∞ Ainda não atingimos
Agora vamos estudar se podemos melhorar a distância a partir da
Quitanda (que fechamos por ser o menor valor em aberto).
“GrafosModfrancisca”
2009/6/30
page 39
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 39
Da Quitanda posso alcançar a Banca de Jornais com distância
total 9 + 6 = 15 < 17 logo meu caminho para a Banca de Jornais
passa a usar a Quitanda.
Também posso alcançar a Cancela mas com distância
9 + 4 = 13 > 12.
Então não é vantagem, e continuo a ir para a Cancela passando pela
Pracinha.
Nosso grafo e tabela ficam assim:
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
9
6
5
15
12 8

5
6
3
11
6
6
Figura 2.9:
“GrafosModfrancisca”
2009/6/30
page 40
Estilo OBMEP
40 CAP. 2: CICLOS E CAMINHOS
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
* P - Pracinha 6 J
* Q - Quitanda 9 P
B - Banca de Jornal 15 Q
* C - Cancela 12 P
E - Escola ∞ Ainda não atingimos
Observe que escurecemos o vértice da Cancela, que é o que tem
menor distância acumulada entre os abertos. Isso mostra que nem
sempre “fechamos” os vértices na ordem da tabela. Neste caso
“fechamos” a Cancela antes da Banca de Jornal.
Já estamos quase terminando. Da Cancela só consigo ir à Escola
com distância acumulada 12 + 8 = 20 < ∞.
Minha tabela e grafo ficam assim (escurecemos o vértice da Banca
de Jornais):
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
* P - Pracinha 6 J
* Q - Quitanda 9 P
* B - Banca de Jornal 17 Q
* C - Cancela 12 P
E - Escola 20 C
“GrafosModfrancisca”
2009/6/30
page 41
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 41
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
9
6
5
15
12
20
5
6
3
11
6
8
6
Figura 2.10:
E finalmente, vemos que pela Banca de Jornal conseguimos chegar
à Escola com distância acumulada de 15 + 3 < 20.
A tabela e o grafo finais ficam:
Determinado Posso chegar ...com custo ...vindo de...
(fechado) até... ou distância...
* J - Casa de João 0 ***
* A - Armazém 5 J
* P - Pracinha 6 J
* Q - Quitanda 9 P
* B - Banca de Jornal 17 Q
* C - Cancela 12 P
* E - Escola 18 B
“GrafosModfrancisca”
2009/6/30
page 42
Estilo OBMEP
42 CAP. 2: CICLOS E CAMINHOS
Armazem
Pracinha
Banca de
Jornal
Quitanda
Cancela
Escola
Casa do
João
0
9
6
5
15
12
18
5
6
3
11
6
3 6
Figura 2.11:
Observe que:
• O grafo final é uma árvore – conexa e sem ciclos (sempre que
chegávamos num vértice, eliminávamos uma aresta, impedindo
a formação de ciclos).
• O algoritmo encontra o menor caminho da Casa de João a todos
os outros pontos. Ele não encontra o menor caminho entre dois
vértices quaisquer. Por exemplo para ir da Cancela à Banca de
Jornais a distância é 11 e não 15 como a árvore sugere.
• A representação gráfica foi útil para entendermos o problema,
mas poderíamos perfeitamente ter usado apenas uma matriz
de distância:
“GrafosModfrancisca”
2009/6/30
page 43
Estilo OBMEP
SEC. 2.2: O PROBLEMA DO MENOR CAMINHO 43
J A P Q B C E
J 0 5 6 10 ∞ ∞ ∞
A 5 0 ∞ ∞ 13 ∞ ∞
P 6 ∞ 0 3 11 6 ∞
Q 10 ∞ 3 0 6 4 ∞
B ∞ 13 11 6 0 ∞ 3
C ∞ ∞ 6 4 ∞ 0 8
E ∞ ∞ ∞ ∞ 3 8 0
Exercícios
1. Nas figura abaixo, use o algoritmo de Dijkstra para descobrir
qual o menor caminho do vértice A a todos os outros vértices.
N
P
M L
J
H I
G
E
D
C
F
B
A
70
110
31
70
65
100
67
30
126
105
74
30
39 19
26
12
61
140 85
Figura 2.12:
“GrafosModfrancisca”
2009/6/30
page 44
Estilo OBMEP
44 CAP. 2: CICLOS E CAMINHOS
2. Abaixo, temos uma tabela de distâncias entre uma Mercearia
e as localidades onde ela faz entregas. Use o algoritmo de
Dijkstra para descobrir qual o menor caminho da Mercearia a
todas as outras localidades.
Mercearia B C D E F G H
Mercearia 0 11 5 8 ∞ ∞ ∞ ∞
B 11 0 ∞ 3 ∞ ∞ 8 ∞
C 5 ∞ 0 2 8 ∞ ∞ ∞
D 8 3 2 0 4 ∞ 12 11
E ∞ ∞ 8 4 0 15 ∞ 4
F ∞ ∞ ∞ ∞ 15 0 3 7
G ∞ 8 ∞ 12 ∞ 3 0 2
H ∞ ∞ ∞ 11 4 7 2 0
“GrafosModfrancisca”
2009/6/30
page 45
Estilo OBMEP
Capítulo 3
Mais Ciclos e mais
Caminhos
3.1 Euler e as Pontes de Köenisberg
Na introdução, perguntamos se você conseguiria desenhar a
casinha abaixo sem tirar o lápis do papel. A figura mostra uma
solução e, na verdade, o problema é bastante fácil.
Figura 3.1:
45
“GrafosModfrancisca”
2009/6/30
page 46
Estilo OBMEP
46 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
Mas se quisermos começar pelo vértice B? (você pode tentar o
tempo que quiser).
O fato é que esse outro problema é impossível. Todas as soluções
começam/terminam pelo vértice A/E. Se começam em A terminam
em E, e vice-versa.
O problema tem origem no famoso “problema das pontes de
Köenisberg”, considerado o marco fundador da Teoria dos Grafos.
Os habitantes de Köenisberg (hoje Kaliningrado) se perguntavam se
seria possível atravessar as sete pontes do Rio Prega, sem passar duas
vezes na mesma ponte, retornando ao ponto de partida. O problema
e sua modelagem por grafos está apresentada na figura a seguir.
Figura 3.2:
Observamos que o problema dá origem a um grafo com arestas
múltiplas, o que não afetará a solução. Leonard Euler mostrou que a
resposta era negativa, estabelecendo assim uma condição necessária;
embora se acredite que a suficiência não lhe fosse desconhecida. Esta
segunda parte foi publicada por Hierholzer em 1873, muito mais tarde.
“GrafosModfrancisca”
2009/6/30
page 47
Estilo OBMEP
SEC. 3.1: EULER E AS PONTES DE KÖENISBERG 47
Antes de prosseguir com a solução, vamos tecer algumas conside-
rações sobre grafos, computadores e problemas finitos.
Esse Problema é Importante?
Sim! Para começo de conversa, ele é interessante, simples de pro-
por e veremos que sua solução é atraente, interessante e tem conse-
quências importantes.
Mas no aspecto imediato, pense numa pequena cidade com um
único caminhão para recolher o lixo onde o prefeito deseja economizar,
o que significa que ele prefere que o caminhão passe uma única vez
por todas as ruas e retorne ao ponto de partida.
O problema é idêntico ao problema da casinha e, se a cidade tivesse
essa configuração, não teria solução (pois o caminhão não retornaria
ao ponto inicial (Você experimentou?). Se o mapa da cidade fosse
como na figura a seguir, o prefeito ficaria contente (experimente de-
senhar esta figura sem tirar o lápis do papel mas voltando ao ponto
inicial).
Figura 3.3:
“GrafosModfrancisca”
2009/6/30
page 48
Estilo OBMEP
48 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
E em que um computador pode nos ajudar neste caso?
3.2 Estrutura de Dados
O desenho ajuda a nós, pessoas, mas os computadores pre-
ferem letras e números. Lembre-se que a casinha repre-
senta o grafo G(V, A) em que V (G) = ¦A, B, C, D, E¦ e
A(G) = ¦(A; B); (A; D); (A; E); (B; C); (B; D); (B; E); (C; D); (D; E)¦.
Observe que usamos uma ordem semelhante à ordem do dicionário;
isso facilita encontrar a aresta que procuramos e isso vale para o
computador também (essa ordem tem o nome de “ordem lexicográfi-
ca”).
Bem, queremos saber se realmente todas as soluções
começam/terminam por A/E. Não haverá exceção? Como o nosso
problema tem um número de possibilidades finito e pequeno, podemos
examinar todas. Como um computador pode fazer isso?
Calma! Não precisamos saber programação de computadores.
Basta lembrar que computadores têm facilidade para tratar infor-
mações organizadas. Como isso funciona no nosso caso?
Digamos que achei a solução codificada pela sequência de letras
AEBDCBADE. Mesmo sem o desenho, podemos verificar que esta
é de fato uma solução. As arestas disponíveis são:
AB AD AE BC BD BE CD DE
Começamos pela aresta AE. Ela está disponível? Sim. Retiramos ela
“GrafosModfrancisca”
2009/6/30
page 49
Estilo OBMEP
SEC. 3.2: ESTRUTURA DE DADOS 49
da lista de disponíveis:
AB AD AE == BC BD BE CD DE
A próxima aresta a ser examinada é EB. Está disponível? Sim.
Retiramos ela da lista de disponíveis:
AB AD AE == BC BD BE == CD DE
(Repare que no nosso problema EB e BE são a mesma coisa.)
E assim por diante. A sequência da verificação está aí abaixo:
AEBDCBADE AB AD AE == BC BD BE CD DE
AEBDCBADE AB AD AE == BC BD BE == CD DE
AEBDCBADE AB AD AE == BC BD == BE == CD DE
AEBDCBADE AB AD AE == BC BD == BE == CD == DE
AEBDCBADE AB AD AE == BC == BD == BE == CD == DE
AEBDCBADE AB == AD AE == BC == BD == BE == CD == DE
AEBDCBADE AB == AD == AE == BC == BD == BE == CD == DE
AEBDCBADE AB == AD == AE == BC == BD == BE == CD == DE ==
E a verificação mostra que a solução é boa.
Observe que não usamos o desenho. E que foi fundamental a
maneira como apresentamos os dados. É o que chamamos uma es-
trutura de dados. Lembre-se, computadores são máquinas e não
“GrafosModfrancisca”
2009/6/30
page 50
Estilo OBMEP
50 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
podemos passar informações de qualquer jeito. A estrutura de dados
é fundamental.
Não temos a intenção aqui de explicitar o funcionamento de um
computador, mas intuitivamente percebemos que com a estrutura ade-
quada e uma sequência de procedimentos (um programa!), isto é, um
algoritmo, podemos verificar se uma sequência de 9 letras (por quê
9?) é ou não uma solução.
Vamos fazer algumas contas. Temos 8 arestas disponíveis e pode-
mos numerá-las de 1 a 8. Podemos pensar num procedimento (dife-
rente do que usamos antes) que verifique se uma determinada sequên-
cia de 8 algarismos do tipo (1, 2, 3, 4, 5, 6, 7, 8) ou (3, 5, 6, 2, 8, 4, 7, 1)
é ou não uma solução para o problema da casinha. Melhor ainda,
podemos colocar estas sequências em ordem de (1, 2, 3, 4, 5, 6, 7, 8) até
(8, 7, 6, 5, 4, 3, 2, 1).
Quantas sequências temos? Na apostila [2] vimos que teremos
8! = 8 7 6 5 4 3 2 1 = 40 320 sequências. São as per-
mutações de 8 elementos. Ora, um bom computador pode gerar e
verificar estas sequências todas em segundos! Poderemos ter certeza
de que todas as soluções realmente começam (ou terminam) com a
letra A ou E.
Isto se chama uma “solução por força bruta” e não usamos
nenhuma sofisticação matemática, nenhum teorema. Será o fim da
Matemática? Não é bem assim...
Lembre-se do prefeito. Digamos que a cidade dele não tenha 8
ruas, mas 20. Não é uma grande cidade e podemos tentar usar a
mesma força bruta do computador para resolver o problema de per-
“GrafosModfrancisca”
2009/6/30
page 51
Estilo OBMEP
SEC. 3.3: GRAFOS EULERIANOS 51
correr com o caminhão sem repetição de ruas. Se temos 20 ruas,
teremos 20! sequências. Quanto é isso?
20! = 2 432 902 008 176 640 000 sequências
São muitas sequências. Mas será que um bom computador não
resolveria este problema? Se o computador verificasse um milhão
de sequências por segundo (e poucos computadores o fazem hoje em
dia) ele demoraria (os cálculos só incluem a parte inteira):
2 432 902 008 176 640 000 ÷1 000 000 ≥ 2 432 902 008 170 segundos
2 432 902 008 170 ÷60 ≥ 40 548 366 800 minutos
40 548 366 800 ÷60 ≥ 675 806 110 horas
675 806 110 ÷24 ≥ 28 158 580 dias
28 158 580 ÷365 ≥ 77 140 anos
77 140 ÷1 000 ≥ 77 milênios
O prefeito não pode esperar tanto tempo (nem nós, nem ninguém).
Quem virá nos socorrer? Um teorema de Euler.
3.3 Grafos Eulerianos
Um grafo com m arestas é dito euleriano se existe uma trilha
fechada de comprimento m em G; em outras palavras, se podemos
percorrer cada aresta uma e só uma vez partindo de um vértice e a
“GrafosModfrancisca”
2009/6/30
page 52
Estilo OBMEP
52 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
ele retornando. Se o grafo não é euleriano mas tem uma trilha aberta
de comprimento m, ele é dito semieuleriano.
Em outras palavras, podemos desenhar um grafo euleriano (ou
melhor, uma representação gráfica dele) sem retirar o lápis do papel
e retornando ao ponto inicial. Num grafo semieuleriano começamos
num ponto e terminamos em outro.
Figura 3.4:
Na figura acima, G
1
é euleriano (a trilha pode ser a-b-c-d-e-f-a-d-
b-e-a), G
2
é semieuleriano (a trilha pode ser a-e-b-d-c-b-a-d-e) e G
3
não é euleriano, nem semieuleriano.
Já vimos que o problema (e o nome “euleriano”) se originou com
o problema das pontes de Köenisberg. Euler mostrou que a resposta
era negativa, estabelecendo assim uma condição necessária.
Começamos por um lema simples porém necessário.
Lema. Se todo vértice de um grafo (não necessariamente simples) G
tem grau maior ou igual a 2, então G contém um ciclo.
Demonstração. Se G contém laços ou arestas múltiplas, não há o que
“GrafosModfrancisca”
2009/6/30
page 53
Estilo OBMEP
SEC. 3.3: GRAFOS EULERIANOS 53
provar, pois, automaticamente, G contém um ciclo. Consideramos,
portanto, apenas os grafos simples. À partir de um vértice v
0
, qual-
quer, iniciamos nossa trilha. Quando chegamos a um vértice qual-
quer, ou o estamos visitando pela primeira vez e podemos continuar,
ou chegamos a um vértice já visitado, produzindo um ciclo. Como o
número de vértices é finito, o lema está provado.
E agora, o teorema.
Teorema de Euler (Euler – 1736). Um grafo conexo (não
necessariamente simples) G é euleriano se, e somente se, todos os
seus vértices tem grau par.
Demonstração.
(⇒) Suponhamos que G tenha uma trilha fechada de comprimento m.
Cada vez que a trilha passa por um vértice utiliza duas novas arestas,
uma para entrar e outra para sair. Logo, o grau de cada vértice deve
ser obrigatoriamente par.
(⇐) Usaremos indução sobre o número de arestas m do grafo. Por
vacuidade, o teorema é válido quando m = 0. Suponhamos que o
teorema seja válido para todos os grafos com menos do que m arestas.
Sendo G conexo, todos os vértices têm grau maior do que 2, pois os
graus são pares. Pelo lema anterior, G contém um ciclo (que é uma
trilha fechada). Dentre todos as trilhas fechadas em G escolhemos
uma trilha T com comprimento máximo. Se T tem comprimento
m, o teorema está provado. Caso contrário, consideramos o grafo H
resultante da retirada das arestas de T. Como retiramos um número
“GrafosModfrancisca”
2009/6/30
page 54
Estilo OBMEP
54 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
par de arestas de cada vértice de T, e todos os vértices do grafo tem
grau par (pela hipótese), pelo menos uma das componentes de H
tem um vértice em comum com T e tem todos os vértices com grau
par. Pela hipótese de indução, H tem uma trilha fechada que passa
por todos os vértices de H, e podemos formar uma trilha fechada
maior concatenando T com a trilha em H. Mas isto contraria a
maximalidade na escolha de T.
Corolário. Um grafo conexo (não necessariamente simples) G é
semieuleriano se, e somente se, no máximo, dois vértices têm grau
ímpar.
Demonstração. Deixada ao leitor. (Sugestão: pense em acrescentar
uma aresta a dois vértices de grau ímpar.)
Um algoritmo decorrente da demonstração do teorema acima asse-
gura a construção de uma trilha fechada de comprimento m num grafo
euleriano. A demonstração da correção do algoritmo pode ser encon-
trada em [6]. Podemos dar uma ideia do funcionamento do algoritmo e
do motivo pelo qual ele funciona. Veja a figura 3.5. Começando nossa
trilha pelo vértice a poderíamos percorrer abfcedcbefa, chegando a
um beco sem saída. Repare que os graus eram todos pares e a retirada
de um ciclo subtrai sempre números pares dos graus.
O grafo restante também tem vértices com grau par (veja ainda a
figura 3.5).
Este resto pode ser percorrido pela trilha fechada dghijkcjhd.
Basta agora incluir essa trilha na trilha inicial onde está o vértice d.
“GrafosModfrancisca”
2009/6/30
page 55
Estilo OBMEP
SEC. 3.3: GRAFOS EULERIANOS 55
a
b
c
d
e
f
g
h
i
j
k
d
h
i
j
g
c
Figura 3.5:
Nossa trilha fica abfced(dghijkcjhd)dcbefa(veja a figura 3.6).
a
b
c
d
e
f
g
h
i
j
k
Figura 3.6:
“GrafosModfrancisca”
2009/6/30
page 56
Estilo OBMEP
56 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
Exercício
Na figura 3.7, quais grafos são eulerianos? Quais são semieule-
rianos? No caso dos semieulerianos, por onde devemos começar (ter-
minar) nossa trilha?




Figura 3.7:
“GrafosModfrancisca”
2009/6/30
page 57
Estilo OBMEP
SEC. 3.4: O PROBLEMA CHINÊS DO CARTEIRO 57
3.4 O Problema Chinês do Carteiro
Esse problema é uma aplicação bastante importante do conceito
de grafo euleriano. Usamos um grafo valorado onde às arestas é
associado um peso, isto é, uma função f : A → '
+
. Este peso pode
representar comprimento, custo, tempo, ou o que a modelagem do
problema exigir. Já vimos este conceito no caso do algoritmo de
Dijkstra.
O problema chinês do carteiro (que tem este nome por ter sido
apresentado pela primeira vez por um pesquisador chinês e não pela
nacionalidade do carteiro...) consiste em minimizar o esforço de um
carteiro que percorre todas as ruas de uma cidade. Ora, se o grafo
em questão é euleriano, não há problema. Mas se este não for o caso,
teremos que eulerizar o grafo. Lembramos que o número de vértices
de grau ímpar é par (veja o corolário na seção 2.3), logo poderemos
unir pares destes vértices por novas arestas, tornando-os pares. É
claro que não construiremos novas ruas! A ideia é fazer o carteiro
percorrer ruas repetidas de forma econômica. O problema pode se
complicar bastante, mas hoje há algoritmos que produzem resultados
aproximados com bastante eficiência. É um problema bastante es-
tudado devido à economia que uma boa solução pode gerar. Vamos
ilustrar o caso mais simples possível, quando o grafo é semi-euleriano,
isto é, quando tem apenas dois vértices de grau ímpar.
O menor caminho entre os vértices a e b (calculado pelo algoritmo
de Dijkstra) indica que o melhor meio de eulerizar o grafo é construir
uma “aresta virtual” entre a e b, o que significa simplesmente percor-
rer o caminho av
2
, v
2
v
3
, v
3
v
4
, v
4
b como se fosse uma aresta. Assim,
“GrafosModfrancisca”
2009/6/30
page 58
Estilo OBMEP
58 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
12
5
3
5
3
5
3
4
3
8
8
7
2
10
a
b
v
1
v
3
v
4
2
v
5
v
6
v
2
aresta virtual
12
5
3
5
3
5
3 4
3
8
8
7
2
10
a
b
v
1
v
3
v
4
2
v
5
v
6
v
2
Figura 3.8:
gastaremos menos a sola do carteiro.
3.5 Grafos e Ciclos Hamiltonianos
Um problema aparentemente similar ao dos grafos eulerianos é o
de procurar em G uma trilha fechada que passe por todos os vér-
tices uma e só uma vez. Uma trilha assim teria de ser necessa-
riamente um ciclo (salvo no caso do grafo nulo com um vértice);
chamamos um tal ciclo de ciclo hamiltoniano. O nome home-
nageia Sir Willian R. Hamilton, que estudou e divulgou o problema
– embora a primeira formulação tenha sido feita por Kirkman em
1885. As primeiras definições de grafo hamiltoniano e de grafo
semi-hamiltoniano seguem as mesmas diretrizes dos grafos eule-
rianos. Um grafo e seu ciclo hamiltoniano aparecem na figura 3.9(a);
um grafo semi-hamiltoniano aparece na figura 3.9(b).
“GrafosModfrancisca”
2009/6/30
page 59
Estilo OBMEP
SEC. 3.6: O PROBLEMA DO CAIXEIRO VIAJANTE – PCV 59
(a)
(b)
Figura 3.9:
As semelhanças, entretanto, param por aqui. O problema de saber
se um grafo é ou não hamiltoniano é um dos mais estudados da teo-
ria dos grafos por sua aplicabilidade em comunicação, transporte e
planejamento. Entretanto, até hoje, nenhuma condição necessária e
suficiente elegante para que um grafo seja hamiltoniano foi encon-
trada. Na verdade, todos os teoremas se encontram muito longe de
oferecer uma previsão razoável de solução.
3.6 O Problema do Caixeiro Viajante – PCV
O PCV é um dos problemas mais estudados no campo da pesquisa
operacional, mas até hoje não foi encontrado um algoritmo com-
putacionalmente eficiente para resolvê-lo. Sua formulação é simples:
dado um grafo completo valorado G, desejamos determinar o valor
do menor ciclo hamiltoniano de G. Tomemos o exemplo dado pela
seguinte matriz valorada de adjacência
“GrafosModfrancisca”
2009/6/30
page 60
Estilo OBMEP
60 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
a b c d e f g
a XXX 404 270 490 490 338 258
b 404 XXX 618 890 890 460 320
c 270 618 XXX 360 360 210 240
d 490 890 360 XXX 78 390 330
e 490 890 360 78 XXX 390 330
f 338 460 210 390 390 XXX 270
g 258 320 240 390 330 270 XXX
Como o grafo em questão é K
7
, uma solução óbvia seria examinar
todas as permutações entre os vértices, cada uma correspondendo a
um ciclo hamiltoniano.
Com 7 vértices, teremos 7! = 5760 permutações; na verdade são
6! = 820, pois são permutações circulares. Seja como for, é uma tarefa
até modesta para um computador. Mas o PCV frequentemente trata
de grafos com mais de 60 vértices. Isso nos daria 60!, o que nos
tomaria milênios, mesmo usando todos os computadores do mundo!
Nossa atitude será então de procurar um algoritmo heurístico,
isto é, que usa uma ideia “razoável”, mesmo que não assegure a me-
lhor solução, a solução ótima. A primeira tentativa é um algoritmo
guloso que parte do ponto A e procura sempre a menor distância
ao ponto da vez. No nosso caso, o ciclo produzido seria a-g-c-f-g-
b-d-e-a, com valor 2470. A contraindicação para o algoritmo guloso
é que no final terminamos por aceitar arestas de valores muito al-
tos. Observamos, entretanto, que estamos à procura de um ciclo, e
não temos portanto necessidade de agir sequencialmente. Uma outra
tentativa heurística seria procurar agregar sempre a aresta de menor
valor que não produza ciclo com menos de 7 vértices nem produza
“GrafosModfrancisca”
2009/6/30
page 61
Estilo OBMEP
SEC. 3.6: O PROBLEMA DO CAIXEIRO VIAJANTE – PCV 61
vértices de grau 3 (num ciclo, todos os vértices são de grau 2). As
escolhas recaem sobre:
Aresta Valor
DE 78
CF 210
CG 240
GA 258
AC Bifurcação
FG Bifurcação
AF Fecha ciclo
CD Bifurcação
CE Bifurcação
DF 390
BE 890
AB 404
O ciclo é a-c-d-e-f-g-b-a e o valor conseguido também é 2 470. Isso
foi coincidência, como veremos em outros exemplos. A ideia parecia
boa e o resultado foi um pouco melhor. Entretanto, o melhor valor
encontrado, examinando todas as possibilidades, corresponde ao ciclo
a-c-d-e-f-g-b-a com o valor, bem inferior, de 2 092.
É claro, se tivermos que examinar o PCV para 20 cidades teríamos
que examinar cerca de 20! permutações e já vimos que este é um
número muito grande. Pior ainda, não foi descoberto até o momento
um algoritmo eficiente para este problema (como no caso euleriano,
em que o teorema de Euler nos salvou). E, ainda pior, os cientistas
da computação acreditam que ele pertença a uma classe de problema
para os quais não há uma solução “elegante”. Vamos falar um pouco
sobre isto adiante.
“GrafosModfrancisca”
2009/6/30
page 62
Estilo OBMEP
62 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
Exercício
Na figura 3.10 temos um grafo completo, valorado nas arestas,
e desejamos encontrar o ciclo hamiltoniano com menor valor total
(Problema do Caixeiro Viajante). Para isto, use os algoritmos gulosos
descritos nesta seção e constate que o valor obtido é sempre maior do
que o melhor valor (que pode ser encontrado por exame exaustivo).
A
B C
D
10
80
50
70
150
20
Figura 3.10:
3.7 Uma Palavra sobre Complexidade
A análise da complexidade de algoritmos é um assunto bastante
técnico e que foge à intenção destas notas. Entretanto, as dificuldades
enfrentadas por quem trabalha com problemas combinatórios (entre
os quais os da teoria dos grafos) podem ser informalmente compreen-
didas. Já viemos fazendo isto quando falamos de soluções elegantes,
eficiência computacional, enfim, sugerindo qualitativamente que cer-
tos problemas têm sido mais resistentes a uma abordagem algorítmica
e computacional do que outros.
“GrafosModfrancisca”
2009/6/30
page 63
Estilo OBMEP
SEC. 3.7: UMA PALAVRA SOBRE COMPLEXIDADE 63
Um algoritmo é composto de passos elementares; se a totalidade
dos passos exigidos por qualquer problema que este algoritmo resolva é
dado por uma função polinomial do tamanho da entrada do algoritmo,
um aumento de poder computacional pode reduzir significativamente
o tempo utilizado.
Entretanto, se a totalidade dos passos do algoritmo, no pior dos
casos, é uma função exponencial do tamanho da entrada, o aumento
do poder computacional tem pouco efeito sobre o tempo de execução;
basta um pequeno incremento na entrada para inutilizar o aumento
computacional.
Dos algoritmos que já examinamos, o de pesquisa de menor dis-
tância (Dijkstra) é de complexidade polinomial assim como o da de-
terminação se um grafo é ou não euleriano (e de sua exibição, se este
for o caso). Para o PCV, entretanto, até hoje não foi descoberto um
algoritmo polinomial; mais ainda, a maior parte dos pesquisadores
acredita que isto não será mesmo possível.
Maior informação sobre complexidade computacional pode ser en-
contrada em Garey e Johnson [5].
Exercícios
1. Uma ponte é uma aresta que, quando retirada, desconecta o
grafo.
Dado um grafo conexo G, um vértice v será chamado de vértice
separador quando a sua retirada resultar num grafo desconexo
ou nulo. Prove que um grafo só tem uma ponte se tiver um
“GrafosModfrancisca”
2009/6/30
page 64
Estilo OBMEP
64 CAP. 3: MAIS CICLOS E MAIS CAMINHOS
Ponte
Figura 3.11:
vértice separador, mas a recíproca não é verdadeira.
2. Prove que dentre G e G, pelo menos um é conexo.
3. Mostre que A
2
, o quadrado da matriz de adjacência de um grafo,
nos dá o número de caminhos de comprimento 2 entre cada par
de vértices do grafo. Que número aparece na diagonal princi-
pal de A
2
? Qual o significado da matriz A
k
? (Teorema de
Festinger).
4. Mostre que se um grafo tem 2.k vértices de grau ímpar seu con-
junto de arestas pode ser particionado em k caminhos disjuntos.
5. Para que valores de n, p e q os grafos K
n
, K
p,q
, P
n
são euleria-
nos? semieulerianos? hamiltonianos? semi-hamiltonianos?
6. Mostre que K
i,j
é hamiltoniano se e só se i = j; e que neste
caso, existem
i
2
| ciclos hamiltonianos disjuntos.
Observação: x| é o maior número inteiro menor ou igual a x.
Por exemplo:
5
7
| = 0,
41
3
| = 13 e
6
2
| = 3.
7. Seja o grafo Q
j
= (X
j
, U
j
) no qual X
j
= {vetores de j coorde-
nadas, cada uma igual a 0 ou 1 } e U
j
= {(v
j
, w
j
)[v
j
difere de
w
j
por uma só coordenada}.
“GrafosModfrancisca”
2009/6/30
page 65
Estilo OBMEP
SEC. 3.7: UMA PALAVRA SOBRE COMPLEXIDADE 65
A figura 3.12 mostra Q
1
, Q
2
e Q
3
.
(0) (1)
(0,0)
(1,0) (1,1)
(0,1) (0,0,0)
(0,0,1)
(1,0,0)
(1,1,0)
(0,1,1)
(1,1,1)
(0,1,0)
(1,0
,1)
Q
1
Q
2
Q
3
Figura 3.12:
(a) Calcule n
j
= [X
j
[ e m
j
= [U
j
[.
(b) Para que valores de j é Q
j
euleriano? Justifique.
(c) Mostre que Q
j
é bipartido.
(d) Para que valores de j é Q
j
hamiltoniano? Justifique.
8. Mostre que o grafo de Petersen (ver figura 3.13) não é hamilto-
niano.
Figura 3.13:
9. Mostre que se G for euleriano, L(G) será hamiltoniano, mas a
recíproca não é verdadeira.
“GrafosModfrancisca”
2009/6/30
page 66
Estilo OBMEP
Capítulo 4
Árvores
4.1 Definições e Caracterizações
Um dos tipos mais frequentes de grafos são as árvores, já definidos
anteriormente como grafos conexos sem ciclos. Um grafo cujas com-
ponentes conexas são árvores é chamado de floresta.
árvore
floresta
Figura 4.1:
Para um dado número de vértices n, uma árvore é o grafo conexo
com menor número de arestas. As várias caracterizações das árvores
podem ser reunidas no teorema a seguir.
66
“GrafosModfrancisca”
2009/6/30
page 67
Estilo OBMEP
SEC. 4.1: DEFINIÇÕES E CARACTERIZAÇÕES 67
Teorema. Seja T um grafo com n vértices. As seguintes afirmações
são equivalentes:
(i) T é uma árvore.
(ii) T não contém ciclos e tem n −1 arestas.
(iii) T é conexo e tem n −1 arestas.
(iv) T é conexo e toda aresta é uma ponte.
(v) Todo par de vértices de T é ligado por um único caminho.
(vi) T não contém ciclos, mas a adição de uma aresta produz um
único ciclo.
Demonstração.
(i) ⇒(ii): Pela definição de árvore, T não contém ciclos. Portanto, a
retirada de uma aresta uv separa u de v e o grafo é separado em um
par de árvores T

e T

com n

e n

vértices, respectivamente, tais que
n = n

+n

. Por indução, o número de arestas de T

é n

−1 e o número
de arestas de T

é n

−1. Acrescentando a aresta uv, concluímos que
o número de arestas de T é, portanto, (n

−1) +(n

−1) +1 = n−1.
(ii) ⇒(iii): Se T fosse desconexo, cada componente seria uma árvore.
Por indução, o número de arestas em cada componente é inferior em
uma unidade ao número de vértices e o número total de arestas seria
inferior a n −1.
(iii) ⇒ (iv): A retirada de qualquer aresta separa o grafo, pois n −2
arestas são insuficientes para conectar o grafo.
“GrafosModfrancisca”
2009/6/30
page 68
Estilo OBMEP
68 CAP. 4: ÁRVORES
(iv) ⇒ (v): Se existisse mais de um caminho entre dois vértices, o
grafo teria um ciclo e haveria uma aresta que não separaria o grafo.
(v) ⇒ (vi): Se T contivesse um ciclo, haveria um par de vértices liga-
do por mais de um caminho. A adição de uma aresta uv, concatenada
com o caminho (único) entre u e v, produz um ciclo. Se este ciclo não
fosse único, a retirada da aresta uv deixaria dois caminhos distintos
entre u e v.
(vi) ⇒(i): Basta mostrar que T é conexo. Se T fosse desconexo, uma
aresta ligando duas componentes não produziria um ciclo.
4.2 Árvores Geradoras
O Problema de Conexão de Peso Mínimo
Uma árvore geradora de uma componente conexa de um grafo
G, com n vértices, é um subgrafo que é uma árvore com n−1 arestas;
isto é, toca todos os vértices.
Vimos que um algoritmo “guloso” pode ser fácil de implemen-
tar, mas dificilmente dará um bom resultado (daí o nome...). Uma
exceção ocorre na solução do seguinte problema: “Dado um grafo G
valorado, qual a árvore geradora de menor valor?”. Por exemplo, se
queremos realizar a ligação de computadores em rede a custo mínimo,
que ligações deveremos fazer?
A resposta será uma árvore geradora, é claro. Mas qual?
“GrafosModfrancisca”
2009/6/30
page 69
Estilo OBMEP
SEC. 4.2: ÁRVORES GERADORAS 69
O grafo da figura 4.2 mostra o custo entre as ligações de um grafo
K
5
.
a
b
c d
e
40
100
44
46
44
102
42
60
6
42
Figura 4.2:
Para resolver o problema, usaremos o algoritmo de Kruskal.
Este algoritmo consiste em tomar a aresta de menor valor; se ela não
forma ciclo, a acrescentamos à nossa árvore. Caso contrário, nós a
desprezamos. Quando tivermos conseguido n−1 arestas, nossa árvore
estará pronta.
No nosso caso:
c →e ⇒6
a →e ⇒40
Agora há um empate entre a−c e b−d. Podemos escolher qualquer
uma.
a →c ⇒ forma ciclo.
“GrafosModfrancisca”
2009/6/30
page 70
Estilo OBMEP
70 CAP. 4: ÁRVORES
b →d ⇒42
Temos outro empate, agora entre b −c e d −e. Podemos escolher
qualquer uma.
b →c ⇒44
Ja temos 4 arestas. Nossa árvore está completa.
Total: 132
Nossa árvore ficará assim:
d
e
a
b
c
40
42
44
6
Figura 4.3:
Teorema. O algoritmo de Kruskal fornece uma solução ótima para
o problema da conexão de peso mínimo.
Demonstração. O algoritmo, evidentemente, fornece uma árvore ge-
radora T. Suponhamos que T não tenha peso mínimo, isto é, existe
uma árvore geradora T

tal que o peso de T

é menor do que o peso
de T. Seja e a primeira aresta escolhida para T que não pertence a
T

. Se adicionarmos e a T

obtemos um ciclo que contém uma aresta
e
k
que não está em T. Retiramos a aresta e
k
e temos uma árvore
“GrafosModfrancisca”
2009/6/30
page 71
Estilo OBMEP
SEC. 4.2: ÁRVORES GERADORAS 71
T

com peso menor que T. Mas neste caso, esta aresta e
k
teria sido
escolhida pelo algoritmo no lugar de e, o que mostra que o algoritmo
constrói efetivamente uma árvore de menor peso.
Um algoritmo guloso pode ser usado para obter um limite inferior
para o PCV. Como um ciclo é um caminho adicionado de uma aresta,
um limite inferior para o PCV é dado pelo valor da árvore geradora
mínima (obtido por um algoritmo guloso) mais o menor valor de uma
aresta não usada na árvore.
Exercícios
1. Desenhe todas as árvores com 6 vértices e com 7 vértices.
2. Mostre que um grafo conexo, com n vértices e m arestas, tem,
no mínimo, m−n + 1 ciclos distintos.
3. Determine todas as árvores geradoras do grafo da figura 4.4.
a
b
c
d
e
Figura 4.4:
4. (a) Mostre que toda árvore é um grafo bipartido.
(b) Quais árvores são também grafos bipartidos completos?
“GrafosModfrancisca”
2009/6/30
page 72
Estilo OBMEP
72 CAP. 4: ÁRVORES
5. Como podemos adaptar o algoritmo de Kruskal para obter o
valor de uma árvore geradora de valor máximo?
6. Prove que um grafo conexo é uma árvore se, e somente se, tem
uma única árvore geradora.
7. Prove que uma árvore com ∆ > 1 tem, no mínimo, ∆ vértices
pendentes.
8. Prove que uma árvore em que exatamente 2 vértices não são
vértices separadores é um caminho.
“GrafosModfrancisca”
2009/6/30
page 73
Estilo OBMEP
Capítulo 5
Subconjuntos Especiais de
um Grafo
5.1 Conjuntos Independentes
Já vimos, pelo menos, um exemplo de subconjunto notável de um
grafo: um subgrafo independente, no qual nenhum par de vértices
está ligado. Um conjunto independente pode desempenhar papel im-
portante em uma modelagem.
Suponhamos que um grafo represente a incompatibilidade de
horários entre professores que devem dar prova final; os vértices x
e y estarão ligados se representarem professores que têm alunos em
comum para ministrar a prova. Qual o maior número de professores
que podem dar prova ao mesmo tempo? A resposta é dada pelo sub-
conjunto independente máximo de vértices do grafo.
O subconjunto assinalado com quadrados negros no grafo da fi-
gura 5.1 mostra um conjunto com estas características. O número
de independência α(G) é a cardinalidade do subconjunto indepen-
dente máximo de vértices do grafo. No nosso exemplo (figura 5.1),
73
“GrafosModfrancisca”
2009/6/30
page 74
Estilo OBMEP
74 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
α(G) = 4.
Figura 5.1:
Aplicações do conceito de conjunto independente surgem quando,
por exemplo, desejamos evitar duplicação de esforços. Suponhamos
que num parque, representado pelo grafo da figura 5.2, eu quisesse
instalar barracas para venda de sorvete. A operadora das barracas
faz as seguintes restrições:
• Uma barraca deve ser localizada em uma esquina (vértice).
• Esquinas próximas (vértices adjacentes) só admitem uma bar-
raca.
Estamos procurando então um conjunto independente. Para ins-
talar o máximo de barracas procuramos um conjunto independente
máximo. Já vimos que esta pode ser uma tarefa complexa. Na fi-
gura 5.3 a configuração da esquerda mostra um conjunto independente
maximal, isto é, não podemos acrescentar mais barracas de sorvete.
Mas a configuração da direita também é independente e contém quase
o dobro de barracas.
“GrafosModfrancisca”
2009/6/30
page 75
Estilo OBMEP
SEC. 5.1: CONJUNTOS INDEPENDENTES 75
Figura 5.2:
Figura 5.3:
“GrafosModfrancisca”
2009/6/30
page 76
Estilo OBMEP
76 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
5.2 Coloração
Suponha, no exemplo anterior, que quiséssemos saber qual o
menor número de horários necessários para ministrar as provas. Para
isto, devemos resolver o problema de particionar o conjunto de vér-
tices do grafo em subconjuntos independentes; cada conjunto corres-
ponderá a um horário de prova. Uma forma de resolver o problema
é atribuir cores aos vértices de forma que vértices adjacentes tenham
necessariamente cores diferentes. O menor número de cores que se
pode utilizar será portanto a solução do problema.
Observação. Não precisamos efetivamente “colorir” os vértices,
basta atribuir um número ou um símbolo aos vértices.
Podemos colorir os vértices com 12 cores (uma para cada vértice),
mas o menor número possível de cores é 4 (veja a figura 5.1). O
menor número de cores para colorir os vértices de um grafo G é
chamado número cromático de G e denotado por χ(G). No caso,
χ(G) = 4.
Teorema. Para todo grafo G, tem-se que χ(G) ≤ ∆ + 1.
Demonstração. Colorimos vértice por vértice. Cada vértice pode ser
adjacente a, no máximo, ∆ vértices. Podemos sempre encontrar uma
cor com a qual colorir o vértice da vez.
A demonstração acima fornece um algoritmo para colorir um grafo
com ∆ + 1 cores.
“GrafosModfrancisca”
2009/6/30
page 77
Estilo OBMEP
SEC. 5.3: APLICAÇÕES DE COLORAÇÃO 77
Apresentamos, sem demonstrar, um teorema clássico que reduz
um pouco o limite acima.
Teorema (Brooks – 1941). Se G é um grafo conexo que não seja
K
n
e tal que ∆(G) ≥ 3, então χ(G) ≤ ∆(G).
Teorema. Um grafo G é bipartido se, e somente se, χ(G) = 2.
Demonstração. Basta fazer corresponder cada uma das partições in-
dependentes de G a uma cor.
5.3 Aplicações de Coloração
As aplicações de coloração aparecem quando precisamos repartir o
conjunto de vértices em conjuntos de vértices independentes disjuntos.
Voltando ao problema do parque da Seção 6.1, suponha que quisésse-
mos instalar barracas de sorvete, pipocas, cachorro-quente etc. As
restrições agora serão:
• Uma barraca deve ser localizada em uma esquina (vértice).
• Esquinas próximas (vértices adjacentes) só admitem barracas
com serviços diferentes.
Por motivos comerciais, queremos evitar a diversificação excessiva
de serviços. Qual seria o menor número de serviços que poderíamos
usar? Vemos na figura 5.4 que podemos colorir os vértices com ape-
nas 3 cores. Este número é mínimo pois o grafo inclui um subgrafo
isomorfo a K
3
.
“GrafosModfrancisca”
2009/6/30
page 78
Estilo OBMEP
78 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
Figura 5.4:
Uma outra aplicação clássica de coloração é o problema dos exa-
mes. A tabela abaixo mostra a alocação de alunos nos exames finais
que eles devem prestar:
Alunos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Matemática X X X X
Português X X X X
Inglês X X X X
Geografia X X X X X
História X X X X X
Física X X X
Química X X X X X
Biologia X X
Duas disciplinas só podem ter exames realizados simultaneamente
se não houver alunos comuns. Vamos construir um grafo com os vér-
tices ¦M, P, I, G, H, F, Q, B¦; dois vértices estarão ligados se tiverem
um aluno em comum.
A figura 5.5 mostra uma partição dos vértices em dois conjun-
tos independentes disjuntos. Os exames podem ser realizados em 2
horários, um para ¦B, G, H, M¦ e outro para ¦F, I, P, Q¦.
“GrafosModfrancisca”
2009/6/30
page 79
Estilo OBMEP
SEC. 5.3: APLICAÇÕES DE COLORAÇÃO 79
M
P
I
G
H F
Q
B
Figura 5.5:
Uma outra aplicação é a determinação de períodos de um sinal de
trânsito. O desenho abaixo representa um cruzamento. As direções
permitidas estão assinaladas por setas. Veja a figura 5.6.
A
B
C
D
E
Figura 5.6:
Como organizar o trânsito? Vamos formar um grafo de incompa-
tibilidade. Os vértices serão as direções possíveis:
V = AB, AC, AD, BA, BC, BD, DA, DB, DC, EA, EB, EC, ED
“GrafosModfrancisca”
2009/6/30
page 80
Estilo OBMEP
80 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
Ligamos dois vértices sempre que as direções forem incompatíveis
(por exemplo AD e EB). Veja a figura 5.7.
Figura 5.7:
Observe que BA, DC e ED são compatíveis com todas as direções,
sendo por isso vértices isolados. Uma coloração dos vértices corres-
ponde a uma divisão em períodos. Poderíamos usar 13 cores, uma
para cada direção, mas isso seria um desperdício de tempo. Como os
vértices AC, BD, DA e EB formam um K
4
precisamos de pelo menos
4 cores. A partição em conjuntos independentes ¦AB, AC, AD¦,
¦BC, BD, EA¦, ¦BA, EB, EC, ED¦, ¦DA, DB, DC¦ mostra que de
fato 4 cores (4 períodos) são suficientes, isto é, χ(G) = 4.
Exercícios
1. O dono de uma loja de animais comprou uma certa quantidade
de peixes ornamentais de diversas espécies. Alguns destes peixes
“GrafosModfrancisca”
2009/6/30
page 81
Estilo OBMEP
SEC. 5.3: APLICAÇÕES DE COLORAÇÃO 81
não podem ficar no mesmo aquário. A compatibilidade entre as
espécies está retratada na tabela a seguir, onde X significa que
as espécies não devem ficar no mesmo aquário.
(a) Qual o menor número de aquários necessário para abrigar
sem problemas todos os peixes?
(b) É possível distribuir os peixes de forma que cada aquário
tenha (aproximadamente) o mesmo número de peixes?
A B C D E F G H I
A X X X
B X X
C X X X
D X X X
E X X X
F X X X X
G X X X X X
H X X X X
I X X X
2. Para os cruzamentos da figura 5.8, dê uma sequência econômica
de períodos para o sinal de trânsito.
A
B
C
D
Figura 5.8:
“GrafosModfrancisca”
2009/6/30
page 82
Estilo OBMEP
82 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
3. Determine o número cromático dos grafos da figura 5.9.
v
Figura 5.9:
5.4 Cliques
Uma clique de G é um subgrafo completo de G. O número de
vértices da clique máxima é o número de clique de G, denotado
por ω(G). Note-se que uma clique de G corresponde a um conjunto
independente em G, isto é ω(G) = α(G).
5.5 Acoplamentos
Da mesma forma que selecionamos um conjunto independente de
vértices, podemos considerar um conjunto independente de arestas,
“GrafosModfrancisca”
2009/6/30
page 83
Estilo OBMEP
SEC. 5.5: ACOPLAMENTOS 83
isto é, de arestas não incidentes duas a duas. Um conjunto deste tipo
é chamado um acoplamento do grafo G.
G
1
G
2
G
3
Figura 5.10:
Na figura 5.10 o acoplamento em G
1
é maximal (pois não pode
ser aumentado) mas não é máximo. O acoplamento em G
2
é máximo,
mas não toca todos os vértices; os que são tocados são ditos vértices
saturados e os outros vértices não saturados. O acoplamento
em G
3
é máximo e satura todos os vértices; dizemos então que é um
acoplamento perfeito. O número de acoplamento de um grafo G,
denotado por α

(G), é a cardinalidade do maior acoplamento de G.
Observação. Note a diferença entre os conceitos de máximo (o
conjunto de maior cardinal possível dentro das condições exigidas)
e maximal (um conjunto que não pode ser aumentado sem violar as
condições exigidas). A mesma ideia se aplica a conjuntos mínimos
e minimais.
Dado um grafo G e um acoplamento M, um caminho M-
aumentante em G é um caminho que liga dois vértices não
saturados por M que alternam arestas de M e arestas de G−M.
“GrafosModfrancisca”
2009/6/30
page 84
Estilo OBMEP
84 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
Teorema (Berge). Um acoplamento M de um grafo G é máximo
se, e somente se, não contém um caminho M-aumentante.
Demonstração.
(⇒) Se há um caminho M-aumentante, podemos obter um acopla-
mento uma unidade maior adicionando as arestas do caminho fora de
M ao acoplamento e retirando as arestas em M do acoplamento. A
definição de caminho aumentante garante que o resultado é ainda um
acoplamento.
(⇐) Se M não é máximo, então existe M

máximo. Considere
D = M∆M

, a diferença simétrica entre M e M

(isto é, o con-
junto de arestas de M e M

que não pertencem a M ∩ M

); como
são acoplamentos, os vértices em D têm grau no máximo 2. Logo, as
componentes de D são ciclos pares (alternam arestas de M e M

) ou
caminhos. Como [M

[ ≥ [M[, uma das componentes, ao menos, é um
caminho alternando arestas de [M

[ e [M[ começando e terminando
em M

. Este é um caminho M-alternante.
5.6 Acoplamentos em Grafos Bipartidos
O acoplamento modela situações em que formamos pares; se o
grafo G for bipartido, o acoplamento assume a forma de formação de
casais, e é estudado de forma ligeiramente diferente. Seja G um grafo
bipartido com partições dos vértices X e Y . Dizemos que temos um
acoplamento de X em Y quando um acoplamento de G satura Y
(mas não necessariamente X).
“GrafosModfrancisca”
2009/6/30
page 85
Estilo OBMEP
SEC. 5.7: COLORAÇÃO DE ARESTAS 85
Apresentamos o seguinte teorema, sem demonstração.
Teorema. Se G é um grafo bipartido com partições de vértices X
e Y , então G tem um acoplamento de X em Y se, e somente se,
[N(S)[ ≥ [S[, ∀S ⊆ X, sendo N(S) a vizinhança aberta de S.
Demonstração. Ver em West [6].
A condição deste teorema é também conhecida como Condição
de Hall.
Teorema. Se k > 0, qualquer grafo k-regular bipartido admite um
acoplamento perfeito.
Demonstração. Começamos contando as arestas pelas extremidades
em X e Y , as partições de vértices. Cada aresta tem uma extremidade
em X e outra em Y , logo k.[X[ = k.[Y [ e, portanto, [X[ = [Y [. Só
precisamos então provar a condição de Hall. Considere S ⊆ X, tal
que haja r arestas entre S e N(S). Como G é k-regular, temos que
r = k[S[. Do lado de Y temos r ≤ k.[N(S)[. Logo, k.[S[ ≤ k.[N(S)[
e, finalmente, [S[ ≤ [N(S)[.
5.7 Coloração de Arestas
Suponhamos que num grupo de pessoas várias duplas devam ser
formadas para cumprir determinadas tarefas num laboratório. O
grafo da figura 5.11 ilustra esta situação. Observe que uma mesma
“GrafosModfrancisca”
2009/6/30
page 86
Estilo OBMEP
86 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
pessoa pode ter que cumprir uma tarefa em diversas duplas. Cada
tarefa destas necessita de 1 hora para ser executada. Qual o menor
número de horas necessárias para que todas as tarefas sejam reali-
zadas?
a
b
c
d
e
f
Figura 5.11:
As arestas representam as duplas e, como cada indivíduo só pode
trabalhar em uma tarefa de cada vez, tarefas executadas simultanea-
mente correspondem a um acoplamento. Podemos fazer corresponder
uma cor a cada horário (já sabemos que esta cor pode ser um número
ou um símbolo) e nossa pergunta passa a ser:
“Qual o mínimo de cores para colorir as arestas do grafo de modo
que arestas incidentes num mesmo vértice recebam cores diferentes?”
O menor número usado para colorir (propriamente) as arestas de
um grafo é chamado índice cromático do grafo, notado por χ

(G). No
nosso exemplo conseguimos colorir as arestas com 4 cores (veja figura
“GrafosModfrancisca”
2009/6/30
page 87
Estilo OBMEP
SEC. 5.7: COLORAÇÃO DE ARESTAS 87
5.12) – que é evidentemente o menor número possível pois o vértice a
tem quatro arestas incidentes. Logo χ

(G) = 4. Os horários ficariam
assim distribuídos:
4
2
2
1
1
4
3
3
b
d
c
e
a
3
1
4
2
f
Figura 5.12:
Horário(cor) Duplas
1 ab, ce, df
2 ac, bd, ef
3 af, bc, de
4 ae, cd
Pelo que vimos acima, fica claro que χ

(G) ≥ ∆. O teorema
a seguir (que apresentamos sem demonstração) nos dá um limite
superior bem estreito.
“GrafosModfrancisca”
2009/6/30
page 88
Estilo OBMEP
88 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
Teorema (Vizing). Para qualquer grafo G, tem-se que
∆ ≤ χ

(G) ≤ ∆ + 1.
Para grafos bipartidos, entretanto, χ

(G) é conhecido.
Teorema (Vizing). Para qualquer grafo G bipartido, χ

(G) = ∆.
Demonstração. Suponha que estamos colorindo as arestas uma por
uma, dispondo de ∆ cores. Ao colorir a aresta xy tentaremos encon-
trar uma cor que não esteja presente em arestas incidentes a x e nem
em arestas incidentes a y. Se for possível, tudo bem. Se este não for
o caso, observemos que as arestas incidentes a x ocupam no máximo
∆ − 1 cores (pois xy não está colorida), o mesmo acontecendo com
y. Isto nos garante que há uma aresta incidente a x que está colorida
com a cor c
x
, ausente nas arestas incidentes em y; por seu lado, existe
uma cor c
y
presente nas arestas incidentes em y e ausente nas arestas
incidentes a x. Formemos uma cadeia de arestas começando em x
e alternando arestas de cor c
x
e c
y
(esta cadeia pode até, eventual-
mente, só possuir uma aresta). Com o grafo bipartido, as arestas c
x
vão de uma partição para outra e as arestas c
y
retornam à primeira
partição. Como c
x
está ausente em y, esta cadeia não passa pelo vér-
tice y. Podemos então recolorir a cadeia intercambiando as cores c
x
e
c
y
, sem afetar a propriedade da coloração. Depois deste intercâmbio
a cor c
x
estará ausente em x e y e podemos colorir a aresta xy. Isto
mostra que todas as arestas podem ser coloridas utilizando apenas ∆
cores.
“GrafosModfrancisca”
2009/6/30
page 89
Estilo OBMEP
SEC. 5.7: COLORAÇÃO DE ARESTAS 89
Observação. A técnica desta demonstração se baseia numa ideia de
Kempe e retornaremos a ela quando falarmos do Problema das 4 cores
no capítulo sobre planaridade.
Uma aplicação conhecida da coloração de arestas é o problema dos
exames orais. Três professores devem examinar 6 estudantes, segundo
a seguinte lista:
Professor 11 A, C, D
Professor 22 A, C
Professor 33 A, B, D
A cada hora um professor chama um dos alunos para ser exami-
nado. Dois professores não podem examinar um aluno e cada pro-
fessor examina apenas um aluno. Qual o menor espaço de tempo
que podemos utilizar? Usaremos um modelo de grafo bipartido (veja
figura 5.13) – de um lado os professores, do outro os alunos. Uma
coloração das arestas representa uma divisão de horários. A colo-
ração ¦P1A, P2C, P3D¦, ¦P1C, P2A, P3B¦, ¦P1D, P2E, P3F¦, é
uma partição das arestas em acoplamentos disjuntos – o que é garan-
tido pelo teorema demonstrado anteriormente.
Outro problema clássico da coloração de arestas é a organização de
passeios por duplas. Suponha que um batalhão com 2.t soldados sai
para marchar todo dia. Quantos passeios podemos fazer de modo que
cada soldado tenha sempre um companheiro diferente? Este número
é, no máximo 2.t −1 pois este é o número de companheiros que cada
soldado tem. Veremos que este é o número exato. Para melhor enxer-
gar este fato vamos dar o exemplo com t = 3, isto é, com 6 soldados.
“GrafosModfrancisca”
2009/6/30
page 90
Estilo OBMEP
90 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
P1
P2
P3
A
B
C
D
E
F
Figura 5.13:
Se pensarmos em todas as duplas possíveis estamos pensando no grafo
K
6
, os soldados sendo os vértices e as arestas as duplas. Um passeio
corresponderá a um acoplamento perfeito e uma coloração das arestas
usando acoplamentos perfeitos nos dará o número possível de passeios.
Desenhamos K
6
da seguinte forma:
Figura 5.14:
Os acoplamentos são obtidos pelas arestas paralelas e perpendi-
culares (figura 5.15):
“GrafosModfrancisca”
2009/6/30
page 91
Estilo OBMEP
SEC. 5.7: COLORAÇÃO DE ARESTAS 91
Figura 5.15:
A coloração produzida é:
¦12, 36, 45¦, ¦13, 24, 56¦, ¦14, 26, 35¦, ¦15, 23, 46¦, ¦16, 25, 34¦
Exercícios
1. Exiba uma coloração mínima das arestas de K
10
.
2. (Índice cromático de K
2t−1
)
(a) K
5
tem 5 vértices e 10 arestas. Um acoplamento de K
5
pode ter no máximo ......... arestas.
(b) Para uma coloração das 10 arestas de K
5
precisamos de
(no mínimo) ......... acoplamentos (cores).
(c) Mostre que para obter uma coloração de K
5
basta tomar
“GrafosModfrancisca”
2009/6/30
page 92
Estilo OBMEP
92 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
uma coloração de K
6
e desconsiderar as arestas que con-
tenham o vértice 6.
(d) Mostre que:
• χ

(K
t
) = t −1, se t é par.
• χ

(K
t
) = t, se t é ímpar.
5.8 Outros Subconjuntos
Outros tipos de subconjuntos e de invariantes têm sido estudados.
Citaremos apenas três.
• Coberturas de vértices – É um subconjunto de vértices tal que
toda aresta é incidente a um vértice do conjunto. O número
de cobertura de vértices de um grafo G, denotado por β(G),
é a cardinalidade da maior cobertura de vértices de G.
• Coberturas de arestas – É um subconjunto de arestas tal que
todo vértice é tocado por uma aresta do conjunto. O número
de cobertura de arestas de um grafo G, denotado por β

(G),
é a cardinalidade da maior cobertura de arestas de G.
• Conjuntos dominantes – É um subconjunto de vértices tal que
todo vértice do grafo está no conjunto ou é adjacente a um de
seus vértices. O número de dominância de um grafo G, deno-
tado por γ(G), é a cardinalidade do maior conjunto dominante
de G.
“GrafosModfrancisca”
2009/6/30
page 93
Estilo OBMEP
SEC. 5.8: OUTROS SUBCONJUNTOS 93
Exercícios
1. Qual o número de independência α(Pet) do grafo de Petersen?
2. Qual o número de coloração χ(Pet) do grafo de Petersen?
3. Apresente um acoplamento maximal do grafo de Petersen com 3
arestas. Encontre caminhos aumentantes que forneçam acopla-
mentos de 4 e 5 arestas.
4. Prove que
n
2
≤ χ(G) ≤ n −α + 1
5. Mostre que se K
t
é subgrafo de G, então χ(G) ≥ t. É verdade
que se χ(G) = t, então K
t
é subgrafo de G?
6. O índice cromático do grafo G, denotado por χ

(G), é o menor
número de cores com que podemos colorir as arestas de maneira
que duas arestas incidentes tenham cores diferentes.
(a) Calcule χ

(K
n
).
(b) Calcule χ

(Pet), o índice cromático do grafo de Petersen.
7. (a) Prove que um conjunto independente maximal é um con-
junto dominante.
(b) Prove que um conjunto dominante minimal pode não ser
um conjunto independente.
8. Mostre que:
(a) α

(G) ≤ β(G).
(b) α(G) ≤ β

(G).
“GrafosModfrancisca”
2009/6/30
page 94
Estilo OBMEP
94 CAP. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO
(c) α(G).χ(G) ≥ n.
(d) γ(G) ≤
n
2
.
“GrafosModfrancisca”
2009/6/30
page 95
Estilo OBMEP
Capítulo 6
Grafos Planares
6.1 Definições e Resultados Simples
Um grafo planar é um grafo que admite uma representação grá-
fica em que as arestas só se encontrem (possivelmente) nos vértices a
que são incidentes. Exemplos clássicos de grafos planares são dados
pelos grafos que representam os poliedros. Na figura 6.1, apresen-
tamos os grafos dos 5 sólidos platônicos: tetraedro, cubo, octaedro,
dodecaedro e icosaedro.
Figura 6.1:
95
“GrafosModfrancisca”
2009/6/30
page 96
Estilo OBMEP
96 CAP. 6: GRAFOS PLANARES
Uma pergunta que pode ser feita é se existe um grafo que não
seja planar. Mostraremos que o grafo K
5
não é planar. De fato,
qualquer representação de K
5
deverá ter um ciclo de comprimento 5
que divida o plano em “interior” e “exterior.” Só conseguimos colocar
duas arestas no interior sem que se cruzem; no exterior, a situação é
a mesma. Nos sobra uma aresta.
Quantas arestas pode ter um grafo planar? Uma representação
gráfica de um grafo com pelo menos um ciclo separa o plano em
regiões (no caso das árvores, temos uma única região). Estas regiões
são chamadas faces; não devemos esquecer que uma das faces é tudo
que “sobra” do plano – é a face ilimitada. O número de faces de um
grafo será designado por f. A figura 6.2 mostra duas representações
do mesmo grafo, ilustrando que qualquer face pode ser colocada como
face ilimitada.
Figura 6.2:
Para grafos planares, vale a relação de Euler para poliedros
convexos.
Teorema de Euler. Num grafo planar conexo vale f −m+n = 2.
“GrafosModfrancisca”
2009/6/30
page 97
Estilo OBMEP
SEC. 6.1: DEFINIÇÕES E RESULTADOS SIMPLES 97
Demonstração. Demonstraremos o teorema por indução sobre o
número de arestas. Tomemos um grafo conexo qualquer. Se for uma
árvore, temos f − m+n = 1 −(n −1) + n = 2. Se houver um ciclo,
retiramos uma aresta do ciclo, e o grafo fica com uma face a menos,
mas pela hipótese de indução a relação vale para o novo grafo. Temos
então (f −1) −(m−1) +n = 2 e, portanto, f −m+n = 2.
Observamos que podemos acrescentar arestas a um grafo planar
sempre que uma porção do plano estiver limitada por um ciclo de
comprimento maior do que 3. Logo, um grafo maximal planar
(i.e., um grafo ao qual não poderemos acrescentar arestas sem
comprometer a planaridade) tem uma representação composta por
ciclos de comprimento 3. Isto nos dá outra relação importante.
Teorema. Num grafo planar conexo G vale m ≤ 3.n−6; a igualdade
vale se G é maximal planar.
Demonstração. Se formos contar as arestas de cada face, contaremos
duas vezes cada aresta do grafo. Como cada face tem no mínimo 3
arestas (a igualdade valendo no caso maximal) temos:
3.f ≤ 2.m.
Substituindo na fórmla de Euler:
f −m+n = 2,
3.f −3.m+ 3.n, = 6,
“GrafosModfrancisca”
2009/6/30
page 98
Estilo OBMEP
98 CAP. 6: GRAFOS PLANARES
2.m−3.m+ 3.n ≥ 6,
m ≤ 3.n −6.
Este teorema nos dá outra demonstração de que K
5
não é planar.
De fato, K
5
(e de resto todos os grafos completos com mais do que 4
vértices) não obedece à relação acima: 10 > 3.5 −6.
Teorema. Num grafo planar bipartido conexo G vale
m ≤ 2.n −4.
Demonstração. Observamos que um grafo bipartido só tem ciclos
pares. Cada face tem no mínimo 4 arestas.
4.f ≤ 2.m.
Substituindo na fórmula de Euler:
f −m+n = 2,
4.f −4.m+ 4.n = 8,
2.m−4.m+ 4.n ≥ 8,
m ≤ 2.n −4.
“GrafosModfrancisca”
2009/6/30
page 99
Estilo OBMEP
SEC. 6.2: TEOREMA DE KURATOWSKI 99
Vemos agora que K
3,3
não é planar, pois 9 > 2.6 −4. O problema
das casinhas, na introdução, acaba de ser resolvido.
6.2 Teorema de Kuratowski
A ideia de planaridade é aparentemente topológica, mas sempre
pairou a questão sobre se haveria uma caracterização combinatória
dos grafos planares. A resposta foi dada através de um teorema, que
apresentaremos, sem demonstração, depois de algumas definições.
Uma subdivisão do grafo G é o grafo G

que obtemos pela in-
serção de P
2
(caminho de comprimento 2) no lugar de uma aresta
de G. Um grafo G

é dito homeomorfo ao grafo G se G

puder ser
obtido de G por sucessivas operações de subdivisão (veja figura 6.3)
G G’
Figura 6.3:
Teorema (Kuratowski). Um grafo é planar se não contiver subgrafo
homeomorfo a K
5
ou a K
3,3
.
Demonstração: Ver em Fournier[7].
Como aplicação mostramos na figura 6.4 que o grafo de Petersen
não é planar.
“GrafosModfrancisca”
2009/6/30
page 100
Estilo OBMEP
100 CAP. 6: GRAFOS PLANARES
a
a
a
b
b
b
K
3,3
Figura 6.4:
Observamos que embora tenhamos tratado o exemplo grafica-
mente, a verificação das condições do teorema pode ser feita de forma
computacional (embora possa ser complexa).
6.3 Dualidade
O Dual G
D
de um grafo simples planar G é o grafo construído
da seguinte maneira:
(i) A cada face de G associamos um vértice em G
D
.
(ii) A cada aresta de G (que separa duas faces) associamos uma
aresta em G
D
ligando os vértices correspondentes às faces.
Um bom exemplo são os sólidos platônicos apresentados na figura
6.4. O cubo é o dual do octaedro, o icosaedro é o dual do dodecaedro e
o tetraedro é o dual dele mesmo (autodual). Esses duais correspondem
aos duais da geometria clássica. A figura 6.5 mostra a correspondência
entre as faces do cubo e os vértices do octaedro.
“GrafosModfrancisca”
2009/6/30
page 101
Estilo OBMEP
SEC. 6.4: O PROBLEMA DAS 4 CORES 101
f
i
f
1
f
5
f
3
f
4
f
2
f
6
v
1
v
3
v
2
v
5
v
4
v
6
v
i
Figura 6.5:
Verifica-se com facilidade que o dual do dual de G é o próprio
grafo G (desde que G tenha conexidade maior ou igual a 3).
A dualidade aparece num dos problemas mais famosos, não só da
teoria dos grafos, mas da matemática.
6.4 O Problema das 4 Cores
Em 1852 Frederick Guthrie, aluno de Augustus de Morgan,
trouxe a este um problema proposto por seu irmão Francis Guthrie.
Na verdade, tratava-se de uma conjectura, hoje um teorema.
Teorema das 4 cores. Um mapa pode ser colorido com 4 cores.
Colorir um mapa é colorir as regiões de maneira que regiões
fronteiriças não sejam coloridas com a mesma cor. Usando a dua-
lidade podemos formular o teorema em forma de coloração de vértices.
“GrafosModfrancisca”
2009/6/30
page 102
Estilo OBMEP
102 CAP. 6: GRAFOS PLANARES
Teorema das 4 cores formulação. Num grafo planar G tem-se que
χ(G) ≤ 4.
O grafo K
4
mostra que 4 cores são necessárias, mas serão sufi-
cientes? O problema demorou um século para ser resolvido. Em
1976, Appel, Haken e Koch, com o auxílio de 1200 horas do computa-
dor mais rápido de sua época, executando mais do que 10
10
operações
computacionais, provaram o teorema. Embora a teoria envolvida seja
profunda muitos consideram esta “a mais feia prova da matemática.”
As tentativas anteriores são, entretanto, dignas de nota. Kempe
utilizou uma técnica (por isso chamada de cadeias de Kempe) e
apresentou uma demonstração em 1879. Heawood, 11 anos depois,
percebeu uma falha sutil na demonstração, que a invalidava. Entre-
tanto, utilizou as cadeias de Kempe para demonstrar um resultado
um pouco mais fraco. Começaremos por um lema.
Lema. Num grafo planar há pelo menos um vértice com grau menor
ou igual a 5.
Demonstração. Já sabemos que

v∈V (G)
d(v) = 2.m.
Se d(v) > 5, ∀v ∈ V , então
6.n ≤

v∈V (G)
d(v) = 2.m.
Mas num grafo planar temos m ≤ 3.n −6; isto é, 2m ≤ 6.n −12.
Ficamos com
6.n ≤ 6.n −12,
“GrafosModfrancisca”
2009/6/30
page 103
Estilo OBMEP
SEC. 6.4: O PROBLEMA DAS 4 CORES 103
o que é impossível.
Teorema das 5 cores. Num grafo planar simples G, tem-se
χ(G) ≤ 5.
Demonstração. Em todo grafo planar existe um vértice com grau
menor ou igual a 5. Podemos decompor o grafo retirando sempre
um vértice de grau menor que 5 e recompô-lo colorindo, vértice a vér-
tice. Desta forma, podemos sempre supor que estamos colorindo um
vértice v de grau menor ou igual a 5. Se os vértices em N(v) estão
coloridas com menos do que 5 cores, basta colorir o vértice v. Pode-
mos então supor que o vértice está cercado por 5 vértices coloridos
cada um com uma cor do conjunto ¦a, b, c, d, e¦.
Consideremos o subgrafo induzido pelos vértices coloridos com as
cores a e c. Se a componente que contém o vértice de N(v) colorido
com a não contiver o vértice colorido com c, podemos trocar as cores
desta componente: quem está colorido com a fica colorido com c e
vice-versa. Podemos então colorir o vértice v com a cor a.
Se a componente que contém o vértice de N(v), colorido com a,
for o mesmo do vértice colorido com c, existe um caminho de vértices
que “cerca” o vértice b (veja figura 6.6).
Então, tomamos a componente do grafo induzido por vértices co-
loridos com b e d, que contém o vértice de N(v) colorido com b. Depois
de trocar as cores b e d nesta componente, podemos colorir o vértice
v com a cor b.
“GrafosModfrancisca”
2009/6/30
page 104
Estilo OBMEP
104 CAP. 6: GRAFOS PLANARES
Figura 6.6:
Exercícios
1. Construa o grafo com sequência de graus (4, 4, 3, 3, 3, 3):
(a) Que seja planar.
(b) Que não seja planar.
2. Mostre que um grafo planar com δ = 5 tem no mínimo 12
vértices. Dê um exemplo de grafo com δ = 5 e n = 12.
3. Um grafo é autodual se G
D
é isomorfo a G.
(a) Mostre que se G é autodual então 2.n = m+ 2.
(b) Um grafo roda (notação W
n
) é o grafo obtido pela adição
de um vértice de grau n−1 a C
n−1
(ver figura 6.7). Mostre
que os grafos roda W
n
são autoduais.
4. Mostre que um grafo planar G é bipartido se e só se G
D
é
euleriano.
“GrafosModfrancisca”
2009/6/30
page 105
Estilo OBMEP
SEC. 6.4: O PROBLEMA DAS 4 CORES 105
W
6
Figura 6.7:
5. Mostre que um grafo planar conexo pode ter suas faces coloridas
com 2 cores se, e somente se, G é euleriano.
6. Mostre que os grafos abaixo (figura 6.8) são isomorfos mas seus
duais não são. Este fato contraria o texto do capítulo?
Figura 6.8:
7. A cintura de um grafo, denotada por g(G) é o comprimento do
seu menor ciclo. Mostre que num grafo planar temos:
m ≤
(n −2).g
g −2
.
Sugestão: adapte a demonstração dos dois últimos teoremas da
Seção 7.1.
“GrafosModfrancisca”
2009/6/30
page 106
Estilo OBMEP
106 CAP. 6: GRAFOS PLANARES
8. Mostre que é possível obter um grafo planar a partir do grafo
de Petersen pela retirada de 2 arestas.
9. Mostre que um grafo não planar tem 5 vértices de grau no mí-
nimo 4 ou tem 6 vértices de grau no mínimo 3.
10. (a) (Resolvido) Mostre que o grafo não planar K
3,3
pode ser
desenhado sem cruzamentos num toro. E numa esfera,
pode?
Solução: A sequência apresentada na figura 6.9 mostra
como podemos “recortar” o toro para transformá-lo num
retângulo. As setas mostram como podemos passar as
arestas pelos cortes.
(b) Mostre como podemos desenhar K
5
num toro. O teorema
das 4 cores vale para o toro?
(c) Mostre como podemos desenhar K
7
num toro. Você con-
segue dividir o toro em 7 regiões de maneira que cada uma
faça fronteira com todas as outras 6?
“GrafosModfrancisca”
2009/6/30
page 107
Estilo OBMEP
SEC. 6.4: O PROBLEMA DAS 4 CORES 107
a a
b b
c
c
d
d
Figura 6.9:
“GrafosModfrancisca”
2009/6/30
page 108
Estilo OBMEP
108 CAP. 6: GRAFOS PLANARES
11. Um jogo, usando a figura 6.10 tem as seguintes regras: Dois jo-
gadores escolhem alternadamente uma região para colorir. Duas
regiões não podem receber a mesma cor. Quem for obrigado a
usar uma quinta cor será o perdedor.
1
2
3
4
5
6
Figura 6.10:
12. Exiba uma coloração desses mapas com o menor número de
cores possível.
(a) Quem será o vencedor – o primeiro ou o segundo jogador?
(b) Como modificar o tabuleiro para que a vantagem seja in-
vertida?
“GrafosModfrancisca”
2009/6/30
page 109
Estilo OBMEP
SEC. 6.4: O PROBLEMA DAS 4 CORES 109
Figura 6.11:
“GrafosModfrancisca”
2009/6/30
page 110
Estilo OBMEP
110
“GrafosModfrancisca”
2009/6/30
page 111
Estilo OBMEP
Referências Bibliográficas
[1] BOAVENTURA NETTO, P. O. Grafos: Teoria, Modelos, Algo-
ritmos. 2 ed, Edgard Blücher (1996).
[2] CARVALHO, P. C. P. Contagem. Apostila 2 do Estágio de treina-
mento dos alunos premiados da OBMEP, 2006.
[3] WILSON, R. Introduction to Graph Theory. Addison
Wesley(1996).
[4] BALAKRISHNAN, J.; RANGANATHAN, K. A Textbook of
Graph Theory. Springer-Verlag (1999).
[5] GAREY, M. R.; JOHNSON, D. S. Computers and Intractability:
A Guide to the Theory of NP-Completeness. W.WH. Freeman
(1979).
[6] WEST, D. Introduction to Graph Theory. Prentice Hall (1996).
[7] FOURNIER, J-C. Demonstration simple du théoreme de
Kuratowski et de sa forme duale. Discrete Mathematics, 31
(1980) 329-332.
111

“GrafosModfranci 2009/6/30 page 2 Estilo OBMEP

Texto já revisado pela nova ortografia.

“GrafosModfranci 2009/6/30 page 3 Estilo OBMEP

Sobre o Autor Samuel Jurkiewicz é carioca e Doutor em Matemática pela Universidade Pierre et Marie, em Paris. Atualmente é professor da Escola de Engenharia da UFRJ. Já atuou como docente em todos os níveis, inclusive no pré-escolar. Além do ensino de graduação e pós-graduação, tem desenvolvido atividades junto a professores e alunos do Ensino Médio através de oficinas de Matemática Discreta.

“GrafosModfranci 2009/6/30 page 4 Estilo OBMEP .

. . . . .“GrafosModfranci 2009/6/30 page i Estilo OBMEP Sumário 1 O que é um Grafo? 1. . . . . . . . . . . . . . . . . . . . .4 1. . 5 5 7 10 11 13 16 17 22 28 28 31 31 32 45 2 Ciclos e Caminhos 2. . . Representação por Matrizes . . . .2 1. . . . . . . . . . . . . . . . . . . . . . .3 1. . . . 3 Mais Ciclos e mais Caminhos i . .2 Conexidade Outra Vez . . . . . . . . . . .7 1. . Tipos Especiais de Grafos . . Isomorfismo . . . . . . . . .5 1. . . . . . . . . . . . . . Alguns Problemas com as Definições . . . Nosso Primeiro Resultado . . . . . . . . Grau de um Vértice . . . . . . . . .6 1. . . . . Qual o Menor Caminho até a Escola? . . . . . . . . . . . . . .1 2. . . . . . . . . . . . . . . . . . . . .1 1. . . . . . . . . .8 Primeiras Noções . . . . . . Outras Definições . . . . . . . . . . Algoritmos e Computadores . . . . . . . . . . . . O Problema do Menor Caminho . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . Acoplamentos . . .6 Conjuntos Independentes . . . . . . . . . . . . . . . Uma Palavra sobre Complexidade . . . . . .6 3.3 3. . . . . . . . . . . . . .1 SUMÁRIO Euler e as Pontes de Köenisberg . . . . .1 5. . . . . 45 47 48 51 57 58 59 62 66 66 68 68 73 73 76 77 82 82 84 3. . . . . . . . . Árvores Geradoras . . . . . . . . . . . . .5 5. . . . . . .2 Definições e Caracterizações . . . . . . . . . . . O Problema de Conexão de Peso Mínimo . . . O Problema Chinês do Carteiro . . . . . . . . . .5 3. . . . . . . . Aplicações de Coloração . . . . . . .3 5. . . . . . . . . . . . . . 5 Subconjuntos Especiais de um Grafo 5. . . . . . . . . . . . .2 3. . . . . . . . . . Grafos Eulerianos . . . . . . . . . . . . . . . . . Coloração .4 3. . . . . . . . . . . . . . . . . . . . . . . . .“GrafosModfranci 2009/6/30 page ii Estilo OBMEP ii 3. . . . . . . . . . .7 Estrutura de Dados . . . . Cliques . . . . Esse Problema é Importante? . . . . . .2 5. . . . . O Problema do Caixeiro Viajante – PCV . . . . . . . . 4 Árvores 4. . . . . . . . . . . . . . .4 5. . . . . . . . Grafos e Ciclos Hamiltonianos . . . . .1 4. . . Acoplamentos em Grafos Bipartidos . . .

. . . . Teorema de Kuratowski . . . . . 101 111 . . . . .7 5. . . . . . . . . . . . . . . .“GrafosModfranci 2009/6/30 page iii Estilo OBMEP iii 5. . . . .3 6. . . . . . .8 Coloração de Arestas .2 6. . . . . . . . 100 O Problema das 4 Cores . . . . . . . . . . . . . . Outros Subconjuntos . . . . . . . . . . 85 92 95 95 99 6 Grafos Planares 6. . . . . . . . .4 Índice Definições e Resultados Simples . . . . . . . . . . . . . . . . . . . . Dualidade . . . . . . . .1 6. . . . .

“GrafosModfranci 2009/6/30 page iv Estilo OBMEP .

C B D A Figura 1 E Foi fácil? Experimente agora começar pelo ponto B. Queremos evitar o desperdício. esse problema é importante? Pensemos numa pequena cidade com pequeno orçamento. O serviço de recolhimento de lixo é feito por um pequeno caminhão. Bem. uma boa ideia seria fazer o caminhão passar uma única vez por cada 1 .“GrafosModfranci 2009/6/30 page 1 Estilo OBMEP Introdução O leitor seria capaz de desenhar a figura 1 abaixo sem tirar o lápis do papel? Tem que ir de ponto a ponto e não pode passar pela mesma linha duas vezes.

“GrafosModfranci 2009/6/30 page 2 Estilo OBMEP 2 rua e retornar ao ponto de partida. Gás e Telefone a três casas sem que as linhas se cruzem. cabe a pergunta: esse problema é importante? Pensemos então numa fábrica de placas de circuito integrado. Um outro problema que propomos às crianças para que se aquietem é o seguinte: temos que ligar Luz. Adotamos então . É a essa estrutura que chamamos grafo. Você já tentou? (veja a figura 2) T G L casa 3 casa 2 casa 1 Figura 2 Outra vez. Nos dois casos só nos interessou considerar um conjunto de pontos e um conjunto de ligações entre eles. Desde o século XVIII até nossos dias essa teoria tem conhecido extraordinário desenvolvimento teórico e aplicado. quanto menos camadas. Encontrar esquemas de ligação que evitem cruzamento é crucial para baratear os custos de manufatura. mais rápido e rentável se torna o serviço. Na verdade. Estas notas tratam da Teoria dos Grafos – uma modesta introdução. é o mesmo problema.

e inclui trabalhos de nível diversificado. O que esperamos é que ao final o leitor tenha se convencido da utilidade dos conceitos e processos apresentados. as críticas (construtivas. ou melhor. preferimos deixar o prazer desta tarefa ao leitor.“GrafosModfranci 2009/6/30 page 3 Estilo OBMEP 3 a prática de introduzir alguns temas gerais que dessem uma pequena ideia da variedade de abordagens e problemas que ela pode oferecer. traduzindo. mas guardamos o secreto desejo de que o aspecto lúdico dos grafos o contaminem com o que costumamos chamar de “graphical desease”. Certamente. A intenção foi apresentar os conceitos da forma mais simplificada possível.ufrj. a febre dos grafos. Cada capítulo é acompanhado de exercícios sem a solução. Enfim.br . Uma observação: sendo essa uma primeira abordagem da teoria dos grafos. a bibliografia contempla grafos com orientação. Para o leitor interessado. A bibliografia ao fim das notas é mais do que suficiente para adquirir um conhecimento razoável de teoria dos grafos. muito ficou para depois. Esperamos que apreciem estas notas. deve haver erros. tratamos aqui apenas de grafos sem orientação. por favor) são bem vindas. Samuel Jurkiewicz Escola de Engenharia/UFRJ – Departamento de Engenharia Industrial COPPE/UFRJ – Programa de Engenharia de Produção jurki@pep.

“GrafosModfranci 2009/6/30 page 4 Estilo OBMEP .

Apresentamos duas formas de representar esta estrutura 5 . 7B. 8A e 8B. 8B 6A. 6B 6A. Não é difícil agora constatar a consistência das informações. Alguns jogos foram realizados até agora: 6A 6B 7A 7B 8A 8B jogou jogou jogou jogou jogou jogou com com com com com com 7A. 7B. 8A Mas será que isto está correto? Pode ter havido um erro na listagem. 8B 7A. 6B. 7B. As turmas serão representadas por pontos e os jogos serão representados por linhas. A estrutura que acabamos de conhecer é um grafo. 8A. 6B.1 Primeiras Noções Numa escola algumas turmas resolveram realizar um torneio de vôlei. 8A. 8B 6B. 8B 6A. 7A. Participam do torneio as turmas 6A. 7B. Uma maneira de representar a situação é através de uma figura.“GrafosModfranci 2009/6/30 page 5 Estilo OBMEP Capítulo 1 O que é um Grafo? 1.

Qual é a forma correta? As duas são corretas. o que nos interessa num grafo é: • Quem são os vértices. • Por um desenho. o conjunto das turmas. uma representação gráfica. 1: O QUE É UM GRAFO? 6B 8A 7B 7A Figura 1. são os jogos realizados. • O conjunto A. isto é. Isso não é novidade: a palavra “dois” e o símbolo “2” representam o mesmo conceito matemático. Em outra palavras. dos vértices – no nosso exemplo. Para que um grafo fique bem definido temos que ter dois conjuntos: • O conjunto V .“GrafosModfranci 2009/6/30 page 6 Estilo OBMEP 6 6A 8B CAP. A estrutura “grafo” admite várias maneiras de ser representada. dizendo quem se relaciona com quem.1: Grafo do Campeonato de Vôlei • Por uma lista. . das arestas – no nosso exemplo.

Quando existe uma aresta ligando dois vértices dizemos que os vértices são adjacentes e que a aresta é incidente aos vértices. 8B)} Observe que não precisamos colocar (8A.2: GRAU DE UM VÉRTICE 7 • Que pares de vértices estão ligados e quais não estão (isto é. (6A. (8A. 1. O número de arestas será simbolizado por |A| ou pela letra m. 1. 8A. 8A). 8B). 7B). (6A. (7B.“GrafosModfranci 2009/6/30 page 7 Estilo OBMEP SEC. 8A). 6B. (6B. 8B} A = {(6A. 7A).2 Grau de um Vértice No nosso exemplo vimos que cada turma jogou um número diferente de jogos: . 7B. (6B. (6B. 8B). O número de vértices será simbolizado por |V | ou pela letra n. No nosso exemplo n = 6 e m = 9. 8A). 7A. 7B) no conjunto de arestas pois já tínhamos colocado (7B. (7B. quem são as arestas). No nosso exemplo podemos representar o grafo de forma sucinta como: V = {6A. 7A). 8B).

d(7A) = 2. o vértice 6A tem 3 arestas ligadas a ele. Usando o grafo do campeonato: (a) Dê o grau de cada um dos vértices (b) Qual a soma de todos os graus? (c) Qual o número de arestas? (d) O que você observou? Será coincidência? 2. o vértice A7 tem 2 arestas ligadas a ele e assim por diante. d(6A) = 3. simbolizado por d(v). O número de vezes que as arestas incidem sobre o vértice v é chamado grau do vértice v. Exercícios 1. Dizemos que estas arestas são incidentes ao vértice. Faça o mesmo exercício anterior usando os grafos da figura 1.2: . no nosso desenho. 1: O QUE É UM GRAFO? jogos jogos jogos jogos jogos jogos Por isso. No nosso exemplo.“GrafosModfranci 2009/6/30 page 8 Estilo OBMEP 8 6A 6B 7A 7B 8A 8B jogou jogou jogou jogou jogou jogou 3 3 2 3 3 4 CAP.

“GrafosModfranci 2009/6/30 page 9 Estilo OBMEP SEC. 1.2: GRAU DE UM VÉRTICE 9 Figura 1.2: .

. Se tivéssemos um número ímpar de vértices de grau ímpar a soma dos graus seria ímpar. Como cada aresta tem duas extremidades. Para isso. Quando contamos os graus dos vértices estamos contando as extremidades das arestas uma vez.” Demonstração. 1: O QUE É UM GRAFO? 1. portanto é um número par. . Para todo grafo G d(v) = 2 · m. Isso pode ser escrito em linguagem matemática. Corolário. os conjuntos de vértices e das arestas de G. Todo grafo G possui um número par de vértices de grau ímpar.“GrafosModfranci 2009/6/30 page 10 Estilo OBMEP 10 CAP. v∈V (G) Isto é: “A soma dos graus dos vértices de um grafo é sempre o dobro do número de arestas.). denotaremos um grafo pela letra G e representaremos por V (G) e A(G) respectivamente. Teorema. Demonstração. cada aresta foi contada duas vezes. Mas a soma dos graus é o dobro do número de arestas e..3 Nosso Primeiro Resultado No exercício anterior você deve ter observado que a soma dos graus de um grafo é sempre o dobro do número de arestas (e isso não deve ser coincidência.

d(4) = 4. Para haver coerência com os resultados da seção anterior. É o que chamamos de laço (veja figura 1. • Uma aresta pode ligar um vértice a ele mesmo? Pode. Figura 1. 1. .4: ALGUNS PROBLEMAS COM AS DEFINIÇÕES 11 1.4 Alguns Problemas com as Definições Algumas perguntas acerca das definições podem nos deixar atrapa-lhados. 6} e dois vértices serão ligados quando tiverem um divisor comum (diferente de 1). temos que contar o laço duas vezes (uma para cada extremidade) quando calcularmos o grau do vértice. d(5) = 2. d(3) = 3.3). Por exemplo. vamos construir o grafo em que V = {2. 5. d(6) = 5 e o teorema continua valendo. 4.“GrafosModfranci 2009/6/30 page 11 Estilo OBMEP SEC. 3. No nosso exemplo: d(2) = 4.3: Grafo com laços Pela definição do grafo vemos que o 5 não está ligado a nenhum outro vértice mas tem um laço (como aliás todos os outros vértices deste grafo). Vamos examinar algumas.

Mas podemos pensar que esse grafo representa as ligações entre casas de uma cidade onde passa um rio (veja figura a seguir).5: Um grafo ou dois? Depende da situação.5 mostra um grafo ou dois grafos? Figura 1. Neste caso usamos o nome especial de multigrafo (veja figura 1. Um exemplo que veremos adiante resulta no seguinte grafo: Figura 1. e podemos considerá-los assim.“GrafosModfranci 2009/6/30 page 12 Estilo OBMEP 12 CAP. Se as pontes forem destruídas em um temporal a cidade ainda . Em princípio parecem dois grafos distintos. 1: O QUE É UM GRAFO? • Dois vértices podem estar ligados por mais de uma aresta? Podem. Neste texto estaremos trabalhando quase sempre com grafos simples. • A figura 1.4).4: Multigrafo (com arestas múltiplas) Grafos sem laços ou arestas múltiplas são chamados de grafos simples.

Quando dois grafos representam a mesma situação dizemos que eles são grafos isomorfos. Essa é uma noção importante e voltaremos a ela algumas vezes.5: ISOMORFISMO 13 Figura 1.5 poderia ser o que chamamos de grafo desconexo. Esse conceito às vezes gera polêmica. 1.5 Isomorfismo Observe o grafo mostrado na figura adiante. é claro). Apenas nesse caso procuramos fazer o desenho de forma a não haver pontos comuns entre as arestas (fora dos vértices. apenas foi desconectada. E na verdade .“GrafosModfranci 2009/6/30 page 13 Estilo OBMEP SEC. Verifique que a situação representada é exatamente a mesma do grafo inicial do campeonato. É o mesmo grafo ou não? Claramente as características de um e de outro são as mesmas (graus. O grafo da figura 1. 1.6: é uma só. Cada parte conexa do grafo (no nosso exemplo o “quadrado” e o “triângulo”) é chamada de componente conexa do grafo. número de arestas e outras que veremos mais tarde). Dizemos que um grafo é conexo se qualquer par de pontos é ligado por ao menos um caminho.

1: O QUE É UM GRAFO? 6B 8A 7B 7A Figura 1.8: Vamos estabelecer uma correspondência 1 − 1 entre os conjuntos . Para isso vamos usar uma definição técnica. O essencial é saber discernir quando dois grafos são isomorfos ou não.7: esta não é uma questão realmente importante. Dois grafos G1 e G2 são ditos isomorfos se existe uma correspondência 1-a-1 entre seus conjuntos de vértices que preserve as adjacências. Vejamos um exemplo: b x y d a c w z Figura 1.“GrafosModfranci 2009/6/30 page 14 Estilo OBMEP 14 6A 8B CAP.

Verifique que a correspondência a seguir não serve para mostrar o isomorfismo dos grafos da figura 1.“GrafosModfranci 2009/6/30 page 15 Estilo OBMEP SEC. Exercícios 1. faça a correspondência e veja o que acontece. f : a−x b−y c−z d−w . d)) a função fará a correspondência com (w.5: ISOMORFISMO 15 de vértices: f :a−w b−x c−z d−y Esta função funciona perfeitamente. Sugestão: Tome dois vértices que não sejam ligados. Se tomarmos dois vértices que não são ligados por uma aresta (digamos a e c) a função fará corresponder dois vértices (w e z) que também não são ligados. 1.8. Se tomarmos uma aresta no primeiro grafo (digamos (a. y) que é uma aresta no segundo grafo.

no grafo do campeonato temos N (7B) = {6A.11: Figura 1.10: 3. 7B. 8A.6 Outras Definições O conjunto de vértices adjacentes a v é chamado vizinhança aberta de v.“GrafosModfranci 2009/6/30 page 16 Estilo OBMEP 16 CAP. isto é. denotado por N (v). .9 e 1. Mostre que os pares de grafos da figura 1.10 são isomorfos: v Figura 1. 1: O QUE É UM GRAFO? 2. inclui a vizinhança e o próprio vértice.11 e 1. 8B} e N [7B] = {6A. Podemos estender esta definição para conjuntos de vértices (N (S)eN [S]). 8B}. A vizinhança fechada de v é denotada e definida por N [v] = N (v) ∪ {v}. Mostre que os grafos 1.9: Figura 1.12: 1.12 não são isomorfos: Figura 1. Por exemplo. 8A.

14: . 2). c. o grafo G é um subgrafo de G. b. Por exemplo. a sequência de graus do grafo do campeonato é (4. O menor grau de um vértice em G é o grau mínimo. um vértice de grau 1 é dito pendente. c. 3. denotado δ(G). A sequência de graus de um grafo é a sequência não crescente formada pelos graus dos vértices dos grafos. d em G estão presentes em G”(veja a figura 1.13: G” 1. pois todas as arestas incidentes aos vértices de a. e o maior é o grau máximo. 3. O grafo G” é dito um subgrafo induzido pelo subconjunto {a.7: TIPOS ESPECIAIS DE GRAFOS 17 Um vértice de grau 0 é dito isolado. 3. No caso do campeonato temos ∆(G) = 4 e δ(G) = 2. 3. denotado ∆(G). a e b e a b e a b d c d c d c G G’ Figura 1. 1. Na figura a seguir. b. G é dito um subgrafo de G se V (G ) ⊆ V (G) e A(G ) ⊆ A(G). Ele ficaria com o aspecto da 1. d} de V (G).“GrafosModfranci 2009/6/30 page 17 Estilo OBMEP SEC.7 Tipos Especiais de Grafos • Grafo completo Imagine o grafo do campeonato quando todos os jogos tiverem sido jogados.13).

Quantas arestas têm K7 ? e K12 ? e Kn ? 2. 1: O QUE É UM GRAFO? 6B 8A 7B 7A Figura 1.15) Imagine agora que temos o grafo do campeonato e queremos fazer o grafo dos jogos que faltam. Faríamos um grafo com o mesmo conjunto de vértices mas com as arestas que faltam no grafo original. Um grafo completo é definido como um grafo onde todo par de vértices é ligado por uma aresta. Veja a figura. Quantos vértices um grafo simples precisa ter para poder ter 200 arestas? • Grafo complementar (veja figura 1. Um grafo completo com n vértices é denotado por Kn (O nosso exemplo é K6 ). Exercícios 1.14: O grafo completo K6 Isto é o que chamamos um grafo completo.“GrafosModfranci 2009/6/30 page 18 Estilo OBMEP 18 6A 8B CAP. .

“GrafosModfranci 2009/6/30 page 19 Estilo OBMEP SEC. Por exemplo. É fácil perceber que V (G) = V (G) e que A(G) ∪ A(G) inclui todas as arestas de G. 1. denotado por G.16: Grafo nulo ou vazio .7: TIPOS ESPECIAIS DE GRAFOS 19 6A 6A 8B 6B 8B 6B 8A 7 B 7A 8A 7 B 7A Figura 1.16) Um grafo G é nulo ou vazio quando o conjunto de arestas A(G) é vazio.16: 6A 8B 6B 8A 7B 7A Figura 1. Nosso grafo ficaria como na figura 1. • Grafo nulo ou vazio (figura 1. antes de começar o campeonato nenhum jogo havia sido jogado.15: Dois grafos complementares Chamamos este grafo de grafo complementar do grafo G.

19) Um caminho é um ciclo do qual retiramos uma aresta. Figura 1. isto é.17 mostra um grafo 3-regular.“GrafosModfranci 2009/6/30 page 20 Estilo OBMEP 20 • Grafo regular (figura 1. todos os vértices tem grau 3. A notação é C n Figura 1. 1: O QUE É UM GRAFO? Um grafo é regular (de grau k. A figura 1. ou ainda k-regular) quando todos os seus vértices têm o mesmo grau (k).18: Exemplos de ciclo: C5 e C6 • Caminho (figura 1. .18) Um ciclo é um grafo conexo regular de grau 2. o caminho Pn é obtido retirando uma aresta do ciclo Cn+1 . Assim.17: Um grafo k-regular de grau 3 • Ciclo (figura 1.17) CAP. O comprimento do caminho é dado pelo número de arestas (o que faz sentido: é o número de “passos” que gastamos para percorrer o caminho).

Note que o fato de não ter ciclos faz com que a árvore seja a maneira mais “econômica” de conectar os vértices. Temos também que V2 é um subconjunto independente de .“GrafosModfranci 2009/6/30 page 21 Estilo OBMEP SEC.19: Exemplos de caminho: P 4 e P5 • Árvores (figura 1.21) É um grafo em que o conjunto V de vértices pode ser particionado em dois subconjuntos disjuntos V 1 e V2 tal que toda aresta de G tem uma extremidade em V1 e outra em V2 .7: TIPOS ESPECIAIS DE GRAFOS 21 Figura 1. O subconjunto V1 é dito um subconjunto independente de vértices do grafo G pois não há arestas ligando dois vértices de V1 .20: Exemplos de árvores • Grafos bipartidos (figura 1. 1. Figura 1.20) Uma árvore é um grafo conexo sem ciclos como subgrafos. As árvores formam uma família importante de grafos e voltaremos a elas mais tarde.

1: O QUE É UM GRAFO? Figura 1.“GrafosModfranci 2009/6/30 page 22 Estilo OBMEP 22 vértices de G.22: Grafo bipartido completo K 2. É um grafo bipartido em que todos os vértices de V 1 são ligados a todos os vértices de V2 .q (figura 1. Figura 1.21: Grafo bipartido • Grafos bipartidos completos – Notação K p.8 Representação por Matrizes Matrizes é um assunto típico do ensino médio mas o que mostraremos aqui pode ser entendido por todos.4 1.22). Uma das formas . CAP.

1. Mas as matrizes têm outras utilidades. Exemplificaremos com as representações do grafo a seguir: . Um exemplo bastante conhecido é a tabuada: × 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 9 2 0 2 4 6 8 10 12 14 16 18 3 0 3 6 9 12 15 18 21 24 27 4 0 4 8 12 16 20 24 28 32 36 5 0 5 10 15 20 25 30 35 40 45 6 0 6 12 18 24 30 36 42 48 54 7 0 7 14 21 28 35 42 49 56 63 8 0 8 16 24 32 40 48 56 64 72 9 0 9 18 27 36 45 54 63 72 81 Se quisermos saber o valor de 3 × 5 procuramos o valor na linha do 3 e na coluna do 5. isto é 15. Eis algumas delas.“GrafosModfranci 2009/6/30 page 23 Estilo OBMEP SEC. Uma matriz nada mais é do que uma tabela com linhas e colunas. No caso dos grafos elas podem ser usadas na representação de várias formas.8: REPRESENTAÇÃO POR MATRIZES 23 mais comuns de “informar” uma estrutura de grafo para um computador é através de matrizes.

23.23: • Matriz de adjacência – é a matriz definida por 1 se ij ∈ A(G) 0 se ij ∈ A(G) / xij = No exemplo da figura 1. a matriz de adjacência é: 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 • Matriz de incidência – é a matriz n × m definida por 1 se a aresta ej é incidente em vi 0 caso contrário xij = .“GrafosModfranci 2009/6/30 page 24 Estilo OBMEP 24 d a CAP. 1: O QUE É UM GRAFO? c b Figura 1.

Qual o grafo complementar do grafo desconexo formado por duas componentes conexas isomorfas a K 3 e K7 ? 2. 6.2) não correspondem a sequências de graus de nenhum grafo. 3.6. 3. 3) corresponde a pelo menos dois grafos não isomorfos. Qual o grafo complementar do grafo desconexo formado por duas componentes conexas isomorfas a K r e Ks ? 3.8: REPRESENTAÇÃO POR MATRIZES 25 No exemplo da figura 1.5.23 a matriz de incidência é: ab a b c d 1 1 0 0 ac 1 0 1 0 ad 1 0 0 1 bc 0 1 1 0 cd 0 0 1 1 Exercícios 1.3.6.8. Prove que δ ≤ 2. 1.3. 7.3) e (7. então seu complementar G tem um subgrafo bipartido completo. Mostre que a recíproca não é verdadeira.4.5. 7. 4.m n ≤ ∆. 3. Mostre que a sequência (3.“GrafosModfranci 2009/6/30 page 25 Estilo OBMEP SEC.7. Mostre que uma mesma sequência pode corresponder a grafos não isomorfos.5. 3. . Mostre que um grafo G é desconexo.4. 5. Mostre que as sequências (9.7.

Mostre que se G é autocomplementar. (b) Mostre que a recíproca não é verdadeira. (c) Qual o menor valor de m que garante que G é conexo? 10. (c) Encontre uma expressão para o número de arestas de L(G) em função dos graus de G. 1: O QUE É UM GRAFO? 8. L(G) é regular de grau 2. (a) Mostre que se G é conexo. notação L(G). é o grafo cujos vértices estão em correspondência 1 a 1 com as arestas de G e cujas arestas ligam vértices que correspondem a arestas incidentes em G.“GrafosModfranci 2009/6/30 page 26 Estilo OBMEP 26 CAP. (a) Mostre que L(K3 ) = L(K1. 9. 12. Desenhe uma representação do grafo cuja matriz de adjacência é: 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 11.k − 2.3 ). (b) Mostre que se G é regular de grau k. então n = 4k ou n = 4. Um grafo é autocomplementar se for isomorfo ao seu complemento.k + 1 para algum k inteiro. . Mostre que em um grafo bipartido m ≤ n2 4 . O grafo de linha ou grafo adjunto. então m ≥ n − 1.

Suponha que as arestas de K6 sejam coloridas de azul ou de vermelho. por absurdo. . a). c) não podem ser coloridas de azul. (v. seja qual for a forma de colorir. (a. c). Roteiro: Suponha. (a) Escolha um vértice v qualquer.8: REPRESENTAÇÃO POR MATRIZES 27 13. o grafo terá um subgrafo isomorfo a K3 colorido com uma só cor. e (b. seja qual for a forma de colorir. b). 15. 14. mostre que existem (pelo menos) 3 arestas incidentes a v com a mesma cor (digamos. e provando a afirmação. mostrando o absurdo. que isso não é verdade. e (v. Mostre que num grafo simples pelo menos dois vértices têm o mesmo grau. (v. Mostre que.“GrafosModfranci 2009/6/30 page 27 Estilo OBMEP SEC. Sugestão: Use o exercício anterior. c) devem ser coloridas de vermelho. sem perda de generalidade. c) são coloridas de azul). (a. (c) Conclua que (a. c). e (b. Mostre que. (b) Mostre que (a. b). 1. b). o grafo terá um subgrafo isomorfo a K3 colorido com uma só cor. Suponha que as arestas de K17 sejam coloridas de azul. verde ou de vermelho.

se v0 = vs o passeio é uma trilha fechada. todos os vértices são distintos então temos um caminho e se v0 = vs temos um ciclo (como visto anteriormente).vs−1 vs . e somente se. w) será denotada simplesmente por vw. As componentes conexas podem ser vistas como as classes de equivalência da relação: x y se.) O menor comprimento pos28 . Uma outra forma de definir a conexidade é observar que um grafo G é conexo se.. existe um caminho entre quaisquer dois vértices de G. Quando não houver risco de confusão a aresta (v. (Para isso. s é o comprimento do passeio.v2 v3 .v1 v2 .1 Conexidade Outra Vez Observação. além das arestas. estamos considerando que entre um vértice e ele mesmo existe um caminho de comprimento 0.. Um passeio é uma sequência de arestas do tipo v0 v1 . o passeio é chamado trilha. Se todas as arestas do passeio são distintas.. Se. e só se.“GrafosModfranci 2009/6/30 page 28 Estilo OBMEP Capítulo 2 Ciclos e Caminhos 2. existe um caminho ligando x a y.

. Se não houver ciclo em G. O subconjunto V 1 será formado por todos os vértices w tais que exista um caminho de comprimento par entre v e w.“GrafosModfranci 2009/6/30 page 29 Estilo OBMEP SEC. Tomamos primeiramente um vértice qualquer v. não há o que mostrar. Podemos também sinalizar as sequências de arestas descritas acima pela sucessão de vértices v 0 .v2 . o grafo da figura 1. Partindo de V 1 (por exemplo). Demonstração.vs−1 . O subconjunto V2 será formado por todos os vértices w tais que exista um caminho de comprimento ímpar entre v e w. haveria um caminho de comprimento par e um . dois subconjuntos independentes e disjuntos. Se há um ciclo em G este alterna vértices de V 1 e V2 .1: CONEXIDADE OUTRA VEZ 29 sível para um caminho entre os vértices u e v é chamado de distância entre u e v. ao retirarmos k − 1 vértices do grafo.vs . O ciclo é. Dizemos que um grafo conexo é k -conexo se. portanto. (⇐) Podemos considerar apenas grafos conexos. para retornar ao ponto de partida teremos que utilizar um número par de arestas.. Um grafo G é bipartido se.17 é 3 conexo. Por exemplo. ele continua conexo. não contém ciclos de comprimento ímpar. pois se w estivesse em V 1 e V2 ao mesmo tempo. (⇒) Seja G bipartido.. Teorema.v1 . pois podemos escolher 2 vértices quaisquer para retirar. de comprimento par. 2. independentes e disjuntos. e mesmo assim o grafo continuará conexo. e somente se. Os conjuntos V1 e V2 são disjuntos. Seja G um grafo sem ciclos ímpares.. Vamos particionar seu conjunto de vértices em dois subconjuntos V1 e V2 .

“GrafosModfranci 2009/6/30 page 30 Estilo OBMEP

30

CAP. 2: CICLOS E CAMINHOS

caminho de comprimento ímpar ligando v a w. Esses dois caminhos podem se cruzar (ou não) antes de chegar em w, produzindo alguns ciclos (veja a figura a seguir). Como o número de arestas usado nestes ciclos é ímpar (é a soma do número de arestas dos dois caminhos) isso produziria pelo menos um ciclo ímpar em G, contrariando a hipótese.

Figura 2.1:

Já sabemos que o conjunto de vértices de um grafo bipartido é particionado em dois subconjuntos V 1 e V2 . O conjunto V1 (e também o conjunto V2 ) é chamado conjunto independente, isto é, se w e t forem ambos vértices de V1 eles não são adjacentes. Exercício Nos pares de grafos das figuras 2.2 e 2.3, mostre qual dos grafos é bipartido e qual não é.

Figura 2.2:

Figura 2.3:

“GrafosModfranci 2009/6/30 page 31 Estilo OBMEP

SEC. 2.2: O PROBLEMA DO MENOR CAMINHO

31

2.2

O Problema do Menor Caminho

Algoritmos e Computadores
Nesta seção vamos tratar de um problema relativamente simples. Por exemplo, alguém precisa se deslocar de uma cidade para outra e para isso dispõe de várias estradas que passam por diversas cidades. Qual caminho oferece uma trajetória de menor comprimento? O algoritmo que soluciona este problema (e até hoje não se encontrou forma melhor) foi criado por Edsger Wybe Dijkstra, em 1952. Dijkstra nasceu em 1930, na cidade de Roterdan – Holanda, e morreu em 2002. Foi um cientista de computação e recebeu o Turing Award de 1972 por suas contribuições fundamentais na área de linguagens de programação. Notem um fato interessante: geralmente o que estudamos em Matemática foi criado há muito tempo. Mas a Matemática, como veremos no problema que estamos estudando, continua a oferecer soluções e com o desenvolvimento da Informática a ideia de uma solução para um problema tem se modificado. Em vez de procurarmos um número, uma resposta (o que em muitos casos é necessário), procuramos um algoritmo, isto é, uma série de procedimentos que nos levem à solução. A vantagem é que, se o problema for muito extenso, poderemos programar um computador para realizar este algoritmo. Este problema é um excelente exemplo disso. Veremos mais tarde que isso não quer dizer que não precisamos de teoria, muito pelo contrário. Um bom algoritmo depende de boa matemática. Mas, voltaremos a isso adiante. Por enquanto vamos ver

“GrafosModfranci 2009/6/30 page 32 Estilo OBMEP

32

CAP. 2: CICLOS E CAMINHOS

a solução, simples e interessante, oferecida por Dijkstra, que viveu no nosso tempo, ou dos nossos pais. Observe que trabalharemos com grafos valorados, isto é, estaremos atribuindo valores às arestas. Estes valores podem ser distâncias, tempo gasto no trajeto, custo com a ligação etc. Usaremos as expressões “custo“ ou “distância” para nos referirmos a estes valores. Estes valores geralmente são estimados por engenheiros, economistas e consideraremos nos próximos exemplos que eles são dados. Este algoritmo trabalha apenas com grafos valorados com valores positivos e nossa tarefa é minimizar “custo” ou “distância”.

Qual o Menor Caminho até a Escola?
5
Casa do Casa do João João

Armazém Armazem

6 11

13

10 3

Pracinha Pracinha

Banca de Banca de Jornal Jornal

6
Quitanda Quitanda

6

3

4 Cancela Cancela

8

Escola Escola

Figura 2.4: Lembremos que este grafo é valorado, isto é, atribuímos valores

8 . Usaremos este grafo simples e pequeno para vermos como o algoritmo de Dijkstra funciona. 0 Casa do João Armazém Armazem 8 8 Pracinha Pracinha Banca de Bancade Jornal Jornal Quitanda Quitanda 8 8 Escola Escola 8 Cancela Cancela Figura 2. Começamos calculando todas as distâncias a partir da Casa de João (J).5).“GrafosModfranci 2009/6/30 page 33 Estilo OBMEP SEC. entre a Pracinha (P) e a Banca de Jornal (B) colocamos a distância 11 pois há um cachorro que nos assusta.2: O PROBLEMA DO MENOR CAMINHO 33 às arestas. na figura 2. 2. A “distância” é diferente da que estamos acostumados. Vamos começar com o mapa sem ligações (2.4.5: Até onde posso chegar a partir da casa de João (J) em uma única etapa? Qual o custo? Vamos preencher a tabela a seguir. Por exemplo. A distância de J até J é 0 (zero). Entre a Quitanda (Q) e a Cancela (C) a “distância” é 4 pois há uma moça (ou rapaz) interessante.

. Vamos entender a figura e a tabela. 0 ∞ ∞ ∞ ∞ ∞ ∞ ...com custo ou distância. 2: CICLOS E CAMINHOS .vindo de. a Pracinha que está a distância 6 e a Quitanda. A partir da casa de João.. já começa com um valor maior que 5 (ou eventualmente igual). qualquer outro caminho que eu tome.. eu agora percebo que a distância ao armazém não irá diminuir..Pracinha Q . quem podemos atingir imediatamente? O Armazém.Casa de João A .“GrafosModfranci 2009/6/30 page 34 Estilo OBMEP 34 Determinado (fechado) Posso chegar até. e a etiqueta ∞ mostra que ainda não foram atingidos..Quitanda B . . pois já sabemos a menor distância: 0.. que está a distância 10. *** Ainda Ainda Ainda Ainda Ainda Ainda não não não não não não atingimos atingimos atingimos atingimos atingimos atingimos Atenção: colocamos a distância ∞ para dizer que ainda não atingimos este vértice.Escola CAP.Cancela E .. Vou assinalar isto no meu grafo. J . por isso não estão escurecidos.Banca de Jornal C . Mais ainda.. que está a distância 5 da Casa de João. De fato. na figura escurecemos a “Casa de João”.Armazém P . Os outros vértices ainda podem ser melhorados. Então escureço o vértice do armazém para mostrar que ele está “fechado”.

. J ....Armazém P .Casa de João A ..6: Vamos preencher a tabela de acordo: Determinado (fechado) * * Posso chegar até..Quitanda B .“GrafosModfranci 2009/6/30 page 35 Estilo OBMEP SEC. 2. 0 5 6 10 ∞ ∞ ∞ . é a nossa vez de investigar se indo pelo caminho do armazém poderemos melhorar as distâncias. *** J J J Ainda não atingimos Ainda não atingimos Ainda não atingimos Como a distância até o armazém não vai diminuir..Cancela E . A partir do Armazém só podemos chegar à Banca de 8 6 6 ..Pracinha Q .Escola ..vindo de.Banca de Jornal C ..2: O PROBLEMA DO MENOR CAMINHO 35 5 0 5 Casa do Casado João João é Armazém Armazem Pracinha Pracinha 10 Banca de Banca de Jornal Jornal 10 Quitanda Quitanda 8 8 Escola Escola Cancela Cancela Figura 2.com custo ou distância.

Banca de Jornal C . 2: CICLOS E CAMINHOS Jornais (B) (Lembre-se que J já está fechado).. 0 5 6 10 18 ∞ ∞ .“GrafosModfranci 2009/6/30 page 36 Estilo OBMEP 36 CAP.vindo de.Escola . Nosso grafo e tabela ficam assim e o próximo vértice a ser fechado é a Pracinha (P).Quitanda B .Pracinha Q . Como 18 < ∞ a melhor distância até a Banca é de 18.. *** J J J A Ainda não atingimos Ainda não atingimos 8 .. J .Cancela E ..com custo ou distância.Armazém P .Casa de João A .......7: Determinado (fechado) * * * Posso chegar até. Note que a etiqueta de distância da Banca de Jornal passa a ser 18 = 5+13 (5 da etiqueta do Armazém mais 13 da distância Armazém-Banca de Jornais). 0 5 5 Casa do do Casa João João 6 Armazém Armazem 13 6 18 Pracinha Pracinha 10 Banca de Banca de Jornal Jornal 10 Quitanda Quitanda 8 Cancela Cancela Escola Escola Figura 2.

Banca de Jornal: 6 + 11 = 17 < 18 e o caminho para a Banca de Jornal passa a ser pela Pracinha. Cancela: 6 + 6 = 12 < ∞ logo o caminho para a cancela passa a ser pela Pracinha.2: O PROBLEMA DO MENOR CAMINHO 37 Como a distância à Pracinha não pode ser melhorada é a partir dela que investigaremos. à Banca de Jornal e à Cancela. o caminho melhor passa a ser pela Pracinha. Nosso grafo e tabela ficam assim: . como 9 < 10 (que é a etiqueta atual da Quitanda). 2. O vértice a ser fechado é a Quitanda pois é o menor valor em aberto. passando pela Pracinha à Quitanda.“GrafosModfranci 2009/6/30 page 37 Estilo OBMEP SEC. Podemos chegar. Vamos ver o que acontece nos três casos: Quitanda: 6 (etiqueta da Pracinha) + 3 (distância PracinhaQuitanda) = 9.

.“GrafosModfranci 2009/6/30 page 38 Estilo OBMEP 38 0 5 CAP.Banca de Jornal C .Pracinha Q ..Escola .Cancela E .Casa de João A . 0 5 6 9 17 12 ∞ . *** J J P P P Ainda não atingimos Agora vamos estudar se podemos melhorar a distância a partir da Quitanda (que fechamos por ser o menor valor em aberto). ..Quitanda B .com custo ou distância..Armazém P ..8: Determinado (fechado) * * * * Posso chegar até... 2: CICLOS E CAMINHOS 5 Armazem Armazém Casa do Casa do João João 6 6 17 11 Pracinha Pracinha Banca de Banca de Jornal 3 9 6 12 Cancela Cancela 8 Escola Escola Quitanda Quitanda Figura 2. J ....vindo de.

2. Então não é vantagem.2: O PROBLEMA DO MENOR CAMINHO 39 Da Quitanda posso alcançar a Banca de Jornais com distância total 9 + 6 = 15 < 17 logo meu caminho para a Banca de Jornais passa a usar a Quitanda. Nosso grafo e tabela ficam assim: 0 5 Casa do João 5 Armazem 6 6 Pracinha 11 15 Banca de Jornal 3 9 Quitanda 6 6 12 Cancela 8 Escola Figura 2. e continuo a ir para a Cancela passando pela Pracinha.“GrafosModfranci 2009/6/30 page 39 Estilo OBMEP SEC.9: . Também posso alcançar a Cancela mas com distância 9 + 4 = 13 > 12.

Escola CAP.vindo de. Neste caso “fechamos” a Cancela antes da Banca de Jornal....Pracinha Q .. Isso mostra que nem sempre “fechamos” os vértices na ordem da tabela..Cancela E ..“GrafosModfranci 2009/6/30 page 40 Estilo OBMEP 40 Determinado (fechado) * * * * * Posso chegar até..com custo ou distância.Casa de João A .Pracinha Q .. J .Banca de Jornal C . que é o que tem menor distância acumulada entre os abertos...Cancela E .Escola . *** J J P Q P C .. 2: CICLOS E CAMINHOS ..vindo de..Banca de Jornal C ..Quitanda B . 0 5 6 9 15 12 ∞ . Da Cancela só consigo ir à Escola com distância acumulada 12 + 8 = 20 < ∞. *** J J P Q P Ainda não atingimos Observe que escurecemos o vértice da Cancela. 0 5 6 9 17 12 20 ..Armazém P ..com custo ou distância.. Já estamos quase terminando.. Minha tabela e grafo ficam assim (escurecemos o vértice da Banca de Jornais): Determinado (fechado) * * * * * * Posso chegar até.Armazém P .Casa de João A ..Quitanda B .. J .

A tabela e o grafo finais ficam: Determinado (fechado) * * * * * * * Posso chegar até.com custo ou distância.2: O PROBLEMA DO MENOR CAMINHO 41 5 0 5 Casa do João Armazem 6 6 Pracinha 11 15 Banca de Jornal 3 9 Quitanda 6 6 20 8 Escola 12 Cancela Figura 2.“GrafosModfranci 2009/6/30 page 41 Estilo OBMEP SEC..Pracinha Q . 0 5 6 9 17 12 18 .Banca de Jornal C .10: E finalmente....Quitanda B . vemos que pela Banca de Jornal conseguimos chegar à Escola com distância acumulada de 15 + 3 < 20.Casa de João A .... *** J J P Q P B .vindo de. J .Escola .Armazém P ....Cancela E . 2.

mas poderíamos perfeitamente ter usado apenas uma matriz de distância: . Ele não encontra o menor caminho entre dois vértices quaisquer.11: Observe que: • O grafo final é uma árvore – conexa e sem ciclos (sempre que chegávamos num vértice.“GrafosModfranci 2009/6/30 page 42 Estilo OBMEP 42 0 5 Casa do João CAP. • O algoritmo encontra o menor caminho da Casa de João a todos os outros pontos. 2: CICLOS E CAMINHOS 5 Armazem 6 6 Pracinha 11 15 Banca de Jornal 3 9 Quitanda 6 6 18 Escola 3 12 Cancela Figura 2. impedindo a formação de ciclos). eliminávamos uma aresta. Por exemplo para ir da Cancela à Banca de Jornais a distância é 11 e não 15 como a árvore sugere. • A representação gráfica foi útil para entendermos o problema.

“GrafosModfranci 2009/6/30 page 43 Estilo OBMEP SEC.2: O PROBLEMA DO MENOR CAMINHO 43 B ∞ 13 11 6 0 ∞ 3 C ∞ ∞ 6 4 ∞ 0 8 E ∞ ∞ ∞ ∞ 3 8 0 J J A P Q B C E 0 5 6 10 ∞ ∞ ∞ A 5 0 ∞ ∞ 13 ∞ ∞ P 6 ∞ 0 3 11 6 ∞ Q 10 ∞ 3 0 6 4 ∞ Exercícios 1. Nas figura abaixo.12: . 2. N 70 P 110 M 31 61 70 H 100 L J 30 65 67 I 74 F 126 105 G 30 E 26 B 140 12 C 19 85 A 39 D Figura 2. use o algoritmo de Dijkstra para descobrir qual o menor caminho do vértice A a todos os outros vértices.

Mercearia Mercearia B C D E F G H 0 11 5 8 ∞ ∞ ∞ ∞ B 11 0 ∞ 3 ∞ ∞ 8 ∞ C 5 ∞ 0 2 8 ∞ ∞ ∞ D 8 3 2 0 4 ∞ 12 11 E ∞ ∞ 8 4 0 15 ∞ 4 F ∞ ∞ ∞ ∞ 15 0 3 7 G ∞ 8 ∞ 12 ∞ 3 0 2 H ∞ ∞ ∞ 11 4 7 2 0 .“GrafosModfranci 2009/6/30 page 44 Estilo OBMEP 44 CAP. Use o algoritmo de Dijkstra para descobrir qual o menor caminho da Mercearia a todas as outras localidades. Abaixo. temos uma tabela de distâncias entre uma Mercearia e as localidades onde ela faz entregas. 2: CICLOS E CAMINHOS 2.

1 Euler e as Pontes de Köenisberg Na introdução.“GrafosModfranci 2009/6/30 page 45 Estilo OBMEP Capítulo 3 Mais Ciclos e mais Caminhos 3.1: 45 . A figura mostra uma solução e. na verdade. Figura 3. perguntamos se você conseguiria desenhar a casinha abaixo sem tirar o lápis do papel. o problema é bastante fácil.

considerado o marco fundador da Teoria dos Grafos. estabelecendo assim uma condição necessária. Se começam em A terminam em E. O problema e sua modelagem por grafos está apresentada na figura a seguir. O fato é que esse outro problema é impossível. sem passar duas vezes na mesma ponte. e vice-versa.2: Observamos que o problema dá origem a um grafo com arestas múltiplas. embora se acredite que a suficiência não lhe fosse desconhecida. o que não afetará a solução. 3: MAIS CICLOS E MAIS CAMINHOS Mas se quisermos começar pelo vértice B? (você pode tentar o tempo que quiser). Figura 3. muito mais tarde. Leonard Euler mostrou que a resposta era negativa. retornando ao ponto de partida. Esta segunda parte foi publicada por Hierholzer em 1873. . O problema tem origem no famoso “problema das pontes de Köenisberg”. Os habitantes de Köenisberg (hoje Kaliningrado) se perguntavam se seria possível atravessar as sete pontes do Rio Prega. Todas as soluções começam/terminam pelo vértice A/E.“GrafosModfranci 2009/6/30 page 46 Estilo OBMEP 46 CAP.

pense numa pequena cidade com um único caminhão para recolher o lixo onde o prefeito deseja economizar. O problema é idêntico ao problema da casinha e. computadores e problemas finitos. não teria solução (pois o caminhão não retornaria ao ponto inicial (Você experimentou?).“GrafosModfranci 2009/6/30 page 47 Estilo OBMEP SEC. o prefeito ficaria contente (experimente desenhar esta figura sem tirar o lápis do papel mas voltando ao ponto inicial).3: . Mas no aspecto imediato. Esse Problema é Importante? Sim! Para começo de conversa. vamos tecer algumas considerações sobre grafos. se a cidade tivesse essa configuração. Figura 3. simples de propor e veremos que sua solução é atraente. ele é interessante. Se o mapa da cidade fosse como na figura a seguir.1: EULER E AS PONTES DE KÖENISBERG 47 Antes de prosseguir com a solução. o que significa que ele prefere que o caminhão passe uma única vez por todas as ruas e retorne ao ponto de partida. 3. interessante e tem consequências importantes.

(B. B). D). podemos verificar que esta é de fato uma solução. isso facilita encontrar a aresta que procuramos e isso vale para o computador também (essa ordem tem o nome de “ordem lexicográfica”). (A. Bem. Retiramos ela . E). D.2 Estrutura de Dados O desenho ajuda a nós. C. Como isso funciona no nosso caso? Digamos que achei a solução codificada pela sequência de letras AEBDCBADE.“GrafosModfranci 2009/6/30 page 48 Estilo OBMEP 48 CAP. Não haverá exceção? Como o nosso problema tem um número de possibilidades finito e pequeno. (C. D). (B. E)}. B. Observe que usamos uma ordem semelhante à ordem do dicionário. podemos examinar todas. Lembre-se que a casinha representa o grafo G(V. C). mas os computadores preferem letras e números. E} e A(G) = {(A. Mesmo sem o desenho. E). A) em que V (G) = {A. Basta lembrar que computadores têm facilidade para tratar informações organizadas. As arestas disponíveis são: AB AD AE BC BD BE CD DE Começamos pela aresta AE. 3: MAIS CICLOS E MAIS CAMINHOS E em que um computador pode nos ajudar neste caso? 3. pessoas. (B. (A. (D. queremos saber se realmente todas as soluções começam/terminam por A/E. Ela está disponível? Sim. Como um computador pode fazer isso? Calma! Não precisamos saber programação de computadores. D).

2: ESTRUTURA DE DADOS 49 da lista de disponíveis: AB AD AE BC BD BE CD DE == A próxima aresta a ser examinada é EB. computadores são máquinas e não . A sequência da verificação está aí abaixo: AEBDCBADE AEBDCBADE AEBDCBADE AEBDCBADE AEBDCBADE AEBDCBADE AEBDCBADE AEBDCBADE AB AD AE BC BD BE CD DE == AB AD AE BC BD BE CD DE == == AB AD AE BC BD BE CD DE == == == AB AD AE BC BD BE CD DE == == == == AB AD AE BC BD BE CD DE == == == == == AB AD AE BC BD BE CD DE == == == == == == AB AD AE BC BD BE CD DE == == == == == == == AB AD AE BC BD BE CD DE == == == == == == == == E a verificação mostra que a solução é boa. Retiramos ela da lista de disponíveis: AB AD AE BC BD BE CD DE == == (Repare que no nosso problema EB e BE são a mesma coisa. 3. É o que chamamos uma estrutura de dados.) E assim por diante. Está disponível? Sim. E que foi fundamental a maneira como apresentamos os dados. Observe que não usamos o desenho.“GrafosModfranci 2009/6/30 page 49 Estilo OBMEP SEC. Lembre-se.

6. Digamos que a cidade dele não tenha 8 ruas. 6. 5. 2. Vamos fazer algumas contas. 8. 5. podemos colocar estas sequências em ordem de (1. 7. um bom computador pode gerar e verificar estas sequências todas em segundos! Poderemos ter certeza de que todas as soluções realmente começam (ou terminam) com a letra A ou E.. 5. 6. Ora. 8) até (8. Será o fim da Matemática? Não é bem assim. 6. 7. 4. 4. Isto se chama uma “solução por força bruta” e não usamos nenhuma sofisticação matemática. 4. 3. A estrutura de dados é fundamental. um algoritmo. 2.“GrafosModfranci 2009/6/30 page 50 Estilo OBMEP 50 CAP. 3.. isto é. mas intuitivamente percebemos que com a estrutura adequada e uma sequência de procedimentos (um programa!). 1) é ou não uma solução para o problema da casinha. Não é uma grande cidade e podemos tentar usar a mesma força bruta do computador para resolver o problema de per- . Temos 8 arestas disponíveis e podemos numerá-las de 1 a 8. 8) ou (3. 2. São as permutações de 8 elementos. mas 20. nenhum teorema. Quantas sequências temos? Na apostila [2] vimos que teremos 8! = 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 40 320 sequências. 1). Não temos a intenção aqui de explicitar o funcionamento de um computador. Melhor ainda. 3: MAIS CICLOS E MAIS CAMINHOS podemos passar informações de qualquer jeito. 2. 4. 7. Podemos pensar num procedimento (diferente do que usamos antes) que verifique se uma determinada sequência de 8 algarismos do tipo (1. 3. 7. 5. Lembre-se do prefeito. podemos verificar se uma sequência de 9 letras (por quê 9?) é ou não uma solução.

Mas será que um bom computador não resolveria este problema? Se o computador verificasse um milhão de sequências por segundo (e poucos computadores o fazem hoje em dia) ele demoraria (os cálculos só incluem a parte inteira): 2 432 902 008 176 640 000 ÷ 1 000 000 ≥ 2 432 902 008 170 segundos 2 432 902 008 170 ÷ 60 ≥ 40 548 366 800 minutos 40 548 366 800 ÷ 60 ≥ 675 806 110 horas 675 806 110 ÷ 24 ≥ 28 158 580 dias 28 158 580 ÷ 365 ≥ 77 140 anos 77 140 ÷ 1 000 ≥ 77 milênios O prefeito não pode esperar tanto tempo (nem nós. teremos 20! sequências.3 Grafos Eulerianos Um grafo com m arestas é dito euleriano se existe uma trilha fechada de comprimento m em G.3: GRAFOS EULERIANOS 51 correr com o caminhão sem repetição de ruas. nem ninguém). 3. em outras palavras. 3. Quanto é isso? 20! = 2 432 902 008 176 640 000 sequências São muitas sequências.“GrafosModfranci 2009/6/30 page 51 Estilo OBMEP SEC. Quem virá nos socorrer? Um teorema de Euler. Se temos 20 ruas. se podemos percorrer cada aresta uma e só uma vez partindo de um vértice e a .

G1 é euleriano (a trilha pode ser a-b-c-d-e-f-a-db-e-a).4: Na figura acima. então G contém um ciclo. Demonstração. podemos desenhar um grafo euleriano (ou melhor. Em outras palavras. nem semieuleriano. Num grafo semieuleriano começamos num ponto e terminamos em outro. estabelecendo assim uma condição necessária.“GrafosModfranci 2009/6/30 page 52 Estilo OBMEP 52 CAP. G2 é semieuleriano (a trilha pode ser a-e-b-d-c-b-a-d-e) e G 3 não é euleriano. Já vimos que o problema (e o nome “euleriano”) se originou com o problema das pontes de Köenisberg. Começamos por um lema simples porém necessário. ele é dito semieuleriano. não há o que . Lema. Euler mostrou que a resposta era negativa. 3: MAIS CICLOS E MAIS CAMINHOS ele retornando. uma representação gráfica dele) sem retirar o lápis do papel e retornando ao ponto inicial. Se G contém laços ou arestas múltiplas. Se todo vértice de um grafo (não necessariamente simples) G tem grau maior ou igual a 2. Se o grafo não é euleriano mas tem uma trilha aberta de comprimento m. Figura 3.

Dentre todos as trilhas fechadas em G escolhemos uma trilha T com comprimento máximo. pois os graus são pares. portanto. Logo. automaticamente. ou o estamos visitando pela primeira vez e podemos continuar. e somente se. o grau de cada vértice deve ser obrigatoriamente par. o lema está provado. Como retiramos um número . (⇐) Usaremos indução sobre o número de arestas m do grafo.“GrafosModfranci 2009/6/30 page 53 Estilo OBMEP SEC. produzindo um ciclo. Consideramos. uma para entrar e outra para sair. Caso contrário. ou chegamos a um vértice já visitado. Suponhamos que o teorema seja válido para todos os grafos com menos do que m arestas. G contém um ciclo. o teorema. Demonstração. Sendo G conexo. o teorema é válido quando m = 0. E agora. apenas os grafos simples. Pelo lema anterior. Se T tem comprimento m. Um grafo conexo (não necessariamente simples) G é euleriano se. consideramos o grafo H resultante da retirada das arestas de T . 3. (⇒) Suponhamos que G tenha uma trilha fechada de comprimento m. Teorema de Euler (Euler – 1736). iniciamos nossa trilha. o teorema está provado. qualquer.3: GRAFOS EULERIANOS 53 provar. todos os vértices têm grau maior do que 2. Quando chegamos a um vértice qualquer. Cada vez que a trilha passa por um vértice utiliza duas novas arestas. À partir de um vértice v 0 . todos os seus vértices tem grau par. Como o número de vértices é finito. G contém um ciclo (que é uma trilha fechada). pois. Por vacuidade.

Corolário. Pela hipótese de indução. e todos os vértices do grafo tem grau par (pela hipótese). A demonstração da correção do algoritmo pode ser encontrada em [6]. Um grafo conexo (não necessariamente simples) G é semieuleriano se. e podemos formar uma trilha fechada maior concatenando T com a trilha em H. Deixada ao leitor. Repare que os graus eram todos pares e a retirada de um ciclo subtrai sempre números pares dos graus.5). no máximo.“GrafosModfranci 2009/6/30 page 54 Estilo OBMEP 54 CAP.5. Veja a figura 3. O grafo restante também tem vértices com grau par (veja ainda a figura 3. Mas isto contraria a maximalidade na escolha de T . Podemos dar uma ideia do funcionamento do algoritmo e do motivo pelo qual ele funciona. .) Um algoritmo decorrente da demonstração do teorema acima assegura a construção de uma trilha fechada de comprimento m num grafo euleriano. pelo menos uma das componentes de H tem um vértice em comum com T e tem todos os vértices com grau par. Basta agora incluir essa trilha na trilha inicial onde está o vértice d. (Sugestão: pense em acrescentar uma aresta a dois vértices de grau ímpar. H tem uma trilha fechada que passa por todos os vértices de H. Este resto pode ser percorrido pela trilha fechada dghijkcjhd. 3: MAIS CICLOS E MAIS CAMINHOS par de arestas de cada vértice de T . dois vértices têm grau ímpar. chegando a um beco sem saída. e somente se. Começando nossa trilha pelo vértice a poderíamos percorrer abf cedcbef a. Demonstração.

f a b e g d h i c k Figura 3.6: j .5: Nossa trilha fica abf ced(dghijkcjhd)dcbef a(veja a figura 3.“GrafosModfranci 2009/6/30 page 55 Estilo OBMEP SEC. 3.3: GRAFOS EULERIANOS 55 g h i d h i j f a b e g d c k c j Figura 3.6).

3: MAIS CICLOS E MAIS CAMINHOS Exercício Na figura 3.“GrafosModfranci 2009/6/30 page 56 Estilo OBMEP 56 CAP.7. por onde devemos começar (terminar) nossa trilha? Figura 3. quais grafos são eulerianos? Quais são semieulerianos? No caso dos semieulerianos.7: .

teremos que eulerizar o grafo. O problema pode se complicar bastante. É claro que não construiremos novas ruas! A ideia é fazer o carteiro percorrer ruas repetidas de forma econômica. Já vimos este conceito no caso do algoritmo de Dijkstra. O menor caminho entre os vértices a e b (calculado pelo algoritmo de Dijkstra) indica que o melhor meio de eulerizar o grafo é construir uma “aresta virtual” entre a e b. v2 v3 .3). quando tem apenas dois vértices de grau ímpar. Ora. Assim. É um problema bastante estudado devido à economia que uma boa solução pode gerar.4 O Problema Chinês do Carteiro Esse problema é uma aplicação bastante importante do conceito de grafo euleriano. se o grafo em questão é euleriano.. o que significa simplesmente percorrer o caminho av2 . O problema chinês do carteiro (que tem este nome por ter sido apresentado pela primeira vez por um pesquisador chinês e não pela nacionalidade do carteiro. Mas se este não for o caso. 3. custo. logo poderemos unir pares destes vértices por novas arestas.“GrafosModfranci 2009/6/30 page 57 Estilo OBMEP SEC. . mas hoje há algoritmos que produzem resultados aproximados com bastante eficiência. tornando-os pares. v3 v4 . não há problema. isto é. isto é.4: O PROBLEMA CHINÊS DO CARTEIRO 57 3.) consiste em minimizar o esforço de um carteiro que percorre todas as ruas de uma cidade. Este peso pode representar comprimento. ou o que a modelagem do problema exigir. Lembramos que o número de vértices de grau ímpar é par (veja o corolário na seção 2. Usamos um grafo valorado onde às arestas é associado um peso. v4 b como se fosse uma aresta.. tempo. quando o grafo é semi-euleriano. Vamos ilustrar o caso mais simples possível. uma função f : A → + .

3: MAIS CICLOS E MAIS CAMINHOS aresta virtual a 5 v1 5 3 5 10 8 3 v2 3 v 3 3 v6 v5 12 8 2 7 4 b 2 v 4 a 5 v 1 5 3 5 3 v3 3 3 v6 8 v2 2 10 v5 12 8 7 4 b 2 v 4 Figura 3. 3. Um grafo e seu ciclo hamiltoniano aparecem na figura 3.9(a). chamamos um tal ciclo de ciclo hamiltoniano.8: gastaremos menos a sola do carteiro. . Uma trilha assim teria de ser necessariamente um ciclo (salvo no caso do grafo nulo com um vértice).5 Grafos e Ciclos Hamiltonianos Um problema aparentemente similar ao dos grafos eulerianos é o de procurar em G uma trilha fechada que passe por todos os vértices uma e só uma vez. que estudou e divulgou o problema – embora a primeira formulação tenha sido feita por Kirkman em 1885. O nome homenageia Sir Willian R. um grafo semi-hamiltoniano aparece na figura 3. Hamilton. As primeiras definições de grafo hamiltoniano e de grafo semi-hamiltoniano seguem as mesmas diretrizes dos grafos eulerianos.“GrafosModfranci 2009/6/30 page 58 Estilo OBMEP 58 CAP.9(b).

Tomemos o exemplo dado pela seguinte matriz valorada de adjacência . param por aqui. 3.6 O Problema do Caixeiro Viajante – PCV O PCV é um dos problemas mais estudados no campo da pesquisa operacional. transporte e planejamento.“GrafosModfranci 2009/6/30 page 59 Estilo OBMEP SEC.6: O PROBLEMA DO CAIXEIRO VIAJANTE – PCV 59 (a) (b) Figura 3. 3. Sua formulação é simples: dado um grafo completo valorado G. O problema de saber se um grafo é ou não hamiltoniano é um dos mais estudados da teoria dos grafos por sua aplicabilidade em comunicação. mas até hoje não foi encontrado um algoritmo computacionalmente eficiente para resolvê-lo. todos os teoremas se encontram muito longe de oferecer uma previsão razoável de solução. desejamos determinar o valor do menor ciclo hamiltoniano de G.9: As semelhanças. Entretanto. entretanto. nenhuma condição necessária e suficiente elegante para que um grafo seja hamiltoniano foi encontrada. até hoje. Na verdade.

que estamos à procura de um ciclo.“GrafosModfrancisc 2009/6/30 page 60 Estilo OBMEP 60 a a b c d e f g XXX 404 270 490 490 338 258 b 404 XXX 618 890 890 460 320 c 270 618 XXX 360 360 210 240 CAP. No nosso caso. uma solução óbvia seria examinar todas as permutações entre os vértices. Seja como for. 3: MAIS CICLOS E MAIS CAMINHOS d 490 890 360 XXX 78 390 390 e 490 890 360 78 XXX 390 330 f 338 460 210 390 390 XXX 270 g 258 320 240 330 330 270 XXX Como o grafo em questão é K7 . Isso nos daria 60!. a solução ótima. com valor 2470. Mas o PCV frequentemente trata de grafos com mais de 60 vértices. Uma outra tentativa heurística seria procurar agregar sempre a aresta de menor valor que não produza ciclo com menos de 7 vértices nem produza . Observamos. é uma tarefa até modesta para um computador. na verdade são 6! = 820. mesmo usando todos os computadores do mundo! Nossa atitude será então de procurar um algoritmo heurístico. o ciclo produzido seria a-g-c-f-gb-d-e-a. entretanto. pois são permutações circulares. e não temos portanto necessidade de agir sequencialmente. teremos 7! = 5760 permutações. o que nos tomaria milênios. que usa uma ideia “razoável”. A contraindicação para o algoritmo guloso é que no final terminamos por aceitar arestas de valores muito altos. mesmo que não assegure a melhor solução. cada uma correspondendo a um ciclo hamiltoniano. isto é. Com 7 vértices. A primeira tentativa é um algoritmo guloso que parte do ponto A e procura sempre a menor distância ao ponto da vez.

“GrafosModfranci 2009/6/30 page 61 Estilo OBMEP SEC. Vamos falar um pouco sobre isto adiante. ainda pior.6: O PROBLEMA DO CAIXEIRO VIAJANTE – PCV 61 vértices de grau 3 (num ciclo. o melhor valor encontrado. não foi descoberto até o momento um algoritmo eficiente para este problema (como no caso euleriano. corresponde ao ciclo a-c-d-e-f-g-b-a com o valor. 3. bem inferior. em que o teorema de Euler nos salvou). como veremos em outros exemplos. As escolhas recaem sobre: Aresta DE CF CG GA AC FG AF CD CE DF BE AB Valor 78 210 240 258 Bifurcação Bifurcação Fecha ciclo Bifurcação Bifurcação 390 890 404 O ciclo é a-c-d-e-f-g-b-a e o valor conseguido também é 2 470. É claro. os cientistas da computação acreditam que ele pertença a uma classe de problema para os quais não há uma solução “elegante”. de 2 092. . examinando todas as possibilidades. se tivermos que examinar o PCV para 20 cidades teríamos que examinar cerca de 20! permutações e já vimos que este é um número muito grande. Pior ainda. Entretanto. Isso foi coincidência. E. A ideia parecia boa e o resultado foi um pouco melhor. todos os vértices são de grau 2).

“GrafosModfranci 2009/6/30 page 62 Estilo OBMEP

62

CAP. 3: MAIS CICLOS E MAIS CAMINHOS

Exercício Na figura 3.10 temos um grafo completo, valorado nas arestas, e desejamos encontrar o ciclo hamiltoniano com menor valor total (Problema do Caixeiro Viajante). Para isto, use os algoritmos gulosos descritos nesta seção e constate que o valor obtido é sempre maior do que o melhor valor (que pode ser encontrado por exame exaustivo).
A

20 150 C

10 50 D 80 70 B

Figura 3.10:

3.7

Uma Palavra sobre Complexidade

A análise da complexidade de algoritmos é um assunto bastante técnico e que foge à intenção destas notas. Entretanto, as dificuldades enfrentadas por quem trabalha com problemas combinatórios (entre os quais os da teoria dos grafos) podem ser informalmente compreendidas. Já viemos fazendo isto quando falamos de soluções elegantes, eficiência computacional, enfim, sugerindo qualitativamente que certos problemas têm sido mais resistentes a uma abordagem algorítmica e computacional do que outros.

“GrafosModfranci 2009/6/30 page 63 Estilo OBMEP

SEC. 3.7: UMA PALAVRA SOBRE COMPLEXIDADE

63

Um algoritmo é composto de passos elementares; se a totalidade dos passos exigidos por qualquer problema que este algoritmo resolva é dado por uma função polinomial do tamanho da entrada do algoritmo, um aumento de poder computacional pode reduzir significativamente o tempo utilizado. Entretanto, se a totalidade dos passos do algoritmo, no pior dos casos, é uma função exponencial do tamanho da entrada, o aumento do poder computacional tem pouco efeito sobre o tempo de execução; basta um pequeno incremento na entrada para inutilizar o aumento computacional. Dos algoritmos que já examinamos, o de pesquisa de menor distância (Dijkstra) é de complexidade polinomial assim como o da determinação se um grafo é ou não euleriano (e de sua exibição, se este for o caso). Para o PCV, entretanto, até hoje não foi descoberto um algoritmo polinomial; mais ainda, a maior parte dos pesquisadores acredita que isto não será mesmo possível. Maior informação sobre complexidade computacional pode ser encontrada em Garey e Johnson [5]. Exercícios 1. Uma ponte é uma aresta que, quando retirada, desconecta o grafo. Dado um grafo conexo G, um vértice v será chamado de vértice separador quando a sua retirada resultar num grafo desconexo ou nulo. Prove que um grafo só tem uma ponte se tiver um

“GrafosModfranci 2009/6/30 page 64 Estilo OBMEP

64

CAP. 3: MAIS CICLOS E MAIS CAMINHOS
Ponte

Figura 3.11: vértice separador, mas a recíproca não é verdadeira. 2. Prove que dentre G e G, pelo menos um é conexo. 3. Mostre que A2 , o quadrado da matriz de adjacência de um grafo, nos dá o número de caminhos de comprimento 2 entre cada par de vértices do grafo. Que número aparece na diagonal principal de A2 ? Qual o significado da matriz Ak ? (Teorema de Festinger). 4. Mostre que se um grafo tem 2.k vértices de grau ímpar seu conjunto de arestas pode ser particionado em k caminhos disjuntos. 5. Para que valores de n, p e q os grafos K n , Kp,q , Pn são eulerianos? semieulerianos? hamiltonianos? semi-hamiltonianos? 6. Mostre que Ki,j é hamiltoniano se e só se i = j; e que neste i caso, existem 2 ciclos hamiltonianos disjuntos. Observação: x é o maior número inteiro menor ou igual a x. Por exemplo: 5 = 0, 41 = 13 e 6 = 3. 7 3 2 7. Seja o grafo Qj = (Xj , Uj ) no qual Xj = {vetores de j coordenadas, cada uma igual a 0 ou 1 } e Uj = {(vj , wj )|vj difere de wj por uma só coordenada}.

0) (0.1.0.12 mostra Q1 .1) (0.12: (a) Calcule nj = |Xj | e mj = |Uj |. mas a recíproca não é verdadeira. (b) Para que valores de j é Qj euleriano? Justifique.0 .“GrafosModfranci 2009/6/30 page 65 Estilo OBMEP SEC.1) (0.7: UMA PALAVRA SOBRE COMPLEXIDADE 65 A figura 3.1.13) não é hamiltoniano.0) (1. Q2 e Q3 . 3.13: 9. Mostre que o grafo de Petersen (ver figura 3.0.0. L(G) será hamiltoniano.1) (1. Mostre que se G for euleriano.1) (0. (1. (d) Para que valores de j é Qj hamiltoniano? Justifique. .0) (1. 8.1) Q1 Q2 Q3 Figura 3.1. (c) Mostre que Qj é bipartido.0) (0) (1) (0.0) (1.0) (0. Figura 3.1.1) (1.

já definidos anteriormente como grafos conexos sem ciclos. árvore floresta Figura 4. uma árvore é o grafo conexo com menor número de arestas.“GrafosModfranci 2009/6/30 page 66 Estilo OBMEP Capítulo 4 Árvores 4. 66 . Um grafo cujas componentes conexas são árvores é chamado de floresta.1 Definições e Caracterizações Um dos tipos mais frequentes de grafos são as árvores. As várias caracterizações das árvores podem ser reunidas no teorema a seguir.1: Para um dado número de vértices n.

concluímos que o número de arestas de T é. T não contém ciclos. respectivamente. (iii) T é conexo e tem n − 1 arestas. Seja T um grafo com n vértices. portanto. (ii) ⇒ (iii): Se T fosse desconexo. (n − 1) + (n − 1) + 1 = n − 1. (i) ⇒ (ii): Pela definição de árvore. 4. Portanto. cada componente seria uma árvore. Demonstração. tais que n = n +n . (iv) T é conexo e toda aresta é uma ponte. o número de arestas de T é n −1 e o número de arestas de T é n − 1. As seguintes afirmações são equivalentes: (i) T é uma árvore. . (v) Todo par de vértices de T é ligado por um único caminho. Por indução.1: DEFINIÇÕES E CARACTERIZAÇÕES 67 Teorema. a retirada de uma aresta uv separa u de v e o grafo é separado em um par de árvores T e T com n e n vértices. Por indução. (vi) T não contém ciclos. (ii) T não contém ciclos e tem n − 1 arestas. o número de arestas em cada componente é inferior em uma unidade ao número de vértices e o número total de arestas seria inferior a n − 1. (iii) ⇒ (iv): A retirada de qualquer aresta separa o grafo. pois n − 2 arestas são insuficientes para conectar o grafo. mas a adição de uma aresta produz um único ciclo. Acrescentando a aresta uv.“GrafosModfranci 2009/6/30 page 67 Estilo OBMEP SEC.

). Por exemplo. que ligações deveremos fazer? A resposta será uma árvore geradora. A adição de uma aresta uv. Se este ciclo não fosse único. Se T fosse desconexo. haveria um par de vértices ligado por mais de um caminho.“GrafosModfranci 2009/6/30 page 68 Estilo OBMEP 68 CAP. é claro. Mas qual? . (vi) ⇒ (i): Basta mostrar que T é conexo. qual a árvore geradora de menor valor?”. produz um ciclo. uma aresta ligando duas componentes não produziria um ciclo. o grafo teria um ciclo e haveria uma aresta que não separaria o grafo. Uma exceção ocorre na solução do seguinte problema: “Dado um grafo G valorado. concatenada com o caminho (único) entre u e v. 4: ÁRVORES (iv) ⇒ (v): Se existisse mais de um caminho entre dois vértices.. é um subgrafo que é uma árvore com n − 1 arestas. com n vértices. mas dificilmente dará um bom resultado (daí o nome.2 Árvores Geradoras O Problema de Conexão de Peso Mínimo Uma árvore geradora de uma componente conexa de um grafo G. isto é. toca todos os vértices. 4. a retirada da aresta uv deixaria dois caminhos distintos entre u e v. (v) ⇒ (vi): Se T contivesse um ciclo.. se queremos realizar a ligação de computadores em rede a custo mínimo. Vimos que um algoritmo “guloso” pode ser fácil de implementar.

Quando tivermos conseguido n−1 arestas. se ela não forma ciclo.“GrafosModfranci 2009/6/30 page 69 Estilo OBMEP SEC.2: ÁRVORES GERADORAS 69 O grafo da figura 4. . a acrescentamos à nossa árvore. nós a desprezamos. 4. Caso contrário.2: Para resolver o problema.2 mostra o custo entre as ligações de um grafo K5 . usaremos o algoritmo de Kruskal. No nosso caso: c→e⇒6 a → e ⇒ 40 Agora há um empate entre a−c e b−d. a 40 e 102 44 6 42 60 42 44 100 b d 46 c Figura 4. Este algoritmo consiste em tomar a aresta de menor valor. Podemos escolher qualquer uma. a → c ⇒ forma ciclo. nossa árvore estará pronta.

Suponhamos que T não tenha peso mínimo. Demonstração. Total: 132 Nossa árvore ficará assim: a 40 e 6 42 44 d c b Figura 4. Retiramos a aresta e k e temos uma árvore . agora entre b − c e d − e. Seja e a primeira aresta escolhida para T que não pertence a T . isto é.3: Teorema. existe uma árvore geradora T tal que o peso de T é menor do que o peso de T . Podemos escolher qualquer uma. Nossa árvore está completa. fornece uma árvore geradora T . 4: ÁRVORES Temos outro empate.“GrafosModfranci 2009/6/30 page 70 Estilo OBMEP 70 b → d ⇒ 42 CAP. O algoritmo de Kruskal fornece uma solução ótima para o problema da conexão de peso mínimo. b → c ⇒ 44 Ja temos 4 arestas. O algoritmo. Se adicionarmos e a T obtemos um ciclo que contém uma aresta ek que não está em T . evidentemente.

4. o que mostra que o algoritmo constrói efetivamente uma árvore de menor peso. esta aresta e k teria sido escolhida pelo algoritmo no lugar de e. com n vértices e m arestas. Desenhe todas as árvores com 6 vértices e com 7 vértices. Determine todas as árvores geradoras do grafo da figura 4. Como um ciclo é um caminho adicionado de uma aresta. (b) Quais árvores são também grafos bipartidos completos? .“GrafosModfranci 2009/6/30 page 71 Estilo OBMEP SEC. no mínimo. 3. um limite inferior para o PCV é dado pelo valor da árvore geradora mínima (obtido por um algoritmo guloso) mais o menor valor de uma aresta não usada na árvore.4: e 4. 2. Mostre que um grafo conexo. (a) Mostre que toda árvore é um grafo bipartido. m − n + 1 ciclos distintos. tem.2: ÁRVORES GERADORAS 71 T com peso menor que T . Mas neste caso. a b c d Figura 4. Um algoritmo guloso pode ser usado para obter um limite inferior para o PCV. Exercícios 1. 4.

8.“GrafosModfranci 2009/6/30 page 72 Estilo OBMEP 72 CAP. Como podemos adaptar o algoritmo de Kruskal para obter o valor de uma árvore geradora de valor máximo? 6. . no mínimo. tem uma única árvore geradora. e somente se. 7. ∆ vértices pendentes. 4: ÁRVORES 5. Prove que uma árvore em que exatamente 2 vértices não são vértices separadores é um caminho. Prove que um grafo conexo é uma árvore se. Prove que uma árvore com ∆ > 1 tem.

1 Conjuntos Independentes Já vimos.1). no qual nenhum par de vértices está ligado. os vértices x e y estarão ligados se representarem professores que têm alunos em comum para ministrar a prova. Qual o maior número de professores que podem dar prova ao mesmo tempo? A resposta é dada pelo subconjunto independente máximo de vértices do grafo. Suponhamos que um grafo represente a incompatibilidade de horários entre professores que devem dar prova final. um exemplo de subconjunto notável de um grafo: um subgrafo independente.“GrafosModfranci 2009/6/30 page 73 Estilo OBMEP Capítulo 5 Subconjuntos Especiais de um Grafo 5. O número de independência α(G) é a cardinalidade do subconjunto independente máximo de vértices do grafo. pelo menos. O subconjunto assinalado com quadrados negros no grafo da figura 5. No nosso exemplo (figura 5.1 mostra um conjunto com estas características. 73 . Um conjunto independente pode desempenhar papel importante em uma modelagem.

. A operadora das barracas faz as seguintes restrições: • Uma barraca deve ser localizada em uma esquina (vértice). Já vimos que esta pode ser uma tarefa complexa. Na figura 5.2. desejamos evitar duplicação de esforços. eu quisesse instalar barracas para venda de sorvete. Suponhamos que num parque. não podemos acrescentar mais barracas de sorvete. representado pelo grafo da figura 5. por exemplo. isto é. CAP.1: Aplicações do conceito de conjunto independente surgem quando. • Esquinas próximas (vértices adjacentes) só admitem uma barraca. Mas a configuração da direita também é independente e contém quase o dobro de barracas. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO Figura 5.“GrafosModfranci 2009/6/30 page 74 Estilo OBMEP 74 α(G) = 4. Estamos procurando então um conjunto independente.3 a configuração da esquerda mostra um conjunto independente maximal. Para instalar o máximo de barracas procuramos um conjunto independente máximo.

“GrafosModfranci 2009/6/30 page 75 Estilo OBMEP SEC.2: Figura 5. 5.1: CONJUNTOS INDEPENDENTES 75 Figura 5.3: .

cada conjunto corresponderá a um horário de prova. Uma forma de resolver o problema é atribuir cores aos vértices de forma que vértices adjacentes tenham necessariamente cores diferentes. que quiséssemos saber qual o menor número de horários necessários para ministrar as provas. A demonstração acima fornece um algoritmo para colorir um grafo com ∆ + 1 cores. χ(G) = 4. Para todo grafo G.1). O menor número de cores que se pode utilizar será portanto a solução do problema. Colorimos vértice por vértice. Observação. . 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO 5. Teorema. no máximo. Podemos sempre encontrar uma cor com a qual colorir o vértice da vez. Para isto. ∆ vértices. O menor número de cores para colorir os vértices de um grafo G é chamado número cromático de G e denotado por χ(G).“GrafosModfranci 2009/6/30 page 76 Estilo OBMEP 76 CAP. Demonstração.2 Coloração Suponha. tem-se que χ(G) ≤ ∆ + 1. devemos resolver o problema de particionar o conjunto de vértices do grafo em subconjuntos independentes. No caso. Cada vértice pode ser adjacente a. basta atribuir um número ou um símbolo aos vértices. Podemos colorir os vértices com 12 cores (uma para cada vértice). mas o menor número possível de cores é 4 (veja a figura 5. no exemplo anterior. Não precisamos efetivamente “colorir” os vértices.

sem demonstrar. Um grafo G é bipartido se. Qual seria o menor número de serviços que poderíamos usar? Vemos na figura 5. Teorema.1. Este número é mínimo pois o grafo inclui um subgrafo isomorfo a K3 . Teorema (Brooks – 1941). queremos evitar a diversificação excessiva de serviços. Basta fazer corresponder cada uma das partições independentes de G a uma cor. então χ(G) ≤ ∆(G). pipocas.4 que podemos colorir os vértices com apenas 3 cores.3: APLICAÇÕES DE COLORAÇÃO 77 Apresentamos. suponha que quiséssemos instalar barracas de sorvete.3 Aplicações de Coloração As aplicações de coloração aparecem quando precisamos repartir o conjunto de vértices em conjuntos de vértices independentes disjuntos. Por motivos comerciais. um teorema clássico que reduz um pouco o limite acima. e somente se. cachorro-quente etc. 5.“GrafosModfranci 2009/6/30 page 77 Estilo OBMEP SEC. Se G é um grafo conexo que não seja Kn e tal que ∆(G) ≥ 3. Voltando ao problema do parque da Seção 6. Demonstração. As restrições agora serão: • Uma barraca deve ser localizada em uma esquina (vértice). χ(G) = 2. • Esquinas próximas (vértices adjacentes) só admitem barracas com serviços diferentes. . 5.

G. um para {B. B}. H.5 mostra uma partição dos vértices em dois conjuntos independentes disjuntos. Q. P. Vamos construir um grafo com os vértices {M. F. G. Q}.“GrafosModfranci 2009/6/30 page 78 Estilo OBMEP 78 CAP. A figura 5. P. I. . Os exames podem ser realizados em 2 horários. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO Figura 5. A tabela abaixo mostra a alocação de alunos nos exames finais que eles devem prestar: Alunos Matemática Português Inglês Geografia História Física Química Biologia 1 X X 2 3 4 X X X X X X X X X X X X X X X X X X X X X X X X 5 6 7 8 X 9 10 11 X X 12 X 13 14 15 X 16 X Duas disciplinas só podem ter exames realizados simultaneamente se não houver alunos comuns. H. dois vértices estarão ligados se tiverem um aluno em comum. M } e outro para {F. I.4: Uma outra aplicação clássica de coloração é o problema dos exames.

AC. ED . EC. Veja a figura 5.“GrafosModfranci 2009/6/30 page 79 Estilo OBMEP SEC. DC. O desenho abaixo representa um cruzamento. BC.6. DB. AD.3: APLICAÇÕES DE COLORAÇÃO 79 P M B I Q G F H Figura 5.6: Como organizar o trânsito? Vamos formar um grafo de incompatibilidade.5: Uma outra aplicação é a determinação de períodos de um sinal de trânsito. As direções permitidas estão assinaladas por setas. EA. BD. DA. 5. EB. BA. Os vértices serão as direções possíveis: V = AB. D C E B A Figura 5.

Figura 5. A partição em conjuntos independentes {AB. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO Ligamos dois vértices sempre que as direções forem incompatíveis (por exemplo AD e EB). BD. χ(G) = 4. sendo por isso vértices isolados. EB. AC. EC. Poderíamos usar 13 cores. {BC. ED}.“GrafosModfranci 2009/6/30 page 80 Estilo OBMEP 80 CAP. Uma coloração dos vértices corresponde a uma divisão em períodos. AD}. DC e ED são compatíveis com todas as direções. BD. Exercícios 1. DB. EA}. isto é. O dono de uma loja de animais comprou uma certa quantidade de peixes ornamentais de diversas espécies. uma para cada direção. DC} mostra que de fato 4 cores (4 períodos) são suficientes. DA e EB formam um K4 precisamos de pelo menos 4 cores. Como os vértices AC. Alguns destes peixes .7: Observe que BA. mas isso seria um desperdício de tempo.7. {DA. {BA. Veja a figura 5.

A compatibilidade entre as espécies está retratada na tabela a seguir. dê uma sequência econômica de períodos para o sinal de trânsito. 5.“GrafosModfranci 2009/6/30 page 81 Estilo OBMEP SEC. Para os cruzamentos da figura 5.8: . onde X significa que as espécies não devem ficar no mesmo aquário.3: APLICAÇÕES DE COLORAÇÃO 81 não podem ficar no mesmo aquário.8. A D B C Figura 5. (a) Qual o menor número de aquários necessário para abrigar sem problemas todos os peixes? (b) É possível distribuir os peixes de forma que cada aquário tenha (aproximadamente) o mesmo número de peixes? A A B C D E F G H I X X X X X X X X X X X X X X X X X X X X X X X X B C D E F X G X X X X H I X 2.

Figura 5. O número de vértices da clique máxima é o número de clique de G. Determine o número cromático dos grafos da figura 5. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO 3.9. Note-se que uma clique de G corresponde a um conjunto independente em G. 5. podemos considerar um conjunto independente de arestas.9: 5.5 Acoplamentos Da mesma forma que selecionamos um conjunto independente de vértices.4 Cliques Uma clique de G é um subgrafo completo de G. isto é ω(G) = α(G). v . denotado por ω(G).“GrafosModfranci 2009/6/30 page 82 Estilo OBMEP 82 CAP.

10 o acoplamento em G1 é maximal (pois não pode ser aumentado) mas não é máximo.10: Na figura 5. de arestas não incidentes duas a duas. O número de acoplamento de um grafo G. G1 G2 G3 Figura 5. . dizemos então que é um acoplamento perfeito. A mesma ideia se aplica a conjuntos mínimos e minimais. O acoplamento em G3 é máximo e satura todos os vértices. Observação. um caminho M aumentante em G é um caminho que liga dois vértices não saturados por M que alternam arestas de M e arestas de G − M . denotado por α (G).5: ACOPLAMENTOS 83 isto é. 5. Um conjunto deste tipo é chamado um acoplamento do grafo G.“GrafosModfranci 2009/6/30 page 83 Estilo OBMEP SEC. é a cardinalidade do maior acoplamento de G. os que são tocados são ditos vértices saturados e os outros vértices não saturados. Note a diferença entre os conceitos de máximo (o conjunto de maior cardinal possível dentro das condições exigidas) e maximal (um conjunto que não pode ser aumentado sem violar as condições exigidas). mas não toca todos os vértices. Dado um grafo G e um acoplamento M . O acoplamento em G 2 é máximo.

Este é um caminho M -alternante. uma das componentes. como são acoplamentos. (⇐) Se M não é máximo. e é estudado de forma ligeiramente diferente. Dizemos que temos um acoplamento de X em Y quando um acoplamento de G satura Y (mas não necessariamente X). as componentes de D são ciclos pares (alternam arestas de M e M ) ou caminhos. os vértices em D têm grau no máximo 2. o acoplamento assume a forma de formação de casais. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO Teorema (Berge). Um acoplamento M de um grafo G é máximo se. Seja G um grafo bipartido com partições dos vértices X e Y .6 Acoplamentos em Grafos Bipartidos O acoplamento modela situações em que formamos pares. o conjunto de arestas de M e M que não pertencem a M ∩ M ). podemos obter um acoplamento uma unidade maior adicionando as arestas do caminho fora de M ao acoplamento e retirando as arestas em M do acoplamento. Como |M | ≥ |M |. é um caminho alternando arestas de |M | e |M | começando e terminando em M . A definição de caminho aumentante garante que o resultado é ainda um acoplamento. .“GrafosModfranci 2009/6/30 page 84 Estilo OBMEP 84 CAP. ao menos. e somente se. 5. Considere D = M ∆M . a diferença simétrica entre M e M (isto é. então existe M máximo. não contém um caminho M -aumentante. Logo. (⇒) Se há um caminho M -aumentante. se o grafo G for bipartido. Demonstração.

Começamos contando as arestas pelas extremidades em X e Y . Se G é um grafo bipartido com partições de vértices X e Y . qualquer grafo k-regular bipartido admite um acoplamento perfeito. 5. tal que haja r arestas entre S e N (S). finalmente. Logo. Se k > 0.|S| ≤ k. |N (S)| ≥ |S|. ∀S ⊆ X. sendo N (S) a vizinhança aberta de S.11 ilustra esta situação. |S| ≤ |N (S)|.|X| = k. e somente se. A condição deste teorema é também conhecida como Condição de Hall. Demonstração. k. sem demonstração.|N (S)|. então G tem um acoplamento de X em Y se. Como G é k-regular.7 Coloração de Arestas Suponhamos que num grupo de pessoas várias duplas devam ser formadas para cumprir determinadas tarefas num laboratório. Teorema.|N (S)| e. logo k. Só precisamos então provar a condição de Hall. Ver em West [6].“GrafosModfranci 2009/6/30 page 85 Estilo OBMEP SEC. Do lado de Y temos r ≤ k. 5. Demonstração. Observe que uma mesma . O grafo da figura 5. Teorema. as partições de vértices. Considere S ⊆ X.|Y | e. |X| = |Y |.7: COLORAÇÃO DE ARESTAS 85 Apresentamos o seguinte teorema. Cada aresta tem uma extremidade em X e outra em Y . portanto. temos que r = k|S|.

11: As arestas representam as duplas e. como cada indivíduo só pode trabalhar em uma tarefa de cada vez. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO pessoa pode ter que cumprir uma tarefa em diversas duplas. Cada tarefa destas necessita de 1 hora para ser executada. notado por χ (G). tarefas executadas simultaneamente correspondem a um acoplamento. Podemos fazer corresponder uma cor a cada horário (já sabemos que esta cor pode ser um número ou um símbolo) e nossa pergunta passa a ser: “Qual o mínimo de cores para colorir as arestas do grafo de modo que arestas incidentes num mesmo vértice recebam cores diferentes?” O menor número usado para colorir (propriamente) as arestas de um grafo é chamado índice cromático do grafo. No nosso exemplo conseguimos colorir as arestas com 4 cores (veja figura .“GrafosModfranci 2009/6/30 page 86 Estilo OBMEP 86 CAP. Qual o menor número de horas necessárias para que todas as tarefas sejam realizadas? a b f c e d Figura 5.

cd Pelo que vimos acima. bc. Os horários ficariam assim distribuídos: a 3 f 4 2 e 4 1 2 2 1 4 3 d c 3 1 b Figura 5.7: COLORAÇÃO DE ARESTAS 87 5. ef af. ce. df ac. de ae. bd. 5. O teorema a seguir (que apresentamos sem demonstração) nos dá um limite superior bem estreito. .12) – que é evidentemente o menor número possível pois o vértice a tem quatro arestas incidentes.12: Horário(cor) 1 2 3 4 Duplas ab. fica claro que χ (G) ≥ ∆. Logo χ (G) = 4.“GrafosModfrancis 2009/6/30 page 87 Estilo OBMEP SEC.

Se este não for o caso. entretanto. Ao colorir a aresta xy tentaremos encontrar uma cor que não esteja presente em arestas incidentes a x e nem em arestas incidentes a y. ausente nas arestas incidentes em y. Demonstração. as arestas c x vão de uma partição para outra e as arestas c y retornam à primeira partição. Podemos então recolorir a cadeia intercambiando as cores c x e cy . Depois deste intercâmbio a cor cx estará ausente em x e y e podemos colorir a aresta xy. χ (G) = ∆. observemos que as arestas incidentes a x ocupam no máximo ∆ − 1 cores (pois xy não está colorida). o mesmo acontecendo com y. existe uma cor cy presente nas arestas incidentes em y e ausente nas arestas incidentes a x. Formemos uma cadeia de arestas começando em x e alternando arestas de cor cx e cy (esta cadeia pode até. eventualmente. tem-se que ∆ ≤ χ (G) ≤ ∆ + 1. Isto mostra que todas as arestas podem ser coloridas utilizando apenas ∆ cores. só possuir uma aresta). dispondo de ∆ cores. Para qualquer grafo G bipartido. Com o grafo bipartido. Suponha que estamos colorindo as arestas uma por uma. Para grafos bipartidos. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO Teorema (Vizing).“GrafosModfranci 2009/6/30 page 88 Estilo OBMEP 88 CAP. Como cx está ausente em y. tudo bem. Isto nos garante que há uma aresta incidente a x que está colorida com a cor cx . Para qualquer grafo G. χ (G) é conhecido. esta cadeia não passa pelo vértice y. por seu lado. Teorema (Vizing). Se for possível. . sem afetar a propriedade da coloração.

. C. B.7: COLORAÇÃO DE ARESTAS 89 Observação. D A cada hora um professor chama um dos alunos para ser examinado. 5. Quantos passeios podemos fazer de modo que cada soldado tenha sempre um companheiro diferente? Este número é.“GrafosModfranci 2009/6/30 page 89 Estilo OBMEP SEC. P 3F }. Veremos que este é o número exato. Três professores devem examinar 6 estudantes. P 2C. Para melhor enxergar este fato vamos dar o exemplo com t = 3.t soldados sai para marchar todo dia. Outro problema clássico da coloração de arestas é a organização de passeios por duplas. segundo a seguinte lista: Professor 11 Professor 22 Professor 33 A. {P 1C. P 3B}. do outro os alunos. C A. com 6 soldados. Qual o menor espaço de tempo que podemos utilizar? Usaremos um modelo de grafo bipartido (veja figura 5.13) – de um lado os professores.t − 1 pois este é o número de companheiros que cada soldado tem. Uma coloração das arestas representa uma divisão de horários. A coloração {P 1A. P 3D}. D A. isto é. é uma partição das arestas em acoplamentos disjuntos – o que é garantido pelo teorema demonstrado anteriormente. P 2A. Dois professores não podem examinar um aluno e cada professor examina apenas um aluno. {P 1D. Suponha que um batalhão com 2. Uma aplicação conhecida da coloração de arestas é o problema dos exames orais. A técnica desta demonstração se baseia numa ideia de Kempe e retornaremos a ela quando falarmos do Problema das 4 cores no capítulo sobre planaridade. P 2E. no máximo 2.

13: Se pensarmos em todas as duplas possíveis estamos pensando no grafo K6 . os soldados sendo os vértices e as arestas as duplas.14: Os acoplamentos são obtidos pelas arestas paralelas e perpendiculares (figura 5. Um passeio corresponderá a um acoplamento perfeito e uma coloração das arestas usando acoplamentos perfeitos nos dará o número possível de passeios.“GrafosModfranci 2009/6/30 page 90 Estilo OBMEP 90 CAP.15): . 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO A P1 B P2 C D P3 E F Figura 5. Desenhamos K6 da seguinte forma: Figura 5.

... {16. Um acoplamento de K 5 pode ter no máximo . 5. 35}.... 45}. {15.7: COLORAÇÃO DE ARESTAS 91 Figura 5.. {13. 36... (c) Mostre que para obter uma coloração de K 5 basta tomar . 56}..“GrafosModfranci 2009/6/30 page 91 Estilo OBMEP SEC.. 26.. (Índice cromático de K2t−1 ) (a) K5 tem 5 vértices e 10 arestas. Exiba uma coloração mínima das arestas de K 10 . 2.. 24. arestas.. 34} Exercícios 1. {14. (b) Para uma coloração das 10 arestas de K 5 precisamos de (no mínimo) . 23. 25. acoplamentos (cores).. 46}.15: A coloração produzida é: {12..

8 Outros Subconjuntos Outros tipos de subconjuntos e de invariantes têm sido estudados. • Conjuntos dominantes – É um subconjunto de vértices tal que todo vértice do grafo está no conjunto ou é adjacente a um de seus vértices. 5. é a cardinalidade da maior cobertura de arestas de G. • Coberturas de arestas – É um subconjunto de arestas tal que todo vértice é tocado por uma aresta do conjunto. . denotado por γ(G). se t é ímpar. é a cardinalidade do maior conjunto dominante de G. é a cardinalidade da maior cobertura de vértices de G. denotado por β(G). • Coberturas de vértices – É um subconjunto de vértices tal que toda aresta é incidente a um vértice do conjunto. O número de cobertura de arestas de um grafo G. 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO uma coloração de K6 e desconsiderar as arestas que contenham o vértice 6. O número de cobertura de vértices de um grafo G. Citaremos apenas três. O número de dominância de um grafo G.“GrafosModfranci 2009/6/30 page 92 Estilo OBMEP 92 CAP. • χ (Kt ) = t. denotado por β (G). (d) Mostre que: • χ (Kt ) = t − 1. se t é par.

Qual o número de independência α(P et) do grafo de Petersen? 2. O índice cromático do grafo G. então χ(G) ≥ t. 8. É verdade que se χ(G) = t. denotado por χ (G). Prove que n 2 ≤ χ(G) ≤ n − α + 1 5. (b) α(G) ≤ β (G).“GrafosModfranci 2009/6/30 page 93 Estilo OBMEP SEC. (a) Calcule χ (Kn ). Encontre caminhos aumentantes que forneçam acoplamentos de 4 e 5 arestas. (b) Prove que um conjunto dominante minimal pode não ser um conjunto independente. então Kt é subgrafo de G? 6. 4. 5.8: OUTROS SUBCONJUNTOS 93 Exercícios 1. Apresente um acoplamento maximal do grafo de Petersen com 3 arestas. Mostre que se Kt é subgrafo de G. o índice cromático do grafo de Petersen. Mostre que: (a) α (G) ≤ β(G). . é o menor número de cores com que podemos colorir as arestas de maneira que duas arestas incidentes tenham cores diferentes. (b) Calcule χ (P et). Qual o número de coloração χ(P et) do grafo de Petersen? 3. 7. (a) Prove que um conjunto independente maximal é um conjunto dominante.

2 . 5: SUBCONJUNTOS ESPECIAIS DE UM GRAFO (c) α(G). (d) γ(G) ≤ n .“GrafosModfranci 2009/6/30 page 94 Estilo OBMEP 94 CAP.χ(G) ≥ n.

octaedro. Na figura 6. cubo.“GrafosModfranci 2009/6/30 page 95 Estilo OBMEP Capítulo 6 Grafos Planares 6. apresentamos os grafos dos 5 sólidos platônicos: tetraedro.1: 95 .1 Definições e Resultados Simples Um grafo planar é um grafo que admite uma representação gráfica em que as arestas só se encontrem (possivelmente) nos vértices a que são incidentes. Exemplos clássicos de grafos planares são dados pelos grafos que representam os poliedros. dodecaedro e icosaedro. Figura 6.1.

De fato.2: Para grafos planares. a situação é a mesma. no exterior. temos uma única região).“GrafosModfranci 2009/6/30 page 96 Estilo OBMEP 96 CAP. 6: GRAFOS PLANARES Uma pergunta que pode ser feita é se existe um grafo que não seja planar.2 mostra duas representações do mesmo grafo. não devemos esquecer que uma das faces é tudo que “sobra” do plano – é a face ilimitada. Quantas arestas pode ter um grafo planar? Uma representação gráfica de um grafo com pelo menos um ciclo separa o plano em regiões (no caso das árvores. . vale a relação de Euler para poliedros convexos. Figura 6. Mostraremos que o grafo K 5 não é planar. qualquer representação de K5 deverá ter um ciclo de comprimento 5 que divida o plano em “interior” e “exterior. Num grafo planar conexo vale f − m + n = 2. Estas regiões são chamadas faces. Teorema de Euler. Nos sobra uma aresta. A figura 6. O número de faces de um grafo será designado por f .” Só conseguimos colocar duas arestas no interior sem que se cruzem. ilustrando que qualquer face pode ser colocada como face ilimitada.

e o grafo fica com uma face a menos.n. a igualdade vale se G é maximal planar. mas pela hipótese de indução a relação vale para o novo grafo. portanto. 3. Num grafo planar conexo G vale m ≤ 3.f − 3.m + 3. Tomemos um grafo conexo qualquer. Demonstração. Teorema. Temos então (f − 1) − (m − 1) + n = 2 e. um grafo ao qual não poderemos acrescentar arestas sem comprometer a planaridade) tem uma representação composta por ciclos de comprimento 3. retiramos uma aresta do ciclo. um grafo maximal planar (i. Isto nos dá outra relação importante. f − m + n = 2. 6.f ≤ 2. temos f − m + n = 1 − (n − 1) + n = 2. Se houver um ciclo. Como cada face tem no mínimo 3 arestas (a igualdade valendo no caso maximal) temos: 3.. = 6.1: DEFINIÇÕES E RESULTADOS SIMPLES 97 Demonstração. Logo.n − 6. .m. Se formos contar as arestas de cada face.“GrafosModfranci 2009/6/30 page 97 Estilo OBMEP SEC.e. Observamos que podemos acrescentar arestas a um grafo planar sempre que uma porção do plano estiver limitada por um ciclo de comprimento maior do que 3. contaremos duas vezes cada aresta do grafo. Substituindo na fórmla de Euler: f − m + n = 2. Demonstraremos o teorema por indução sobre o número de arestas. Se for uma árvore.

6: GRAFOS PLANARES Este teorema nos dá outra demonstração de que K 5 não é planar.f − 4.n ≥ 8. Substituindo na fórmula de Euler: f − m + n = 2.“GrafosModfranci 2009/6/30 page 98 Estilo OBMEP 98 2. . m ≤ 2. K5 (e de resto todos os grafos completos com mais do que 4 vértices) não obedece à relação acima: 10 > 3.n − 6. 4. De fato. CAP.m + 3.m + 4. 2. Observamos que um grafo bipartido só tem ciclos pares.m + 4.m − 4.n ≥ 6. Num grafo planar bipartido conexo G vale m ≤ 2.n = 8. Cada face tem no mínimo 4 arestas. 4.m − 3.f ≤ 2.n − 4.5 − 6. Demonstração. Teorema.m. m ≤ 3.n − 4.

“GrafosModfranci 2009/6/30 page 99 Estilo OBMEP SEC.2 Teorema de Kuratowski A ideia de planaridade é aparentemente topológica. Demonstração: Ver em Fournier[7]. depois de algumas definições. 6. acaba de ser resolvido. mas sempre pairou a questão sobre se haveria uma caracterização combinatória dos grafos planares. 6.4 que o grafo de Petersen não é planar. A resposta foi dada através de um teorema. O problema das casinhas.6 − 4.3 .3) G G’ Figura 6.2: TEOREMA DE KURATOWSKI 99 Vemos agora que K3. . Uma subdivisão do grafo G é o grafo G que obtemos pela inserção de P2 (caminho de comprimento 2) no lugar de uma aresta de G. Um grafo G é dito homeomorfo ao grafo G se G puder ser obtido de G por sucessivas operações de subdivisão (veja figura 6. na introdução. Como aplicação mostramos na figura 6.3 não é planar. sem demonstração. que apresentaremos. pois 9 > 2. Um grafo é planar se não contiver subgrafo homeomorfo a K5 ou a K3.3: Teorema (Kuratowski).

3 b Figura 6.5 mostra a correspondência entre as faces do cubo e os vértices do octaedro.3 Dualidade O Dual GD de um grafo simples planar G é o grafo construído da seguinte maneira: (i) A cada face de G associamos um vértice em G D .4: Observamos que embora tenhamos tratado o exemplo graficamente. o icosaedro é o dual do dodecaedro e o tetraedro é o dual dele mesmo (autodual). (ii) A cada aresta de G (que separa duas faces) associamos uma aresta em GD ligando os vértices correspondentes às faces. O cubo é o dual do octaedro. Um bom exemplo são os sólidos platônicos apresentados na figura 6.4. a verificação das condições do teorema pode ser feita de forma computacional (embora possa ser complexa). 6: GRAFOS PLANARES b a b a a K3. 6. . A figura 6.“GrafosModfranci 2009/6/30 page 100 Estilo OBMEP 100 CAP. Esses duais correspondem aos duais da geometria clássica.

.5: Verifica-se com facilidade que o dual do dual de G é o próprio grafo G (desde que G tenha conexidade maior ou igual a 3). mas da matemática. Usando a dualidade podemos formular o teorema em forma de coloração de vértices. A dualidade aparece num dos problemas mais famosos. hoje um teorema. Um mapa pode ser colorido com 4 cores. Na verdade. Colorir um mapa é colorir as regiões de maneira que regiões fronteiriças não sejam coloridas com a mesma cor. aluno de Augustus de Morgan.4 O Problema das 4 Cores Em 1852 Frederick Guthrie.“GrafosModfrancis 2009/6/30 page 101 Estilo OBMEP SEC. não só da teoria dos grafos. Teorema das 4 cores. trouxe a este um problema proposto por seu irmão Francis Guthrie. 6. tratava-se de uma conjectura.4: O PROBLEMA DAS 4 CORES 101 v5 f2 f4 f1 f5 fi f3 f6 v1 vi v4 v2 v6 v3 Figura 6. 6.

n ≤ v∈V (G) v∈V (G) d(v) = 2.m. Ficamos com 6.n − 12. dignas de nota. isto é. ∀v ∈ V .n ≤ 6.“GrafosModfranci 2009/6/30 page 102 Estilo OBMEP 102 CAP. entretanto.n − 6. Já sabemos que Se d(v) > 5.” As tentativas anteriores são. que a invalidava. O grafo K4 mostra que 4 cores são necessárias. Num grafo planar há pelo menos um vértice com grau menor ou igual a 5. Haken e Koch. Num grafo planar G tem-se que χ(G) ≤ 4. Lema. Kempe utilizou uma técnica (por isso chamada de cadeias de Kempe) e apresentou uma demonstração em 1879. 6: GRAFOS PLANARES Teorema das 4 cores formulação. Embora a teoria envolvida seja profunda muitos consideram esta “a mais feia prova da matemática. 11 anos depois. Appel. utilizou as cadeias de Kempe para demonstrar um resultado um pouco mais fraco. Mas num grafo planar temos m ≤ 3. provaram o teorema.n − 12. d(v) = 2. então 6. Em 1976. Heawood. Começaremos por um lema. mas serão suficientes? O problema demorou um século para ser resolvido. executando mais do que 10 10 operações computacionais. com o auxílio de 1200 horas do computador mais rápido de sua época. . Entretanto. Demonstração.m. 2m ≤ 6. percebeu uma falha sutil na demonstração.

basta colorir o vértice v. Podemos decompor o grafo retirando sempre um vértice de grau menor que 5 e recompô-lo colorindo. Então. que contém o vértice de N (v) colorido com b. Depois de trocar as cores b e d nesta componente. d. vértice a vértice. colorido com a. 6.6). existe um caminho de vértices que “cerca” o vértice b (veja figura 6. for o mesmo do vértice colorido com c. b. Em todo grafo planar existe um vértice com grau menor ou igual a 5. Desta forma. c. e}. Se os vértices em N (v) estão coloridas com menos do que 5 cores. tomamos a componente do grafo induzido por vértices coloridos com b e d. Demonstração. Se a componente que contém o vértice de N (v). Podemos então colorir o vértice v com a cor a. podemos sempre supor que estamos colorindo um vértice v de grau menor ou igual a 5. Teorema das 5 cores.“GrafosModfranci 2009/6/30 page 103 Estilo OBMEP SEC. podemos colorir o vértice v com a cor b. . tem-se χ(G) ≤ 5. Consideremos o subgrafo induzido pelos vértices coloridos com as cores a e c. Num grafo planar simples G. Se a componente que contém o vértice de N (v) colorido com a não contiver o vértice colorido com c.4: O PROBLEMA DAS 4 CORES 103 o que é impossível. Podemos então supor que o vértice está cercado por 5 vértices coloridos cada um com uma cor do conjunto {a. podemos trocar as cores desta componente: quem está colorido com a fica colorido com c e vice-versa.

(b) Que não seja planar. Mostre que um grafo planar G é bipartido se e só se G D é euleriano. 6: GRAFOS PLANARES Figura 6. 3. 3. Dê um exemplo de grafo com δ = 5 e n = 12. (b) Um grafo roda (notação Wn ) é o grafo obtido pela adição de um vértice de grau n−1 a Cn−1 (ver figura 6. Um grafo é autodual se GD é isomorfo a G.n = m + 2. Mostre que os grafos roda Wn são autoduais. 3. 4.6: Exercícios 1. (a) Mostre que se G é autodual então 2. Mostre que um grafo planar com δ = 5 tem no mínimo 12 vértices. 4. 3): (a) Que seja planar. 3.“GrafosModfranci 2009/6/30 page 104 Estilo OBMEP 104 CAP.7). Construa o grafo com sequência de graus (4. 2. .

7: 5. Este fato contraria o texto do capítulo? Figura 6.1.8) são isomorfos mas seus duais não são. G é euleriano. Mostre que os grafos abaixo (figura 6.8: 7. A cintura de um grafo. 6. Mostre que um grafo planar conexo pode ter suas faces coloridas com 2 cores se.“GrafosModfranci 2009/6/30 page 105 Estilo OBMEP SEC. . e somente se. Mostre que num grafo planar temos: m≤ (n − 2).4: O PROBLEMA DAS 4 CORES 105 W6 Figura 6. 6. denotada por g(G) é o comprimento do seu menor ciclo. g−2 Sugestão: adapte a demonstração dos dois últimos teoremas da Seção 7.g .

10.3 pode ser desenhado sem cruzamentos num toro. (a) (Resolvido) Mostre que o grafo não planar K 3. O teorema das 4 cores vale para o toro? (c) Mostre como podemos desenhar K7 num toro. Mostre que é possível obter um grafo planar a partir do grafo de Petersen pela retirada de 2 arestas. (b) Mostre como podemos desenhar K5 num toro. Você consegue dividir o toro em 7 regiões de maneira que cada uma faça fronteira com todas as outras 6? . Mostre que um grafo não planar tem 5 vértices de grau no mínimo 4 ou tem 6 vértices de grau no mínimo 3. pode? Solução: A sequência apresentada na figura 6.9 mostra como podemos “recortar” o toro para transformá-lo num retângulo.“GrafosModfranci 2009/6/30 page 106 Estilo OBMEP 106 CAP. As setas mostram como podemos passar as arestas pelos cortes. 6: GRAFOS PLANARES 8. E numa esfera. 9.

“GrafosModfranci 2009/6/30 page 107 Estilo OBMEP SEC. 6.9: .4: O PROBLEMA DAS 4 CORES 107 d c b a b a d c Figura 6.

10 tem as seguintes regras: Dois jogadores escolhem alternadamente uma região para colorir. 2 1 5 6 3 4 Figura 6. Exiba uma coloração desses mapas com o menor número de cores possível. Um jogo. Quem for obrigado a usar uma quinta cor será o perdedor.10: 12. 6: GRAFOS PLANARES 11. Duas regiões não podem receber a mesma cor. usando a figura 6. (a) Quem será o vencedor – o primeiro ou o segundo jogador? (b) Como modificar o tabuleiro para que a vantagem seja invertida? .“GrafosModfranci 2009/6/30 page 108 Estilo OBMEP 108 CAP.

“GrafosModfranci 2009/6/30 page 109 Estilo OBMEP SEC.11: .4: O PROBLEMA DAS 4 CORES 109 Figura 6. 6.

“GrafosModfranci 2009/6/30 page 110 Estilo OBMEP 110 .

31 (1980) 329-332. Apostila 2 do Estágio de treinamento dos alunos premiados da OBMEP. 111 . [2] CARVALHO. M. Wesley(1996). A Textbook of Graph Theory. 2006. Grafos: Teoria. RANGANATHAN.. D. Introduction to Graph Theory. Demonstration simple du théoreme de Kuratowski et de sa forme duale. JOHNSON. [5] GAREY. O. J. Modelos. J-C. Introduction to Graph Theory. Algoritmos. P. Freeman (1979). Edgard Blücher (1996). Prentice Hall (1996). Computers and Intractability: A Guide to the Theory of NP-Completeness. P. [7] FOURNIER.. C. R. P. 2 ed. Addison [4] BALAKRISHNAN.“GrafosModfranci 2009/6/30 page 111 Estilo OBMEP Referências Bibliográficas [1] BOAVENTURA NETTO. [3] WILSON. Contagem. D. K. S. Discrete Mathematics. R. W. [6] WEST.WH. Springer-Verlag (1999).

Sign up to vote on this title
UsefulNot useful