etg

126
Exercícios de Teoria dos Grafos http://www.ime.usp.br/~pf/grafos-exercicios Paulo Feofiloff janeiro de 2007

Upload: tiago-andre-arena-da-silva

Post on 06-Jun-2015

783 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ETG

Exercícios deTeoria dos Grafos

http://www.ime.usp.br/~pf/grafos-exercicios

Paulo Feofiloff

janeiro de 2007

Page 2: ETG

Prefácio

A teoria dos grafos estuda objetos combinatórios — os grafos — que são umbom modelo para muitos problemas em vários ramos da matemática, da in-formática, da engenharia e da indústria. Muitos dos problemas sobre grafos1

tornaram-se célebres porque constituem um interessante desafio intelectuale porque têm importantes aplicações práticas.

A presente coleção de exercícios de teoria dos grafos foi usada em váriasedições de disciplinas de Teoria dos Grafos no curso de pós-graduação emCiência da Computação do Instituto de Matemática e Estatística da Univer-sidade de São Paulo. Os exercícios foram extraídos dos livros de Bondy eMurty [BM07, BM76], Wilson [Wil79], Diestel [Die00], Bollobás [Bol98], Mel-nikov et alii [MST+98], Lucchesi [Luc79] e Lovász e Plummer [LP86]. O sítioWWW

http://www.ime.usp.br/~pf/grafos-exercicios

tem mais informações, além de uma versão atualizada do texto.

Seqüência ideal

Sugiro estudar as seções na seguinte ordem:

1.1 Grafos1.2 Lista de problemas clássicos2.1 Vizinhanças e graus de vértices

1 O problema do caminho mínimo, do circuito hamiltoniano, do ciclo euleriano, do iso-morfismo, da coloração de vértices, do emparelhamento, da coloração de arestas, da conexi-dade, da planaridade, etc.

1

Page 3: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 2

3.1 Isomorfismo3.2 Síntese de grafos a partir dos graus

2.3 Caminhos e circuitos2.4 Subgrafos2.5 Cortes e pontes2.6 Grafos conexos2.7 Componentes3.3 Grafos bipartidos

3.4 Conjuntos estáveis3.5 Cliques3.6 Coberturas por vértices3.7 Coloração de vértices

3.8 Emparelhamentos3.9 Emparelhamentos em grafos bipartidos

3.10 Emparelhamentos em grafos bipartidos II3.11 Emparelhamentos em grafos arbitrários

3.12 Coloração de arestas3.13 Coloração de vértices II

3.14 Circuitos hamiltonianos3.15 Ciclos eulerianos

2.8 Florestas e árvores3.16 Subárvores2.9 Pontes e grafos aresta-biconexos?? Articulações e grafos vértice-biconexos

3.18 Distâncias e caminhos mínimos3.19 Mapas planos e grafos planares

Classificação dos exercícios

A maioria dos exercícios tem prefixo E. Outros prefixos têm o seguinte signi-ficado:

Page 4: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 3

EF . . . exercício particularmente fácilED . . . exercício difícilEDD . . . exercício muito difícilEI . . . exercício importanteEID . . . exercício importante e difícilEU . . . exercício útil como ferramenta técnicaD . . . desafio (problema em aberto)

Terminologia técnica em inglês

Boa parte da literatura da teoria dos grafos está escrita em inglês. Por isso,a definição de cada termo técnico em português é acompanhada (entre pa-rênteses) do correspondente termo em inglês. O termo em inglês também élistado no índice remissivo.

O inglês também decidiu a escolha de muitos símbolos: o conjunto das ares-tas (= edges) de um grafo é denotado por “E” e não por “A”.

Agradecimentos

O autor agradece a Rogério Brito pela solução de vários problemas tipográfi-cos.

IME–USP, São Paulo, julho de 2005P. F.

Page 5: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 4

Page 6: ETG

Sumário

1 Introdução 7

1.1 Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Lista de problemas clássicos . . . . . . . . . . . . . . . . . . 15

2 Conceitos básicos 17

2.1 Vizinhanças e graus de vértices . . . . . . . . . . . . . . . . 17

2.2 União e interseção . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Caminhos e circuitos . . . . . . . . . . . . . . . . . . . . . . 22

2.4 Subgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5 Cortes e pontes . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.6 Grafos conexos . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.7 Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.8 Florestas e árvores . . . . . . . . . . . . . . . . . . . . . . . . 38

2.9 Pontes e grafos aresta-biconexos . . . . . . . . . . . . . . . 41

2.10 Grafos aleatórios . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Alguns problemas clássicos 43

3.1 Isomorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Síntese de grafos a partir dos graus . . . . . . . . . . . . . . 48

3.3 Bipartições e grafos bipartidos . . . . . . . . . . . . . . . . . 50

3.4 Conjuntos estáveis . . . . . . . . . . . . . . . . . . . . . . . 54

3.5 Cliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.6 Cobertura por vértices . . . . . . . . . . . . . . . . . . . . . 61

3.7 Coloração de vértices . . . . . . . . . . . . . . . . . . . . . . 62

5

Page 7: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 6

3.8 Emparelhamentos . . . . . . . . . . . . . . . . . . . . . . . . 70

3.9 Emparelhamentos em grafos bipartidos . . . . . . . . . . . 75

3.10 Emparelhamentos em grafos bipartidos II . . . . . . . . . . 78

3.11 Emparelhamentos em grafos arbitrários . . . . . . . . . . . 80

3.12 Coloração de arestas . . . . . . . . . . . . . . . . . . . . . . 83

3.13 Coloração de vértices II . . . . . . . . . . . . . . . . . . . . . 88

3.14 Circuitos e caminhos hamiltonianos . . . . . . . . . . . . . 91

3.15 Ciclos e trilhas eulerianas . . . . . . . . . . . . . . . . . . . 96

3.16 Conectores mínimos . . . . . . . . . . . . . . . . . . . . . . 100

3.17 Subflorestas máximas . . . . . . . . . . . . . . . . . . . . . . 102

3.18 Caminhos e circuitos mínimos . . . . . . . . . . . . . . . . . 104

3.19 Mapas planos e grafos planares . . . . . . . . . . . . . . . . 107

A O alfabeto grego 117

Bibliografia 119

Índice Remissivo 120

Page 8: ETG

Capítulo 1

Introdução

Este capítulo formaliza o conceito de grafo e examina vários exemplos. Tam-bém faz uma breve lista de problemas célebres sobre grafos, alguns dos quaisserão estudados no capítulo 3.

1.1 Grafos

Um grafo (= graph)1 é uma estrutura formada por dois tipos de objetos: vér-tices (= vertices) e arestas (= edges). Cada aresta é um par não-ordenado devértices, ou seja, um conjunto com exatamente dois vértices. Uma arestacomo v, w será denota simplesmente por vw ou wv ; diremos que a aresta vw

incide em v e em w; diremos também que v e w são as pontas da aresta; di-remos, ainda, que os vértices v e w são vizinhos (= neighbors), ou adjacentes(= adjacent).

EXEMPLO: os vértices do grafo são t, u, v , w, x, y , z e as arestassão vw, uv , xw, xu, yz e xy . A figura abaixo é uma representaçãográfica desse grafo.

r r rr rr rPPPPPPPPPP

PPPv

u

w yx

z

t

1 O termo foi usado pela primeira vez (no sentido que nos interessa aqui) pelo matemá-tico inglês James Joseph Sylvester (− ).

7

Page 9: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 8

De acordo com nossa definição, um grafo não pode ter duas arestas diferen-tes com o mesmo par de pontas (ou seja, não pode ter arestas “paralelas”).Ademais, as duas pontas de qualquer aresta são diferentes (ou seja, não há“laços”). Alguns livros gostam de enfatizar esse aspecto da definição dizendoque o grafo é “simples”. simples

Neste texto, suporemos sempre que os conjuntos de vértices e de arestas dequalquer grafo são finitos e mutuamente disjuntos. Suporemos também, emgeral, que o conjunto de vértices não é vazio.

Um grafo com conjunto de vértices V e conjunto das arestas E é denotadopor (V, E). Muitas vezes é conveniente dar um nome ao grafo como um todo. (V,E)Se o nome do grafo é G, o conjunto dos seus vértices é denotado por VG e oconjunto das suas arestas por EG . O número de vértices de G é denotado por VG , EG

n(G) e o número de arestas por m(G); portanto, n(G)

m(G)n(G) ≡ |VG| e m(G) ≡ |EG| .

O complemento de um grafo (V, E) é o grafo (V, V (2) rE), onde V (2) é o con- V (2)

junto de todos os pares não-ordenados de elementos de V . O complementode G é usualmente denotado por G. G

Um grafo G é completo se EG = V(2)G . A expressão “G é um Kn” é uma Kn

abreviatura de “G é um grafo completo com n vértices”. Um grafo G é vaziose EG = ∅. A expressão “G é um Kn” é uma abreviatura de “G é um grafo Kn

vazio com n vértices”.

E 1.1.1 Faça uma lista de todos os grafos que tenham a, b, c por conjuntode vértices.2 Faça a lista de modo que cada grafo apareça ao lado do seucomplemento.

E 1.1.2 Faça uma figura de um K5 e outra de um K5 . Quantas arestas temum Kn? E um Kn?

E 1.1.3 Os hidrocarbonetos conhecidos como alcanos têm fórmula química alcanosCpH2p+2 , onde C e H representam moléculas de carbono e hidrogênio res-pectivamente. As moléculas de alcanos podem ser representadas por grafoscomo os da figura 1.1.

Faça uma figura de uma molécula de metano C1H4 . Quantas moléculas“diferentes” de C3H8 existem?

2 Num conjunto, a ordem em que os elementos são apresentados é irrelevante. Assim,a, b, c = b, c, a = c, b, a.

Page 10: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 9

r rrr r rrr rr r r rr r rrrrr rrr rrr

rr rrrrrrr r

Figura 1.1: Etano (C2H6), butano (C4H10) e isobutano (C4H10). Osvértices em que incide uma só aresta representam átomos de hidrogê-nio (H ); os demais representam átomos de carbono (C ). Veja o exercí-cio 1.1.3.

E 1.1.4 Seja V o produto cartesiano 1, 2, . . . , p × 1, 2, . . . , q, isto é, oconjunto de todos os pares ordenados3 (i, j) com i em 1, . . . , p e j em1, . . . , q. Digamos que dois elementos (i, j) e (i′, j′) de V são adjacentesse

i = i′ e |j − j′| = 1 ou j = j′ e |i− i′| = 1 .

Essa relação de adjacência define um grafo sobre o conjunto V de vértices.Esse grafo é conhecido como grade (= grid) p-por-q . grade

Faça uma figura da grade 3-por-4. Quantas arestas tem essa grade?Quantas arestas tem a grade p-por-q?

r r rrrrr r rrr r

Figura 1.2: Uma grade 3-por-4 (veja exercício 1.1.4).

E 1.1.5 Dados números inteiros p e q , seja V o conjunto 1, 2, 3, . . . , pq−2, pq−1, pq. Digamos que dois elementos k e k′ de V , com k < k′ , são adjacentesse k′ = k + q ou4

k mod q 6= 0 e k′ = k + 1.

Essa relação de adjacência define um grafo com conjunto de vértices V . Façauma figura do grafo com parâmetros p = 3 e q = 4. Faça uma figura do grafocom parâmetros p = 4 e q = 3. Qual a relação entre esses grafos e a gradedefinida no exercício 1.1.4?

E 1.1.6 O grafo dos movimentos da dama, ou simplesmente grafo da dama, dama

3 Um par ordenado é uma seqüência de comprimento 2. Numa seqüência, a ordem doselementos é essencial. Assim, (1, 2) 6= (2, 1) e (1, 2, 1) 6= (1, 1, 2).

4 A expressão “k mod q” denota o resto da divisão de k por q .

Page 11: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 10

é definido assim: os vértices do grafo são as casas de um tabuleiro de xadrezcom t linhas e t colunas;5 dois vértices são adjacentes se uma dama (= queen)do jogo de xadrez pode saltar de um deles para o outro em um só movimento.Para deixar claro o número de linhas e colunas do tabuleiro, podemos dizerque esse é o grafo da dama t-por-t. (Veja figura 1.3.)

Faça uma figura do grafo da dama 4-por-4. Quantas arestas tem o grafoda dama 8-por-8? Quantas arestas tem o grafo da dama t-por-t?

E 1.1.7 O grafo do cavalo t-por-t é definido assim: os vértices do grafo são cavaloas casas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices sãoadjacentes se um cavalo (= knight) do jogo de xadrez pode saltar de um delespara o outro em um só movimento. (Veja figura 1.3.)

Faça uma figura do grafo do cavalo 3-por-3. Quantas arestas tem o grafodo cavalo 8-por-8? Quantas arestas tem o grafo do cavalo t-por-t?

Figura 1.3: Tabuleiros de xadrez 8-por-8. A figura esquerda indica todosos vizinhos do vértice • no grafo da dama (veja exercício 1.1.6). A da direitaindica todos os vizinhos do vértice • no grafo do cavalo (veja exercício 1.1.7).

E 1.1.8 O grafo do bispo t-por-t é definido assim: os vértices do grafo são as bispocasas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices sãoadjacentes se um bispo (= bishop) do jogo de xadrez pode saltar de um delespara o outro em um só movimento.

Faça uma figura do grafo do bispo 4-por-4. Quantas arestas tem o grafodo bispo 8-por-8? Quantas arestas tem o grafo do bispo t-por-t?

E 1.1.9 O grafo da torre t-por-t é definido assim: os vértices do grafo são as torrecasas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices sãoadjacentes se um torre (= rook) do jogo de xadrez pode saltar de um delespara o outro em um só movimento.

Faça uma figura do grafo da torre 4-por-4. Quantas arestas tem o grafoda torre 8-por-8? Quantas arestas tem o grafo da torre t-por-t?

5 O tabuleiro usual tem 8 linhas e 8 colunas.

Page 12: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 11

E 1.1.10 O grafo do rei t-por-t é definido assim: os vértices do grafo são as reicasas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices sãoadjacentes se um rei (= king) do jogo de xadrez pode saltar de um deles parao outro em um só movimento.

Faça uma figura do grafo do rei 4-por-4. Quantas arestas tem o grafo dorei 8-por-8? Quantas arestas tem o grafo do rei t-por-t?

E 1.1.11 O grafo das palavras é definido assim: cada vértices é uma palavra palavrasda língua portuguesa e duas palavras são adjacentes se diferem em exata-mente uma posição.6 Por exemplo, rato e ralo são adjacentes, enquantoralo e rota não são. Faça uma figura da parte do grafo definida pelas pala-vras abaixo:

caiado cavado cavalo girafa girava ralo ramo rata ratoremo reta reto rota vaiado varado virada virado virava

E 1.1.12 Para qualquer inteiro positivo k , um cubo de dimensão k (ou k- cubocubo) é o grafo definido da seguinte maneira: os vértices do grafo são todasas seqüências7 b1b2 · · · bk de bits8; dois vértices são adjacentes se e somentese diferem em exatamente uma posição. Por exemplo, os vértices do cubo dedimensão 3 são 000, 001, 010, 011, 100, 101, 110, 111; o vértice 000 é adjacenteaos vértices 001, 010, 100 e a nenhum outro; e assim por diante.

Faça uma figura do 1-cubo, do 2-cubo e do 3-cubo. Quantos vértices temo k-cubo? Quantas arestas tem o k-cubo?

E 1.1.13 Seja X o conjunto 1, 2, 3, 4, 5 e V o conjunto X(2) (portanto, V é oconjunto de todos os subconjuntos de X que têm exatamente 2 elementos).Digamos que dois elementos v e w de V são adjacentes se v ∩ w = ∅. Essarelação de adjacência sobre V define o grafo de Petersen.9 Faça uma figura Petersendo grafo. Quantos vértices e quantas arestas tem o grafo?

E 1.1.14 Seja V o conjunto de todos os subconjuntos de 1, 2, . . . , n que têmexatamente k elementos, sendo k ≤ n/2. Digamos que dois elementos v e wde V são adjacentes se v∩w = ∅. Essa relação de adjacência sobre V define ografo de Kneser K(n, k).10 Em particular, K(5, 2) é o grafo de Petersen. Faça Kneserfiguras de K(n, 1), K(n, n), K(n, n−1), K(4, 2), K(5, 3), K(6, 2) e K(6, 3).

6 Esse grafo é uma adaptação do ladders do Stanford GraphBase [Knu93].)7 A expressão “b1b2 · · · bk” é uma abreviatura de “(b1, b2, . . . , bk)”.8 Portanto, cada bi pertence ao conjunto 0, 1.9 Julius Petersen (− ), matemático dinamarquês.

10 Lásló Lovász usou esse grafo em 1978 para provar uma conjetura proposta por M. Kne-ser em 1955.

Page 13: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 12

E 1.1.15 O grafo dos estados do Brasil é definido assim: cada vértice é um estadosdos estados da República Federativa do Brasil; dois estados são adjacentes setêm uma fronteira comum. Faça um desenho do grafo. Quantos vértices temo grafo? Quantas arestas?

E 1.1.16 Considere as grandes cidades e as grandes estradas do estado de SãoPaulo. Digamos que uma cidade é grande se tem pelo menos 300 mil habitan-tes. Digamos que uma estrada é grande se tiver pista dupla (como a SP300,por exemplo). Digamos que duas grandes cidades são adjacentes se umagrande estrada ou uma concatenação de grandes estradas liga as duas cida-des diretamente (ou seja, sem passar por uma terceira grande cidade). Faça cidadesuma figura do grafo das grandes cidades definido pela relação de adjacênciaque acabamos de descrever.

E 1.1.17 Sejam U e W dois conjuntos mutuamente disjuntos e seja A o con-junto de todos os pares não-ordenados da forma uw com u ∈ U e w ∈ W .Dizemos que (U ∪W, A) é um grafo bipartido completo. (Veja uma generali-zação desse conceito na seção 3.3.) Se U tem p elementos e W tem q elemen-tos, dizemos que esse grafo é um Kp,q . Em particular, uma estrela (= star) é Kp,q

um K1,q .Faça uma figura de um K3,4 . Quantas arestas tem o grafo? Quantas

arestas tem o complemento de K3,4? Faça uma figura de uma estrela com 6vértices.

E 1.1.18 Seja V um conjunto de pontos no plano. Digamos que dois dessespontos são adjacentes se a distância entre eles é menor que 2. Essa relaçãode adjacência define o grafo dos pontos no plano (sobre o conjunto V ). Faça pontos no

planouma figura do grafo definido pelos pontos abaixo.

(0, 2) (1, 2) (2, 2)(0, 1) (1, 1) (2, 1)(0, 0) (1, 0) (2, 0)

E 1.1.19 Seja V o conjunto 1, . . . , 6 e E o conjunto definido da seguinte ma-neira: para cada par não-ordenado de elementos de V , jogue uma moeda; seo resultado for cara, acrescente o par a E . O grafo (V, E) assim definido éaleatório (= random). Pegue sua moeda favorita e faça uma figura de (V, E). aleatórioAgora repita o exercício com uma moeda viciada que dá cada com probabili-dade 1/3 e coroa com probabilidade 2/3.

Page 14: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 13

E 1.1.20 Seja M uma matriz de números inteiros. Suponha que as linhas deM são indexadas por um conjunto V e que as colunas são indexadas pelomesmo conjunto V . O grafo da matriz M é definido da seguinte maneira: matrizo conjunto de vértices do grafo é V e dois vértices i e j são adjacentes seM [i, j] 6= 0.

O grafo de M está bem definido? Que condições é preciso impor sobrea matriz para que o grafo esteja bem definido? Exiba uma matriz cujo grafoseja a grade 3-por-2 (veja exercício 1.1.4).

E 1.1.21 A matriz de adjacências de um grafo G é a matriz M definida daseguinte maneira: para quaisquer dois vértices u e v , matriz de

adjacências

M [u, v] =1 se uv ∈ EG ,0 em caso contrário.

É claro que a matriz é indexada por VG×VG . Qual a matriz de adjacências dografo definido no exemplo que aparece no início dessa seção? Que aparênciatem a matriz de adjacências de um K4? Como é a matriz de adjacências deum K2,3? Como é a matriz de adjacências de uma grade 3-por-4? Como é amatriz de adjacências de um 3-cubo?

E 1.1.22 Suponha dados k intervalos de comprimento finito, digamosI1, . . . , Ik , na reta real. Digamos que dois intervalos Ii e Ij são adjacentesse Ii ∩ Ij 6= ∅. Essa relação de adjacência define um grafo com conjunto devértices I1, . . . , Ik. Esse é um grafo de intervalos.. Faça uma figura do intervalosgrafo definido pelos intervalos [0, 2], [1, 4], [3, 6], [5, 6] e [1, 6].

E 1.1.23 Seja uma relação de ordem parcial sobre um conjunto finito V .Portanto, a relação é transitiva (se x y e y z então x z), anti-simétrica(se x y e y x então x = y) e reflexiva (x x para todo x). Digamos quedois elementos distintos x e y de V são adjacentes se forem comparáveis,ou seja, se x y ou y x. Essa relação de adjacência define o grafo decomparabilidade da relação . comparabili-

dadeFaça uma figura do grafo de comparabilidade da relação usual de inclu-são ⊆ entre a coleção de todos os subconjuntos de 1, 2, 3.

E 1.1.24 Um grafo é planar se pode ser desenhado no plano sem que as cur-vas que representam arestas se cruzem. (Veja uma definição mais precisa naseção 3.19.) para fazer uma definição mais precisa do conceito.) Mostre que ografo dos estados do Brasil (veja exemplo 1.1.15) é planar. Mostre que o grafodo 3-cubo (veja exemplo 1.1.12) é planar.

Page 15: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 14

PPPPPPPPPPPPPr r rr rr rv

u

w yx

z

tH

HH

vu

yzvw wx

uxxy

ss s

s s sFigura 1.4: Um grafo (esquerda) e o seu grafo das arestas (direita).

E 1.1.25 Duas arestas de um grafo G são adjacentes se têm uma ponta co-mum. Essa relação de adjacência define o grafo das arestas de G. De modomais formal, o grafo das arestas (= line graph) de um grafo G é o grafo (EG, A) das arestasem que A é o conjunto de todos os pares de arestas adjacentes de G. O grafodas arestas de G será denotado por L(G). (Veja a figura 1.4.) L(G)

Faça uma figura de L(K3). Faça uma figura de L(K4). Quantos vértices equantas arestas tem L(Kn)? Faça uma figura do grafo L(P ), sendo P o grafode Petersen (veja exercício 1.1.13).

Page 16: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 15

1.2 Lista de problemas clássicos

A Teoria dos Grafos é mais uma coleção de problemas que uma teoria. Os pro-blemas, muitos de caráter algorítmico, tornaram-se célebres porque ocorremem diversas áreas da computação e em muitas aplicações industriais.

Segue uma lista de problemas clássicos da teoria dos grafos. Alguns sãofáceis, outros são difíceis; alguns já foram resolvidos, outros não.11

O enunciado de alguns dos problemas envolve termos técnicos que serãodefinidos nas próximas seções; mas o significado de muitos desses termosnão é difícil de adivinhar.

• Construir um grafo cujos vértices tenham determinados graus.

• Decidir se dois grafos dados são isomorfos.

• Encontrar um conjunto estável máximo num grafo dado.

• Encontrar um emparelhamento máximo num grafo dado.

• Encontrar uma coloração dos vértices de um grafo dado que use númeromínimo de cores.

• Encontrar uma coloração das arestas de um grafo dado que use númeromínimo de cores.

• Encontrar um caminho de comprimento mínimo que passe por todas asarestas de um grafo dado.

• Encontrar um circuito de comprimento máximo em um grafo dado.

• Encontrar um caminho máximo que ligue dois vértices de um grafo.

• Encontrar um caminho mínimo que ligue dois dados vértices dados deum grafo.

• Encontrar uma coleção máxima de caminhos sem arestas em comum queligue dois vértices dados em um grafo.

11 Para vários desses problemas não se conhece (ainda?) um algoritmo rápido, ou seja,não se conhece um algoritmo substancialmente melhor que examinar todos os candidatos asolução. Em termos técnicos, um problema desse tipo é NP-completo ou NP-difícil. Veja oslivros de Garey–Johnson [GJ79], Harel [Har92] e Sipser [Sip97].

Page 17: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 16

• Encontrar um corte mínimo dentre os que separam dois vértices dadosem um grafo.

• Encontrar um subgrafo gerador (ou seja, um subgrafo que contenha todosos vértices) conexo mínimo de um grafo dado.

• Encontrar um mapa plano (ou seja, um desenho no plano, sem cruza-mento de arestas) de um grafo dado.

No que segue, vamos aprender um pouco de terminologia técnica e prepararalgumas ferramentas que vão nos ajudar a investigar esses problemas.

Começaremos por estudar alguns tipos (ou classes) de grafos: os caminhos,os circuitos, os grafos conexos, as florestas, as árvores.

Page 18: ETG

Capítulo 2

Conceitos básicos

Este capítulo introduz alguns conceitos básicos da teoria dos grafos. (graude vértice, caminho, circuito, corte, subgrafo, conexão, componente, árvoree grafo aleatório). Esses conceitos são necessários para estudar os grandesproblemas de que trataremos no capítulo 3.

Sugiro que o leitor faça uma primeira leitura superficial deste capítulo eavance imediatamente para o capítulo 3. Mais tarde, quando houver neces-sidade, o leitor poderá voltar a este capítulo para rever conceitos e examinaras sutilezas de algumas definições.

2.1 Vizinhanças e graus de vértices

A vizinhança (= neighborhood) de um vértice v em um grafo G é o conjuntode todos os vizinhos de v ; este conjunto será denotado por

NG(v)

ou simplesmente por N(v).1 N(v)

O grau (= degree) de um vértice v em um grafo G é o número de arestas queincidem em v . O grau de v será denotado por

dG(v)

ou simplesmente por d(v). É evidente que d(v) = |N(v)| para todo vértice v . d(v)

1 Alguns livros dizem “Adj (v)” em lugar de “N(v)”. Outros dizem “Γ(v)”.

17

Page 19: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 18

Um vértice v é isolado se d(v) = 0.

O grau mínimo de um grafo2 G é o número δ(G) ≡ mindG(v) : v ∈ VG. δ(G)O grau máximo do grafo é o número ∆(G) ≡ maxdG(v) : v ∈ VG. ∆(G)

A densidade de um grafo G é o número m(G)/n(G).3 Como veremos noexercício 2.1.8, a densidade de um grafo é igual à metade do seu “grau mé-dio”.

Um grafo é regular se todos os seus vértices têm o mesmo grau, ou seja, seδ = ∆. Um grafo é r-regular se d(v) = r para todo vértice v . Um grafocúbico é o mesmo que um grafo 3-regular.

E 2.1.1 Quais são os graus dos vértices de uma estrela (veja exercício 1.1.17)?

E 2.1.2 Se G é um Kn , quanto valem δ(G) e ∆(G)?

E 2.1.3 Quais são os graus dos vértices de uma molécula de alcano (veja exer-cício 1.1.3)?

E 2.1.4 Calcule os valores dos parâmetros δ e ∆ no k-cubo (veja exercí-cio 1.1.12) e no grafo de Petersen (veja exercício 1.1.13 ou figura 2.1).

r rrr r rrr

rrXX

QQ

QCCCC

JJ A

AAA

ZZ

ZZ

Figura 2.1: Grafo de Petersen. Veja exercícios 1.1.13 e 2.1.4.

E 2.1.5 Calcule os valores dos parâmetros δ e ∆ no grafo dos estados do Bra-sil (veja exercício 1.1.15).

2 A expressão “grau mínimo de um grafo” não é muito gramatical, uma vez que “graude um grafo” não faz sentido.

3 Esse uso do termo “densidade” é um tanto forçado: a densidade de um grafo G éusualmente definida como m(G)/

(n(G)

2

).

Page 20: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 19

E 2.1.6 É verdade que todo grafo com pelo menos dois vértices tem dois vér-tices com o mesmo número de vizinhos? Em outras palavras, se um grafotem mais de um vértice, é verdade que tem dois vértices distintos v e w taisque |N(v)| = |N(w)|? (Uma maneira mais informal de dizer isso: é verdadeque em toda cidade com pelo menos dois habitantes residem duas pessoasque têm exatamente o mesmo número de amigos na cidade?)

EI 2.1.7 Mostre4 que, em todo grafo, a soma dos graus dos vértices é igual aodobro do número de arestas. Ou seja, todo grafo (V, E) satisfaz a identidade∑

v∈V d(v) = 2|E| .

EF 2.1.8 O grau médio de um grafo (V, E) é o número 1|V |

∑v∈V d(v). Mostre grau médio

que o grau médio de qualquer grafo G é igual a 2ρ, sendo ρ a densidadede G.

E 2.1.9 Mostre que todo grafo G tem um vértice v tal que d(v) ≤ 2m(G)/n(G)e um vértice w tal que d(w) ≥ 2m(G)/n(G). É verdade que todo grafo G temum vértice x tal que d(x) < 2m(G)/n(G)?

E 2.1.10 Mostre que em qualquer grafo tem-se δ ≤ 2m/n ≤ ∆. Mostre tam-bém que δ ≤ 2ρ ≤ ∆, sendo ρ a densidade do grafo.

E 2.1.11 Mostre que todo grafo com n vértices tem no máximo n(n− 1)/2arestas.

E 2.1.12 Mostre que em qualquer grafo o número de vértices de grau ímparé necessariamente par.

E 2.1.13 Calcule os valores dos parâmetros δ e ∆ no grafo da dama (vejaexercício 1.1.6) e no grafo do cavalo (veja exercício 1.1.7).

E 2.1.14 Quantas arestas tem o grafo da dama 8-por-8 (veja exercício 1.1.6)?Quantas arestas tem o grafo da dama t-por-t?

E 2.1.15 Quantas arestas tem o grafo do cavalo 4-por-4 (veja exercício 1.1.7)?Quantas arestas tem o grafo do cavalo t-por-t?

4 Mostre = prove.

Page 21: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 20

E 2.1.16 Quantas arestas tem um grafo r-regular com n vértices?

E 2.1.17 Quantas arestas tem o cubo de dimensão k (veja exercício 1.1.12)?

E 2.1.18 Quantas arestas tem o grafo das arestas (veja exercício 1.1.25) de umgrafo G?

E 2.1.19 Seja G o complemento de um grafo G. Calcule δ(G) e ∆(G) emfunção de δ(G) e ∆(G).

E 2.1.20 Seja G um grafo tal que m(G) > n(G). Mostre que d(v) ≥ 3 paraalgum vértice v .

E 2.1.21 Suponha que um grafo G tem menos arestas que vértices, ou seja,que m(G) < n(G). Mostre que G tem (pelo menos) um vértice de grau 0 ou(pelo menos) dois vértices de grau 1.

E 2.1.22 Seja M a matriz de adjacências (veja exercício 1.1.21) de um grafo G.Quanto vale a soma dos elementos da linha u de M ? Quanto vale a somados elementos da coluna v de M ?

Page 22: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 21

2.2 União e interseção

A união de dois grafos G e H é o grafo (VG∪VH , EG∪EH). É natural denotaresse grafo por G ∪H . G ∪H

A interseção de dois grafos G e H é o grafo (VG ∩ VH , EG ∩ EH). É naturaldenotar esse grafo por G ∩H . G ∩H

Dois grafos G e H são disjuntos se os conjuntos VG e VH são disjuntos, ouseja, se VG ∩ VH = ∅. É evidente que EG e EH também são disjuntos nessecaso.

EF 2.2.1 Seja G um grafo completo com conjunto de vértices 1, 2, 3, 4, 5 e Hum grafo completo com conjunto de vértices 4, 5, 6, 7, 8. Faça figuras dosgrafos G ∪H e G ∩H .

EF 2.2.2 Seja G o circuito 1 2 3 4 5 6 1 e H o caminho 4 7 8 5. Faça figuras dosgrafos G ∪H e G ∩H .

EF 2.2.3 Seja G o grafo do bispo e H o grafo da torre (veja exercícios 1.1.8e 1.1.9). Mostre que G ∪H é o grafo da dama.

Page 23: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 22

2.3 Caminhos e circuitos

Esta seção introduz dois tipos muito simples mas muito importantes de gra-fos: os caminhos e os circuitos. Para qualquer seqüência (v1, v2, v3 . . . , vn) deobjetos distintos dois a dois, o grafo(

v1, v2, v3 . . . , vn , v1v2, v2v3, . . . , vn−1vn)

é um caminho (= path). Por exemplo, o grafo (x, y, w, z, xy, yw,wz) é umcaminho.5

Portanto, um grafo é um caminho se seus vértices podem ser ordenados detal maneira que o primeiro seja adjacente ao segundo, o segundo adjacenteao terceiro, etc., o penúltimo adjacente ao último e que não haja outras adja-cências entre os vértices além dessas. Em outras palavras, um grafo G é umcaminho se VG admite uma permutação6 (v1, v2, . . . , vn) tal que

vivi+1 : 1 ≤ i < n = EG .

Os vértices v1 e vn são os extremos do caminho. Diremos que esse caminholiga v1 a vn .

O caminho que acabamos de descrever pode ser denotado simples-mente por v1v2 · · · vn (ou, equivalentemente, por vn · · · v2v1). Por exem- v1v2 · · · vn

plo, se dissermos “o caminho xywz” estaremos nos referindo ao grafo(x, y, w, z, xy, yw,wz).

Para qualquer seqüência (v1, v2, v3 . . . , vn) de objetos distintos dois a dois,com n ≥ 3, o grafo(

v1, v2, v3, . . . , vn , v1v2, v2v3, . . . , vn−1vn, vnv1)

é um circuito (= circuit = polygon)7.

Em outras palavras, um grafo G é um circuito8 se VG tem 3 ou mais elementose admite uma permutação (v1, v2, . . . , vn) tal que

vivi+1 : 1 ≤ i < n ∪ vnv1 = EG .

Esse circuito pode ser denotado simplesmente por v1v2 · · · vnv1 . As- v1v2 · · · vnv1

5 Convém insistir que, para nós, caminhos são grafos. Em alguns livros, caminhos nãosão tratados como grafos mas sim como seqüências de vértices de um certo tipo.

6 Ou seja, uma seqüência em que cada vértice aparece uma e uma só vez.7 Cuidado: alguns livros dizem “ciclo” (= cycle) no lugar de “circuito”.8 Observe que, para nós, um circuito é um grafo. Em alguns livros, circuitos não são

tratados como grafos mas sim como seqüências de um certo tipo.

Page 24: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 23

sim, se dissermos “o circuito xyzx”, estaremos nos referindo ao grafo(x, y, z, xy, yz, zx).

r r r r r rrrr rr SSSS

##cc##cc

Figura 2.2: Um caminho e um circuito.

O comprimento de um caminho ou circuito G é o número m(G). É claro queum caminho de comprimento k tem k+1 vértices e um circuito comprimentok tem k vértices. Um triângulo, quadrado, pentágono e hexágono é o mesmoque um circuito de comprimento 3, 4, 5 e 6 respectivamente.

EF 2.3.1 Faça uma figura de um caminho de comprimento 0, de um caminhode comprimento 1 e de um caminho de comprimento 2. Faça uma figura deum circuito de comprimento 3 e de um circuito de comprimento 4. Por quea definição de circuito tem a restrição “n ≥ 3”?

EF 2.3.2 Seja V o conjunto a, b, c, d, e e E o conjunto de, bc, ca, be. Verifi-que que o grafo (V, E) é um caminho. Agora suponha que F é o conjuntobc, bd, ea, ed, ac e verifique que o grafo (V, F ) é um circuito.

EF 2.3.3 Faça um figura do caminho 1 2 4 3 5. Faça um figura do circuito1 2 4 3 5 1.

EF 2.3.4 Exiba a matriz de adjacências de um caminho de comprimento 4.Exiba a matriz de adjacências de um circuito de comprimento 5.

EF 2.3.5 É verdade que o grafo do cavalo 3-por-3 é um circuito?

EF 2.3.6 Suponha que P é um caminho de comprimento n−1 e O um circuitode comprimento n. Quanto valem δ(P ), ∆(P ), δ(O) e ∆(O)?

EF 2.3.7 Verifique que a grade 1-por-n é um caminho de comprimento n− 1.Verifique que a grade 2-por-2 é um circuito de comprimento 4.

EF 2.3.8 Faça uma figura do complemento de um caminho de compri-mento 3. Faça uma figura do complemento de um caminho de compri-mento 4. Faça uma figura do complemento de um circuito de comprimento 5.Faça uma figura do complemento de um circuito de comprimento 6.

Page 25: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 24

E 2.3.9 Quantos caminhos diferentes existem com conjunto de vértices1, 2, 3? Quantos circuitos diferentes existem com conjunto de vértices1, 2, 3? Quantos circuitos diferentes existem com conjunto de vértices1, 2, 3, 4?

EF 2.3.10 Verifique que o caminho u v w x y z também pode ser denotado porz y x w v u. Verifique que essas duas expressões representam o mesmo cami-nho.

EF 2.3.11 Considere o circuito u v w x y z u. Mostre que z y x w v u z tambémé um circuito. Mostre que qualquer permutação cíclica — como w x y z u v w— também é um circuito. Mostre que todas essas expressões representam omesmo circuito.

EF 2.3.12 Seja P um caminho com extremos u a v e Q um caminho com ex-tremos v e w. Mostre que se VP ∩VQ = v então o grafo P ∪Q (veja seção 2.2)é um caminho.

EF 2.3.13 Suponha que os caminhos P e Q têm os mesmos extremos, diga-mos u e v . Suponha ainda que VP ∩ VQ = u, v. Em que condições o grafoP ∪Q (veja seção 2.2) é um circuito?

E 2.3.14 É verdade que todo grafo 2-regular é um circuito? É verdade quetodo grafo com pelo menos dois vértices, com δ(G) = 2 e com exatamentedois vértices de grau 2 é um caminho?

Page 26: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 25

2.4 Subgrafos

Um subgrafo de um grafo G é qualquer grafo H tal que VH ⊆ VG e EH ⊆ EG .É conveniente escrever “H ⊆ G” para dizer que H é subgrafo de G. H ⊆ G

Um subgrafo H de G é gerador (= spanning) se VH = VG . Um subgrafo Hde G é próprio se VH 6= VG ou EH 6= EG . Às vezes é conveniente escrever“H ⊂ G” para dizer que H é subgrafo próprio de G.9 H ⊂ G

O subgrafo de G induzido por uma parte10 X de VG é o grafo (X, F ), sendoF o conjunto EG ∩X(2) . Esse subgrafo é denotado por G[X]

G[X] .

Para qualquer subconjunto X de VG , denotaremos por G − X o subgrafo G−XG[VG rX]. Se v é um vértice de G então G− v é uma abreviatura de G−v. G− v

Se e é uma aresta de G então G − e é o grafo (VG, EG r e). De modo mais G− egeral, se A é um subconjunto de EG então G − A é o grafo (VG, EG r A). G−AÉ claro que G− A é um subgrafo gerador de G.

Se um caminho v1 · · · vp é subgrafo de G, dizemos simplesmente que v1 · · · vp

é um caminho em G ou que G contém o caminho v1 · · · vp . Por exem-plo, se dissermos que uvwz é um caminho em G, devemos entender que(u, v, w, z, uv, vw, wz) é um subgrafo de G. Convenção análoga vale paracircuitos que são subgrafos de G.11

Um caminho P em um grafo G é máximo se G não contém um caminho de máximocomprimento maior que o de P . Um caminho v1 v2 · · · vp em G é maximal se maximalnão faz parte de um caminho maior, ou seja, se não existe vértice u em G talque u v1 v2 · · · vp é um caminho e não existe vértice w tal que v1 v2 · · · vp w éum caminho em G.

EF 2.4.1 Seja G um grafo, V ′ uma parte de VG e E ′ uma parte EG . É verdadeque (V ′, E ′) é um subgrafo de G?

9 De modo geral, escreveremos “X ⊂ Y ” ou “Y ⊃ X” para dizer que o conjunto X ésubconjunto próprio de Y , ou seja, que X ⊆ Y mas X 6= Y .

10 Uma parte de um conjunto é o mesmo que um subconjunto do conjunto.11 Eu gostaria de dizer “subcaminho de G” e “subcircuito de G”. Infelizmente, essas

expressões não são usadas na literatura.

Page 27: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 26

E 2.4.2 Repita o exercício 2.1.7: Use indução12 no número de arestas do grafopara provar que todo grafo (V, E) satisfaz a identidade∑

v∈V d(v) = 2|E| .

EF 2.4.3 Mostre que todo subgrafo induzido de um grafo completo é com-pleto. É verdade que todo subgrafo induzido de um caminho é um caminho?É verdade que todo subgrafo induzido de um circuito é um caminho?

EF 2.4.4 Sejam v e w dois vértices de um grafo G. Suponha que d(v) = δ(G) ed(w) = ∆(G). É verdade que δ(G−v) = δ(G)−1? É verdade que ∆(G−w) =∆(G)− 1?

EF 2.4.5 Verifique que o grafo do cavalo 3-por-3 contém um circuito. Encon-tre o circuito mais longo que puder no grafo do cavalo 4-por-4.

EF 2.4.6 Verifique que o grafo do bispo t-por-t é um subgrafo do grafo dadama t-por-t. Verifique que o grafo da torre t-por-t é um subgrafo do grafoda dama t-por-t.

EF 2.4.7 Seja G o grafo representado na figura 2.3. É verdade que e a b f g k éum caminho em G? É verdade que e a b f c d é um caminho em G? É verdadeque e a b f g k j i e é um circuito em G?

EF 2.4.8 Seja G o grafo representado na figura 2.3 e X o conjuntoa, b, f, e, g, l. Faça uma figura de G[X].

r r rrrrr

r r r rr b d

f g h

k l

a

e

i j

c

Figura 2.3: Veja exercícios 2.4.7, 2.4.8 e 2.4.9.

E 2.4.9 Seja G o grafo da figura 2.3. É verdade que G contém um circuitode comprimento 6? É verdade que G contém um circuito induzido de com-primento 6? (Ou seja, é verdade que existe um subconjunto X de VG tal que

12 Indução é a arte de reduzir um problema a uma versão menor dele mesmo.

Page 28: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 27

G[X] é um circuito de comprimento 6?) Exiba um caminho induzido de com-primento 3 em G. (Ou seja, exiba um conjunto X de vértices tal que G[X] éum caminho de comprimento 3.) Exiba um caminho de comprimento 3 emG que não seja induzido.

E 2.4.10 (BOM) Seja H o grafo das arestas (veja exercício 1.1.25) de umgrafo G (portanto, H = L(G)). Mostre que H não contém K1,3 como sub-grafo induzido, ou seja, mostre que não existe subconjunto X de VH tal queH[X] é um K1,3 . Mostre que a recíproca não é verdadeira.

E 2.4.11 Seja H o grafo das arestas (veja exercício 1.1.25) de um grafo G (por-tanto, H = L(G)). Seja H ′ um subgrafo induzido de H . Mostre que H ′ é ografo das arestas de algum grafo.

E 2.4.12 Seja v um vértice e e uma aresta de um circuito O. Mostre que ografo O − v é um caminho. Mostre que o grafo O − e é um caminho.

EU 2.4.13 Sejam P um caminho com extremos x e x′ e seja Q um caminhocom extremos y e y′ . Suponha que VP ∩ VQ 6= ∅. Mostre existe um caminhocom extremos x e y no grafo P ∪Q (veja seção 2.2).

Pergunta adicional: Se z é um vértice em VP ∩ VQ , é verdade que existe,no grafo P ∪Q, um caminho de x a y que passa por z?

E 2.4.14 Encontre um circuito de comprimento mínimo no grafo de Petersen(veja exercício 1.1.13 ou figura 2.1). Encontre um circuito de comprimentomáximo no grafo de Petersen. Encontre um caminho de comprimento má-ximo no grafo de Petersen.

E 2.4.15 Encontre o mais longo caminho que puder no grafo da dama. En-contre o mais longo circuito que puder no grafo da dama.

E 2.4.16 O grafo de Heawood13, tem conjunto de vértices 0, 1, 2, . . . , 13. HeawoodCada vértice i é vizinho de (i + 1) mod 14 e de (i + 13) mod 14.14 Além disso,cada i é vizinho de um terceiro vértice, que depende da paridade de i: sei é par então ele é vizinho de (i + 5) mod 14 e se i é ímpar então ele é vizi-nho de (i + 9) mod 14. Faça uma figura do grafo. Encontre um circuito decomprimento mínimo no grafo de Heawood.

13 Percy John Heawood (− ), matemático inglês.14 A expressão “i mod j” denota o resto da divisão de i por j .

Page 29: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 28

E 2.4.17 Suponha que um grafo G tem um circuito ímpar. Mostre que Gtambém tem um circuito ímpar induzido, ou seja, que existe um conjunto Xde vértices tal que G[X] é um circuito ímpar. Algo análogo vale para circuitospares?

E 2.4.18 Dê um exemplo de um grafo G e um caminho em G que seja maxi-mal mas não seja máximo.

E 2.4.19 (BOM) Suponha que d(v) ≥ k para todo vértice v de um grafo. Mos-tre que o grafo tem um caminho de comprimento pelo menos k . (Sugestão:Tome um caminho maximal.)

O problema poderia ter sido formulado assim: mostre que todo grafo Gcontém um caminho de comprimento pelo menos δ(G).

EU 2.4.20 Seja G um grafo tal que δ(G) ≥ 2. Prove que G tem um circuito.

E 2.4.21 Seja G um grafo tal que δ(G) ≥ 3. Prove que G tem um circuito decomprimento par.

E 2.4.22 Seja k um número natural maior que 1. Suponha que d(v) ≥ k paratodo vértice v de um grafo G. Mostre que G tem um circuito de comprimentopelo menos k + 1. Em outras palavras, mostre que G tem um circuito decomprimento não-inferior a δ(G) + 1, desde que δ(G) > 1. (Sugestão: Vejaexercício 2.4.19.)

E 2.4.23 Seja G um grafo tal que n(G) > 1 e ρ(G) ≥ δ(G), onde ρ(G) é adensidade de G. Mostre que G tem um vértice x tal que

ρ(G− x) ≥ ρ(G) .

Em outras palavras, mostre que é possível retirar um vértice sem com issoreduzir a densidade do grafo.

E 2.4.24 Mostre que todo grafo G com pelo menos uma aresta tem um sub-grafo H tal que

ρ(H) < δ(H) mas ρ(H) ≥ ρ(G) ,

onde ρ(G) é a densidade de G.

E 2.4.25 Mostre que todo grafo G com pelo menos kn(G) arestas contémum caminho de comprimento k . (Sugestão: Combine os exercícios 2.4.24e 2.4.19.)

Page 30: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 29

Passeios

EU 2.4.26 Um passeio (= walk) em um grafo é qualquer seqüência finita(v0, v1, v2, . . . , vk−1, vk) de vértices tal que vi é adjacente a vi−1 para todo ientre 1 e k . Dizemos que o vértice v0 é a origem do passeio e que vk é otérmino do passeio.

Seja (v0, v1, v2, . . . , vk) um passeio com origem r e término s em umgrafo G. Mostre que G tem um caminho com extremos r e s. Mais es-pecificamente, mostre há um caminho com extremos r e s no subgrafo(v0, v1, v2, . . . , vk , v0v1, v1v2, . . . , vk−1vk) de G.

E 2.4.27 Um passeio (v0, . . . , vk) (veja exercício 2.4.26) é fechado (= closed) sesua origem coincide com o término, ou seja, se v0 = vk .

Suponha que F é uma passeio fechado em um grafo G. É verdade queG tem um circuito?

EU 2.4.28 Uma trilha (= trail) é um passeio (veja exercício 2.4.26) sem arestasrepetidas, isto é, um passeio cujas arestas são distintas duas a duas. Um ciclo(= cycle) é uma trilha fechada de comprimento não-nulo.

Seja (v0, v1, v2, . . . , vk) um ciclo em um grafo G. Mostre que há um cir-cuito no subgrafo (v1, v2, . . . , vk, v0v1, v1v2, . . . , vk−1vk) de G.

Page 31: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 30

2.5 Cortes e pontes

Suponha que X é um conjunto de vértices de um grafo G. O corte associadoa X é o conjunto de todas as arestas que têm uma ponta em X e outra emVG r X . O corte associado a X será denotado por

∇G(X)

ou simplesmente por ∇(X).15 (Alguns livros escrevem δ(X) no lugar de ∇(X)∇(X).)

É evidente que ∇(∅) = ∇(VG) = ∅. É claro que |∇(v)| = d(v) para todovértice v . Para qualquer conjunto X de vértices, diremos que |∇(X)| é ograu e denotaremos esse número por d(X): d(X)

d(X) ≡ |∇(X)| .

Um corte (= cut = coboundary) em um grafo G é qualquer conjunto da forma∇(X), onde X é uma parte16 de VG . (Um corte é, portanto, um conjunto dearestas.)

Uma ponte (= bridge) ou istmo (= isthmus) ou aresta de corte (= cut edge) emum grafo é qualquer aresta a tal que a é um corte.

Dizemos que um corte ∇(X) separa um vértice x de um vértice y se x ∈ X ey /∈ X .

E 2.5.1 Seja G o grafo representado na figura 2.3. É verdade que o conjuntoae, ef, fj, jk, cd, dh é um corte?

E 2.5.2 Encontre o menor corte que puder no grafo da dama 8-por-8. Encon-tre o maior corte que puder no grafo da dama.

E 2.5.3 Encontre o menor corte que puder no grafo de Petersen. Encontre omaior corte que puder no grafo de Petersen.

EF 2.5.4 É verdade que d(v) = |N(v)| para todo vértice v? É verdade qued(X) = |N(X)| para todo conjunto X de vértices?

15 O nome do símbolo ∇ é nabla. Dizem que a palavra designa uma harpa egípcia. Nãoconfunda ∇ com ∆.

16 Uma parte de um conjunto é o mesmo que um subconjunto do conjunto.

Page 32: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 31

EI 2.5.5 Mostre que para qualquer grafo G e qualquer parte X de VG tem-se∑x∈X dG(x) = 2m(G[X]) + dG(X) . (2.1)

(Isso é uma generalização do exercício 2.1.7.)

E 2.5.6 Suponha que todos os vértices de um grafo G têm grau par. É ver-dade d(X) é par para todo subconjunto X de VG?

Suponha que todos os vértices de um grafo G têm grau ímpar. É verdaded(X) é ímpar para todo subconjunto próprio e não-vazio X de VG?

E 2.5.7 Suponha que todos os vértices de um grafo G têm grau par. Mostreque G não tem pontes.

E 2.5.8 (BOM) Mostre que em todo grafo existe um corte que contém pelomenos a metade das arestas. Em outras palavras, mostre que todo grafo Gtem um corte ∇(X) tal que d(X) ≥ 1

2m(G).

E 2.5.9 (BOM) Mostre que ∇(X⊕Y ) = ∇(X)⊕∇(Y ) para quaisquer conjun-tos X e Y de vértices de um grafo. Aqui, A⊕B denota a diferença simétrica A⊕B17 dos conjuntos A e B .

Interação de cortes com caminhos e circuitos

E 2.5.10 Seja P um caminho num grafo G. Seja X um conjunto de vérticesque contém um e apenas um dos extremos de P . Mostre que EP ∩∇(X) 6= ∅.

E 2.5.11 Seja D um corte e O um circuito em um grafo G. Mostre que |D∩EO|é par.

E 2.5.12 Seja D um conjunto de arestas de um grafo G. Suponha que |D∩EO|é par para todo circuito O em G. Mostre que D é um corte.

E 2.5.13 Seja D um corte e P um caminho em um grafo G. O que se podedizer sobre a paridade de |D ∩ EP |?

17 A diferença simétrica de dois conjuntos A e B é o conjunto (A r B) ∪ (B r A). É fácilverificar que A⊕B = (A ∪B) r (A ∩B).

Page 33: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 32

EI 2.5.14 Prove que, para qualquer par (x, y) de vértices de qualquer grafo,vale uma e apenas uma das seguintes afirmações: (1) um caminho liga x a y ;(2) um corte vazio separa x de y . (Outra maneira de dizer a mesma coisa:prove que existe um caminho de x a y se e somente se nenhum corte vazioque separa x de y .)

E 2.5.15 (ALGORITMO) Construa um algoritmo eficiente que receba vérticesx e y de um grafo G e encontre um caminho com extremos x e y ou mostreque tal caminho não existe.

E 2.5.16 Seja G o grafo que tem vértices a, b, . . . , g e arestas ab, bc, cd, de, ec,bf , gb, ag . Quais das arestas pertencem a circuitos de G? Quais das arestassão pontes?

EI 2.5.17 Prove que, em qualquer grafo, toda aresta é de um e apenas um dedois tipos: ou ela pertence a um circuito do grafo ou é uma ponte. (Outra ponte vs

circuitomaneira de propor a questão: prove que uma aresta é ponte se e somente senão pertence a um circuito.)

E 2.5.18 Suponha que toda aresta de um grafo G é uma ponte. Que aparênciatem G? (Veja antes o exercício 2.5.17.) Suponha agora que toda aresta de Gpertence a um circuito. Que aparência tem G? (Veja seções 2.8 e 2.9.)

Page 34: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 33

2.6 Grafos conexos

Esta seção introduz uma classe importante de grafos: a classe dos grafos co-nexos.

Em qualquer grafo G, dizemos um vértice v está ligado a um vértice w se Gcontém um caminho com extremos v e w. É evidente que a relação é simé-trica: se v está ligado a w então também w está ligado a v .

Um grafo é conexo (= connected) se seus vértices são ligados dois a dois. Emoutras palavras, um grafo é conexo se v é ligado a w para cada par v, w deseus vértices.

E 2.6.1 Mostre que todo grafo completo é conexo. Mostre que todo caminhoé um grafo conexo. Mostre que todo circuito é um grafo conexo.

E 2.6.2 O grafo do cavalo 3-por-3 é conexo? O grafo do bispo t-por-t é co-nexo?

E 2.6.3 Mostre que o k-cubo é conexo (qualquer que seja k).

EF 2.6.4 Suponha que um subgrafo gerador H de um grafo G é conexo. Mos-tre que G é conexo.

E 2.6.5 Seja G um grafo e X uma parte própria e não-vazia de VG . Mostreque o grafo G −∇(X) não é conexo. (Em particular, se e é uma ponte entãoG− e não é conexo.)

EI 2.6.6 Mostre que um grafo G é conexo se e somente se ∇(X) 6= ∅ paratodo subconjunto próprio e não vazio X de VG (ou seja, para todo X tal que∅ ⊂ X ⊂ VG).

E 2.6.7 (ALGORITMO) Construa um algoritmo eficiente que decida se umgrafo é conexo. O que o seu algoritmo devolve (ou seja, qual a “saída” doalgoritmo)?

E 2.6.8 Sejam x, y e z três vértices de um grafo conexo G. É verdade que Gtem um caminho que passa por x, y e z?

Page 35: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 34

E 2.6.9 Mostre que dois vértices v e w de um grafo estão ligados se e somentese existe um passeio de v a w. (Veja exercício 2.4.26.)

EU 2.6.10 Sejam P e Q dois caminhos tais que VP ∩ VQ 6= ∅. Mostre que ografo P ∪Q (veja seção 2.2) é conexo.

E 2.6.11 (BOM) Seja G e H dois grafo conexos tais que VG ∩ VH 6= ∅. Mostreque o grafo G ∪H (veja seção 2.2) é conexo.

E 2.6.12 (BOM) Suponha que um certo vértice x de um grafo G é ligado acada um dos demais vértice. Mostre que G é conexo.

E 2.6.13 Seja v um vértice de grau 1 num grafo conexo G. Mostre que o grafoG− v é conexo.

EU 2.6.14 Seja O um circuito em um grafo conexo G. Mostre que G − e éconexo para toda aresta e de O.

E 2.6.15 Suponha que G é um grafo conexo com pelo menos uma aresta. Éverdade que existe uma aresta a tal que G− a é conexo?

EF 2.6.16 Seja G um grafo conexo e seja v um dos extremos de um caminhomaximal em G. É verdade que G[N(v)] é conexo?

E 2.6.17 (BOM) Mostre que todo grafo conexo G com dois ou mais vérticestem um vértice v tal que G− v é conexo.

EI 2.6.18 Prove que todo grafo conexo com n vértices tem pelo menos n − 1arestas. Em outras palavras, mostre que em todo grafo conexo G tem-se

m(G) ≥ n(G)− 1 .

E 2.6.19 Seja G um grafo tal que δ(G) ≥ 12n(G). Mostre que G é conexo.

E 2.6.20 Seja G um grafo tal que δ(G) ≥ bn(G)/2c.18 Mostre que G é conexo.

18 Por definição, bxc é o único inteiro i tal que i ≤ x < i+ 1.

Page 36: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 35

E 2.6.21 Mostre que todo grafo com n vértices e mais que 12(n − 1)(n − 2)

arestas é conexo.

E 2.6.22 Prove que se um grafo G não é conexo então seu complemento G éconexo.

E 2.6.23 Prove que se um grafo G é conexo então o grafo das arestas L(G)também é conexo.

E 2.6.24 Construa um algoritmo que receba um grafo e diga se o grafo é ounão um circuito. (Sugestão: Mostre que um grafo G é um circuito se e so-mente se G é conexo e 2-regular.)

E 2.6.25 Construa um algoritmo que receba um grafo e diga se o grafo é ounão um caminho. (Sugestão: Mostre que um grafo G é um caminho se esomente se (1) G tem exatamente um vértice ou (2) G é conexo, ∆(G) ≤ 2 eG tem exatamente dois vértices de grau 1.)

E 2.6.26 Prove que todo grafo conexo G tem pelo menos m(G) − n(G) + 1circuitos.

E 2.6.27 Sejam P ∗ e Q∗ dois caminhos de comprimento máximo em um grafoconexo G. Mostre que P ∗ e Q∗ têm um vértice em comum.

E 2.6.28 Prove que quase todo grafo G em G(n) é conexo. (Veja a seção 2.10.)

Page 37: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 36

2.7 Componentes

Um subgrafo conexo H de um grafo G é maximal (com relação à propriedadede ser conexo) se não faz parte de um subgrafo conexo maior, ou seja, se Hnão é subgrafo próprio de algum subgrafo conexo de G, ou seja, se não existegrafo conexo H ′ tal que H ⊂ H ′ ⊆ G.

Um componente de um grafo G é qualquer subgrafo conexo maximal de G.O número de componentes de um grafo G será denotado por c(G)

c(G) .

É claro que um grafo é conexo se e somente se tem um só componente.

E 2.7.1 Quantos componentes tem o grafo do cavalo 3-por-3? Quantos com-ponentes tem o grafo do bispo t-por-t?

E 2.7.2 Seja a uma aresta e v um vértice de um caminho P . Mostre que P −a tem exatamente dois componentes. Mostre que P − v tem um ou doiscomponentes.

E 2.7.3 Seja a uma aresta e v um vértice de um circuito O. Mostre que O − atem um só componente. Mostre que O − v tem um só componente.

E 2.7.4 Seja G um grafo tal que ∆(G) ≤ 2. Descreva os componentes de G.

E 2.7.5 Seja G um grafo 2-regular. Mostre que cada componente de G é umcircuito.

E 2.7.6 Mostre que, em qualquer grafo, todo vértice pertence a um e apenasum componente. Em outras palavras, mostre que em qualquer grafo G osconjuntos de vértices de todos os componentes formam uma partição19 deVG .

E 2.7.7 Seja H um componente de um grafo G. Mostre que ∇G(VH) = ∅.

19 Uma partição de um conjunto V é uma coleção V1, . . . , Vk de subconjuntos de V talque V1 ∪ · · · ∪ Vk = V e Vi ∩ Vj = ∅ sempre que i 6= j . Não faz sentido dizer “V1 é uma daspartições de V ”.

Page 38: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 37

E 2.7.8 Prove ou desprove a seguinte afirmação: se X é um conjunto de vér-tices de G tal que ∇G(X) = ∅ então G[X] é um componente de G.

EI 2.7.9 Seja x um vértice de um grafo G. Seja X o conjunto de todos osvértices ligados a x. Mostre que G[X] é um componente de G.

E 2.7.10 (ALGORITMO) Construa um algoritmo eficiente que resolva o se-guinte problema: dado um vértice x de um grafo, encontrar o (conjunto devértices do) componente que contém x.

E 2.7.11 (ALGORITMO) Construa um algoritmo eficiente que calcule o nú-mero de componentes de qualquer grafo dado.

E 2.7.12 Mostre que uma aresta a é uma ponte se e somente se c(G − a) =c(G)+1. Mostre que c(G) ≤ c(G−a) ≤ c(G)+1 para qualquer aresta a de G.

EI 2.7.13 Mostre que em todo grafo G tem-se

m(G) ≥ n(G)− c(G) .

E 2.7.14 Sejam n, m e c os números de vértices, de arestas e de componentes,respectivamente, de um grafo G. Mostre que

n− c ≤ m ≤ 12(n− c)(n− c + 1) .

E 2.7.15 Seja v um vértice de um grafo conexo G. Mostre que o número decomponentes de G− v não passa de d(v).

E 2.7.16 Seja G um grafo conexo e suponha que d(v) é par para todo vértice vde G. Mostre que, para qualquer vértice v , o número de componentes deG− v não passa de 1

2d(v).

E 2.7.17 Seja P um caminho e S uma parte própria de VP . Prove que

c(P − S) ≤ |S|+ 1 .

E 2.7.18 Seja O um circuito e S uma parte de VO tal que 0 < |S| < n(O).Prove que

c(O − S) ≤ |S| .

Page 39: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 38

2.8 Florestas e árvores

Esta seção trata de duas espécies importantes de grafos: as florestas e as ár-vores. Árvores podem ser entendidas como uma generalização de caminhos(veja exercício 2.8.3).

Uma floresta (= forest), ou grafo acíclico, é um grafo sem circuitos. Essa de-finição pode ser reformulada assim: um grafo é uma floresta se cada uma desuas arestas é uma ponte (veja exercício 2.8.4).

Uma árvore (= tree) é uma floresta conexa. É claro que cada componente deuma floresta é uma árvore.20

Uma folha (= leaf ) de uma floresta é qualquer vértice da floresta que tenhagrau 1.

EF 2.8.1 Mostre que todo caminho é uma árvore.

EF 2.8.2 Mostre que toda estrela (veja exercício 1.1.17) é uma árvore.

E 2.8.3 A. Seja (v1, v2, v3, . . . , vn) uma seqüência de objetos distintos dois adois. Para cada j , seja i(j) um índice em 1, . . . , j−1. Mostre que o grafo(

v1, v2, v3, . . . , vn , v2vi(2), v3vi(3), . . . , vnvi(n))

é uma árvore. (Compare essa definição com a definição de caminho na se-ção 2.3.)

B. Seja T uma árvore. Mostre que existe uma permutação (v1, v2, . . . , vn)de VT e, para cada j , existe um índice i(j) em 1, . . . , j−1 tais que ET =v2vi(2), v3vi(3), . . . , vnvi(n).

EI 2.8.4 Mostre que um grafo é uma floresta se e somente se cada uma desuas arestas é uma ponte. (Veja o exercício 2.5.17.)

20 Em algumas disciplinas, a palavra “árvore” traz imediatamente à mente as idéias depai e filho. No presente contexto, entretanto, as expressões “pai de um vértice” e “filho deum vértice” não fazem sentido. Eles só adquirem sentido se um dos vértices da árvore forescolhido para fazer o papel de “raiz”. (Se r é a raiz da árvore então o pai de qualquer outrovértice v é o vértice adjacente a v no único caminho (veja exercício 2.8.7, parte A) que liga va r . Todo vizinho de v que não seja o pai de v é filho de v .)

Page 40: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 39

EI 2.8.5 Uma grafo G é conexo minimal (ou minimamente conexo) se G éconexo mas, para toda aresta e, o grafo G − e não é conexo. Mostre quetoda árvore é um grafo conexo minimal. Mostre a recíproca: que todo grafoconexo minimal é uma árvore.

E 2.8.6 Seja e uma das arestas de uma floresta F . Mostre que F − e tem pelomenos dois componentes. Mostre que c(F − e) = c(F ) + 1.

EI 2.8.7 A. Seja F uma floresta. Mostre que para todo par x,y de vértices deF existe no máximo um caminho com extremos x e y .

B. Seja G um grafo tal que para todo par x,y de seus vértices existe nomáximo um caminho com extremos x e y . Mostre que G é uma floresta.

E 2.8.8 (ALGORITMO) Construa um algoritmo eficiente que decida se umgrafo dado é uma árvore.

EI 2.8.9 A. Prove que em toda árvore T tem-se

m(T ) = n(T )− 1 .

B. Prove que todo grafo conexo G tal que m(G) = n(G) − 1 é uma árvore.(Compare com o exercício 2.6.18.)

EI 2.8.10 Mostre que um grafo F é uma floresta se e somente se

m(F ) = n(F )− c(F ) .

(Compare com o exercício 2.7.13.)

E 2.8.11 Seja v uma folha de uma árvore T . Mostre que T − v é uma árvore.

EU 2.8.12 Mostre que toda árvore com pelo menos uma aresta tem pelo me-nos duas folhas.

E 2.8.13 Mostre que toda floresta F tem pelo menos ∆(F ) folhas.

E 2.8.14 Seja T uma árvore com dois ou mais vértices. Seja X o conjunto dosvértices de T cujo grau é maior que 2. Mostre que T tem 2 +

∑x∈X (d(x)− 2)

folhas.

Page 41: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 40

E 2.8.15 Seja T uma árvore com vértices 1, . . . , n. Suponha que os grausdos vértices 1, 2, 3, 4, 5, 6 são 7, 6, 5, 4, 3, 2 respectivamente e que os vértices7, . . . , n são folhas. Determine n (e portanto o número de folhas da árvore).

E 2.8.16 Seja T uma árvore com p + q vértices. Suponha que p dos vérticestêm grau 4 e q são folhas. Mostre que q = 2p + 2.21

E 2.8.17 Seja T uma árvore com pelo menos três vértices. É verdade que ocomplemento T de T é conexo a menos que T seja um estrela (veja exercí-cio 1.1.17)?

E 2.8.18 Seja T uma árvore e P, Q,R três caminhos em T . Suponha que VP ∩VQ 6= ∅, VQ ∩ VR 6= ∅ e VP ∩ VR 6= ∅. Prove que VP ∩ VQ ∩ VR 6= ∅.

21 Imagine que os vértices de grau 4 são átomos de carbono e os de grau 1 são átomosde hidrogênio. O grafo representa então a molécula do hidrocarboneto CpHq . Veja o exercí-cio 1.1.3.

Page 42: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 41

2.9 Pontes e grafos aresta-biconexos

Um grafo é aresta-biconexo (= edge-biconnected) se, para cada par v, w deseus vértices, existem dois caminhos, sem arestas em comum, com extre-mos v e w. Grafos aresta-biconexos também são conhecidos como 2-aresta-conexos (= 2-edge-connected).

Grafos aresta-biconexos não têm pontes. Por outro lado, grafos conexos sempontes são aresta-biconexos (veja exercício 2.9.5 abaixo).

Como vimos no exercício 2.5.17, cada aresta de um grafo é uma ponte oupertence a um circuito. Portanto, um grafo conexo é aresta-biconexo se esomente se cada uma de suas arestas pertence a um circuito.

EF 2.9.1 Mostre que grafos aresta-biconexos não têm pontes.

EF 2.9.2 Sejam v e w dois vértices de um grafo aresta-biconexo G. Seja P umcaminho em G com extremos v e w. É verdade que G−EP tem um caminhocom extremos v e w?

EI 2.9.3 Mostre que todo grafo conexo sem pontes é aresta-biconexo.

EF 2.9.4 Mostre que um grafo G é aresta-biconexo se e somente se o grafoG− e é conexo qualquer que seja a aresta e.

EI 2.9.5 Deduza dos exercícios 2.9.1 e 2.9.3 que um grafo G é aresta-biconexose e somente se G é conexo e não tem pontes. Em outras palavras, mostreque G é aresta-biconexo se e somente se |∇(X)| ≥ 2 para toda parte própriae não-vazia X de VG .

E 2.9.6 (ALGORITMO) Construa um algoritmo que receba dois vértices r e sde um grafo G e devolva (1) dois caminhos de r a s sem arestas em comumou (2) um conjunto X de vértices tal que r ∈ X , s /∈ X e |∇(X)| ≤ 1.

Page 43: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 42

2.10 Grafos aleatórios

Seja G(n) a coleção de todos os grafos com conjunto de vértices V ≡ G(n)

V1, . . . , n.22 É claro que

|G(n)| = 2N , com N ≡(

n2

).

Qualquer propriedade de grafos (como, por exemplo, a propriedade de ser N

conexo)23 define uma subcoleção de G(n). Assim, convém confundir os con-ceitos de “propriedade” e “subcoleção” de G(n). Diremos que quase todografo tem determinada propriedade P(n) se

limn→∞

|P(n)||G(n)|

= 1 .

Uma maneira de estudar o conjunto G(n) é baseada na introdução de umamedida de probabilidade nesse conjunto. Seja p um número no intervalo(0, 1) e escolha cada elemento de V (2) , independentemente, com probabili-dade p. (Veja exercício 1.1.19.) Se A é o conjunto dos pares escolhidos, então(V, A) é um grafo aleatório em G(n). A probabilidade de que o grafo (V, A)assim construído seja idêntico a um determinado elemento de G(n) que tenham arestas é

pm (1− p)N−m .

Se p = 12

então todos os 2N grafos em G(n) são equiprováveis: a probabili-dade de obter qualquer um deles é 1/2N .

EF 2.10.1 Mostre que quase todo grafo em G(n) tem mais que 10000 arestas.

22 Qualquer outro conjunto de cardinalidade n poderia ser usado no lugar de 1, . . . , n.23 Naturalmente, só estamos interessados em propriedades invariantes sob isomorfismo

(veja seção 3.1).

Page 44: ETG

Capítulo 3

Alguns problemas clássicos

Este capítulo discute alguns problemas clássicos da teoria dos grafos: iso-morfismo, seqüências gráficas, caracterização de grafos bipartidos, conjuntosestáveis e cliques, coloração de vértices, circuitos hamiltonianos, ciclos eule-rianos, árvores de grafos, distâncias, emparelhamentos, coloração de arestas,grafos planares.

3.1 Isomorfismo

Dois grafos são isomorfos têm a mesma “estrutura”. A definição precisa doconceito é um pouco trabalhosa, como veremos a seguir.

Um isomorfismo (= isomorphism) entre dois grafos G e H é uma uma bijeção1

f de VG em VH tal que, para todo par (v, w) de elementos de VG , v e w sãoadjacentes em G se e somente se f(v) e f(w) são adjacentes em H .

Dois grafos G e H são isomorfos (= isomorphic) se existe um isomorfismoentre eles. Em outras palavras, dois grafos são isomorfos se é possível alteraros nomes dos vértices de um deles de tal modo que os dois grafos fiquemiguais.

PROBLEMA DO ISOMORFISMO: Decidir se dois grafos dados são iso-morfos.

1 Uma bijeção é uma função f de um conjunto A em um conjunto B tal que (1) f(a) 6=f(a′) sempre que a 6= a′ e (2) para todo b em B existe a em A tal que b = f(a).

43

Page 45: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 44

E 3.1.1 Os grafos G e H descritos a seguir são iguais?

VG = a, b, c, d EG = ab, bc, cd, daVH = a, b, c, d EH = ab, bd, dc, ca

E 3.1.2 Os grafos G e H descritos a seguir são isomorfos?

VG = a, b, c, d, e, f, g EG = ab, bc, cd, cf, fe, gf, ga, gbVH = h, i, j, k, l,m, n EH = hk, nj, jk, lk, lm, li, ij, in

E se trocarmos hk por hn em EH ?

E 3.1.3 Seja G a grade 3-por-4 e H a grade 4-por-3. Os grafos G e H sãoiguais? são isomorfos?

E 3.1.4 Mostre que a grade p-por-q e o grafo definido no exercício 1.1.5 sãoisomorfos.

E 3.1.5 Mostre que o 3-cubo é isomorfo a algum subgrafo do 4-cubo.

E 3.1.6 Os grafos da figura 3.1 são isomorfos?

Figura 3.1: Os grafos da figura são isomorfos? Veja exercício 3.1.6.

E 3.1.7 Suponha que os grafos G e H são isomorfos. Mostre que n(G) =n(H) e m(G) = m(H). Mostre que para qualquer isomorfismo f de G em Htem-se dG(v) = dH(f(v)) para todo v em VG . Mostre que se G tem um circuitode comprimento k então H também tem um circuito de comprimento k .

E 3.1.8 Mostre que dois caminhos são isomorfos se e somente se têm omesmo comprimento. Mostre que dois circuitos são isomorfos se e somentese têm o mesmo comprimento.

Page 46: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 45

E 3.1.9 (ALGORITMO) O seguinte algoritmo se propõe a decidir se dois gra-fos, G e H , são isomorfos:

examine todas as bijeções de VG em VH ;se alguma delas for um isomorfismo, então G e H são isomorfos;caso contrário, G e H não são isomorfos.

Discuta o algoritmo.

E 3.1.10 (ALGORITMO) O seguinte algoritmo se propõe a decidir se doisgrafos, G e H , são isomorfos:

se n(G) 6= n(H) então G e H não são isomorfos;se m(G) 6= m(H) então G e H não são isomorfos;se os conjuntos v ∈ VG : dG(v) = i e v ∈ VH : dH(v) = i têm cardinali-dades diferentes para algum i então G e H não são isomorfos;caso contrário, G e H são isomorfos.

Discuta o algoritmo.

E 3.1.11 Sejam G e H dois grafos e f uma bijeção de VG em VH tal quedG(v) = dH(f(v)) para todo v em VG . É verdade que G e H são isomorfos?

EF 3.1.12 Certo ou errado? Para mostrar que dois grafos G e H com mesmonúmero de vértices não são isomorfos basta exibir uma bijeção f de VG emVH e um par de vértices u e v em VG tal que (1) uv ∈ EG mas f(u)f(v) /∈ EH

ou (2) uv /∈ EG mas f(u)f(v) ∈ EH .

E 3.1.13 Faça uma lista de todos os grafos sobre o conjunto de vértices1, 2, 3, 4 que sejam dois a dois não-isomorfos.

E 3.1.14 Os grafos da figura 3.2 são isomorfos dois a dois?

E 3.1.15 Os grafos da figura 3.3 são isomorfos? Justifique.

E 3.1.16 Os grafos da figura 3.4 são isomorfos? Justifique.

E 3.1.17 Seja C o conjunto de todos grafos que representam os alcanos quetêm fórmula C4H10 . (Veja exercício 1.1.3.) Cada um desses alcanos tem 4vértices de grau 4 e 10 vértices de grau 1. Quantos grafos dois-a-dois não-isomorfos há em C?

Page 47: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 46

rr

rr

r rr

rrr

ZZ

ZZ

ZZ

A

AAAAA

CCCCCC

QQ

QQ

XXX

J

J

rrr

r rrr

rrraaa

JJJ

EEEE

AAAAAAAAA

!!!

bb

bbb

""

"""

ZZ

Z

rr r r r

rrr

r r

TTTTT

TTTTT

@@

@@

CCCCC

aa !!PPPPP

Figura 3.2: Os grafos são dois a dois isomorfos? Veja exercício 3.1.14.

rr

rrr

r r rrrXXX

QQ

QQCCCCC

JJ

A

AAAA

ZZ

ZZ

Z

r r

rr r

rrr

rrXXX

JJ

A

AAAA

ZZ

ZZ

Z

@

@@

AAA

Figura 3.3: Veja exercício 3.1.15.

E 3.1.18 Mostre que o grafo das arestas (veja o exercício 1.1.25) de um K5 éisomorfo ao complemento do grafo de Petersen.

E 3.1.19 É verdade que todo grafo é isomorfo ao grafo das arestas (veja exer-cício 1.1.25) de algum outro grafo?

E 3.1.20 Seja X um conjunto de vértices de um grafo G. Suponha que osubgrafo induzido G[X] é uma estrela (veja exercício 1.1.17) com 4 vértices.Mostre que G não é isomorfo ao grafo das arestas (veja exercício 1.1.25) deoutro grafo, ou seja, que não existe grafo H tal que G é isomorfo a L(H).

E 3.1.21 Um grafo é auto-complementar se for isomorfo ao seu comple-mento. Mostre que se G é um grafo auto-complementar então n(G) ≡ 0(mod 4) ou n(G) ≡ 1 (mod 4).2

D 3.1.22 Caracterize os grafos que sejam isomorfos a um subgrafo do k-cubo.

2 A expressão “x ≡ i (mod 4)” significa que o resto da divisão de x por 4 e o resto dadivisão de i por 4 são iguais, ou seja, que x mod 4 = i mod 4. Em outras palavras, x − i édivisível por 4.

Page 48: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 47

r rrr rr rr.

@@

@@

r rrr rr rr.

@@

Figura 3.4: Os grafos são isomorfos? Veja exercício 3.1.16.

D 3.1.23 Encontre uma caracterização eficiente de grafos não-isomorfos. Emoutras palavras, encontre uma propriedade X que seja fácil de verificar e quetorne verdadeira a seguinte afirmação: “Dois grafos G e H não são isomorfosse e somente se X ”.

D 3.1.24 (ALGORITMO) Esboce um algoritmo rápido que resolva o pro-blema do isomorfismo (isto é, decida se dois grafos dados são isomorfos).

Page 49: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 48

3.2 Síntese de grafos a partir dos graus

Um grafo G realiza uma seqüência (g1, g2, . . . , gn) de números naturais3 se osvértices do grafo são 1, 2, . . . , n e d(i) = gi para todo i.

Uma seqüência (g1, g2, . . . , gn) de números naturais é gráfica se existe um seqüênciagráficagrafo que a realize.

PROBLEMA DA SÍNTESE: Dada uma seqüência de números naturais,decidir se ela é ou não gráfica.

Esse problema é às vezes chamado de graph design problem.

E 3.2.1 Considere as seqüências (2, 2, 0), (1, 1, 2, 2), (0, 3, 1, 0), (0, 1, 2, 2, 3),(3, 3, 2, 2, 1), (6, 6, 5, 4, 3, 3, 1) e (7, 6, 5, 4, 3, 3, 2). Quais delas são gráficas?

E 3.2.2 Suponha que (g1, g2, . . . , gn) é uma seqüência gráfica. Mostre que gi ≤n− 1 para todo i e que

∑gi é par. Formule a recíproca; ela é verdadeira?

E 3.2.3 Mostre que uma seqüência (g1, g2, . . . , gn) é gráfica se e somente sea seqüência (n−g1−1, n−g2−1, . . . , n−gn−1) é gráfica. (Este fato pode serusado como base de um algoritmo que reconhece seqüências gráficas.)

E 3.2.4 Prove que para cada n ≥ 5 existe um grafo 4-regular com n vértices.

E 3.2.5 É verdade que para cada número r existe um grafo r-regular? É ver-dade que para cada par (r, n) de números tal que r < n existe um grafor-regular com n vértices?

E 3.2.6 Suponha que (g1, g2, . . . , gn) é uma seqüência gráfica e k é um númeronatural ≤ n. Mostre que a seqüência

(k, g1+1, g2+1, . . . , gk+1, gk+1, . . . , gn)

também é gráfica. Formule a recíproca deste fato; ela é verdadeira?

3 O conjunto dos números naturais é 0, 1, 2, . . ..

Page 50: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 49

EI 3.2.7 (TEOREMA DE HAVEL E HAKIMI4) Seja (k, g1, g2, . . . , gn) umaseqüência de números naturais tal que k ≥ g1 ≥ g2 ≥ . . . ≥ gn . Suponha quea seqüência

(g1 − 1, g2 − 1, . . . , gk − 1, gk+1, . . . , gn)

é gráfica. Mostre que a primeira seqüência também é gráfica.

EI 3.2.8 (TEOREMA DE ERDOS5 E GALLAI6) Mostre que uma seqüência(g1, g2, . . . , gn) de números naturais é gráfica se e somente se

∑i gi é par e

k∑i=1

gi ≤ k(k − 1) +n∑

i=k+1

min (k, gi)

para cada k tal que 1 ≤ k ≤ n.

E 3.2.9 (ALGORITMO) Esboce um algoritmo eficiente que resolva o pro-blema de síntese enunciado acima, ou seja, decida se uma dada seqüênciade números naturais é gráfica. Busque inspiração nos exercícios 3.2.6 e 3.2.7ou no exercício 3.2.8.

E 3.2.10 Sejam g1, . . . , gn números inteiros positivos. Suponha que∑n

i=1 gi =2(n−1). Mostre que existe uma árvore (veja seção 2.8) T com vértices 1, . . . , ntal que d(i) = gi para cada i.

4 Publicado em 1955 por Václav Havel e em 1962 por S. Louis Hakimi.5 Paul Erdos (− ).6 Tibor Gallai (− ).

Page 51: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 50

3.3 Bipartições e grafos bipartidos

Uma bipartição (= bipartition) de um conjunto V é um par U,W de conjun-tos tal que U ∪W = V e U ∩W = ∅.7 Uma bipartição de um grafo G é umabipartição U,W de VG tal que

toda aresta de G tem uma ponta em U e outra em W .

Um dos objetivos desse capítulo é resolver o seguinte problema da bipartição:

PROBLEMA DA BIPARTIÇÃO: Encontrar uma bipartição de um grafodado.

É fácil verificar que nem todo grafo admite uma bipartição.8 Faz parte doproblema, portanto, decidir se o grafo dado admite ou não uma bipartição.9

Como veremos adiante (exercício 3.3.23), um grafo admite bipartição se esomente se não contém circuito ímpar. Dizemos que um circuito é ímpar seseu comprimento é um número ímpar.

Um grafo é bipartido (= bipartite) se estiver munido de uma bipartição.10

Note a sutil distinção entre as expressões “G é bipartido” e “G admite umabipartição”: um grafo que admite uma bipartição só se torna bipartido de-pois que uma de suas bipartições for explicitamente dada. (Mas veja o exer-cício 3.3.16.) Se um grafo estiver munido de uma bipartição U,W, dizemosque ele é (U,W )-bipartido.11

Um grafo (U,W )-bipartido G é completo se, para todo u em U e todo w emW , o par uw é uma aresta. Se |U | = p e |W | = q , diremos que G é um Kp,q . Kp,q

EI 3.3.1 Mostre que um grafo G admite bipartição se e somente se EG é umcorte.

7 A bipartição é o par U,W. Não faz sentido dizer “U é uma das bipartições de V ”. Diga“U é uma das partes da bipartição”.

8 A expressão “admite uma bipartição” significa o mesmo que “tem uma bipartição”.9 Muitos problemas na teoria dos grafos envolvem a seguinte questão: “Como é possível

mostrar que um grafo não tem uma certa propriedade?”. No presente caso, a questão é“Como é possível mostrar que um dado grafo não admite bipartição?”. A resposta “Tentetodas as possíveis bipartições de VG” não é satisfatória. De fato, se G tem n vértices entãohá 2n−1 diferentes bipartições de VG e esse número cresce explosivamente com n.

10 A rigor, portanto, um grafo bipartido é um objeto da forma (G,U,W ), em que G é umgrafo e U,W é uma bipartição de G.

11 Ainda que isso agrida a sintaxe da língua portuguesa. . .

Page 52: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 51

EF 3.3.2 Uma pequena fábrica tem cinco máquinas — 1, 2, 3, 4 e 5 — e seisoperários — A, B , C , D, E e F . A tabela especifica as máquinas que cadaoperário sabe operar:

A 2, 3 B 1, 2, 3, 4, 5C 3 DE 2, 4, 5 F 2, 5

Faça uma figura do grafo bipartido que representa essa relação entre operá-rios e máquinas.

E 3.3.3 Que aparência tem a matriz de adjacências de um grafo que admitebipartição?

E 3.3.4 Seja U,W uma bipartição de um grafo G. A matriz da bipartiçãoé definida assim: cada linha da matriz é um elemento de U , cada coluna damatriz é um elementos de W e no cruzamento da linha u com a coluna wtemos um 1 se uw ∈ EG e temos um 0 em caso contrário.

Escreva a matriz da bipartição do grafo do exercício 3.3.2. Adote a bipar-tição óbvia: U = A, . . . , F e W = 1, . . . , 5.

E 3.3.5 Mostre que o grafo do cavalo t-por-t admite bipartição.

E 3.3.6 Mostre que todo k-cubo admite uma bipartição.

E 3.3.7 Mostre que toda grade admite uma bipartição.

EF 3.3.8 Mostre que todo caminho admite bipartição. Mostre que todo cir-cuito de comprimento par admite bipartição.

EF 3.3.9 Quantas arestas tem um Kp,q? Quantas arestas tem um Kp,q?Quanto valem os parâmetros δ e ∆ de um Kp,q?

EF 3.3.10 Quantas arestas um grafo (U,W )-bipartido pode ter?

EF 3.3.11 Seja G um grafo (U,W )-bipartido. Mostre que os subgrafos G[U ] eG[W ] são vazios.

EF 3.3.12 Seja X um conjunto de vértices de um grafo G. Mostre que(VG,∇(X)) é um subgrafo gerador bipartido de G.

Page 53: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 52

E 3.3.13 Seja G um grafo (U,W )-bipartido r-regular, com r > 0. Mostre que|U | = |W |.

E 3.3.14 Seja G um grafo bipartido r-regular, com r ≥ 2. Prove que G nãotem pontes.

E 3.3.15 Seja G um grafo (U,W )-bipartido tal que |U | ≤ k e |W | ≤ k . Mostreque se δ(G) > k/2 então G é conexo.

E 3.3.16 Mostre que um grafo pode ter duas ou mais bipartições diferentes.Mostre que grafos conexos têm no máximo uma bipartição.

EU 3.3.17 Mostre que toda floresta admite bipartição.

EF 3.3.18 Suponha que um grafo G admite bipartição. É verdade que todosubgrafo induzido de G admite bipartição?

E 3.3.19 (BOM!) Mostre que todo grafo G tem um subgrafo gerador H queadmite bipartição e satisfaz a condição dH(v) ≥ dG(v)/2 para todo vértice v .

E 3.3.20 Os grafos da figura 3.5 admitem bipartição?

r r rr r rr r r

HHHHHHHHH

HHHHH

r r r rrr rrr r r r

ZZ

ZZ

ZZZ

ZZ

ZZ

ZZZ

Figura 3.5: Exercício 3.3.20. Esses grafos admitem bipartição?

E 3.3.21 (BOM!) Quantas arestas pode ter um grafo com n vértices queadmite bipartição?

EF 3.3.22 Mostre que grafos que têm circuitos ímpares não admitem biparti-ção.

Page 54: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 53

EI 3.3.23 (CARACTERIZAÇÃO) Mostre que um grafo admite bipartição se esomente se não tem circuitos ímpares.12

E 3.3.24 Dizemos que um grafo G tem um circuito induzido se existe X ⊆VG tal que G[X] é um circuito. Mostre que um grafo admite bipartição se esomente se não tem circuitos ímpares induzidos.

E 3.3.25 (ALGORITMO) Construa um algoritmo eficiente que decida se qual-quer grafo dado admite bipartição. O algoritmo deve devolver uma biparti-ção do grafo ou um circuito ímpar.

Caracterização de cortes

E 3.3.26 Caracterize os conjuntos de arestas que são cortes, ou seja, estabeleçaas condições em que um conjunto de arestas de um grafo é um corte.

E 3.3.27 (ALGORITMO) Esboce um algoritmo eficiente que execute a se-guinte tarefa: Dado um grafo G e uma parte13 C de EG , o algoritmo decidese C é ou não um corte. Em caso afirmativo, o algoritmo deve devolver umconjunto X de vértices tal que ∇(X) = C . Que coisa o seu algoritmo devedevolver em caso negativo?

12 Portanto, um circuito ímpar é um certificado da inexistência de bipartição do grafo.Reciprocamente, uma bipartição do grafo é um certificado da ausência de circuitos ímpares.

13 Uma parte de um conjunto é o mesmo que um subconjunto do conjunto.

Page 55: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 54

3.4 Conjuntos estáveis

Um conjunto X de vértices é estável (= stable = independent) se seus elementossão dois a dois não-adjacentes. Em outras palavras X é estável se nenhumaaresta tem ambas as pontas em X , ou seja, se o grafo induzido G[X] é vazio.Por exemplo, se G é um grafo (U,W )-bipartido então os conjuntos U e Wsão estáveis.

Um conjunto estável X∗ é máximo se não existe conjunto estável X tal que máximo|X| > |X∗|. Em outras palavras, X∗ é máximo se |X∗| ≥ |X| para todoconjunto estável X .

PROBLEMA DO CONJUNTO ESTÁVEL MÁXIMO: Encontrar um con-junto estável máximo num grafo dado.

É importante não confundir máximo com maximal. Um conjunto estável X ′

é maximal se não faz parte14 de um conjunto estável maior, ou seja, se não maximalexiste conjunto estável X tal que X ⊃ X ′ .15

Eis uma variante do problema: Dado um grafo e um número natural k , en-contrar um conjunto estável com k ou mais vértices. (É claro que essa vari-ante nem sempre tem solução.)

Denota-se por denotado por α(G) o tamanho de um conjunto estável má- α(G)ximo de G. Em inglês, esse parâmetro é conhecido como stability number ouindependence number. Quem sabe deveríamos chamar α de índice de estabi-lidade do grafo.

E 3.4.1 Mostre que o índice de estabilidade é invariante sob isomorfismo. Emoutras palavras, se G e H são grafos isomorfos então α(G) = α(H).

EF 3.4.2 Encontre um conjunto estável máximo em um Kn . Encontre umconjunto estável máximo em um Kn .

EF 3.4.3 Exiba um grafo e um conjunto estável maximal que não seja má-ximo.

14 Uma parte de um conjunto é o mesmo que um subconjunto do conjunto.15 A expressão “A ⊃ B” significa “B é subconjunto próprio de A”, ou seja, B ⊆ A mas

B 6= A.

Page 56: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 55

EF 3.4.4 Suponha que X e Y são conjuntos estáveis maximais de um grafo.É verdade que X e Y são disjuntos (ou seja, que X ∩ Y = ∅)?

E 3.4.5 Seja G um grafo (U,W )-bipartido e suponha que |U | ≥ |W |. É ver-dade que U é um conjunto estável máximo?

EF 3.4.6 Calcule um conjunto estável máximo em um caminho. Calcule umconjunto estável máximo em um circuito.

E 3.4.7 Encontre um conjunto estável máximo na grade p-por-q .

E 3.4.8 Encontre um conjunto estável máximo no grafo da dama. (Em outraspalavras, disponha o maior número possível de damas no tabuleiro de modoque elas não se ataquem mutuamente.)

E 3.4.9 Encontre um conjunto estável máximo no grafo do cavalo.

E 3.4.10 Encontre um conjunto estável máximo no grafo do bispo.

E 3.4.11 Exiba um conjunto estável máximo num k-cubo.

E 3.4.12 Encontre um conjunto estável máximo no grafo de Petersen.

E 3.4.13 Encontre um conjunto estável máximo no grafo de Kneser K(n, k)(veja exercício 1.1.14).

E 3.4.14 Encontre um conjunto estável máximo no grafo dos estados do Bra-sil (veja exercício 1.1.15).

EF 3.4.15 Seja H um subgrafo de um grafo G. Qual a relação entre α(H)e α(G)?

EF 3.4.16 Sejam G e H dois grafos tais que VG ∩ VH = ∅. Mostre que α(G ∪H) = α(G) + α(H). (Veja a seção 2.2.)

EF 3.4.17 Seja M a matriz de adjacências de um grafo G. (Veja exercí-cio 1.1.21.) Seja X um conjunto estável de G. Que aparência tem a restriçãode M a X ×X?

Page 57: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 56

E 3.4.18 (ALGORITMO) Discuta o seguinte algoritmo para o problema doconjunto estável máximo:

dado um grafo G, examine cada um dos subconjuntos de VG ;descarte os subconjuntos que não forem estáveis;escolha o maior dos que sobrarem.

D 3.4.19 (ALGORITMO) Invente um algoritmo rápido que resolva o pro-blema do conjunto estável máximo. Invente, pelo menos, um algoritmo queproduza um conjunto estável grande.16

E 3.4.20 No grafo da figura 3.6, exiba um conjunto estável maximal que nãoseja máximo.

r r r rr r r rS

SS

SSS

SSS

SSS

Figura 3.6: Veja exercício 3.4.20.

E 3.4.21 Suponha que G é um grafo que admite bipartição. É verdade quetodo conjunto estável maximal de G é máximo? E se G for uma árvore?

EF 3.4.22 (ALGORITMO) Construa um algoritmo que encontre um conjuntoestável maximal em qualquer grafo dado. (Sugestão: use uma estratégia“gulosa” (= greedy): em cada iteração, escolha qualquer vértice que seja ra-zoável.17)

E 3.4.23 (ALGORITMO) O seguinte algoritmo guloso (= greedy) recebe umgrafo G e devolve um conjunto estável X .

X ← ∅H ← G

enquanto VH 6= ∅ façaescolha v em VH de modo que |NH(v)| seja mínimo

16 Não se conhece um algoritmo rápido para encontrar um conjunto estável máximo emqualquer grafo. Em termos técnicos, esse problema é NP-difícil. Veja observação na pá-gina 15.

17 De um modo geral, algoritmos gulosos abocanham o objeto que lhes parece mais sabo-roso na iteração corrente, sem medir as conseqüências “de longo prazo”.

Page 58: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 57

X ← X ∪ vZ ← v ∪NH(v)H ← H − Z

devolva X

É verdade que esse algoritmo devolve um conjunto estável máximo paraqualquer grafo G dado? E se G for bipartido? E se G for uma árvore?

E 3.4.24 (BOM) Prove que todo conjunto estável maximal de qualquer grafotem pelo menos ⌈ n

∆ + 1

⌉vértices.18 Deduza daí que α(G) ≥ n(G)

∆(G)+1para todo grafo G.

E 3.4.25 (BOM) Prove que todo grafo G satisfaz a desigualdade

α(G) ≥∑v∈VG

1

d(v) + 1.

Ou seja, prove que G tem um conjunto estável com⌈ ∑

1d(v)+1

⌉vértices.

E 3.4.26 Seja X o conjunto estável produzido pelo algoritmo do exercí-cio 3.4.23. Mostre que |X| ≥

∑v∈VG

1/(d(v) + 1).

E 3.4.27 Prove que todo grafo G satisfaz a desigualdade

α(G) ≥ n2

2m + n,

sendo n ≡ n(G) e m ≡ m(G).

E 3.4.28 Seja Gt o grafo da dama t-por-t. Use o exercício 3.4.25 para esti-mar α(Gt).

E 3.4.29 Digamos que uma cobertura-por-caminhos de um grafo G é umacoleção P1, . . . , Pk de caminhos em G tal que VP1 ∪ · · · ∪ VPk

= VG .Seja P1, . . . , Pk uma cobertura-por-caminhos e suponha que não existecobertura-por-caminhos com menos que k caminhos. Mostre que α(G) ≥ k .Em outras palavras, mostre que G tem um conjunto estável com pelo menosk vértices.

18 Por definição, dxe é o único inteiro j tal que j − 1 < x ≤ j .

Page 59: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 58

E 3.4.30 (ALGORITMO) Esboce um algoritmo eficiente que receba um grafobipartido e devolva um conjunto estável máximo.19

E 3.4.31 Seja G um grafo sem vértices isolados. Mostre que

α(G) ≤ m(G)/δ(G) .

Em outras palavras, mostre que G não tem conjuntos estáveis com mais que α ≤bm(G)/δ(G)c vértices.20

E 3.4.32 Sejam n e a dois inteiros positivos. Seja k ≡ bn/ac e r ≡ n − ka.Seja H o grafo que resulta da união de r cópias do Kk+1 e a− r cópias do Kk

(os conjuntos de vértices das cópias são dois a dois disjuntos). Observe que

n(H) = n, m(H) = r(

k+12

)+ (a− r)

(k2

)e α(H) = a .

Mostre que α(G) > α(H) para qualquer grafo G tal que n(G) = n e m(G) <m(H).21

E 3.4.33 Mostre que o índice de estabilidade da maioria dos grafos não passade pouco mais que 2 log2 n(G). Mais precisamente, mostre que para qualquernúmero real positivo ε tem-se

α(G) < (2 + ε) log2 n

para quase todo grafo G em G(n). (Veja a seção 2.10.)

E 3.4.34 Prove que, por menor que seja o número positivo η , temos α(G) <n/(2 log2 n + 1 + η) para quase todo grafo G em G(n). (Veja o exercício 3.4.33,com ε = (1 + η)/ log2 n.)

19 Discutiremos esse algoritmo em detalhe na seção 3.9.20 Por definição, bxc é o único inteiro i tal que i ≤ x < i+ 1.21 Pode-se provar que H é o único grafo (a menos de isomorfismo) com n vértices,

m(H) arestas e índice de estabilidade a. Este fato é um conhecido teorema de Paul Turán(− ). O complemento de H é conhecido como grafo de Turán.

Page 60: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 59

3.5 Cliques

Uma clique22 (= clique) ou conjunto completo num grafo é qualquer conjuntode vértices dois a dois adjacentes. Em outras palavras X é uma clique se ografo induzido G[X] é completo.

PROBLEMA DA CLIQUE MÁXIMA: Encontrar uma clique máximanum grafo dado.

Eis uma variante do problema: dado um grafo e um número natural k , en-contrar uma clique com k ou mais vértices.

O tamanho de uma clique máxima de um grafo G é denotado por

ω(G) .

Em inglês, esse parâmetro é conhecido como clique number.

EF 3.5.1 Encontre uma clique máxima em um Kn . Encontre uma clique má-xima em um Kn .

EF 3.5.2 Encontre uma clique máxima em um caminho. Encontre uma cliquemáxima em um circuito.

E 3.5.3 Encontre uma clique máxima no grafo da dama.

E 3.5.4 Encontre uma clique máxima no grafo do cavalo.

E 3.5.5 Encontre uma clique máxima no grafo do bispo.

E 3.5.6 Exiba uma clique máxima num k-cubo.

E 3.5.7 Mostre que toda clique maximal do grafo de Kneser K(n, k) (vejaexercício 1.1.14) tem bn/kc vértices. Exiba uma clique máxima em K(n, k).

22 A palavra clique é um neologismo emprestado do inglês. A palavra denota uma “pa-nelinha” ou pequeno clube que não aceita novos membros facilmente. Nesse contexto, apalavra não tem qualquer relação com “estalido” e com expressões como “dê um clique como botão esquerdo do mouse”.

Page 61: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 60

E 3.5.8 Prove a seguinte relação, válida para qualquer conjunto X de vérticesde um grafo G: X é uma clique em G se e somente se X é um conjuntoestável em G. Deduza daí que ω(G) = α(G).

E 3.5.9 Qual a relação entre o problema da clique máxima e o problema doconjunto estável máximo (veja seção 3.4)? Como é possível usar um algo-ritmo que resolve um dos problemas para resolver o outro?

E 3.5.10 Suponha que um grafo G admite uma bipartição. Quantos vérticestem uma clique máxima em G?

E 3.5.11 Mostre que ω(G) ≥ 3 para todo grafo G com mais que n(G)2/4 ares-tas. (Veja exercício 3.3.21.)

E 3.5.12 Exiba um grafo e uma clique que seja maximal mas não máxima.

E 3.5.13 É verdade que toda clique maximal em uma árvore é máxima?

EF 3.5.14 (ALGORITMO) Construa um algoritmo que encontre uma cliquemaximal em qualquer grafo dado.

E 3.5.15 Seja L(G) o grafo das arestas (veja exercício 1.1.25) de um grafo G.Mostre que para cada vértice v de G, o conjunto∇G(v) é uma clique em L(G).Mostre que o conjunto das arestas de qualquer triângulo em G é uma cliqueem L(G). Mostre que qualquer clique de cardinalidade diferente de 3 emL(G) é parte de algum conjunto da forma ∇G(v).

E 3.5.16 Dado um grafo G, calcule uma clique máxima no grafo das ares-tas L(G). (Veja exercício 3.5.15.)

Page 62: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 61

3.6 Cobertura por vértices

Uma cobertura por vértices23 (= vertex cover), ou simplesmente cobertura, deum grafo é qualquer conjunto de vértices que contenha pelo menos uma daspontas de cada aresta. Em outras palavras, um conjunto X de vértices é umacobertura se toda aresta tem pelo menos uma de suas pontas em X .

PROBLEMA DA COBERTURA MÍNIMA: Encontrar uma cobertura mí-nima num grafo dado.

A cardinalidade de uma cobertura mínima de um grafo G é denotada por

β(G) .

Há uma relação simples e íntima entre coberturas por vértices e conjuntosestáveis (veja o exercício 3.6.3). Essa relação torna o problema da coberturamínima equivalente ao problema do conjunto estável máximo.

E 3.6.1 Encontre uma cobertura mínima no grafo do cavalo. Encontre umacobertura mínima no grafo do bispo.

E 3.6.2 Encontre uma cobertura mínima no k-cubo.

E 3.6.3 Prove a seguinte relação entre coberturas e conjuntos estáveis: emqualquer grafo G, um conjunto X de vértices é uma cobertura se e somentese VG r X é estável. Deduza daí que β(G) = n(G)− α(G).

E 3.6.4 Mostre que o problema da cobertura mínima é equivalente ao pro-blema do conjunto estável máximo. No grafo da figura 3.6, indique umacobertura minimal que não seja mínima.

E 3.6.5 Uma galeria de arte consiste em um grande número de corredores re-tos que interligam pequenas praças. Um guarda postado numa praça é capazde vigiar todos os corredores que saem da praça. Qual o número mínimo deguardas necessário para vigiar a galeria toda?

E 3.6.6 Suponha que T é uma árvore. É verdade que toda cobertura minimalde T é mínima?

23 Quem sabe seria melhor dizer “cobertura das arestas por vértices”.

Page 63: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 62

3.7 Coloração de vértices

Uma coloração dos vértices de um grafo é uma coleção de conjuntos estáveisque cobre o conjunto de vértices. Mais precisamente, uma coloração dos vér-tices de um grafo G é uma coleção X1, X2, . . . , Xk de conjuntos estáveis talque X1 ∪X2 ∪ · · · ∪Xk = VG .

Embora isso não seja essencial, é cômodo supor que os conjuntos X1, . . . , Xk

são disjuntos dois a dois. Podemos dizer então que uma coloração dos vérti-ces de G é uma partição de VG em conjuntos estáveis. Cada vértice do grafoestará em um e apenas um desses conjuntos.

Se imaginarmos que cada conjunto estável Xi corresponde a uma cor, po-demos dizer que uma coloração de vértices é uma atribuição de cores aosvértices tal que vértices adjacentes recebem cores diferentes.

Dizemos que uma coloração X1, X2, . . . , Xk usa k cores.24 Dizemos tam-bém que esta é uma k-coloração. Se um grafo tem uma k-coloração entãotambém tem uma k′-coloração para todo k′ > k . Uma bicoloração é o mesmoque uma 2-coloração.

O conceito de coloração de vértices é uma generalização do conceito de bi-partição (veja seção 3.3): toda bipartição de um grafo é uma coloração dosseus vértices, e toda bicoloração é uma bipartição.

Uma coloração de vértices é mínima se o seu número de cores é o menorpossível, ou seja, se não existe outra que use menos cores.

PROBLEMA DA COLORAÇÃO DE VÉRTICES: Encontrar uma colora-ção mínima dos vértices de um grafo dado.

O número cromático (= chromatic number) de um grafo G é o número de coresem qualquer coloração mínima dos vértices de G. Esse número é denotadopor χ(G). Um grafo G é k-colorível (= k-colorable) se χ(G) ≤ k . Em particu- χ(G)lar, G é bicolorível se χ(G) ≤ 2.

Veja o sítio WWW Graph Coloring Page de Joseph Culberson na Universidadede Alberta, Canadá.

A propósito, é preciso mencionar o problema da cobertura por cliques: en-contrar a menor partição X1, . . . , Xk de VG tal que cada Xi é uma clique.É claro que isso equivale a uma coloração dos vértices do grafo complemen-

24 Mesmo que algum Xi seja vazio.

Page 64: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 63

tar G.

E 3.7.1 Mostre que o número cromático é invariante sob isomorfismo. Emoutras palavras, se G e H são grafos isomorfos então χ(G) = χ(H).

EF 3.7.2 Seja X1, . . . , Xk uma coloração dos vértices de um grafo G. Mostreque existe uma coloração X ′

1, . . . , X′k tal que os conjuntos X ′

1, . . . , X′k são

disjuntos dois a dois.

EF 3.7.3 É verdade que, para todo grafo G, toda coloração dos vértices deG usa pelo menos ∆(G) cores? Em outras palavras, é verdade que χ(G) ≥∆(G)?

EF 3.7.4 Encontre uma coloração mínima dos vértices de um caminho. Re-pita com um circuito no lugar do caminho. Repita com uma grade no lugardo caminho.

E 3.7.5 Encontre uma coloração mínima dos vértices do grafo do cavalo t-por-t.

E 3.7.6 Seja G o grafo da torre t-por-t. Encontre uma coloração mínima dosvértices de G.

E 3.7.7 Seja G o grafo do bispo t-por-t. Encontre uma coloração mínima dosvértices de G.

E 3.7.8 Encontre uma cobertura por cliques mínima do grafo do bispo t-por-t. (Isso é o mesmo que uma coloração mínima dos vértices do complementodo grafo do bispo.)

E 3.7.9 Encontre uma cobertura por cliques mínima do grafo do cavalo t-por-t. (Considere inicialmente os casos t = 2, . . . , 6.)

E 3.7.10 Encontre uma coloração mínima dos vértices do grafo da dama t-por-t. Trate inicialmente dos casos t = 2, . . . , 6.

E 3.7.11 Seja G o grafo do rei t-por-t. Encontre uma coloração mínima dosvértices de G.

Page 65: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 64

E 3.7.12 Encontre uma coloração mínima do grafo dos estados do Brasil (vejaexercício 1.1.15).

E 3.7.13 Encontre uma coloração mínima de um k-cubo.

E 3.7.14 Encontre uma cobertura por cliques mínima de um k-cubo.

E 3.7.15 Encontre uma coloração mínima dos vértices do grafo de Petersen.

E 3.7.16 Encontre uma coloração mínima dos vértices do grafo G definido daseguinte maneira: comece com cinco cópias mutuamente disjuntas, digamosB1, . . . , B5 , de um grafo completo com 3 vértices; para cada i, acrescente ares-tas ligando todos os elementos de Bi a todos os de Bi+1 ; finalmente, acres-cente arestas ligando todos os elementos de B5 a todos os de B1 . (Este grafo grafo

de Catlinfoi usado por Catlin25 como contra-exemplo para a conjetura de Hajós. Vejaexercício 3.13.10.)

E 3.7.17 Uma indústria precisa armazenar um certo conjunto de reagentesquímicos. Por razões de segurança, certos pares de reagentes não devemficar num mesmo compartimento do armazém. Quantos compartimentos oarmazém deve ter no mínimo?

E 3.7.18 São dadas máquinas 1, . . . , n e intervalos de tempo I1, . . . , In . Paracada i, um operador deve cuidar da máquina i durante o intervalo Ii . Se Ii∩Ij 6= ∅, um mesmo operador não pode cuidar de i e j . Qual o número mínimode operadores suficiente para operar as máquinas? (Veja o exercício 1.1.22.)

E 3.7.19 Exiba um grafo com duas colorações mínimas diferentes.

EF 3.7.20 Sejam G e H dois grafos tais que VG ∩ VH = ∅. Mostre que χ(G ∪H) = maxχ(G), χ(H). (Veja a seção 2.2.)

E 3.7.21 Seja e uma ponte de um grafo G com duas ou mais arestas. Mostreque χ(G) = χ(G− e).

E 3.7.22 Seja v um vértice um grafo G tal que G − v tem mais componentesque G. Mostre que χ(G) = χ(G− v).

25 P. A. Catlin, 1979.

Page 66: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 65

EF 3.7.23 Seja H um subgrafo de um grafo G. Qual a relação entre χ(H)e χ(G)?

E 3.7.24 Seja α a cardinalidade de um conjunto estável máximo de umgrafo G. Mostre que toda coloração dos vértices usa pelo menos dn(G)/αecores. Em outras palavras, mostre que χ(G) ≥ n(G)/α(G). χ ≥

E 3.7.25 Para cada vértice v de um grafo G, seja αv a cardinalidade de umconjunto estável máximo dentre os que contêm v . Mostre que χ(G) ≥∑

v 1/αv . (Isso generaliza o exercício 3.7.24.) χ ≥

E 3.7.26 Mostre que todo grafo com n vértices e número cromático k tem nomáximo 1

2(n2 − n2/k) arestas. Deduza daí que χ(G) ≥ n2/(n2 − 2m), para χ ≥

todo grafo G com n vértices e m arestas.26 Deduza daí que χ(G) ≥ n/(n− r)se G é r-regular.27

D 3.7.27 (ALGORITMO) Invente um algoritmo rápido que resolva o pro-blema da coloração de vértices.28

E 3.7.28 (ALGORITMO) O algoritmo que descreveremos a seguir resolve oproblema da coloração de vértices? Ao receber um grafo G, o algoritmo fazo seguinte:

Escolhe um conjunto estável máximo29, digamos X1 , em G. Em seguida,escolhe um conjunto estável máximo X2 em G − X1 . Depois, escolhe umconjunto estável máximo X3 em (G − X1) − X2 . E assim por diante, atéque não haja mais vértices a escolher.

E 3.7.29 Mostre que χ(G) ≤ 12

+√

2m(G) + 14

para todo grafo G.

E 3.7.30 (ALGORITMO) O seguinte algoritmo guloso (= greedy) recebe umgrafo G e devolve uma coloração dos vértices X1 , . . . , Xk . Cada iteraçãocomeça com um coleção X1, . . . , Xk de conjuntos estáveis; a primeira pode

26 Alguns exemplos: se m > 0 então χ > 1, se m > n2/4 então χ > 2, se m > 4n2/9 entãoχ > 9.

27 Exemplos: se r > 0 então χ > 0, se r > n/2 então χ > 2, se r > 2n/3 então χ > 3.28 Não se conhece um algoritmo rápido para o problema da coloração de vértices. Em

termos técnicos, esse problema é NP-difícil. Veja observação na página 15.29 Não me pergunte como se faz isso!

Page 67: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 66

começar com a coleção vazia, isto é, com k = 0. Cada iteração consiste noseguinte:

CASO 1: X1 ∪ . . . ∪Xk = VG .Devolva X1, . . . , Xk e pare.

CASO 2: X1 ∪ . . . ∪Xk 6= VG .Escolha um vértice v em VG r (X1 ∪ . . . ∪Xk).Se Xi ∪ v é estável para algum i entre 1 e kentão comece nova iteração com Xi ∪ v no papel de Xi .Caso contrário, faça Xk+1 = v ecomece nova iteração com k + 1 no papel de k .

Este algoritmo resolve o problema da coloração de vértices?

E 3.7.31 Seja v um vértice um grafo G. Suponha que d(v) < χ(G)−1. Mostreque χ(G) = χ(G− v).

E 3.7.32 (BOM) Prove que todo grafo G admite uma coloração de vérticescom apenas ∆(G) + 1 cores. Em outras palavras, prove que χ(G) ≤ ∆(G) + 1para todo grafo G.

E 3.7.33 Mostre que a diferença ∆(G) − χ(G) pode ser arbitrariamentegrande. (Compare com o exercício 3.7.32.)

E 3.7.34 Seja v1, v2, . . . , vn os vértices de um grafo G e suponha que d(v1) ≥d(v2) ≥ · · · ≥ d(vn). Mostre que χ(G) ≤ max1≤i≤n mini, d(vi) + 1. (Issogeneraliza 3.7.32.) Sugestão: o lado direito da desigualdade é igual a maxi :d(vi) + 1 ≥ i.

E 3.7.35 Seja P um caminho de comprimento máximo em um grafo G. Mos-tre que χ(G) ≤ n(P ).

E 3.7.36 Seja G um grafo dotado da seguinte propriedade: todo par de cir-cuitos ímpares tem (pelo menos) um vértice em comum. Prove que G admiteuma 5-coloração dos vértices.

EI 3.7.37 Suponha que um grafo G tem uma clique com k vértices. Mos-tre que toda coloração de vértices de G usa pelo menos k cores. Em outraspalavras, mostre que χ ≥

χ(G) ≥ ω(G)

para todo grafo G.

Page 68: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 67

E 3.7.38 Suponha que um grafo G tem uma clique com k vértices e uma colo-ração dos vértices em k cores. Prove que a clique é máxima e que a coloraçãoé mínima.30

E 3.7.39 Mostre que, para todo k , existe um grafo sem cliques de tamanhok que não admite coloração com k (ou menos) cores. Em outras palavras,mostre que existem grafos G tais que χ(G) > ω(G). Mostre que para cada kexiste um grafo G tal que χ(G) = k e ω(G) = 2.

E 3.7.40 Prove que χ(G) = ω(G) para todo grafo bicolorível G.

E 3.7.41 Seja G um grafo (não necessariamente bicolorível) e seja R,S umapartição de VG . Suponha ainda que d(R) < k (ou seja, há menos que k arestascom uma ponta em R e outra em S ). Suponha que os grafos G[R] e G[S]admitem colorações de vértices com k cores apenas. Mostre que G admiteuma coloração de vértices com k cores.

E 3.7.42 Suponha que um grafo G tem um conjunto estável com k vértices.Mostre que toda cobertura de VG por cliques usa pelo menos k cliques. De-duza daí que χ(G) ≥ α(G).

E 3.7.43 Prove que todo grafo G admite uma cobertura por cliques de tama-nho ≤ n(G)− δ(G).

E 3.7.44 Mostre que um grafo H é isomorfo ao grafo das arestas (veja exercí-cio 1.1.25) de um outro grafo G se e somente se existe uma coleção de cliquesde H tal que cada aresta de H tem ambas as pontas em uma e apenas umadas cliques e todo vértice de H pertence a no máximo duas das cliques.

E 3.7.45 Seja ε um número real positivo (por exemplo, 0.1). Mostre que

χ(G) >1

2 + ε

n

log2 n

para quase todo grafo G em G(n). (Veja a seção 2.10.)

30 Uma tal clique pode ser usada como certificado da minimalidade de uma coloração.Reciprocamente, uma tal coloração pode ser usada como certificado da maximalidade daclique.

Page 69: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 68

ED 3.7.46 Mostre que por menor que seja o número ε no intervalo aberto(0, 2), tem-se

χ(G) <1

2− ε

n

log2 n

para quase todo grafo G em G(n). (Compare com o exercício 3.7.45.)

Coloração com número fixo de cores

Se o número de cores disponíveis estiver fixo, temos a seguinte variante doproblema da coloração:

PROBLEMA DA k -COLORAÇÃO: Dado um número natural k e umgrafo G, encontrar uma k-coloração de G.

É evidente que o problema nem sempre tem solução. O problema da 2-coloração, por exemplo, equivale ao problema de decidir se um dado grafoadmite bipartição. Veja exercício 3.3.23.

E 3.7.47 O seguinte algoritmo recebe um grafo G e (pelo menos aparente-mente) devolve uma bicoloração de G. Cada iteração começa com um par(X1, X2) de conjuntos estáveis; a primeira pode começar com X1 = X2 = ∅.Cada iteração consiste no seguinte:

CASO 1: X1 ∪X2 = VG .Devolva X1, X2 e pare.

CASO 2: X1 ∪X2 6= VG .Escolha um vértice v em VG r (X1 ∪X2).Escolha i em 1, 2 tal que Xi ∪ v é estável.Comece nova iteração com Xi ∪ v no papel de Xi .

Este algoritmo produz uma 2-coloração dos vértices do grafo?

E 3.7.48 O seguinte algoritmo guloso recebe um grafo G e (pelo menos apa-rentemente) devolve uma 3-coloração de G. Cada iteração começa com con-juntos estáveis X1 , X2 e X3 ; a primeira pode começar com X1 = X2 = X3 =∅. Cada iteração consiste no seguinte:

CASO 1: X1 ∪X2 ∪X3 = VG .Devolva X1, X2, X3 e pare.

Page 70: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 69

CASO 2: X1 ∪X2 ∪X3 6= VG .Escolha um vértice v em VG r (X1 ∪X2 ∪X3).Escolha i em 1, 2, 3 tal que e Xi ∪ v é estável.Comece nova iteração com Xi ∪ v no papel de Xi .

Este algoritmo produz uma 3-coloração?

E 3.7.49 Considere o seguinte algoritmo guloso, que recebe um grafo G e(pelo menos aparentemente) produz uma 3-coloração:

W ← VG

enquanto W 6= ∅ façaescolha w em W

i← 1enquanto N(w) ∩Xi 6= ∅ faça i← i+ 1Xi ← Xi ∪ wW ←W rXi

devolva X1, X2, X3

Este algoritmo produz uma 3-coloração?

E 3.7.50 Mostre que o grafo de Petersen (figura 2.1) não admite 3-coloração.

E 3.7.51 Quantas arestas no máximo pode ter um grafo com n vértices queadmite uma 3-coloração dos vértices?

D 3.7.52 (ALGORITMO) Invente um algoritmo rápido que resolva o pro-blema da 3-coloração de vértices. 31

D 3.7.53 (ALGORITMO) Invente um algoritmo rápido que resolva o pro-blema da k-coloração de vértices.

31 Não se conhece um algoritmo rápido que decida se um grafo é 3-colorível. Em termostécnicos, esse problema de decisão é NP-completo. Veja observação na página 15.

Page 71: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 70

3.8 Emparelhamentos

Duas arestas de um grafo são adjacentes se têm uma ponta comum.32 Umemparelhamento (= matching) é um conjunto de arestas duas a duas não-adjacentes.

Em outras palavras, um emparelhamento num grafo é um conjunto M dearestas tal que |M ∩∇(v)| ≤ 1 para cada vértice v .

PROBLEMA DO EMPARELHAMENTO MÁXIMO: Encontrar um empa-relhamento máximo num grafo dado.

Um emparelhamento M∗ é máximo se não existe um emparelhamento Mtal que |M | > |M∗|. A cardinalidade de um emparelhamento máximo numgrafo G é denotada por

α ′(G) .

A propósito, um emparelhamento M ′ é maximal se não faz parte de um em-parelhamento maior, ou seja, se não existe um emparelhamento M tal queM ⊃M ′ .

De acordo com o exercício 3.8.12, o problema do emparelhamento é um casoparticular do problema do conjunto estável. Mas ao contrário do que ocorrecom esse último, sabemos muito bem como resolver o primeiro.

Eis um pouco de terminologia útil. Diz-se que um emparelhamento M saturaum vértice v se ∇(v) ∩M 6= ∅, ou seja, se alguma aresta de M incide em v .Um emparelhamento M satura um conjunto X de vértices se M satura cadavértice de X .

Um emparelhamento M é perfeito (= perfect matching) se satura VG . Eis umaespecialização interessante do problema acima:

PROBLEMA DO EMPARELHAMENTO PERFEITO: Encontrar um empa-relhamento perfeito num grafo dado.

É claro que nem todo grafo tem um emparelhamento perfeito; a dificuldadedo problema está em decidir se o grafo dado tem ou não tem um emparelha-mento perfeito.

Eis mais alguns conceitos úteis. Um caminho é alternante (= alternating) em

32 Alguns livros preferem dizer que duas tais arestas são independentes.

Page 72: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 71

relação a um emparelhamento M se suas arestas estão alternadamente em Me fora de M . (Às vezes é cômodo dizer “M -alternante” no lugar de “alter-nante em relação a M ”.) Um caminho de aumento (= augmenting path) paraum emparelhamento M é um caminho alternante de comprimento não-nulocujos extremos não estão saturados por M .

EF 3.8.1 Quantas arestas tem um emparelhamento máximo num grafo com-pleto com n vértices?

EF 3.8.2 Calcule um emparelhamento máximo em um caminho. Calcule umemparelhamento máximo em um circuito.

E 3.8.3 Calcule um emparelhamento máximo em um grafo hamiltoniano 3-regular.

EF 3.8.4 É verdade que todo grafo regular tem um emparelhamento perfeito?

EF 3.8.5 Quantas arestas tem um emparelhamento máximo em um grafo bi-partido completo?

EF 3.8.6 Encontre um emparelhamento máximo no grafo da dama t-por-t.

E 3.8.7 Encontre um emparelhamento máximo no grafo do bispo t-por-t.

E 3.8.8 Encontre um emparelhamento máximo no grafo do cavalo t-por-t.

E 3.8.9 Quantas arestas tem um emparelhamento máximo num cubo de di-mensão k?

E 3.8.10 (BOM) Exiba um grafo e um emparelhamento maximal que não sejamáximo.

E 3.8.11 É verdade que em qualquer árvore todo emparelhamento maximalé máximo?

E 3.8.12 Mostre que o problema do emparelhamento máximo é um caso par-ticular do problema do conjunto estável máximo.

Page 73: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 72

E 3.8.13 É verdade que, em qualquer grafo, todo vértice não-isolado é satu-rado por algum emparelhamento máximo?

E 3.8.14 (BOM) Sejam M e M ′ dois emparelhamentos num grafo G. Des-creva o grafo (VG, M ∪M ′). Descreva o grafo (VG, M ⊕M ′). Que acontece seos emparelhamentos M e M ′ são perfeitos?

E 3.8.15 Suponha que um grafo G tem uma ponte a. Mostre que ou todosos emparelhamentos perfeitos de G contêm a ou nenhum emparelhamentoperfeito de G contém a.

E 3.8.16 Prove que toda floresta tem no máximo um emparelhamento per-feito.

EF 3.8.17 Seja M um emparelhamento em um grafo e seja P um caminho M -alternante. Mostre que qualquer segmento de P é um caminho M -alternante.

E 3.8.18 Seja M um emparelhamento em um grafo e seja P um caminho M -alternante maximal. Suponha que as duas arestas extremas de P não estãoem M . É verdade que P é um caminho de aumento?

EI 3.8.19 Suponha que P é um caminho de aumento para um emparelha-mento M . Prove que

M ⊕ EP

é um emparelhamento.33 Prove que |M ⊕ EP | > |M |.

EI 3.8.20 (TEOREMA DE BERGE34) Prove que um emparelhamento M émáximo se e somente se não existe um caminho de aumento para M . teorema

de BergeE 3.8.21 (BOM) Um passeio (= walk) em um grafo é qualquer seqüência finita(v0, v1, v2, . . . , vk−1, vk) de vértices tal que vi é adjacente a vi−1 para todo ientre 1 e k .

Seja M um emparelhamento. Seja (v0, v1, . . . , vk) um passeio cujas arestasestão alternadamente em M e fora de M e suponha que v0 e vk não estãosaturados por M . Seja A o conjunto das arestas do passeio. Mostre que oconjunto M ⊕A não é necessariamente um emparelhamento. (Compare como exercício 3.8.19.)

33 Por definição, K ⊕ L é o conjunto (K ∪ L) − (K ∩ L). Esse conjunto é idêntico a(K − L) ∪ (L−K).

34 Publicado em 1957 por Claude Berge (− ).

Page 74: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 73

E 3.8.22 Dois jogadores, digamos A e B , se alternam escolhendo vérticesnum grafo G. Primeiro, A escolhe um vértice v0 . Em seguida, B escolheum vértice v1 adjacente a v0 . Depois, A escolhe um vértice adjacente a v1

mas diferente de v0 e de v1 . E assim por diante. (Esse jogo é conhecido comoslink ou slither.) slink

slitherEis uma maneira mais limpa de descrever o jogo: Os vértices escolhidosformam um caminho v0v1v2 · · · vk . Se k é ímpar, A escolhe um vértice vk+1

distinto dos demais mas adjacente a vk . Se k é par, B faz um jogada análoga.O último jogador que puder fazer um movimento vence o jogo.

Prove que B tem uma estratégia vencedora se G tem um emparelha-mento perfeito. Prove que A tem uma estratégia vencedora em caso contrá-rio.

E 3.8.23 Seja M um emparelhamento e X um conjunto de vértices de umgrafo. Mostre que se X é saturado por M então X também é saturado poralgum emparelhamento máximo.

E 3.8.24 Suponha que uma árvore T tem um emparelhamento perfeito. Mos-tre que, para todo vértice v , a floresta T − v tem exatamente um componentecom número ímpar de vértices.

EI 3.8.25 Mostre que, em qualquer grafo, para qualquer emparelhamento Me qualquer cobertura K (veja seção 3.6), emparelha-

mentosversus

coberturas|M | ≤ |K| .

(Isso poderia ter sido formulado assim: α ′(G) ≤ β(G) para todo grafo G.)Deduza daí que se |M | = |K| então M é um emparelhamento máximo e

K é uma cobertura mínima.35 Dê um exemplo de um grafo que não possuium par (M, K) tal que |M | = |K|. (Veja também o exercício 3.8.27.)

EF 3.8.26 Seja K uma cobertura minimal de um grafo. É verdade que todaaresta de qualquer emparelhamento tem apenas uma pontas em K?

E 3.8.27 Seja M um emparelhamento e K uma cobertura tais que |M | = |K|.Mostre que M satura K e que cada elemento de M tem apenas uma daspontas em K . (Veja o exercício 3.8.25.)

35 Assim, se uma cobertura tem o mesmo tamanho que um emparelhamento, ela serve decertificado da maximalidade do emparelhamento.

Page 75: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 74

E 3.8.28 Suponha que M é um emparelhamento maximal num grafo. SejaV (M) o conjunto dos vértices saturados por M . Mostre que V (M) é umacobertura.

Escolha uma das pontas de cada aresta em M . Seja W o conjunto resul-tante. É verdade que W é uma cobertura?

E 3.8.29 (BOM) Seja M um emparelhamento maximal e M∗ um empare- emparelha-mento

maximallhamento máximo em um grafo. É evidente que |M | ≤ |M∗|. Mostre que|M | ≥ 1

2|M∗|. É verdade que |M | > 1

2|M∗|?

Page 76: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 75

3.9 Emparelhamentos em grafos bipartidos

O problema do emparelhamento máximo (veja seção 3.8) é relativamente fá-cil quando restrito a grafos bipartidos.

Dado um conjunto X de vértices de um grafo G, denotaremos por NG(X), N(X)ou simplesmente N(X), o conjunto dos vértices em VG r X que têm um oumais vizinhos em X .

E 3.9.1 Exiba um emparelhamento máximo no grafo da figura 3.7.

r r r r r rr r r r r rAAAAA

@@

@@

@

AAAAA

AAAAA

@@

@@

@

Figura 3.7: Exercício 3.9.1. Encontre um em-parelhamento máximo.

E 3.9.2 Encontre um emparelhamento máximo num k-cubo.

E 3.9.3 Exiba um emparelhamento máximo no grafo da figura 3.8.

r r r r rr r r r r

BBBBB

@@

@@@

BBBBB

BBBBB

@@

@@@

BBBBB

Figura 3.8: Exercício 3.9.3. Encontre empare-lhamento máximo.

E 3.9.4 (BOM) Seja G um grafo (U,W )-bipartido e M um emparelhamentoem G. Seja V (M) o conjunto dos vértices que M satura. Seja X o conjuntodos vértices de todos os caminhos M -alternantes que têm um dos extremosem U r V (M). Prove que (W ∩X) ∪ (U r X) é uma cobertura de G.

EF 3.9.5 Seja G um grafo (U,W )-bipartido, X,X ′ uma partição de U eY, Y ′ uma partição de W . Mostre que se N(X) ⊆ Y então N(Y ′) ⊆ X ′ .Mostre que se N(X) ⊆ Y então Y ∪X ′ é uma cobertura.

Page 77: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 76

U

W

Figura 3.9: Um grafo (U,W )-bipartido. A área cinza indica uma co-bertura. As linhas coloridas indicam um emparelhamento.

E 3.9.6 (ALGORITMO) Construa um algoritmo eficiente que receba um grafobipartido G, uma bipartição U,W do grafo, e um emparelhamento M e de-volva

(1) um emparelhamento M ′ tal que |M ′| > |M | ou(2) uma cobertura K tal que |K| = |M |.

(No caso (2), de acordo com o exercício 3.8.25, o emparelhamento M é má-ximo.) (Veja o exercício 3.9.4.)

E 3.9.7 (ALGORITMO) Construa um algoritmo eficiente que receba um grafobipartido G e uma bipartição U,W de G e devolva um emparelhamento algoritmo

húngaromáximo em G.36 (O famoso Algoritmo Húngaro37 faz exatamente isso.)

E 3.9.8 Mostre que todo grafo bipartido tem um emparelhamento M e umacobertura K tais que |M | = |K|. (Compare com o exercício 3.8.25.)

EI 3.9.9 (TEOREMA DE KÖNIG–EGERVÁRY38) Mostre que, em todo grafo bi-partido, um emparelhamento M∗ é máximo se e somente se existe uma co-bertura K∗ tal que

|M∗| = |K∗| .(Veja o exercício 3.9.8.) Outra maneira de formular isso: se M∗ é um um em-parelhamento máximo e K∗ é uma cobertura mínima em um grafo bipartidoentão |M∗| = |K∗|.

E 3.9.10 Seja G um grafo que admite uma bipartição. Mostre que α ′(G) =β(G).

36 Sugestão: Use o resultado do exercício 3.9.6.37 Referência aos matemáticos húngaros König, Egerváry e outros.38 Publicado em 1931 por Dénes König (− ). O teorema também é atribuído a

Eugene Egerváry (1931).

Page 78: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 77

E 3.9.11 Seja G um grafo que admite uma bipartição. Prove que χ(G) =ω(G).

E 3.9.12 Encontre um emparelhamento máximo e uma cobertura mínima nografo da figura 3.7.

E 3.9.13 Dê uma condição necessária e suficiente para que um grafo bipar-tido tenha um emparelhamento com k arestas.

E 3.9.14 Seja G um grafo (U,W )-bipartido. Suponha que |U | = |W | em(G) > (k − 1) |U | para algum k inteiro positivo. Prove que G tem umemparelhamento de cardinalidade k .

E 3.9.15 Seja H um grafo (não necessariamente bipartido) e seja R,S umapartição de VH . Suponha ainda que há menos que k arestas com uma pontaem R e outra em S (ou seja, d(R) < k). Suponha que os grafos H[R] e H[S]admitem colorações de vértices (veja seção 3.7) com k cores. Mostre que Hadmite uma coloração de vértices com k cores.

Page 79: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 78

3.10 Emparelhamentos em grafos bipartidos II

Em que condições um grafo (U,W )-bipartido possui um emparelhamentoperfeito? Uma condição necessária óbvia: |U | = |W |. Outro condição neces-sária óbvia: o grafo deve admitir um emparelhamento que satura U . Essasobservações sugerem o seguinte

PROBLEMA: Dado um grafo (U,W )-bipartido, encontrar um empa-relhamento que sature o conjunto U .

E 3.10.1 Seja G um grafo (U,W )-bipartido. Suponha que |N(Z)| < |Z| paraalguma parte Z de U . Mostre que G não tem um emparelhamento que sa-tura U .

Outra maneira de formular a questão: se algum emparelhamento sa-tura U então |N(Z)| ≥ |Z| para toda parte Z de U .

EI 3.10.2 (TEOREMA DE HALL39) Mostre que um grafo (U,W )-bipartido temum emparelhamento que satura U se e somente se teorema

de Hall|N(Z)| ≥ |Z|

para toda parte Z de U . (Veja o exercício 3.10.1.)

E 3.10.3 Deduza o teorema de König–Egerváry (exercício 3.9.9) do teoremade Hall (exercício 3.10.2).

E 3.10.4 Seja H um conjunto de homens, M um conjunto de mulheres e k uminteiro positivo. Suponha que cada homem conhece no máximo k mulheres ecada mulher conhece no mínimo k homens. Prove que é possível casar cadamulher com um homem que ela conhece.

E 3.10.5 Seja G um grafo bipartido r-regular com r > 0. Mostre que o grafotem um emparelhamento perfeito.

E 3.10.6 Prove que um grafo bicolorível G tem um emparelhamento perfeitose e somente se |N(Z)| ≥ |Z| para todo subconjunto Z de VG . Dê um exemplode um grafo (não-bicolorível) que não tem um emparelhamento perfeito massatisfaz a desigualdade |N(Z)| ≥ |Z| para todo conjunto Z de vértices.

39 Publicado em 1935 pelo matemático inglês Philip Hall (− ).

Page 80: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 79

E 3.10.7 Seja G um grafo (U,W )-bipartido. Seja X uma parte de U e Y umaparte de W . Seja M um emparelhamento que satura X e N um empare-lhamento que satura Y . Mostre que existe um emparelhamento que saturaX ∪ Y .

E 3.10.8 Seja G um grafo (U,W )-bipartido com pelo menos uma aresta. SejaX o conjuntos dos vértices em U que têm grau ∆(G). Mostre que o G temum emparelhamento que satura X .

E 3.10.9 (BOM) Seja G um grafo bipartido com pelo menos uma aresta. Mos-tre que existe um emparelhamento que satura todos os vértices de grau ∆(G).

E 3.10.10 Seja K um grafo (U,W )-bipartido completo. Suponha que |U | =|W |. Seja G um subgrafo de K e r o número ∆(G). Mostre que existe umgrafo r-regular H tal que G ⊆ H ⊆ K .

E 3.10.11 Seja G um grafo bipartido e seja r o número ∆(G). Mostre que G ésubgrafo de algum grafo bipartido r-regular.

EI 3.10.12 Seja G um grafo (U,W )-bipartido. Prove que todo emparelha-mento máximo em G tem cardinalidade

minZ⊆U |U | − |Z|+ |N(Z)|

(Isso é uma generalização do exercício 3.10.2.)

Page 81: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 80

3.11 Emparelhamentos em grafos arbitrários

Um componente de um grafo é ímpar (= odd component) se tem um númeroímpar de vértices. O número de componentes ímpares de um grafo G serádenotado nesta seção por o(G). o(G)

E 3.11.1 Seja T uma árvore e suponha que o(T − v) = 1 para cada vérticev de T . Mostre que T tem emparelhamento perfeito. (Veja antes exercí-cio 3.8.24.)

E 3.11.2 Suponha que um grafo G tem um emparelhamento perfeito. Mostreque o(G− S) ≤ |S| para todo conjunto S de vértices.

EF 3.11.3 Suponha que um grafo G satisfaz a condição o(G − S) ≤ |S| paratodo conjunto S de vértices. Prove que n(G) é par.

EID 3.11.4 (TEOREMA DE TUTTE40) Mostre que um grafo G tem um empa-relhamento perfeito se e somente se

o(G− S) ≤ |S|

para todo conjunto S de vértices. (Veja exercício 3.11.2.)

ED 3.11.5 (ALGORITMO) Esboce um algoritmo eficiente que decida se umgrafo tem ou não tem um emparelhamento perfeito.

E 3.11.6 Deduza o teorema de Hall (exercício 3.10.2) do teorema de Tutte(exercício 3.11.4).

EI 3.11.7 Seja M um emparelhamento e S um conjunto de vértices de umgrafo G. Prove que o número de vértices não-saturados por M é pelo menoso(G− S)− |S|. Deduza daí que

|M | ≤ γ(G, S) ,

sendo γ(G, S) o número 12n(G)− 1

2

(o(G− S)− |S|

). γ( , )

40 O teorema foi publicado em 1947 por William T. Tutte (− ).

Page 82: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 81

E 3.11.8 Seja M um emparelhamento e S um conjunto de vértices de umgrafo G. Suponha que |M | = γ(G, S), sendo γ(G, S) o número definido noexercício 3.11.7. Mostre que o emparelhamento M é máximo.41

EID 3.11.9 Mostre que em qualquer grafo G existe um emparelhamento M euma parte S de VG tais que M deixa de saturar apenas o(G−S)−|S| vértices,ou seja, tais que

|M | ≥ γ(G, S) ,

sendo γ(G, S) o número definido no exercício 3.11.7.

EID 3.11.10 (TEOREMA DE TUTTE–BERGE42) Prove que, em qualquergrafo G,

α ′(G) = γ(G) ,

sendo γ(G) o valor mínimo de γ(G, S) para todas as partes S de VG , ondeγ(G, S) é a expressão definida no exercício 3.11.7. (Veja os exercícios 3.11.7e 3.11.9.)

E 3.11.11 Deduza o exercício 3.8.25 do exercício 3.11.7. Deduza o teo-rema de König–Egerváry (exercício 3.9.9) do teorema de Tutte–Berge (exer-cício 3.11.10).

E 3.11.12 Seja G um grafo 3-regular sem pontes. Mostre que G tem um em-parelhamento perfeito. Mostre que nem todo grafo 3-regular tem um empa-relhamento perfeito.

EID 3.11.13 (DECOMPOSIÇÃO DE GALLAI–EDMONDS43) Seja G um grafo eD o conjunto dos vértices de G que não são saturados por algum empare-lhamento máximo. Seja A o conjunto N(D). Seja C o conjunto VG r (D ∪A).Mostre que para todo emparelhamento máximo M∗ em G tem-se

|M∗| = 12n(G)− 1

2

(c(G[D]) + |A|

),

onde c(H) é o número de componentes do grafo H .

41 O conjunto S serve de certificado da maximalidade do emparelhamento.42 Trata-se de uma combinação do teorema de Tutte (exercício 3.11.4) com um teorema de

Claude Berge (− ) publicado em 1958.43 Publicada em 1963 e 1964 por Tibor Gallai (− ) e em 1965 por Jack Edmonds.

Page 83: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 82

ED 3.11.14 (ALGORITMO) Esboce um algoritmo eficiente que encontre umemparelhamento máximo em qualquer grafo dado. (O Algoritmo de Ed-monds44 faz exatamente isso.)

ED 3.11.15 Uma cobertura por arestas (= edge cover)45 de um grafo é um con-junto F de arestas tal que todo vértice do grafo é ponta de algum elementode F . (Não confunda com o conceito de cobertura por vértices.) Invente umalgoritmo eficiente que produza uma cobertura por arestas mínima.

ED 3.11.16 (ALGORITMO DO EMPARELHAMENTO DE PESO MÁXIMO) SejaK um grafo completo e π uma função de EK em N ≡ 0, 1, 2, 3, . . .. Paracada aresta e do grafo, diremos que π(e) é o peso de e. O peso de um sub- emparelha-

mento depeso máximo

conjunto F de EK é∑

e∈F π(e). Esboce um algoritmo para encontrar umemparelhamento de peso máximo em K .

44 Jack Edmonds.45 Quem sabe eu deveria dizer “cobertura de vértices por arestas”.

Page 84: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 83

3.12 Coloração de arestas

Uma coloração das arestas de um grafo é uma coleção de emparelhamen-tos que cobre o conjunto de arestas. Mais precisamente, uma coloração dasarestas de um grafo G é uma coleção M1, M2, . . . ,Mk de emparelhamentostal que M1 ∪M2 ∪ · · · ∪Mk = EG . (Podemos exigir que os emparelhamentossejam disjuntos dois a dois; essa disjunção é cômoda mas não é essencial.)

Se imaginarmos que cada emparelhamento Mi corresponde a uma cor, po-deremos dizer que uma coloração das arestas de um grafo é uma atribuiçãode cores às arestas que satisfaz a seguinte propriedade: arestas adjacentesrecebem cores diferentes.

Se M1, . . . ,Mk é uma coloração de arestas, dizemos que k é o número decores da coloração. Dizemos também que esta é uma k-coloração. Uma co-loração de arestas é mínima se o seu número de cores é o menor possível, ouseja, se não existe outra que use menos cores.

PROBLEMA DA COLORAÇÃO DE ARESTAS: Encontrar uma coloraçãomínima das arestas de um grafo dado.

O índice cromático (= chromatic index) de um grafo G, denotado por χ ′(G), é χ ′(G)o número mínimo de cores necessário para colorir as arestas de G.

EF 3.12.1 Seja M1, . . . ,Mk uma coloração das arestas de um grafo. Mostreque existe uma coloração M ′

1, . . . ,M′k tal que os emparelhamentos M ′

1, . . . ,M′k

são disjuntos dois a dois.

E 3.12.2 Um processo industrial consiste em um certo conjunto de tarefas.Cada tarefa é executada por um operário em uma máquina e cada tarefa temduração de 1 dia. Cada operário está qualificado para operar apenas algumasdas máquinas. Quantos dias são necessários para completar o processo?46

E 3.12.3 Uma escola pode ser representada por um grafo (U,W )-bipartido:cada vértice em U é um professor, cada vértice em W é uma turma de alu-nos e um professor é adjacente às turmas para as quais deve dar aulas. Uma

46 Sugestão: Cada operário é um vértice do meu grafo; cada máquina também é um vér-tice; cada aresta é uma tarefa, que associa um operário com uma máquina; cada cor é um diade trabalho.

Page 85: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 84

semana letiva é dividida em períodos (segunda-feira das 8h às 10h, segunda-feira das 10h às 12h, etc.) e cada período é representado por uma cor. Umacoloração das arestas do grafo é uma programação das aulas da semana.Quantos períodos são necessários e suficientes para cumprir o programa deaulas?47

E 3.12.4 Mostre que o problema da coloração mínima das arestas é um casoparticular do problema da coloração de vértices mínima.

EF 3.12.5 Calcule uma coloração mínima das arestas de um grafo completo.Calcule uma coloração mínima das arestas de um grafo bipartido completo.

E 3.12.6 Calcule o índice cromático do grafo de Petersen.

E 3.12.7 Exiba um grafo com duas colorações mínimas diferentes.

E 3.12.8 Mostre que χ ′(G) ≥ m(G)/α ′(G) para todo grafo G.

EI 3.12.9 Mostre que qualquer coloração das arestas de um grafo G usa pelomenos ∆(G) cores. Em outras palavras, mostre que χ ′ ≥

χ ′(G) ≥ ∆(G)

para todo grafo G. Mostre que essa desigualdade é um caso particular dadesigualdade χ ≥ ω do exercício 3.7.37.

E 3.12.10 (ALGORITMO) Construa um algoritmo que produza uma colora-ção mínima das arestas de qualquer árvore.

E 3.12.11 Considere o seguinte algoritmo guloso de coloração das arestasde um grafo G. Cada iteração do algoritmo começa com uma coleçãoM1, . . . ,Mj de emparelhamentos. Em cada iteração,

escolha uma aresta e que não esteja em M1 ∪ · · · ∪Mj ; se existe i talque Mi∪e é um emparelhamento então comece nova iteração comM1, . . . ,Mi−1, Mi ∪ e, Mi+1 . . . , Mj ; senão, comece nova iteraçãocom a coleção M1, . . . ,Mj, e.

47 Este é o “problema da grade de horários” (timetabling problem).

Page 86: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 85

Mostre que o algoritmo usa no máximo 2∆(G)−1 emparelhamentos. Mostreque o algoritmo usa no máximo 2χ ′(G) − 1 emparelhamentos. O algoritmoproduz uma coloração mínima?

E 3.12.12 Considere o seguinte algoritmo guloso de coloração das arestas deum grafo G:

a j-ésima iteração começa com uma coleção M1, M2, . . . ,Mj−1 deemparelhamentos e calcula um emparelhamento maximal Mj nografo G− (M1 ∪M2 ∪ · · · ∪Mj−1).

Mostre que o algoritmo usa no máximo 2∆(G)− 1 cores. Mostre que o algo-ritmo usa no máximo 2χ ′(G) − 1 cores. O algoritmo produz uma coloraçãomínima?

E 3.12.13 Considere o seguinte algoritmo de coloração das arestas de umgrafo G:

a j-ésima iteração começa com uma coleção M1, M2, . . . ,Mj−1 deemparelhamentos e calcula um emparelhamento máximo Mj nografo G− (M1 ∪M2 ∪ · · · ∪Mj−1).

O algoritmo produz uma coloração mínima?

E 3.12.14 Considere a seguinte “heurística da troca de cores em caminhosalternantes”, que tenta resolver o problema da coloração de arestas:

No começo de cada iteração tem-se uma coloração parcial, ou seja,uma coleção M1, M2, . . . ,Mk de emparelhamentos disjuntos dois adois. Seja vw uma aresta ainda não colorida, isto é, uma aresta que heurística da

troca de coresnão está em M1∪· · ·∪Mk . Seja Mi uma cor “ausente” em v e Mj umacor “ausente” em w. Seja P o componente do grafo (VG, Mi ∪Mj)que contém v . Troque Mi por Mi ⊕ EP . Em seguida, troque Mi porMi ∪ vw e comece nova iteração.

Complete os detalhes e discuta a heurística. Ela resolve o problema da colo-ração de arestas?

E 3.12.15 Mostre que todo grafo bipartido r-regular admite uma coloraçãodas arestas com apenas r cores.

Page 87: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 86

EI 3.12.16 (TEOREMA DE KÖNIG48) Seja G um grafo bicolorível, ou seja, umgrafo que admite uma bipartição. Mostre que grafos

bipartidosχ ′(G) = ∆(G) .

(Sugestão: Veja a heurística 3.12.14 ou o exercício 3.10.9.)

E 3.12.17 Exiba colorações mínimas das arestas dos grafos das figuras 3.7e 3.8.

E 3.12.18 Prove que χ ′(G) = ∆(G) para todo grafo hamiltoniano 3-regular G.

E 3.12.19 Suponha que n(G) é ímpar e m(G) > 12∆(G)

(n(G) − 1

). Calcule

χ ′(G).

E 3.12.20 Seja H um grafo r-regular, r ≥ 1, com um número ímpar de vér-tices. Seja G um grafo obtido de H pela remoção de no máximo (r − 1)/2arestas. Mostre que χ ′(G) = ∆(G) + 1.

E 3.12.21 Seja G um grafo r-regular. Suponha que G tem uma ponte. Mostreque χ ′(G) ≥ r + 1.

E 3.12.22 Seja G um grafo r-regular, r ≥ 1. Suponha que G tem um vérticede corte (= cut vertex), ou seja, um vértice v tal que G − v tem mais compo-nentes que G. Mostre que χ ′(G) ≥ r + 1.

E 3.12.23 Sejam M e N dois emparelhamentos de um grafo G. Suponha que∣∣|M | − |N |∣∣ ≥ 2. Mostre que existem emparelhamentos M ′ e N ′ tais queM ∪N = M ′ ∪N ′ e

∣∣|M ′| − |N ′|∣∣ <

∣∣|M | − |N |∣∣.E 3.12.24 Seja G um grafo e k ≡ χ ′(G). Mostre que existe uma k-coloraçãodas arestas M1, M2, . . . ,Mk tal que

∣∣|Mi|−|Mj|∣∣ ≤ 1 para todo par i,j de cores.

Escreva uma “fórmula” para |Mi| em termos de m(G).49

48 Dénes König (− ).49 Sugestão: Veja exercício 3.12.23.

Page 88: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 87

EI 3.12.25 (TEOREMA DE VIZING50) Mostre que

χ ′(G) ≤ ∆(G) + 1

para todo grafo G.51 Se combinarmos isso com o exercício 3.12.9, poderemosdizer que ∆ ≤ χ ′ ≤ ∆ + 1 para todo grafo.

E 3.12.26 Mostre que a heurística de troca de pares de cores sugerido no exer-cício 3.12.14 não é suficiente para demonstrar o teorema de Vizing (exercí-cio 3.12.25).

D 3.12.27 (ALGORITMO) Invente um algoritmo rápido que calcule χ ′(G)para qualquer grafo G dado.

D 3.12.28 (ALGORITMO) Invente um algoritmo rápido que resolva o pro-blema da coloração de arestas.

D 3.12.29 Um grafo G é t-duro (= t-tough) se, para todo conjunto S devértices, c(G − S) ≤ |S|/t, sendo c(G − S) o número de componentes deG− S . Prove a seguinte conjetura:52 Se G tem um número par de vértices eχ ′(G) = ∆(G) + 1 então χ ′(G− v) = χ ′(G) para algum vértice v .

D 3.12.30 Uma coloração total (= total coloring) de um grafo G é uma parti-ção de VG ∪ EG (estamos supondo que VG e EG são disjuntos) tal que, doisquaisquer elementos de um mesmo bloco da partição não são adjacentes nemmutuamente incidentes. O número de blocos da partição é o número de co-res da coloração. Prove a seguinte conjetura53: Todo grafo G admite umcoloração total com ∆(G) + 2 ou menos cores.

50 Publicado em 1964–1965 por Vadim G. Vizing (−), um matemático russo. O fatotambém foi descoberto, independentemente, por Ram Prakash Gupta em 1966.

51 É tentador comparar essa desigualdade com a desigualdade χ ≤ ∆ + 1 do exercí-cio 3.7.32. Mas as razões para as duas desigualdades são muito diferentes.

52 A conjetura foi proposta por I. T. Jakobsen, L. W. Beineke e R. J. Wilson em 1973.53 A conjetura foi proposta por M. Behzad em 1965.

Page 89: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 88

3.13 Coloração de vértices II

Voltamos a considerar o problema da coloração de vértices, já discutido naseção 3.7:

PROBLEMA DA COLORAÇÃO DE VÉRTICES: Encontrar uma colora-ção mínima dos vértices de um grafo dado.

O seguinte conceito é útil para discutir algumas questões de coloração. Umacontração (= contraction) de um grafo H é qualquer grafo J que tenha a se-guinte forma: (1) VJ é uma partição de VH (em partes não-vazias), (2) paracada X em VJ , o grafo induzido H[X] é conexo, (1) dois elementos distintosde VJ são adjacentes em J se existe uma aresta em H com uma ponta em ume outra no outro.

Figura 3.10: Um grafo H e uma contração de H .

A seguinte generalização do conceito de subgrafo é importante no estudo devários tópicos da teoria dos grafos: Um menor (= minor54) de um grafo G équalquer contração de um subgrafo de G.

E 3.13.1 Seja G um grafo conexo não-regular. Mostre que χ(G) ≤ ∆(G).(Compare com o exercício 3.7.32; mas não confunda com o exercício 3.12.25.)

E 3.13.2 (TEOREMA DE BROOKS55) Seja G um grafo conexo não-completodiferente de um circuito ímpar. Mostre que χ(G) ≤ ∆(G).Compare com oexercício 3.13.1.)

54 Diga “máinor”.55 Publicado por R. L. Brooks em 1941.

Page 90: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 89

E 3.13.3 Imagine uma grade em que todos os vértices exceto um estão co-loridos. Cada vértices colorido tem uma de 3 possíveis cores. Invente uma“heurística da troca de cores em componentes bicoloridas” (compare com oexercício 3.12.14) para obter, a partir da coloração parcial dada, uma colora-ção (total) com apenas 3 cores.

E 3.13.4 Sejam I e J conjuntos estáveis num grafo G e suponha I ∩ J = ∅.Seja X o conjunto dos vértices de um componente do grafo bipartido G[I∪J ].Mostre que o conjunto I ⊕X é estável no grafo G.

E 3.13.5 (ALGORITMO) Descreva uma heurística de coloração de vérticesbaseada no exercício 3.13.4. (No início de cada iteração temos uma coloraçãoparcial dos vértices; cada iteração escolhe um vértice não-colorido e procuraatribuir a ele uma das cores já usadas.)

EI 3.13.6 Sejam v1, . . . , vn os vértices de um grafo e suponha que, para i =2, . . . , n, o conjunto perfect

eliminationscheme

v1, . . . , vi−1 ∩ N(vi)

é uma clique. Escreva formalmente um algoritmo que calcule uma colora-ção de vértices mínima e uma clique máxima no grafo.56 (Esse algoritmo éconhecido como perfect elimination scheme.)

EDD 3.13.7 (TEOREMA DE LOVÁSZ57) 58 Um grafo é perfeito (= perfect) se grafoperfeitoχ(G[X]) = ω(G[X]) para todo subconjunto X de VG . Mostre que o comple-

mento de todo grafo perfeito é perfeito.

E 3.13.8 Suponha que P é um caminho de comprimento máximo num grafoG. Digamos que P tem k vértices. Mostre que G admite uma coloração devértices com não mais que k cores.

EI 3.13.9 (TEOREMA DE GALLAI E ROY59) Para qualquer orientação ací-

56 Sugestão: No início de cada iteração os vértices v1, . . . , vj já foram coloridos com kcores e G[v1, . . . , vj] tem uma clique com k vértices.

57 Publicado por Lásló Lovász em 1972.58 Em 2002, Maria Chudnovsky e Paul D. Seymour provaram, como base em trabalho

prévio de Neil Robertson e Robin Thomas, o “teorema forte dos grafos perfeitos” (StrongPerfect Graph Theorem): um grafo G é perfeito se e somente se nem G nem G contêmum buraco ímpar. Um buraco ímpar (= odd hole) é um circuito induzido com um númeroímpar ≥ 5 de vértices. Essa caracterização havia sido conjeturada por Claude Berge em1960.

59 Publicado em 1966 por Tibor Gallai e em 1967, independentemente, por Bernard Roy.

Page 91: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 90

clica60 D de um grafo G, seja k(D) o comprimento de um caminho orien-tado61 máximo em D. Então

χ(G) = 1 + minD

k(D) .

ED 3.13.10 Prove que a seguinte conjetura62 é falsa: Para todo grafo G, seχ(G) = k então G contém uma subdivisão (veja exercício 3.19.19) de Kk .

D 3.13.11 Prove a seguinte conjetura de Hadwiger63: Para todo grafo G, seχ(G) = k então G tem um menor isomorfo a Kk .

60 Uma orientação de um grafo consiste na substituição de cada aresta vw pelo par orde-nado (v, w) ou pelo par ordenado (w, v). Um tal par ordenado é chamado arco. O resultadoé um grafo dirigido. Um grafo dirigido D é acíclico se não tem circuitos orientados. Umcircuito é orientado se todos os seus arcos são dirigidas no mesmo sentido.

61 Um caminho é orientado se todos os seus arcos são dirigidas no mesmo sentido.62 A conjetura foi proposta por G. Hajós, em 1961.63 A conjetura foi proposta por H. Hadwiger, em 1943.

Page 92: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 91

3.14 Circuitos e caminhos hamiltonianos

Um circuito num grafo é máximo se o grafo não contém um circuito maiscomprido. A circunferência de um grafo é o comprimento de um circuito decomprimento máximo no grafo.

PROBLEMA DO CIRCUITO MÁXIMO: Encontrar um circuito máximonum grafo dado.

O problema de encontrar um caminho máximo é formulado de maneira aná-loga. Um caminho num grafo é máximo se o grafo não contém um caminhomais comprido.

Um circuito é hamiltoniano64 se contém todos os vértices do grafo. É evi-dente que todo circuito hamiltoniano é um circuito máximo. Um grafo éhamiltoniano se admite um circuito hamiltoniano. O problema do circuitomáximo tem a seguinte especialização óbvia:

PROBLEMA DO GRAFO HAMILTONIANO: Decidir se um dado grafoé hamiltoniano.

O conceito de caminho hamiltoniano e o problema do caminho hamiltoni-ano são definidos de maneira análoga.

Alguns dos exercícios abaixo envolvem a condição “todo vértice tem pelomenos k vizinhos”, ou seja, “|N(v)| ≥ k para todo vértice v”. Como |N(v)| =d(v), usaremos a expressão mais curta “δ(G) ≥ k” para formular a condição.

EF 3.14.1 É verdade que todo grafo completo tem um circuito hamiltoniano?

E 3.14.2 Encontre um circuito máximo no grafo da figura 3.11.

E 3.14.3 Encontre um circuito máximo no grafo de Petersen. Encontre umcaminho máximo no grafo de Petersen.

E 3.14.4 Prove que para todo k ≥ 2 o k-cubo tem um circuito hamiltoniano.(Sugestão: Use indução em k .)65

64 Referência ao matemático irlandês William Rowan Hamilton (− ). Teria sidomais justo homenagear o inglês Thomas P. Kirkman (− ).

65 Indução é a arte de reduzir um problema a uma versão menor d’ele mesmo.

Page 93: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 92

Figura 3.11: Encontre um circuito hamiltoniano. Veja exercício 3.14.2.

E 3.14.5 Dê uma condição necessária e suficiente para que uma grade tenhaum circuito hamiltoniano.

E 3.14.6 Encontre um circuito hamiltoniano no grafo do cavalo t-por-t.

EF 3.14.7 Seja G um grafo hamiltoniano 3-regular. Mostre que χ ′(G) = 3.

E 3.14.8 (ALGORITMO) Discuta o seguinte algoritmo para o problema docircuito hamiltoniano. Ao receber um grafo G,

(1) gere uma lista de todas as permutações de VG ; (2) descarte as per-mutações que não correspondem a circuitos hamiltonianos; (3) devolvaqualquer uma das permutações restantes.

E 3.14.9 Mostre que todo G tem um caminho de comprimento δ(G). (Vejaexercício 2.4.19.)

E 3.14.10 Mostre que todo grafo G tem um circuito de comprimento não-inferior a δ(G) + 1, desde que δ(G) > 1. (Veja exercício 2.4.22.)

E 3.14.11 Mostre que todo grafo G tem um caminho de comprimento pelomenos χ(G), sendo χ(G) o número cromático (veja seção 3.7) de G

E 3.14.12 Sejam P ∗ e Q∗ dois caminhos máximos em um grafo conexo G.Mostre que P ∗ e Q∗ têm um vértice em comum.

EF 3.14.13 Mostre que grafos hamiltonianos não têm pontes.

Page 94: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 93

E 3.14.14 Seja G um grafo (U,W )-bipartido tal que |U | 6= |W |. Prove que Gnão é hamiltoniano. (Outra maneira de formular a questão: para todo grafohamiltoniano (U,W )-bipartido tem-se |U | = |W |.)

EI 3.14.15 Seja S um conjunto de vértices de um grafo G tal que 0 < |S| <n(G). Suponha que

c(G− S) > |S| ,

sendo c(G − S) o número de componentes de G − S . Prove que G não éhamiltoniano.66 (Outra maneira de formular a questão: se um grafo G éhamiltoniano então c(G− S) ≤ |S| para toda parte própria e não-vazia S deVG .)

Mostre que a condição “c(G−S) ≤ |S|” é uma generalização da condição“|U | = |W |” discutida no exercício 3.14.14.

E 3.14.16 Seja G um grafo dotado de um caminho hamiltoniano. Mostre quec(G− S) ≤ |S|+ 1 para toda parte própria S de VG .

D 3.14.17 Um grafo G é t-duro (= t-tough) se, para todo conjunto S de vér-tices, c(G − S) ≤ |S|/t. Prove a seguinte conjetura67: Todo grafo 2-duro éhamiltoniano.

E 3.14.18 Mostre que existem grafos não-hamiltonianos que satisfazem acondição necessária discutida no exercício 3.14.15. Em outras palavras, mos-tre que existe um grafo não-hamiltoniano G tal que cG− S ≤ |S| para todoconjunto S de vértices tal que 0 < |S| < n(G).

E 3.14.19 Suponha que um grafo G satisfaz as desigualdades n(G) ≥ 4 eδ(G) ≥ n(G)− 2. Mostre que G é hamiltoniano.

E 3.14.20 Seja G um grafo conexo tal que δ(G) ≥ k para algum número natu-ral k ≥ 2. Prove que G contém (1) um circuito hamiltoniano ou (2) um cami-nho de comprimento pelo menos 2k (ou seja, um caminho com mais que 2kvértices).68 (Sugestão: Sejam u e v os extremos de um caminho máximo P .Mostre que o grafo (VP , EP ∪∇(u)∪∇(v)) contém um circuito hamiltoniano.)

66 Sugestão: Comece por analisar os casos |S| = 1 e |S| = 2.67 A conjetura foi proposta por Vašek Chvátal em 1971.68 Note que as duas alternativas não são mutuamente exclusivas.

Page 95: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 94

EI 3.14.21 (TEOREMA DE DIRAC69) Suponha que um grafo G satisfaz ascondições n(G) ≥ 3 e

δ(G) ≥ n(G)/2 .

Mostre que G é hamiltoniano. (Sugestão: Veja a solução do exercício 3.14.20.)

E 3.14.22 Seja G um grafo com a seguinte propriedade: para cada par u,v devértices não-adjacentes,

d(u) + d(v) ≥ n(G) + 1 .

Prove que, para cada par u,v de vértices, G tem um caminho hamiltonianocom extremos u e v .

E 3.14.23 Seja G um grafo e V1, V2, V3 uma partição de VG em partes nãovazias. Suponha que (1) cada vértice em V1 é adjacente a todos os vérticesde V2 ∪ V3 e (2) cada vértice de V2 é adjacente a todos os vértices de V3 .

Se |V2| = 2|V1| e |V3| = 3|V1|, prove que G é hamiltoniano. Se |V2| = 2|V1|e |V3| = 3|V1|+ 1, prove que G não é hamiltoniano.

E 3.14.24 ((Yoshiko)) Mostre que Kn,2n,3n é hamiltoniano para todo n ≥ 1.Mostre que Kn,2n,3n+1 não é hamiltoniano para todo n ≥ 1.

E 3.14.25 Mostre que toda aresta de um grafo hamiltoniano pertence a umcircuito.

D 3.14.26 Dê uma condição necessária e suficiente para que um grafo tenhaum circuito hamiltoniano.

D 3.14.27 (ALGORITMO) Invente um algoritmo rápido que encontre um cir-cuito hamiltoniano em qualquer grafo dado.70

E 3.14.28 Seja A um algoritmo que decide se um grafo dado tem um circuitohamiltoniano. Use A para formular um algoritmo que decide se um grafodado tem um caminho hamiltoniano.

Seja B um algoritmo que decide se um grafo dado tem um caminho ha-miltoniano. Use B para formular um algoritmo que decide se um grafo dadotem um circuito hamiltoniano.

69 Publicado em 1952 por Gabriel Andrew Dirac.70 Não se conhece um algoritmo rápido para decidir se um grafo é hamiltoniano. Em

termos técnicos, esse problema é NP-completo. Veja os livros de Garey–Johnson [GJ79], Ha-rel [Har92] e Sipser [Sip97].

Page 96: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 95

D 3.14.29 (ALGORITMO) Invente um algoritmo rápido para resolver o se-guinte problema: Dado um grafo e dois de seus vértices, digamos v e w,encontrar um caminho de comprimento máximo dentre os que têm extremosv e w.71

D 3.14.30 (PROBLEMA DO CAIXEIRO VIAJANTE (= Traveling Salesman Problem= TSP)) Seja K um grafo completo e ϕ uma função de EK em 0, 1, 2, 3, . . ..Para cada aresta e do grafo, diremos que ϕ(e) é o custo de e. O custo de umsubgrafo H de K é

∑e∈EH

ϕ(e). Invente um algoritmo para encontrar umcircuito hamiltoniano de custo mínimo em K .72

(A propósito, veja o sítio A History of the Traveling Salesman Problem, man-tido por Bill Cook na Georgia Tech University.)

71 O problema é NP-difícil. Veja os livros de Garey–Johnson [GJ79], Harel [Har92] e Sip-ser [Sip97].

72 O problema é NP-difícil. Veja os livros de Garey–Johnson [GJ79], Harel [Har92] e Sip-ser [Sip97].

Page 97: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 96

3.15 Ciclos e trilhas eulerianas

Um passeio (= walk) em um grafo é qualquer seqüência finita

(v0, v1, v2, . . . , vk−1, vk) (3.1)

de vértices tal que vi é adjacente a vi−1 para todo i entre 1 e k . Dizemos queo vértice v0 é a origem do passeio e que vk é o término do passeio. Dizemostambém que o passeio vai de v0 a vk e que o passeio liga v0 a vk . As arestasdo passeio são v0v1, v1v2, . . . , vk−1vk . O comprimento do passeio (3.1) é k .

Uma trilha (= trail) é um passeio sem arestas repetidas, isto é, um passeiocujas arestas são distintas duas a duas. É claro que o comprimento de umatrilha é igual à cardinalidade do seu conjunto de arestas.

Um passeio (v0, . . . , vk) é fechado (= closed) se sua origem coincide com otérmino, ou seja, se v0 = vk . Um ciclo (= cycle) é uma trilha fechada.73

Um passeio é simples se os seus vértices são distintos dois a dois, ou seja,se não tem vértices repetidos. É evidente que todo passeio simples é, emparticular, uma trilha.

Um ciclo num grafo é euleriano74 se passa por todas as arestas e todos os vér-tices do grafo.75 Assim, um ciclo (v0, v1, . . . , vk−1, vk) é euleriano se e somentese k = m(G). Um grafo é euleriano se tem um ciclo euleriano. Uma trilha éeuleriana se passa por todas as arestas e todos os vértices do grafo.

PROBLEMA DO CICLO EULERIANO: Encontrar um ciclo eulerianonum grafo dado.

PROBLEMA DA TRILHA EULERIANA: Encontrar uma trilha euleriananum grafo dado.

Uma decomposição em circuitos, ou cobertura simples por circuitos (= cir-cuit simple cover), de um grafo é uma coleção de circuitos tal que cada arestado grafo pertence a exatamente um dos circuitos da coleção. A existência deuma tal decomposição é essencialmente equivalente à existência de um cicloeuleriano (veja exercício 3.15.9).

73 De acordo com essa definição, um ciclo pode ter comprimento 0. Já um circuito, pordefinição, tem comprimento pelo menos 3.

74 Referência a Leonhard Euler (− ).75 Alguns livros não exigem que o ciclo passe por todos os vértices do grafo. A diferença

entre as duas definições é superficial.

Page 98: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 97

EF 3.15.1 Sejam v0, . . . , v5 alguns vértices (não necessariamente distintos doisa dois) de um grafo G. Quais das seguintes afirmações são verdadeiras: (1) sev0v1v2v3v4v5 é um caminho em G então (v0, v1, v2, v3, v4, v5) é um passeio sim-ples; (2) se v0v1v2v3v4v5v0 é um circuito em G então (v0, v1, v2, v3, v4, v5, v0)é um ciclo; (3) se (v0, v1, v2, v3, v4, v5) é uma trilha então v0v1v2v3v4v5 é umcaminho; (4) se (v0, v1, v2, v3, v4, v5, v0) é um ciclo então v0v1v2v3v4v5v0 é umcircuito.

E 3.15.2 Encontre ciclos eulerianos nos grafos da figura 3.12.

rr rr r

rr r

AA

TTTTTT

TTT

c

d

g

e

a h

b

f

r r

rrrr

rr

@@

@@

aaaaa

aaaaa

Figura 3.12: Encontre um ciclo euleriano. Veja exercício 3.15.2.

E 3.15.3 Para que valores de p e q uma grade p-por-q tem um ciclo euleriano?

E 3.15.4 Para que valores de k o k-cubo é euleriano?

E 3.15.5 Dê uma condição necessária e suficiente para que um grafo com-pleto tenha um ciclo euleriano.

E 3.15.6 Encontre um ciclo euleriano no grafo do cavalo 8-por-8.

E 3.15.7 Suponha que um grafo G tem um ciclo euleriano. Mostre que ografo das arestas L(G) tem um circuito hamiltoniano (veja exercício 1.1.25).

Mostre que a recíproca não é verdadeira: L(G) pode ser hamiltonianosem que G tenha um ciclo euleriano.

E 3.15.8 Exiba uma decomposição em circuitos de cada um dos grafos dafigura 3.13.

EI 3.15.9 Mostre que todo grafo dotado de um ciclo euleriano tem uma de-composição em circuitos. (Sugestão: Veja exercício 2.4.20.)

Mostre que todo grafo conexo dotado de uma decomposição em circuitostem um ciclo euleriano.

Page 99: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 98

Figura 3.13: Encontre uma decomposiçãoem circutos. Veja exercício 3.15.8.

EF 3.15.10 Suponha que um grafo G não é conexo. Mostre que G não temciclo euleriano.

E 3.15.11 Suponha que um grafo G tem um vértice de grau ímpar. Mostreque G não é euleriano. (Em outras palavras, se G é euleriano então todos osseus vértices têm grau par.)76

EI 3.15.12 (TEOREMA DE EULER77) Seja G um grafo conexo. Mostre que Gtem um ciclo euleriano se e somente se o grau de cada vértice de G é par. Emoutras palavras, mostre que a ausência de vértices de grau ímpar é condiçãonecessária e suficiente para que um grafo conexo tenha um ciclo euleriano.78

E 3.15.13 (BOM) Mostre que um grafo conexo tem um ciclo euleriano se esomente se todos os seus cortes são pares.

E 3.15.14 Dê uma condição necessária e suficiente para que um grafo tenhauma trilha euleriana não-fechada.

E 3.15.15 (ALGORITMO) Construa um algoritmo que encontre um ciclo eu-leriano em qualquer grafo conexo dado.

E 3.15.16 (ALGORITMO) Construa um algoritmo que encontre uma trilhaeuleriana (fechada ou não) em qualquer um grafo conexo dado.

ED 3.15.17 (PROBLEMA DO CARTEIRO CHINÊS (= Chinese Postman Pro-blem)79) Esboce um algoritmo para resolver o seguinte problema: Dado

76 Portanto, um vértice ímpar é um certificado da inexistência de um ciclo euleriano.77 Leonhard Euler (− ).78 Grafos eulerianos não têm vértices ímpares; grafos bipartidos não têm circuitos ímpares.

Mera coincidência, ou há algo mais por trás disso? Veja exercício 3.19.42.79 Proposto em 1962 pelo matemático chinês Mei-Ko Kwan.

Page 100: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 99

um grafo, encontrar um passeio de comprimento mínimo dentre os que sãofechados e passam por todas as arestas. (Sugestão: Combine o problemado ciclo euleriano com o problema do emparelhamento perfeito de pesomínimo; veja o exercício 3.11.16.)

Page 101: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 100

3.16 Conectores mínimos

Uma conector80 de um grafo G é qualquer conjunto C de arestas de G talque o grafo (VG, C) é conexo. Um conector C∗ de um grafo é mínimo se nãoexiste outro conector C tal que |C| < |C∗|.

PROBLEMA DO CONECTOR MÍNIMO: Encontrar um conector mí-nimo de um grafo dado.

Convém não confundir mínimo com minimal. Um conector C ′ é minimalse não existe conector C tal que C ⊂ C ′ . É evidente que todo conector mí-nimo também é minimal. É um tanto surpreendente (diante do que acontececom emparelhamentos, por exemplo) que a recíproca seja verdadeira: todoconector minimal é mínimo (veja exercício 3.16.3). Por isso, o problema doconector mínimo é muito fácil.

Uma árvore geradora (= spanning tree) de um grafo G é qualquer subgrafogerador de G que seja uma árvore.81 Como veremos abaixo (exercício 3.16.2),uma árvore geradora é essencialmente o mesmo que um conector minimal.

EF 3.16.1 Mostre que um grafo G tem um conector se e somente se G é co-nexo.

E 3.16.2 A. Seja T uma árvore geradora de um grafo G. Mostre que ET é umconector minimal de G.

B. Seja C um conector minimal de G. Mostre que o grafo (VG, C) é umaárvore geradora de G.

EI 3.16.3 Mostre que todo conector minimal de um grafo G tem exatamenten(G)−1 arestas. (Veja exercício 2.8.9.) Deduza daí que todo conector minimalé mínimo.

E 3.16.4 (ALGORITMO) Construa um algoritmo eficiente que receba umgrafo G e devolva um conector mínimo de G ou uma prova de que G não éconexo.

80 Cuidado! O termo “conector” não é usual na literatura da teoria dos grafos.81 Uma árvore geradora de um grafo poderia ser chamada esqueleto do grafo. Em alemão,

por exemplo, diz-se Gerüst (= andaime).

Page 102: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 101

E 3.16.5 Prove que todo grafo conexo com dois ou mais vértices tem um vér-tice v tal que G− v é conexo. (Compare com o exercício 2.6.17.)

E 3.16.6 (CIRCUITOS FUNDAMENTAIS) Seja C um conector minimal de umgrafo G e a um elemento de EG r C . Mostre que o grafo (VG, C ∪ a) temum único circuito.

(Circuitos desse tipo são conhecidos como circuitos fundamentais de G.É claro que os circuitos fundamentais dependem do conector: para cada co-nector minimal de G teremos uma coleção diferente de circuitos fundamen-tais.)

EI 3.16.7 Seja C um conector minimal de um grafo G e a um elemento deEG r C . Mostre que existe b em C tal que

(C ∪ a) r b

é um conector minimal de G. (Veja o exercício 2.8.7, parte A.)

E 3.16.8 (BOM) Seja b uma aresta em um conector minimal C de um grafo G.Dê uma condição necessária e suficiente para que exista uma aresta a emEG r C tal que (C r b) ∪ a seja um conector. (Compare com o exercí-cio 3.16.7.)

E 3.16.9 Suponha que um grafo G tem um único conector minimal. Mostreque G é uma árvore.

E 3.16.10 (ALGORITMO) Suponha que cada aresta a de um grafo G tem um“peso” numérico π(a) ≥ 0. Por definição, o peso de qualquer conjunto Ade arestas é o número

∑a∈A π(a). Construa um algoritmo que encontre um

conector de G que tenha peso mínimo.82

E 3.16.11 Seja G um grafo conexo com n vértices e m arestas. Mostre que Gtem pelo menos m− n + 1 circuitos. (Veja o exercício 2.6.26.)

82 Os célebres algoritmos de Kruskal e Prim resolvem o problema. Esses algoritmos têmum caráter “guloso”; eles são os mais antigos e mais conhecidos algoritmos gulosos da teoriados grafos. A prova da correção desses algoritmos depende do exercício 3.16.7.

Page 103: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 102

3.17 Subflorestas máximas

Uma subfloresta (ou subgrafo acíclico) de um grafo G é qualquer florestaque seja subgrafo de G. Uma subfloresta F ∗ de um grafo G é máxima se nãoexiste subfloresta F tal que n(F ) > n(F ∗) ou m(F ) > m(F ∗).

PROBLEMA DA SUBFLORESTA MÁXIMA: Encontrar uma subflorestamáxima de um grafo dado.

Convém não confundir máxima com maximal. Uma subfloresta F ′ de G émaximal se não existe subfloresta F de G tal que F ⊃ F ′ . É evidente que todasubfloresta máxima também é maximal. É um tanto surpreendente (diantedo que acontece com emparelhamentos, por exemplo) que a recíproca sejaverdadeira: toda subfloresta maximal é máxima (veja exercício 3.17.2). Porisso, o problema da subfloresta máxima é muito fácil.

É claro que toda subfloresta maximal (e, em particular, toda subfloresta má-xima) é geradora. Mais precisamente, se F é uma subfloresta maximal de umgrafo G então VF = VG .

EF 3.17.1 Mostre que toda subfloresta maximal de um grafo G é geradora.

EI 3.17.2 Mostre que toda subfloresta maximal de um grafo G tem exata-mente n(G)−c(G) arestas, sendo c(G) o número de componentes de G. (Vejaexercício 2.8.10.) Deduza daí que toda subfloresta maximal é máxima.

E 3.17.3 Seja F uma subfloresta maximal de um grafo G. Seja H um compo-nente de G. Mostre que EF ∩ EH é um conector de H . Formule e prove arecíproca desse fato.

E 3.17.4 (ALGORITMO) Construa um algoritmo eficiente que encontre umasubfloresta máxima de qualquer grafo dado.

E 3.17.5 (CIRCUITOS FUNDAMENTAIS) Seja F uma subfloresta maximal deum grafo G e a uma aresta de G que não esteja em F . Mostre que o grafoF + a tem um único circuito.

(Circuitos desse tipo são conhecidos como circuitos fundamentais de G.É claro que os circuitos fundamentais dependem da subfloresta: para cadasubfloresta maximal de G teremos uma coleção diferente de circuitos funda-mentais.)

Page 104: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 103

EI 3.17.6 Seja F uma subfloresta maximal de um grafo G e a uma aresta deG que não esteja em F . Mostre que existe b em EF tal que

(F + a)− b ,

é uma subfloresta maximal de G. (Veja o exercício 2.8.7, parte A.)

E 3.17.7 Suponha que um grafo G tem uma única subfloresta maximal. Mos-tre que G é uma floresta.

E 3.17.8 (ALGORITMO) Suponha que cada aresta a de um grafo G tem um“custo” não-negativo. Por definição, o custo de qualquer subfloresta F deG é a soma dos custos da aresta de F . Construa um algoritmo que encontreuma subfloresta de G que tenha custo máximo.83

E 3.17.9 Uma cobertura de circuitos por arestas (= feedback edge set) em umgrafo G é um conjunto de arestas que intercepta todos os circuitos de G, ouseja, um conjunto F de arestas tal que F ∩EO 6= ∅ para todo circuito O. Quala cardinalidade de uma cobertura mínima de circuitos por arestas?84

83 Os célebres algoritmos de Kruskal e Prim resolvem o problema. Esses algoritmos têmum caráter “guloso”; eles são os mais antigos e mais conhecidos algoritmos gulosos da teoriados grafos. A prova da correção desses algoritmos depende do exercício 3.17.6.

84 A propósito, eis um problema bem mais difícil: encontrar uma cobertura mínima decircuitos por vértices. Uma cobertura de circuitos por vértices (= feedback vertex set) emum grafo G é um conjunto de vértices que intercepta todos os circuitos de G, ou seja, umconjunto X de vértices tal que X ∩ VC 6= ∅ para todo circuito C .

Page 105: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 104

3.18 Caminhos e circuitos mínimos

Um caminho é mais curto que outro se o comprimento do primeiro é menorque o do segundo. Um caminho P∗ é mínimo se nenhum caminho mais curtotem os mesmos extremos que P∗ .

PROBLEMA DO CAMINHO MÍNIMO: Dados vértices v e w de umgrafo, encontrar um caminho mínimo com extremos v e w.

Em outras palavras, o problema consiste em encontrar um caminho de com-primento mínimo dentre todos os caminhos que têm extremos v e w.

A distância entre dois vértices v e w é o comprimento de um caminho mí-nimo com extremos v e w. Se não existe caminho algum com esses extremos,dizemos que a distância entre v e w é infinita. A distância entre dois vérticesv e w de um grafo G será denotada por distG(v, w). Se G estiver subenten- dist( , )dido, diremos simplesmente dist(v, w).

Um circuito é mínimo se o grafo não contém outro circuito mais curto. Acintura (= girth) de um grafo é o comprimento de um circuito mínimo nografo. Se um grafo não tem circuito algum, sua cintura é infinita.

E 3.18.1 No grafo da figura 3.14, calcule a distância entre o vértice x e cadaum dos outros vértices. Em seguida, exiba um caminho mínimo entre x e y .

x

y

r r r r r r r rr r r r r r r rr r r r r r r rr r r r r r r rr r r r r r r rr r r r r r r r

r r r r rr r rr r rr r r rr rr r r r

rrrrr

rrr

rr

rrrr

rrrrr

rrrrr

@@

@@

@@

Figura 3.14: Encontre um caminho mínimoentre x e y . Veja o exercício 3.18.1.

EF 3.18.2 Seja k a distância entre dois vértices v e w num grafo. Mostre que(1) existe um caminho de comprimento k de v a w e (2) não existe caminhode comprimento menor que k de v a w. Mostre a recíproca: se (1) e (2) valementão a distância entre v e w é k .

Page 106: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 105

E 3.18.3 Suponha que v0v1 · · · vk é um caminho mínimo (dentre os que têmextremos v0 a vk ). Prove que

dist(v0, vj) = j

para todo índice j .

EI 3.18.4 (DESIGUALDADE TRIANGULAR) Prove que para qualquer terno(x, y, z) de vértices de um grafo vale a desigualdade

dist(x, y) + dist(y, z) ≥ dist(x, z) .

E 3.18.5 Seja r um vértice de um grafo conexo G. Mostre que, para qualqueraresta xy , tem-se |dist(r, x)− dist(r, y)| ≤ 1.

E 3.18.6 (ALGORITMO DA BUSCA EM LARGURA85) Construa um algoritmoeficiente que receba dois vértices v e w de um grafo e calcule a distância entrev e w. Construa um algoritmo eficiente que encontre um caminho mínimoentre dois vértices dados.

E 3.18.7 (ÁRVORE DAS DISTÂNCIAS) Seja r um vértice de um grafo co-nexo G. Mostre que G tem uma árvore geradora T tal que

distG(r, x) = distT (r, x)

para todo vértice x (ou seja, a distância de r a x em G é igual à distância der a x em T ).

EF 3.18.8 É verdade que todo grafo conexo G tem uma árvore geradora T talque distG(u, v) = distT (u, v) para todo par u,v de vértices?

E 3.18.9 O diâmetro de um grafo G é o número maxu,v dist(u, v), sendo omáximo tomado sobre todos os pares u,v de vértices. Prove que o diâmetrode quase todo grafo G em G(n) (veja a seção 2.10) não passa de 2.

E 3.18.10 Um vértice v de um grafo é central se minimiza maxx∈V dist(v, x).Mostre que toda árvore tem no máximo dois centros e se tiver dois então elessão adjacentes.

E 3.18.11 (ALGORITMO) Construa um algoritmo que calcule a cintura dequalquer grafo dado. Construa um algoritmo que encontre um circuito mí-nimo em qualquer grafo dado. (Sugestão: Veja o exercício 3.18.6.)

85 Breadth-First Search Algorithm.

Page 107: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 106

Restrições de paridade

Dizemos que um circuito ou caminho é ímpar se o seu comprimento é umnúmero ímpar. Analogamente, um circuito ou caminho é par se o seu com-primento é um número par.

A cintura ímpar de um grafo é o comprimento de um circuito ímpar mínimono grafo. A cintura par é definida analogamente.

E 3.18.12 Seja r um vértice de um grafo conexo G. Sejam x e y dois vérti-ces adjacentes tais que dist(r, x) = dist(r, y). Mostre que G tem um circuitoímpar. Mais especificamente, mostre que a cintura ímpar do grafo não é su-perior a dist(r, x) + dist(r, y) + 1.

E 3.18.13 Use o conceito de distância para mostrar que um grafo é bicolorívelse e somente se não tem circuitos ímpares. (Compare com o exercício 3.3.23.Sugestão: Veja o exercício 3.18.12.)

E 3.18.14 (ALGORITMO) Construa um algoritmo que calcule a cintura ímparde qualquer grafo dado. Construa um algoritmo que encontre um circuitoímpar mínimo em qualquer grafo dado.

E 3.18.15 (ALGORITMO) Construa um algoritmo que calcule a cintura parde qualquer grafo dado. Construa um algoritmo que encontre um circuitopar mínimo em qualquer grafo dado.

ED 3.18.16 (ALGORITMO) Dados dois vértices u e v de um grafo G, encontreum caminho de comprimento mínimo na coleção de todos os caminhos decomprimento par que têm extremos u e v .

ED 3.18.17 (ALGORITMO) Dados dois vértices u e v de um grafo G, encontreum caminho de comprimento mínimo na coleção de todos os caminhos decomprimento ímpar que têm extremos u e v .

Page 108: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 107

3.19 Mapas planos e grafos planares

Grosso modo, um grafo é planar se pode ser desenhado no plano86 sem queas arestas se cruzem. A definição exata depende dos conceitos de arco e mapaplano, como veremos a seguir.

Um arco é qualquer conjunto de pontos no plano R2 que seja homeomorfo aointervalo fechado [0, 1] da reta. Em outras palavras, um subconjunto A de R2

é um arco se existe uma bijeção contínua (no sentido topológico) do intervalo[0, 1] em A. As imagens de 0 e 1 sob essa bijeção contínua são os extremosdo arco.87

Um mapa plano88 é um par (V, E) de conjuntos finitos, sendo V um conjuntode pontos do plano e E um conjunto de arcos tal que

• os extremos de cada arco são elementos de V ,• o interior de cada arco é disjunto de V ,• o interior de cada arco é disjunto de todos os demais arcos,• arcos diferentes têm diferentes pares de extremos.

Os elementos de V são os vértices do mapa e os de E são os arcos do mapa.

Figura 3.15: O mapa da esquerda não é plano. O mapaplano da direita representa um K4 .

O grafo de um mapa plano (V, E) é definido da maneira óbvia: o conjuntode vértices do grafo é V e dois vértices v e w são adjacentes no grafo se existeum arco em E com extremos v e w.

Dizemos que um mapa plano (V, E) representa um grafo G se o grafo de

86 Do ponto de vista técnico, seria mais cômodo usar a superfície da esfera no lugar doplano. Mas os resultados são equivalentes.

87 Por definição, os dois extremos são distintos.88 Alguns livros dizem “grafo plano”. Essa expressão não deve ser confundida com “grafo

planar”.

Page 109: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 108

(V, E) é isomorfo a G. Em geral, um grafo pode ser representado por váriosmapas planos diferentes.

PROBLEMA DO MAPA PLANO: Encontrar um mapa plano que repre-sente um grafo dado.

Um grafo G é planar se for representável por um mapa plano, ou seja, seexistir um mapa plano cujo grafo é isomorfo a G.

PROBLEMA DA PLANARIDADE: Decidir se um dado grafo é planarou não.

EF 3.19.1 Mostre que todo circuito é planar.

EF 3.19.2 Mostre que toda grade (veja exercício 1.1.4) é planar.

E 3.19.3 Mostre que o 3-cubo (veja exercício 1.1.12) é planar. O 4-cubo tam-bém é planar? O 5-cubo é planar?

E 3.19.4 O grafo da dama t-por-t (veja exercício 1.1.6) é planar? O grafo docavalo t-por-t (veja exercício 1.1.7) é planar?

E 3.19.5 O grafo de Petersen (veja figura 2.1) é planar?

E 3.19.6 Seja G um K5 (isto é, um grafo completo com 5 vértices). Mostreque G− e é planar qualquer que seja a aresta e de G. Repita o exercício comK3,3 (veja figura 3.16) no lugar de K5 .

EI 3.19.7 Mostre que K3,3 (veja figura 3.16) não é planar.

EI 3.19.8 Mostre que K5 (veja figura 3.16) não é planar.

EI 3.19.9 Mostre que todo subgrafo de um grafo planar é planar. Em outraspalavras, se um grafo G tem um subgrafo não-planar então G não é planar.

E 3.19.10 Suponha que todos os subgrafos próprios de grafo G são planares.É verdade que G é planar?

Page 110: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 109

Figura 3.16: K3,3 e K5 não são planares. Veja exercícios 3.19.7 e 3.19.8.

E 3.19.11 Suponha que um grafo G não contém um K5 nem um K3,3 . É ver-dade que G é planar?

E 3.19.12 Seja e uma ponte de um grafo G. Mostre que G é planar se e so-mente se G− e é planar.

Seja v um vértice tal que G − v tem mais componentes que G. Mostreque G é planar se e somente se G− v é planar.

Caracterização de grafos planares

Como vimos na seção 3.13, uma contração (= contraction) de um grafo G équalquer grafo H da seguinte forma:

• VH é uma partição de VG em partes não-vazias,• o grafo induzido G[X] é conexo para todo elemento X de VH ,• dois elementos distintos de VH são adjacentes em H se existe uma aresta

em G com uma ponta em um e outra no outro.

Figura 3.17: Um grafo G e uma contração de G.

A seguinte generalização do conceito de subgrafo é muito importante no es-tudo do problema da planaridade e de vários outros tópicos da teoria dos

Page 111: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 110

grafos: Um menor (= minor89) de um grafo G é qualquer contração de umsubgrafo de G.

A expressão “G tem um subgrafo contratível a H” é usada às vezes comoabreviatura de “G tem um menor isomorfo a H”.

E 3.19.13 Mostre que toda contração de um grafo planar é planar.

EI 3.19.14 Suponha que algum menor de um grafo G não é planar. Mostreque G não é planar. (Em outras palavras, mostre que todo menor de umgrafo planar é planar.)

E 3.19.15 Mostre que o grafo de Petersen tem um menor isomorfo a K5 . De-duza daí que o grafo de Petersen não é planar. Mostre também que o grafode Petersen tem um menor isomorfo a K3,3 .

E 3.19.16 Mostre que o 4-cubo tem um menor isomorfo a K3,3 . Deduza daíque o 4-cubo não é planar.

E 3.19.17 Mostre que K5 não tem menor isomorfo a K3,3 . Mostre que K3,3

não tem menor isomorfo a K5 .

EID 3.19.18 (TEOREMA DE WAGNER90) Mostre que um grafo é planar see somente se não tem um menor isomorfo a K5 nem um menor isomorfoa K3,3 .

(Esse fato é equivalente ao Teorema de Kuratowski, enunciado no exer-cício 3.19.20.)

E 3.19.19 Um operação de subdivisão de um grafo H consiste no seguinte:escolha um objeto s que não esteja em VH e troque alguma aresta vw de Hpelas arestas vs e sw. Um subdivisão de um grafo H é o grafo que resultade uma seqüência arbitrária (e recursiva) de operações de subdivisão.

Mostre que se S é uma subdivisão de um grafo H então H é isomorfo auma contração de S . A recíproca é verdadeira?

Suponha que um grafo G contém uma subdivisão de um grafo H . Mos-tre que H é isomorfo a um menor de G. A recíproca é verdadeira?

89 Diga “máinor”.90 Publicado em 1937 pelo matemático alemão Klaus W. Wagner (− ).

Page 112: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 111

E 3.19.20 (TEOREMA DE KURATOWSKI91) Mostre que um grafo é planar se esomente se não contém uma subdivisão de K5 nem uma subdivisão de K3,3 .(Veja os exercícios 3.19.18 e 3.19.19.)

(Esse fato é equivalente ao Teorema de Wagner, enunciado no exercí-cio 3.19.18.)

E 3.19.21 (ALGORITMO) Construa um algoritmo que decida se um dadografo é planar.

Faces e dualidade

O suporte de um mapa plano (V, E) é o conjunto V ∪⋃

E (trata-se, obvia-mente, de um subconjunto de R2).92 Em outras palavras, o suporte do mapaé o conjunto de todos os vértices do mapa e todos os pontos de R2 que per-tencem a arcos do mapa.

Uma face (= face) de um mapa plano (V, E) é qualquer região do comple-mento do suporte do mapa, ou seja, qualquer componente conexo (no sen-tido topológico93) do conjunto R2 r

(V ∪

⋃E). A fronteira de cada face é

formada por arcos do mapa; o número de arcos na fronteira de uma face f éo grau de f .

Se o grafo de um mapa plano com 3 ou mais vértices é conexo e não tempontes (veja seção 2.5), então as faces do mapa são “bem comportadas”:

cada face é homeomorfa a um disco;a fronteira de cada face corresponde a um circuito no grafo do mapa;cada arco pertence à fronteira de exatamente duas faces diferentes.

O grafo das faces, ou grafo dual, de um mapa plano (V, E) é definido daseguinte maneira:94 os vértices do grafo são as faces do mapa e duas facessão adjacentes se suas fronteiras têm pelo menos um arco em comum.95

91 Publicado em 1930 pelo matemático polonês Kazimierz Kuratowski (− ).92 Se E = A1, A2, . . . , Ak então

⋃E denota o conjunto A1 ∪A2 ∪ · · · ∪Ak .

93 O conceito topológico de conexão é formalmente análogo ao conceito de conexão dateoria dos grafos: uma parte X do plano é conexa se, para quaisquer pontos x e x′ em X ,existe um arco com extremos em x e x′ cujos pontos estão todos em X .

94 Note que o grafo dual é definido a partir de um mapa e não a partir do grafo do mapa.Um grafo (planar) pode ser representado por vários mapas planos diferentes, e cada umdesses mapas tem o seu grafo dual.

95 O estudo da dualidade planar fica mais “limpo” se a definição de grafo é liberalizada

Page 113: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 112

Um exemplo: o grafo dos estados do Brasil que examinamos no exercí-cio 1.1.15 é o grafo dual do mapa do Brasil.

E 3.19.22 Se o grafo de um mapa plano (V, E) é um caminho então (V, E) temapenas uma face. Se o grafo de um mapa plano (V, E) é um circuito então(V, E) tem exatamente duas faces (e as duas faces têm a mesma fronteira).

E 3.19.23 Um mapa plano (V, E) tem uma e uma só face se e somente se ografo de (V, E) é uma floresta.

E 3.19.24 Quantas faces tem o mapa plano de uma grade p-por-q?

E 3.19.25 Quantas faces tem o mapa plano do 3-cubo?

E 3.19.26 Dê um exemplo de um grafo conexo planar que possa ser represen-tado por dois mapa planos com diferentes números de faces.

EI 3.19.27 (FÓRMULA DE EULER96) Seja (V, E) um mapa plano cujo grafo éconexo. Mostre que

|V | − |E|+ |F | = 2 ,

onde F é o conjunto das faces do mapa. (Verifique que a fórmula é falsa emmapas cujos grafos não são conexos.)

E 3.19.28 Seja F o conjunto das faces de um mapa plano (V, E). Suponha queo grafo do mapa é conexo e não tem pontes. Mostre que

∑f∈F d(f) = 2|E|,

sendo d(f) o grau da face f .

EI 3.19.29 Seja G um grafo planar com 3 ou mais vértices. Mostre que

m(G) ≤ 3n(G)− 6 . (3.2)

(Sugestão: Use a fórmula de Euler.) Como são as faces de um mapa plano(V, E) tal que |E| = 3|V | − 6?

para permitir que (1) duas ou mais arestas diferentes tenham o mesmo par de pontas (ou seja,para permitir “arestas paralelas”) e (2) uma aresta tenha duas pontas iguais (arestas dessetipo são “laços”). É claro que a definição de mapa plano deve ser liberalizada de acordo.Mas prefiro não adotar essa liberalização no presente texto. Para compensar, será necessárioevitar ocasionalmente os grafos que tenham pontes ou vértices de grau 2.

96 Leonhard Euler (− ).

Page 114: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 113

EF 3.19.30 É verdade que todo grafo G com m(G) ≤ 3n(G)− 6 é planar?

D 3.19.31 Prove a seguinte conjetura:97 Todo grafo G com m(G) > 3n(G)− 6contém uma subdivisão de K5 . (Veja exercício 3.19.19.)

E 3.19.32 Deduza de (3.2) que K5 não é planar.

E 3.19.33 Seja G um grafo com 3 ou mais vértices e cintura (veja seção 3.18)não-inferior a 4. Mostre que se G é planar então m(G) ≤ 2n(G)−4. (Comparecom o exercício 3.19.29.) Deduza daí que K3,3 não é planar.

E 3.19.34 Seja G um grafo e k um número natural não-inferior a 3. Suponhaque G tem pelo menos 1

2(k + 2) vértices e cintura não-inferior a k . Mostre

que se G é planar então m(G) ≤ (n(G) − 2)k/(k − 2). (Compare com oexercício 3.19.33.)

E 3.19.35 Mostre que todo grafo planar tem pelo menos um vértice de graunão-superior a 5. Em outras palavras, mostre que δ(G) ≤ 5 para todo grafoplanar G. (Sugestão: Veja o exercício 3.19.29.)

E 3.19.36 Dê exemplo de um grafo planar que não contém vértices de graumenor que 5.

E 3.19.37 Seja G um grafo com 11 ou mais vértices. Mostre que G e o seucomplemento G não podem ser ambos planares.

E 3.19.38 Seja M um mapa plano que representa uma grade 3-por-4. Façauma figura do grafo das faces (ou seja, do grafo dual) de M .

E 3.19.39 Faça uma figura dos grafos das faces de cada um dos mapas dese-nhados nas figuras 3.18 e 3.19.

E 3.19.40 Seja G um K5 e e uma aresta de G. Seja M um mapa plano querepresenta G− e. Seja G∗ o grafo das faces (ou seja, o grafo dual) de M . Façauma figura de G∗ . Verifique que G∗ é planar. Exiba uma representação plana,digamos M∗ de G∗ . Faça uma figura do grafo das faces de M∗ .

97 A conjetura foi proposta por G. A. Dirac em 1964.

Page 115: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 114

Figura 3.18: Faça uma figura do grafo dual decada um dos mapas planos da figura.

Figura 3.19: Faça uma figura do grafo dual decada um dos mapas planos da figura.

EI 3.19.41 Seja G o grafo de um mapa plano M . Suponha que G é conexo,não tem pontes e não tem vértices de grau 2 (ou seja, δ(G) ≥ 3). Seja G∗ ografo das faces (= grafo dual) do mapa M . Mostre que G∗ é planar.

Seja M∗ um mapa plano que representa G∗ . Seja G∗∗ o grafo das facesde M∗ . Mostre que G∗∗ é isomorfo a G.

E 3.19.42 (BOM) Seja G o grafo de um mapa plano (V, E). Suponha que G éconexo, não tem pontes e não tem vértices de grau 2 (ou seja, δ(G) ≥ 3). SejaG∗ o grafo das faces (ou seja, grafo dual) do mapa (V, E). Mostre que G∗ ébicolorível se e somente se G tem um ciclo euleriano.

E 3.19.43 Um mapa plano é auto-dual se o seu grafo for isomorfo ao seugrafo dual. Mostre que se (V, E) é auto-dual então 2|V | = |E| + 2. Mostreque nem todo mapa plano (V, E) tal que 2|V | = |E|+ 2 é auto-dual.

E 3.19.44 Uma cobertura dupla por circuitos (= circuit double cover) de um coberturadupla

por circuitosgrafo G é uma multicoleção98 de circuitos dotada da seguinte propriedade:

98 Uma multicoleção pode conter mais de uma “cópia” de cada elemento. No presentecontexto, a multicoleção tem no máximo duas cópias de cada elemento.

Page 116: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 115

cada aresta de G pertence a exatamente dois dos circuitos da coleção. (Com-pare com o exercício 3.15.9.)

Mostre que todo grafo planar conexo sem pontes tem uma cobertura du-pla por circuitos.99

Coloração de grafos planares

O conjunto de vértices de qualquer grafo planar pode ser colorido com pou-cas cores.

E 3.19.45 Mostre que χ(G) ≤ 6 para todo grafo planar G. (Compare com oexercício 3.7.32.)

E 3.19.46 Mostre que χ(G) ≤ 5 para todo grafo planar G. (Veja exercí-cios 3.13.3 e 3.13.5.)

EDD 3.19.47 (TEOREMA DAS QUATRO CORES100) Mostre que todo grafo pla-nar admite uma coloração dos vértices com 4 ou menos cores. Em outraspalavras, mostre que

χ(G) ≤ 4

para todo grafo planar G.

E 3.19.48 Mostre que existem grafos planares que não admitem coloração devértices com 3 cores apenas.

E 3.19.49 Calcule o número cromático do grafo dos estados do Brasil (vejaexercício 1.1.15).

E 3.19.50 (ALGORITMO) Construa um algoritmo que produza uma 5-coloração dos vértices de qualquer grafo planar dado.

EDD 3.19.51 (ALGORITMO) Construa um algoritmo que produza uma 4-coloração mínima dos vértices de qualquer grafo planar dado.

99 Szekeres e Seymour conjeturam (1973 e 1977, respectivamente) que todo grafo sem pon-tes (planar ou não) tem uma cobertura dupla por circuitos.

100 Demonstrado em 1976 por Kenneth Appel e Wolfgang Haken. Demonstração simplifi-cada em 1997 por Neil Robertson, Daniel P. Sanders, Paul D. Seymour e Robin Thomas. Vejaas páginas “The four color theorem” e “Four-Color Theorem”.

Page 117: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 116

E 3.19.52 Mostre que α(G) ≥ 14n(G) para todo grafo planar G. (Seria muito

interessante ter uma prova desse fato que não dependesse do teorema dasquatro cores, exercício 3.19.47.)

EDD 3.19.53 Mostre que χ ′(G) = 3 para todo grafo 3-regular G planar. (Estefato é equivalente ao Teorema das Quatro Cores, exercício 3.19.47.)

Page 118: ETG

Apêndice A

O alfabeto grego

A teoria dos grafos, tal como outras áreas da matemática, considera o alfabeto latinoinsuficiente e recorre freqüentemente ao alfabeto grego:

α A alfa ν N nüβ B beta ξ Ξ ksiγ Γ gama o O ômicronδ ∆ delta π Π piε E epsilon ρ P rôζ Z zeta σ Σ sigmaη H eta τ T tauθ Θ teta υ Υ upsilonι I iota ϕ Φ fiκ K kapa χ X quiλ Λ lambda ψ Ψ psiµ M mü ω Ω ômega

O símbolo ∇ não pertence ao alfabeto grego. Dizem que o nome do símbolo —nabla — designa uma harpa egípcia. Não confunda ∇ com ∆.

117

Page 119: ETG

Bibliografia

[ACOS91] Y. Alavi, G. Chartrand, O. R. Oellermann, and A. J. Schwenk, edi-tors. Graph Theory, Combinatorics, and Applications. John Wiley,1991. 119

[BLS99] A. Brandstädt, V.B. Le, and J.P. Sprinrand. Graph Classes: A Sur-vey. SIAM Monographs on Discrete Mathematics and Applicati-ons. SIAM, 1999.

[BM76] J. A. Bondy and U. S. R. Murty. Graph Theory with Applicati-ons. Macmillan/Elsevier, 1976. [http://www.ecp6.jussieu.fr/

pageperso/bondy/books/gtwa/gtwa.html ]. 1

[BM07] J. A. Bondy and U. S. R. Murty. Graph Theory. Graduate Textsin Mathematics. Springer Verlag, 2007. [http://blogs.springer.

com/bondyandmurty ]. 1

[Bol98] B. Bollobás. Modern Graph Theory, volume 184 of Graduate Texts inMathematics. Springer-Verlag, 1998. 1

[Die00] R. Diestel. Graph Theory, volume 173 of Graduate Textsin Mathematics. Springer-Verlag, second edition, 2000.[http://www.math.uni-hamburg.de/home/diestel/books/graph.

theory/index.html ]. 1

[GJ79] M. R. Garey and D. S. Johnson. Computers and Intractability: aGuide to the Theory of NP-Completeness. W. H. Freeman, 1979. 15,94, 95

[Har92] D. Harel. Algorithmics: The Spirit of Computing. Addison-Wesley,second edition, 1992. 15, 94, 95

[Knu93] D. E. Knuth. The Stanford GraphBase: A Platform for CombinatorialComputing. ACM Press and Addison-Wesley, 1993. 11

118

Page 120: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 119

[LP86] L. Lovász and M. D. Plummer. Matching Theory, volume 29 ofAnnals of Discrete Mathematics. North-Holland, 1986. 1

[Luc79] C. L. Lucchesi. Introdução à Teoria dos Grafos. 12o¯ Colóquio Brasi-

leiro de Matemática. IMPA (Instituto de Matemática Pura e Apli-cada), 1979. 1

[MST+98] O. Melnikov, V. Sarvanov, R. Tyshkevich, V. Yemelichev, andI. Zverovich. Exercises in Graph Theory, volume 19 of Kluwer Textsin the Mathematical Sciences. Kluwer, 1998. 1

[Rob76] F. S. Roberts. Discrete Mathematical Models with Applications to So-cial, Biological and Environmental Problems. Prentice-Hall, 1976.

[Rob78] F. S. Roberts. Graph Theory and its Application to Problems of Society,volume 29 of NFS-CBMS monographs. SIAM (Society for Industrialand Applied Mathematics), 1978.

[Rob91] F. S. Roberts. From Garbage to Rainbows: Generalizations of GraphColoring and their Applications, pages 1031–1052. In Alavi et al.[ACOS91], 1991.

[Sip97] M. Sipser. Introduction to the Theory of Computation. PWS Pu-blishing, 1997. [http://www-math.mit.edu/~sipser/book.html ].15, 94, 95

[vL90] J. van Leeuwen. Graph algorithms. In J. van Leeuwen, editor, Al-gorithms and Complexity, volume A of Handbook of Theoretical Com-puter Science, pages 527–631. Elsevier and MIT Press, 1990.

[Wil79] R. J. Wilson. Introduction to Graph Theory. Academic Press, secondedition, 1979. 1

Page 121: ETG

Índice Remissivo

bxc, 34dxe, 57V (2) , 8VG , 8EG , 8n(G), 8m(G), 8c(G), 36G, 8Kn , 8Kp,q , 12, 50L(G), 14N(v), 17Adj , 17N(X), 75d(v), 17d(X), 30δ(G), 18δ(X), 30∆(G), 18∇(X), 30X ⊂ Y , 25Y ⊃ X , 25G ⊆ H , 25G ∪H , 21G ∩H , 21G[X], 25G(n), 42G− v , 25G−X , 25G− e, 25G−A, 25α, 54α ′ , 70β , 61

ω , 59χ, 62χ ′ , 83o, 80A⊕B , 31

adjacent, 7adjacentes

arestas, 14, 70vértices, 7

alcanos, 8aleatório, 42algoritmo

guloso, 56, 65, 68, 84, 85húngaro, 76

alternating, 70Appel, 115arco, 107aresta, 7

de corte, 30aresta-biconexo, 412-aresta-conexo, 41arestas

adjacentes, 14, 70múltiplas, 8, 112paralelas, 8, 112

árvore, 38das distâncias, 105geradora, 100

augmenting path, 71auto-complementar, 46

β , 61Berge, 89BFS, 105bicoloração, 62

120

Page 122: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 121

bicolorível, 62biconexo, 41bipartição

de conjunto, 50de grafo, 50

bipartido, 50completo, 12, 50

bipartite, 50bishop, 10bispo, 10Bollobás, 1breadth-first search, 105bridge, 30buraco ímpar, 89busca em largura, 105

c(G), 36caixeiro viajante, 95caminho, 22

alternante, 70de aumento, 71hamiltoniano, 91ímpar mínimo, 106maximal, 25máximo, 25, 91mínimo, 104par mínimo, 106

carteiro chinês, 98cavalo, 10certificado, 53, 67, 73, 81, 98chinese postman problem, 98chromatic

index, 83number, 62

Chudnovsky, 89Chvátal, 93ciclo, 29, 96

euleriano, 96cintura, 104

ímpar, 106par, 106

circuit double cover, 114circuit simple cover, 96

circuito, 22fundamental, 101, 102hamiltoniano, 91ímpar, 50ímpar mínimo, 106máximo, 91mínimo, 104par mínimo, 106

circunferência, 91classes de grafos, 16clique, 59clique cover, 62clique number, 59closed, 29, 96cobertura

de circuitospor arestas, 103por vértices, 103

dupla por circuitos, 114por arestas, 82por cliques, 62por vértices, 61simples por circuitos, 96

coboundary, 30colorable, 62k-coloração, 62coloração

de arestas, 83de vértices, 62, 88mínima, 62, 83total, 87

colorível, 62k-colorível, 62comparabilidade, 13complemento, 8completo, 8componente, 36

ímpar, 80comprimento

de caminho, 23de circuito, 23de passeio, 96de trilha, 96

Page 123: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 122

conector, 100conexo, 33conjetura de

Berge, 89Chvátal, 93Hadwiger, 90

conjuntoestável, 54independente, 54

conjunto completo, 59connected, 33contração, 88, 109contraction, 88, 109corte, 30cubo, 11k-cubo, 11custo de aresta, 103cut, 30cut edge, 30cut vertex, 86cycle, 29, 96cycle double cover, 114

∆(G), 18d(X), 30d(v), 17δ(G), 18D, 3dama, 9decomposição em circuitos, 96degree, 17densidade, 18desigualdade triangular, 105diâmetro, 105diferença simétrica, 31Dirac, 94, 113dist( ), 104distância, 104dual de mapa plano, 111duro, 87, 93

EE, 2ED, 3EDD, 3

EF, 3EI, 3EID, 3EU, 3EG , 8edge, 7edge cover, 822-edge-2-connected, 41edge-biconnected, 41Edmonds, 81emparelhamento, 70

de peso máximo, 82perfeito, 70

Erdos, 49estável, 54estrela, 12Euler, 96, 112euleriano, 96extremos de caminho, 22

face, 111face, 111fechado, 29, 96feedback

edge set, 103vertex set, 103

filho de vértice, 38floresta, 38folha, 38forest, 38fórmula de Euler, 112fronteira de face, 111

G(n), 42Gallai, 49, 81, 89gerador (subgrafo), 25girth, 104grade, 9gráfica (seqüência), 48grafo, 7

-linha, 14acíclico, 38aleatório, 42aresta-biconexo, 41

Page 124: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 123

bicolorível, 62bipartido, 50bipartido completo, 12, 50k-colorível, 62complementar, 8completo, 8cúbico, 18da dama, 9da torre, 10das arestas, 14das faces, 111das palavras, 11de Catlin, 64de comparabilidade, 13de Heawood, 27de intervalos, 13de Kneser, 11de mapa plano, 107de matriz simétrica, 13de Petersen, 11de Turán, 58do bispo, 10do cavalo, 10do rei, 11dos estados, 12dual, 111duro, 87, 93euleriano, 96grade, 9hamiltoniano, 91perfeito, 89planar, 13, 108plano, 107regular, 18simples, 8vazio, 8

grafos disjuntos, 21graph, 7graph design, 48grau, 17

de conjunto, 30de face, 111máximo, 18

médio, 19mínimo, 18

greedy, 56, 65grid, 9guloso, 56

Hadwiger, 90Hajós, 90Haken, 115Hall, 78Hamilton, 91hamiltoniano, 91Heawood, 27heurística

da troca de cores, 85hexágono, 23hidrocarbonetos, 8

incide, 7independence number, 54independent, 54índice de estabilidade, 54indução, 26, 91interseção de grafos, 21intervalos, 13isolado (vértice), 18isomorfismo, 43isomorphism, 43isthmus, 30istmo, 30

Kn , 8Kp,q , 50Kn , 8king, 11Kirkman, 91Kneser, 11knight, 10König, 76, 86Kruskal, 101, 103Kuratowski, 111

L(G), 14laço, 8, 112

Page 125: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 124

leaf, 38liga u a v , 22ligado, 33line graph, 14loop, 112loop, 8Lovász, 1, 11, 89

m(G), 8mapa plano, 107matching, 70

maximum weight, 82matriz de adjacências, 13maximal, 54, 70, 102maximal vs máximo, 25, 70máximo, 54, 70menor, 88, 110minimal vs mínimo, 100minor, 88, 110multiple edges, 112multiple edges, 8

n(G), 8N(v), 17N(X), 75nabla, 30não-ordenado, 7neighbor, 7neighborhood, 17NP-completo, 15NP-difícil, 15número cromático, 62número de cores, 62, 83

o(G), 80ω , 59odd component, 80odd hole, 89ordem parcial, 13origem de passeio, 29, 96

pai de vértice, 38palavras, 11par não-ordenado, 7

parallel edges, 112parallel edges, 8parte de conjunto, 25partição, 36passeio, 29, 72, 96

de v a w, 96fechado, 29, 96simples, 96

pentágono, 23perfect

elimination scheme, 89graph, 89matching, 70

peso de aresta, 82, 101Petersen, 11planar, 13, 108ponta de aresta, 7ponte, 30Prim, 101, 103problema

do caixeiro viajante, 95do carteiro chinês, 98

quadrado, 23quase todo, 42queen, 10

raiz de árvore, 38random, 12regular, 18rei, 11Robertson, 89, 115rook, 10Roy, 89

separa, 30seqüência gráfica, 48Seymour, 89, 115slink, 73slither, 73spanning, 25, 100stability number, 54stable, 54star, 12

Page 126: ETG

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 125

subdivisão, 110subfloresta, 102subgrafo, 25

acíclico, 102gerador, 25induzido, 25maximal, 36próprio, 25

suporte de mapa plano, 111Szekeres, 115

tabuleiro, 10teorema das

Quatro Cores, 115teorema de

Berge, 72Brooks, 88Dirac, 94Erdos e Gallai, 49Euler, 98Gallai–Roy, 89Hall, 78Havel e Hakimi, 49König, 86König–Egerváry, 76Kuratowski, 111Turán, 58Tutte, 80Tutte–Berge, 81Vizing, 87Wagner, 110

término de passeio, 29, 96Thomas, 89, 115tipos de grafos, 16torre, 10total coloring, 87tough, 87, 93trail, 29, 96traveling salesman, 95tree, 38triângulo, 23trilha, 29, 96

euleriana, 96

TSP, 95Turán, 58Tutte, 80

união de grafos, 21usa k cores, 62

VG , 8vazio, 8vertex cover, 61vértice, 7

central, 105de corte, 86isolado, 18saturado, 70

vértices adjacentes, 7vizinho, 7

Wagner, 110walk, 29, 72, 96