Você está na página 1de 126

Exercícios de Teoria dos Grafos

Paulo Feofiloff

janeiro de 2007

Prefácio

A teoria dos grafos estuda objetos combinatórios — os grafos — que são um

bom 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 grafos 1 tornaram-se célebres porque constituem um interessante desafio intelectual e porque têm importantes aplicações práticas.

A presente coleção de exercícios de teoria dos grafos foi usada em várias

edições de disciplinas de Teoria dos Grafos no curso de pós-graduação em Ciê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 e

Murty [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ítio

WWW

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

Grafos

1.2

Lista de problemas clássicos

2.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

FEOFILOFF

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

2

3.1

Isomorfismo

3.2

Síntese de grafos a partir dos graus

2.3

Caminhos e circuitos

2.4

Subgrafos

2.5

Cortes e pontes

2.6

Grafos conexos

2.7

Componentes

3.3

Grafos bipartidos

3.4

Conjuntos estáveis

3.5

Cliques

3.6

Coberturas por vértices

3.7

Coloração de vértices

3.8

Emparelhamentos

3.9

Emparelhamentos em grafos bipartidos

3.10

Emparelhamentos em grafos bipartidos II

3.11

Emparelhamentos em grafos arbitrários

3.12

Coloração de arestas

3.13

Coloração de vértices II

3.14

Circuitos hamiltonianos

3.15

Ciclos eulerianos

2.8

Florestas e árvores

3.16

Subárvores

2.9

Pontes e grafos aresta-biconexos

??

Articulações e grafos vértice-biconexos

3.18

Distâncias e caminhos mínimos

3.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:

FEOFILOFF

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

3

EF

.

.

.

exercício particularmente fácil

ED

.

.

.

exercício difícil

EDD

.

.

.

exercício muito difícil

EI

.

.

.

exercício importante

EID

.

.

.

exercício importante e difícil

EU

.

.

.

exercício útil como ferramenta técnica

D

.

.

.

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 2005 P. F.

FEOFILOFF

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

4

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

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

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 quais serã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 de vértices, ou seja, um conjunto com exatamente dois vértices. Uma aresta como {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).

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

v

u

y

t

✏ ✏

w

x

✏✏

z

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

7

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 dizendo que o grafo é “simples”.

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

Um grafo com conjunto de vértices V e conjunto das arestas E é denotado por (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 V G e o

conjunto das suas arestas por E G . O número de vértices de G é denotado por

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

simples

V G , E G

n(G) ≡ |V G |

e

m(G) ≡ |E G | .

m(G)

O complemento de um grafo (V, E) é o grafo (V, V (2) E) , onde V (2) é o con- V (2) junto de todos os pares não-ordenados de elementos de V . O complemento

de G é usualmente denotado por G .

Um grafo G é completo se E G = V

. A expressão “ G é um K n ” é uma

abreviatura de “ G é um grafo completo com n vértices”. Um grafo G é vazio

(2)

G

se E G = . A expressão “ G é um K n ” é uma abreviatura de “ G é um grafo vazio com n vértices”.

G

K n

K n

E 1.1.1 Faça uma lista de todos os grafos que tenham {a, b, c} por conjunto

de vértices. 2 Faça a lista de modo que cada grafo apareça ao lado do seu complemento.

E 1.1.2 Faça uma figura de um K 5 e outra de um K 5 . Quantas arestas tem

um K n ? E um K n ?

E 1.1.3 Os hidrocarbonetos conhecidos como alcanos têm fórmula química

C p H 2p+2 , onde C e H representam moléculas de carbono e hidrogênio res- pectivamente. As moléculas de alcanos podem ser representadas por grafos como os da figura 1.1 . Faça uma figura de uma molécula de metano C 1 H 4 . Quantas moléculas

“diferentes” de C 3 H 8 existem?

alcanos

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

FEOFILOFF

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

9

FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 9 Figura 1.1: Etano ( C 2 H 6 ), butano ( C 4
FEOFILOFF www.ime.usp.br/~pf/grafos-exercicios/ 9 Figura 1.1: Etano ( C 2 H 6 ), butano ( C 4

Figura 1.1: Etano ( C 2 H 6 ), butano ( C 4 H 10 ) e isobutano ( C 4 H 10 ). Os vé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 é, o

conjunto de todos os pares ordenados 3 (i, j) com i em {1,

, p} e j em

{1,

, q} . Digamos que dois elementos (i, j) e (i , j ) de V são adjacentes

se

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 ?

tem essa grade? Quantas arestas tem a grade p -por- q ? Figura 1.2: Uma grade

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

, pq2, pq

1, pq} . Digamos que dois elementos k e k de V , com k < k , são adjacentes se k = k + q ou 4

E 1.1.5 Dados números inteiros p e q , seja V o conjunto {1, 2, 3,

k mod q

= 0

e

k = k + 1.

Essa relação de adjacência define um grafo com conjunto de vértices V . Faça uma figura do grafo com parâmetros p = 3 e q = 4 . Faça uma figura do grafo com parâmetros p = 4 e q = 3 . Qual a relação entre esses grafos e a grade definida 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 dos elementos é essencial. Assim, (1, 2) = (2, 1) e (1, 2, 1) = (1, 1, 2) .

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

FEOFILOFF

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

10

é definido assim: os vértices do grafo são as casas de um tabuleiro de xadrez com 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 dizer que 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 grafo da 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

cavalo

as casas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices são adjacentes se um cavalo (= knight) do jogo de xadrez pode saltar de um deles para 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 grafo

do 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 todos os vizinhos do vértice no grafo da dama (veja exercício 1.1.6 ). A da direita indica 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

bispo

casas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices são

adjacentes se um bispo (= bishop) do jogo de xadrez pode saltar de um deles para o outro em um só movimento. Faça uma figura do grafo do bispo 4 -por- 4 . Quantas arestas tem o grafo do 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

torre

casas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices são adjacentes se um torre (= rook ) do jogo de xadrez pode saltar de um deles

para o outro em um só movimento. Faça uma figura do grafo da torre 4 -por- 4 . Quantas arestas tem o grafo da torre 8 -por- 8 ? Quantas arestas tem o grafo da torre t -por- t ?

5 O tabuleiro usual tem 8 linhas e 8 colunas.

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 rei

casas de um tabuleiro de xadrez com t linhas e t colunas; dois vértices são adjacentes se um rei (= king ) do jogo de xadrez pode saltar de um deles para

o outro em um só movimento. Faça uma figura do grafo do rei 4 -por- 4 . Quantas arestas tem o grafo do rei 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

da 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, enquanto ralo e rota não são. Faça uma figura da parte do grafo definida pelas pala- vras abaixo:

palavras

caiado cavado cavalo girafa girava ralo ramo rata rato remo 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 - cubo

cubo) é o grafo definido da seguinte maneira: os vértices do grafo são todas as seqüências 7 b 1 b 2 ··· b k de bits 8 ; dois vértices são adjacentes se e somente se diferem em exatamente uma posição. Por exemplo, os vértices do cubo de dimensão 3 são 000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 ; o vértice 000 é adjacente aos 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 tem

o

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 é o

conjunto 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 = . Essa relação de adjacência sobre V define o grafo de Petersen . 9 Faça uma figura do 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,

exatamente k elementos, sendo k n/2 . Digamos que dois elementos v e w de V são adjacentes se v w = . Essa relação de adjacência sobre V define o grafo de Kneser K(n, k) . 10 Em particular, K(5, 2) é o grafo de Petersen. Faça Kneser figuras de K(n, 1) , K(n, n) , K(n, n1) , K(4, 2) , K(5, 3) , K(6, 2) e K(6, 3) .

Petersen

, n} que têm

6 Esse grafo é uma adaptação do ladders do Stanford GraphBase [Knu93].)

7 A expressão “ b 1 b 2 ··· b k ” é uma abreviatura de “ (b 1 , b 2 ,

8 Portanto, cada b i pertence ao conjunto {0, 1} .

9 Julius Petersen (   ), matemático dinamarquês.

, b k ) ”.

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

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

estados

dos estados da República Federativa do Brasil; dois estados são adjacentes se têm uma fronteira comum. Faça um desenho do grafo. Quantos vértices tem

o

grafo? Quantas arestas?

E

1.1.16 Considere as grandes cidades e as grandes estradas do estado de São

Paulo. 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 uma grande 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 uma figura do grafo das grandes cidades definido pela relação de adjacência que acabamos de descrever.

cidades

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 K p,q . Em particular, uma estrela (= star) é K p,q

um

Faça uma figura de um K 3,4 . Quantas arestas tem o grafo? Quantas arestas tem o complemento de K 3,4 ? Faça uma figura de uma estrela com 6 vértices.

K 1,q .

E 1.1.18 Seja V um conjunto de pontos no plano. Digamos que dois desses

pontos são adjacentes se a distância entre eles é menor que 2 . Essa relação

de adjacência define o grafo dos pontos no plano (sobre o conjunto V ). Faça pontos no

uma figura do grafo definido pelos pontos abaixo.

plano

(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,

neira: para cada par não-ordenado de elementos de V , jogue uma moeda; se

o 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) . Agora repita o exercício com uma moeda viciada que dá cada com probabili- dade 1/3 e coroa com probabilidade 2/3 .

, 6} e E o conjunto definido da seguinte ma-

aleatório

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 de

M são indexadas por um conjunto V e que as colunas são indexadas pelo mesmo conjunto V . O grafo da matriz M é definido da seguinte maneira: matriz

o conjunto de vértices do grafo é V e dois vértices i e j são adjacentes se

M [i, j]

O grafo de M está bem definido? Que condições é preciso impor sobre

a matriz para que o grafo esteja bem definido? Exiba uma matriz cujo grafo seja a grade 3 -por- 2 (veja exercício 1.1.4 ).

=

0 .

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

M [u, v]

=

1

0 em caso contrário.

se uv E G ,

matriz de

adjacências

É claro que a matriz é indexada por V G ×V G . Qual a matriz de adjacências do

grafo definido no exemplo que aparece no início dessa seção? Que aparência tem a matriz de adjacências de um K 4 ? Como é a matriz de adjacências de um K 2,3 ? Como é a matriz de adjacências de uma grade 3 -por- 4 ? Como é a matriz de adjacências de um 3 -cubo?

E 1.1.22 Suponha dados k intervalos de comprimento finito, digamos

, I k , na reta real. Digamos que dois intervalos I i e I j são adjacentes

I 1 ,

se I i I j = . Essa relação de adjacência define um grafo com conjunto de

vértices {I 1 ,

grafo definido pelos intervalos [0, 2] , [1, 4] , [3, 6] , [5, 6] e [1, 6] .

, I k } . Esse é um grafo de intervalos

Faça uma figura do intervalos

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 que dois 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 de comparabilidade da relação . Faç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} .

comparabili-

dade

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 na seção 3.19 .) para fazer uma definição mais precisa do conceito.) Mostre que o grafo dos estados do Brasil (veja exemplo 1.1.15 ) é planar. Mostre que o grafo do 3 -cubo (veja exemplo 1.1.12 ) é planar.

FEOFILOFF

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

14

v

u

y

t

x

w

z

vu

vw

ux ❍ xy ❍ ❍ ✟ wx ✟ ✟
ux
xy
❍ ❍
wx

yz

Figura 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 modo mais formal, o grafo das arestas (= line graph) de um grafo G é o grafo (E G , A) das arestas em que A é o conjunto de todos os pares de arestas adjacentes de G . O grafo das arestas de G será denotado por L(G) . (Veja a figura 1.4 .) L(G) Faça uma figura de L(K 3 ) . Faça uma figura de L(K 4 ) . Quantos vértices e quantas arestas tem L(K n ) ? Faça uma figura do grafo L(P ) , sendo P o grafo de Petersen (veja exercício 1.1.13 ).

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 ocorrem em diversas áreas da computação e em muitas aplicações industriais.

Segue uma lista de problemas clássicos da teoria dos grafos. Alguns são fá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ão

definidos nas próximas seções; mas o significado de muitos desses termos nã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úmero mínimo de cores.

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

• Encontrar um caminho de comprimento mínimo que passe por todas as arestas 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 de um grafo.

• Encontrar uma coleção máxima de caminhos sem arestas em comum que ligue 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 a solução. Em termos técnicos, um problema desse tipo é NP-completo ou NP-difícil. Veja os livros de Garey–Johnson [GJ79], Harel [Har92] e Sipser [Sip97].

FEOFILOFF

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

16

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

• Encontrar um subgrafo gerador (ou seja, um subgrafo que contenha todos os 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 preparar algumas 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 .

Capítulo 2

Conceitos básicos

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

Sugiro que o leitor faça uma primeira leitura superficial deste capítulo e avance imediatamente para o capítulo 3 . Mais tarde, quando houver neces- sidade, o leitor poderá voltar a este capítulo para rever conceitos e examinar

as 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 conjunto

de todos os vizinhos de v ; este conjunto será denotado por

N G (v)

ou simplesmente por N(v) . 1

O grau (= degree ) de um vértice v em um grafo G é o número de arestas que

incidem em v . O grau de v será denotado por

d G (v)

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

N(v)

d(v)

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

17

FEOFILOFF

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

18

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

O

grau mínimo de um grafo 2 G é o número δ(G) min{d G (v) : v V G } .

O

grau máximo do grafo é o número ∆(G) max{d G (v) : v V G } .

A

densidade de um grafo G é o número m(G)/n(G) . 3 Como veremos no

δ(G)

(G)

exercí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 grafo cú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 K n , 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 ).

❩ ❩

❳ ❳ ◗ ◗❈

✑ ✑ ✑

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 “grau de um grafo” não faz sentido.

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

3

2

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 grafo tem mais de um vértice, é verdade que tem dois vértices distintos v e w tais que |N(v)| = |N(w)| ? (Uma maneira mais informal de dizer isso: é verdade

que em toda cidade com pelo menos dois habitantes residem duas pessoas que têm exatamente o mesmo número de amigos na cidade?)

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

vV d(v) = 2|E| .

1

EF 2.1.8 O grau médio de um grafo (V, E) é o número |V | vV d(v) . Mostre grau médio que o grau médio de qualquer grafo G é igual a 2ρ , sendo ρ a densidade de 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 tem

um 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)/2

arestas.

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 (veja

exercí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.

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 um

grafo G ?

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

função de δ(G) e ∆(G) .

E 2.1.20 Seja G um grafo tal que m(G) > n(G) . Mostre que d(v) 3 para

algum 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 soma

dos elementos da coluna v de M ?

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 (V G V H , E G E H ) . É natural denotar

esse grafo por G H .

G H

A

interseção de dois grafos G e H é o grafo (V G V H , E G E H ) . É natural

denotar esse grafo por G H .

G H

Dois grafos G e H são disjuntos se os conjuntos V G e V H são disjuntos, ou seja, se V G V H = . É evidente que E G e E H também são disjuntos nesse caso.

EF 2.2.1 Seja G um grafo completo com conjunto de vértices {1, 2, 3, 4, 5} e H um grafo completo com conjunto de vértices {4, 5, 6, 7, 8} . Faça figuras dos grafos 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 dos grafos 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.8 e 1.1.9 ). Mostre que G H é o grafo da dama.

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 (v 1 , v 2 , v 3 objetos distintos dois a dois, o grafo

, v n ) de

{v 1 , v 2 , v 3

,

v n } , {v 1 v 2 , v 2 v 3 ,

,

v n1 v n }

é um caminho (= path). Por exemplo, o grafo (