Instituto Superior de Educac~ao
Departamento de Ci^
encias e Tecnologia
Licenciatura em Ensino de Matematica
Trabalho de Fim de Curso
Introduc~ao a Teoria dos Grafos e Aplicac~oes
Ant
onio Furtado
Orientadora: Doutora Tetyana Goncalves
2007/2008
Instituto Superior de Educac~ao
Departamento de Ci^
encia e Tecnologia
Licenciatura em Ensino de Matematica
Trabalho de Fim de Curso
Introduc~ao a Teoria dos Grafos e Aplicac~oes
Ant
onio Furtado
Trabalho Cientco apresentado no ISE para obtenc~ao do grau
de Licenciado em Ensino de Matematica, sob orientac~ao da Prof.
Doutora Tetyana Goncalves
O Juri
Presidente
Orientadora
Arguente
ISE, aos ................................ de 2008
Agradecimentos
Agradeco a Professora Doutora Tetyana Goncalves, minha orientadora, pelos
sabios conhecimentos, entusiasmo, atenc~ao que sempre me dedicou. A minha
prezada famlia, minha namorada, os meus amigos, pelo carinho e amizade
que foram decisivos no meu empenho durante todos esses anos de estudos.
Com apreco e innita estima agradeco ao Nilson, Anibal, Jair, Edmilson e
a todos que s~ao muitos pela amizade e incansavel ajuda na lida do dia-a-dia e
muito especialmente na elaboraca~o do presente trabalho. Pude compartilhar
momentos indeleves em companhia de colegas, amigos, docentes e a todos
vos um muito obrigado pela forca e encorajamento que sempre me deram.
i
Sumario
Agradecimentos
i
Introduc~ao
1
1 Conceitos Basicos
4
1.1
1.2
1.3
1.4
Grafos . . . . . . . . . . . . . . . . .
Digrafos . . . . . . . . . . . . . . . .
Subgrafo . . . . . . . . . . . . . . . .
Representac~ao de grafos por matrizes
1.4.1 Matriz de Adjac^encia . . . . .
1.4.2 Matriz de Incid^encia . . . . .
1.5 Isomorsmo . . . . . . . . . . . . . .
1.6 Exerccios . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Caminhos e conectividade
2.1
2.2
2.3
2.4
Caminhos . . . . .
Conexidade . . . .
Caminhos de Euler
Exerccios . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
4
7
9
9
10
11
13
14
17
.
.
.
.
.
.
.
.
.
.
.
.
3 Caminhos mais curtos
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
18
20
24
26
3.1 Algoritmo de Dijkstra . . . . . . . . . . . . . . . . . . . . . . 27
4 Tipos de Grafos
32
4.1 Grafos Bipartido . . . . . . . . . . . . . . . . . . . . . . . . . 32
ii
4.2 Arvores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.1 Arvore
suporte Mnima . . . . . . . . . . . . . . . . . . 39
4.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5
Aplicac~oes
42
5.1 Problemas Propostos e Resolvidos . . . . . . . . . . . . . . . . 42
Consideraco~es Finais
50
Refer^encias Bibliogracas
51
iii
Introduc~ao
Estruturas que podem ser representadas por grafos est~ao em toda parte e
muitos problemas de interesse pratico podem ser formulados como quest~oes
sobre certos grafos.
A origem da Teoria dos Grafos e, em geral, associada ao problema das pontes
de Konigsberg. Parte desta cidade localizava-se em duas ilhas do rio Pregel
as quais estavam ligadas as margens e uma a outra atraves de 7 pontes, conforme a Figura. Os habitantes queriam encontrar um trajecto (com partida
e chegada a um mesmo lugar) que lhes permitisse atravessar apenas uma vez
cada uma das pontes.
Figura 1: Pontes de Konigsberg em 1736, e respectivo multigrafo.
Este problema foi resolvido por Euler 1 , que provou a inexist^encia de tal
percurso, modelando atraves dum multigrafo.
1 matem
atico
suco Leonhard Euler (1707-1783)
1
Um problema semelhante foi formulado e resolvido (em 1857) pelo Hamilton
2
. Este problema, que consiste em percorrer todos os vertices do dodecaedro
representado na Figura 2, passando uma unica vez em cada um, com partida
e chegada no mesmo vertice foi designado por viagem a volta do mundo.
Figura 2:
Outro problema, tambem bastante antigo, relacionado com a Teoria dos
Grafos, diz respeito a coloraca~o de mapas. Com este problema, pretendia-se
saber qual o menor numero de cores necessarias para pintar um mapa de
modo que n~ao existam pases, com fronteira comum, pintados da mesma cor.
Desde cedo se conjecturou que 4 cores bastariam para resolver este problema.
Estes problemas e muitos outros como: Problemas de colocaca~o de sinais
de sentido proibido e o estabelecimento de percursos alternativos, a sequ^encia
de ruas que um carteiro deve percorrer para entregar a correspond^encia, os
percursos a efectuar pelos carros de recolhas de lixo pelas ruas das cidades,
as rondas dos polcias e muitos outros podem ter uma soluca~o mais eciente
usando conceitos de grafos.
Esta teoria cobre um vasto campo de aplicaco~es: Fsica, Qumica, Biologia, Sociologia, Economia, Gest~ao, Engenharias, Matematica, etc.
2 matem
atico
irland^es Sir William Hamilton (1805-1865)
2
Por ser praticamente impossvel abordar todos os conteudos e aplicac~oes
da Teoria dos Grafos neste trabalho centramos nos seguintes objectivos:
Recolha e estudo dos fundamentos da Teoria dos Grafos;
Selecca~o, sugest~ao e apresentaca~o dos problemas de aplicac~oes diversas
que envolvem a tematica escolhida;
Constituica~o (elaborac~ao) de um documento de apoio na iniciaca~o dos
estudos ligados com "grafos".
Desse modo, sugerimos um documento de apoio, de consulta para os
interessados neste tema, para um seminario sobre a Teoria dos Grafos
3
Captulo 1
Conceitos Basicos
1.1 Grafos
Denic~ao 1.1 Chama-se grafo a um par ordenado G = (V; E ) constitudo
por um conjunto nito1 de v
ertices (ou nos) V (G) e, um conjunto nito
de arestas E (G), de tal forma que, cada aresta e esta associada a um par
de vertices distintos v e v chamados de n
os extremos de e, e arestas
i
j
diferentes tem nos extremos diferentes.
Seja e 2 E (G) (uma aresta) e v ; v 2 V (G) (dois vertices) escreve-se
e = fv ; v g = fv ; v g designando que e e uma aresta denida por v e v .
i
i
j
j
j
i
i
j
Denic~ao 1.2 O numero de vertices e arestas de um grafo e designado por
ordem e dimens~ao do grafo, e escreve-se jGj = jV (G)j; kGk = jE (G)j
respectivamente.
A gura 1.1 representa um grafo de ordem jV (G)j = 7 e dimens~ao
kE (G)k = 9.
V (G) = fv1 ; v2 ; v3 ; v4 ; v5 ; v6 ; v7 g
E (G) = ffv1 ; v2 g; fv2 ; v3 g; fv3 ; v4 g; fv4 ; v5 g; fv5 ; v6 g; fv6 ; v1 g; fv7 ; v1 g; fv7 ; v3 g; fv7 ; v5 gg
1 Tamb
em
existem grafos innitos mas neste trabalho so e considerado grafos nitos
4
Figura 1.1: Exemplo de um grafo
Denic~ao 1.3 Dois vertices dizem-se adjacentes se e so se denem uma
aresta. Uma aresta que liga um vertice a si proprio e designada por lacete
(laco). Se num grafo existir mais do que uma aresta entre dois vertices este
e designado por multigrafo.
Figura 1.2: Multigrafo
Figura 1.2 representa um multigrafo com laco no vertice v1 , e arestas
paralelas entre os vertices v2 e v3
Denic~ao 1.4 Uma aresta e de um grafo qualquer diz-se incidente sobre
um vertice se este for um dos seus nos extremos.
Denic~ao 1.5 Dene-se grau (ou val^encia) de um vertice v , como sendo
o numero das arestas incidentes sobre o respectivo vertice, representa-se por
deg(v) . Um vertice diz-se mpar ou par consoante o seu grau seja um
numero mpar ou par, respectivamente.
5
Obs: Note-se que um lacete incide duas vezes sobre o mesmo vertice pelo que
conta duas vezes para efeito do calculo do grau do vertice respectivo.
Um vertice v e dito isolado se deg (v ) = 0.
Denic~ao 1.6 Um grafo G diz-se p-regular se 8v
(no caso de p = 3 estes grafos se designam por
i
2 V (G) : deg(v ) = p
cubicos).
i
Teorema 1.1 Em qualquer grafo (multigrafo) a soma dos graus dos seus
vertices e igual a duas vezes o numero das suas arestas.
Demonstrac~ao:
Proceder-se-a por induc~ao sobre o numero de arestas do grafo: denote-se por
p(n) a armaca~o de que a soma dos graus de todos os vertices de um grafo
com n arestas e igual a 2n.
1. Se o grafo n~ao tem qualquer aresta, ent~ao o grau de qualquer dos seus
vertices e zero e a soma dos graus de todos os vertices e zero. Assim,
p(0) e uma proposica~o verdadeira.
2. Suponha-se que para um dado k 2 N se verica p(k 1) , isto e, que a
soma dos graus de todos os vertices de um grafo G com k 1 arestas
e igual a 2k 2. Considere-se agora um grafo G0 com k arestas. Para
obter G0 a partir de G a unica coisa que e necessario fazer e acrescentar
a G uma aresta e = fa; bg . Este acrescento aumenta o grau do vertice
a de uma unidade e o grau do vertice b de uma unidade: ent~ao, ao
passar de G para G0 por adica~o da aresta e a soma dos graus de todos
os vertices de G0 aumenta 2 unidades fazendo com que a soma dos graus
de todos os vertices de G0 seja igual a 2k.
Logo para qualquer k 2 N se tem p(k 1) ) p(k). Portanto pelo princpio
de induc~ao nita, a armaca~o do teorema e valida para todo k 2 N .
6
1.2 Digrafos
Denic~ao 1.7 Dene-se grafo orientado ou digrafo ("directed graph")
como um par ordenado D = (V; E ) em que V (D) e um conjunto nito de
vertices e, E (D) um conjunto nito de arestas dirigidas (arcos) de tal forma
que cada arco esta associado a um vertice inicial v e um terminal v . Arcos
i
j
diferentes tambem tem vertices inicial e/ou terminal diferentes.
Figura 1.3: Digrafo
A gura 1.3 representa um digrafo de ordem jDj = 6 = jV (D)j e dimens~ao
kDk = 9 = jE (D)j.
Obs: Num digrafo escreve-se e = (v ; v ) para signicar que e e um arco de
v para v , e e = (v ; v ) 6= (v ; v ) . Neste caso diz-se que v e adjacente
a v . Alem disso a aresta e e dita emergente do vertice v e, e incidente
sobre v .
i
i
j
i
j
j
j
i
i
j
i
j
Denic~ao 1.8 O grau de sada (emerg^encia) d (v) de um vertice v em
um digrafo D e o numero de arcos emergentes de v e o grau de entrada
(incid^encia) d+(v) e o numero de arcos incidentes em v.
Denic~ao 1.9 Um digrafo D e p-regular se para qualquer vertice de D,
existir um numero p 2 N; p 0 tal que, d+ (v ) = d (v ) = p.
i
i
Teorema 1.2 Seja D um digrafo de ordem p e dimens~ao q, comV = fv1 v g.
X
p
Ent~ao,
d+ (v ) =
X
p
i
i=1
p
d (v ) = q
i
i=1
7
Denic~ao 1.10 Dizemos que um digrafo D e simetrico, se sempre que
(u; v ) 2 E (D), ent~ao (v ; u) 2 E (D) .
Figura 1.4: Digrafos simetricos
Denic~ao 1.11 Um digrafo D e dito assimetrico se sempre que
(u; v ) 2 E (D) ) (v ; u) 2= E (D) .
Assim, digrafo assimetrico tem a propriedade que todo par de vertices e
ligado por, no maximo, um arco.
Denic~ao 1.12 Um grafo orientado em que todo par de vertices e ligado por
exactamente um arco e chamado um
torneio
Figura 1.5: Digrafos assimetricos: Torneio e n~ao torneio
Denic~ao 1.13 Um grafo que n~ao possua arestas multiplas nem lacos diz-se
simples.
8
Figura 1.6: Grafos simples
1.3 Subgrafo
Denic~ao 1.14 Um subgrafo do grafo G = (V; E ) e um grafo G0 = (V 0 ; E 0 )
tal que, V 0 (G0 ) V (G) e E 0 (G0 ) E (G). Pode-se escrever G0 G , e dizer
que G contem G0 . Se G0 G e G0 contem todas as arestas fv ; v g 2 E (G)
com v ; v 2 V 0 (G0 ) , ent~ao G0 e um subgrafo induzido de G. Escreve-se
G0 = G[V 0 ] e l^e-se: G0 e o subgrafo de G induzido por V 0 .
i
i
j
j
Denic~ao 1.15 Seja G = (V ; E ) um grafo e, G0 um subgrafo de G, tal que,
G0 = (V; E 0 ). A G0 chama-se grafo parcial de G.
Considere grafo G da gura 1.6 com dois subgrafos G1 ,G2 . G1 e um subgrafo
induzido de G . Pode-se obter subgrafos eliminando arestas ou vertices de
um grafo. Se v e um vertice, o subgrafo G0 = G v e obtido removendo-se
o vertice e as arestas incidentes sobre v .
1.4 Representac~ao de grafos por matrizes
Trabalhando com grafos nitos as vezes deparamos com grafos de uma grande
dimens~ao. Nestas situac~oes estudar o grafo atraves da sua representaca~o
graca pode n~ao ser o metodo mais ecaz. Assim, surge a necessidade de
procura de outros meios para o estudo dos mesmos. Uma das ideias consiste
em representaca~o de grafos pelas matrizes.
9
1.4.1
Matriz de Adjac^
encia
Denic~ao 1.16 Seja G = (V; E ) um grafo (digrafo D = (V; E )) qualquer,
onde jGj = n (jDj = n), a matriz de adjac^
encia A = [a ] e construda
n
do seguinte
( modo:
a =1
A =
a =0
ij
G
ij
( fv ; v g 2 E (G) A
( fv ; v g 2= E (G)
i
j
D
i
(
=
ij
Figura 1.7:
A matriz de adjac^encia do graco da gura 1.7 e:
A
G
0
0
B
B
1
B
B
=B 0
B
B
@0
1
0
1
0
1 1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
C
C
C
C
C
C
C
A
A matriz de adjac^encia de um grafo e simetrica .
Figura 1.8:
10
a =1
a =0
ij
j
n
ij
( (v ; v ) 2 E (D)
( (v ; v ) 2= E (D)
i
j
i
j
A matriz correspondente ao digrafo da gura 1.8 e:
A
D
1.4.2
0
0
B
B
1
B
B
=B 0
B
B
@0
0
0
1
1
0 0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
C
C
C
C
C
C
C
A
Matriz de Incid^
encia
Ao contrario da matriz de adjac^encia, a matriz de incid^encia pode representar
grafos com arestas multiplas ou (em digrafos) com arcos paralelos.
Denic~ao 1.17 A matriz de incid^encia B = [b ] , de um grafo (multigrafo) G = (V; E ) , com V (G) = fv(1 ; v2 ; ; v g e E (G) = fe1 ; e2 ; ; e g e
b =1 ( v 2e
denida da seguinte forma: B =
b = 0 ( v 2= e
ij
n
m
ij
i
j
ij
i
j
G
Figura 1.9:
Matriz de incid^encia correspondente ao multigrafo da gura 1.9 e:
B
G
0
1
B
B
1
B
B
=B 0
B
B
@0
1
0
1
0
0 0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
C
C
C
C
C
C
C
A
Seja D um digrafo, ent~ao b = 1 se v estiver no incio do arco, b = 1
se v estiver no m do arco e, 0 caso contrario.
ij
i
i
11
ij
Figura 1.10:
Matriz de incid^encia do digrafo da gura 1.10 e:
B
D
0
B
B
=B
B
@
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
C
C
C
C
A
Teorema 1.3 Seja B matriz de incid^encia de um grafo G = (V; E ), B
transposta de B e A a matriz de adjac^encia de um grafo simples verica-se a
relaca~o B B = D + A onde D e uma matriz diagonal de ordem n (numero
T
T
de vertices do grafo) cujos elementos da diagonal principal s~ao os graus dos
matriz D da-se o nome de matriz dos graus.
vertices respectivos. A
Demonstrac~ao: seja C = B B . Uma vez que, B transforma as linhas
de B em colunas, ent~ao o elemento C e igual ao produto escalar entre as
linhas i e j de B , logo C = C .
T
T
ij
ij
ji
C = b 1 b1 + b 2 b2 + b b + + b b
t
ij
i
t
i
j
t
ik
j
t
im
kj
mj
se i = j ent~ao
C = C = b 1 b1 + b 2 b2 + b b + + b b
t
ij
ii
X
m
que e igual
i
t
t
i
i
ik
i
ki
t
im
mi
b2 , e o resultado sera igual a soma dos 1 existentes
ik
k =1
nessa soma que, e o grau do vertice v .
i
12
se i 6= j ent~ao
C = b 1 b1 + b 2 b2 + b b + + b b
t
ij
i
,C
ij
t
t
t
i
j
ik
j
im
kj
mj
,
= b 1b 1 + b 2b 2 + b b + + b b
i
j
i
j
ik
jk
im
jm
caso uma das parcelas for 1 as restantes t^em de ser 0, pois se b b = 1,
signica que v e adjacente a v e e e unica uma vez que n~ao pode existir
arestas paralelas. Ainda pode ser que 8k = 1; m ; b b = 0, fazendo
com que a soma seja 0, o que quer dizer v e v n~ao denem nenhuma
aresta.
ik
i
j
jk
k
ik
i
jk
j
Sendo assim podemos concluir que B B = D + A.
T
1.5 Isomorsmo
Denic~ao 1.18 Dois grafos G1 = (V1 ; E1 ) G2 = (V2 ; E2 ) dir-se-~ao
isomorfos se existir uma bijecca~o ' : V1 ! V2, tal que
f'(v ); '(v )g 2 E2 , fv ; v g 2 E1
i
j
i
j
Figura 1.11:
Os dois grafos da gura 1.11 s~ao isomorfos. Pois existe uma bijecca~o
' : V1 ! V2 denida por:
'(v1 ) = w1 ; '(v2 ) = w2 ; '(v3 ) = w4 ; '(v4 ) = w3
.
13
facil ver que os grafos isomorfos t^em matrizes de adjac^encia iguais, ate
E
a ordem dos seus nos. Uma maneira simples, mas eciente, de testar
o isomorsmo e provar exactamente o contrario atraves do conceito
de Invariante. Invariante e uma propriedade que e preservada pelo
isomorsmo, como por exemplo, numero de nos, grau e determinante
da matriz de adjac^encia.
1.6 Exerccios
1. Prove que num grafo o numero de vertice de grau mpar e par.
Sugest~ao: Lembre-se que
X
n
deg(v ) e par.
i
i=1
2. Prove que dado um grafo G: tr(A2 ) = 2kGjj , onde A e a matriz
de adjac^encia.
sugest~ao: primeiro mostre que a de A2 e o grau de v .
ii
i
3. Seja V um conjunto de pontos no plano. Digamos que dois desses
pontos s~ao adjacentes se a dist^ancia entre eles e menor que 2 . Essa
relaca~o de adjac^encia dene o grafo dos pontos no plano (sobre o
conjunto V ). Faca uma gura do grafo denido pelos pontos
abaixo.
(0; 2) (1; 2) (2; 2)
(0; 1) (1; 1) (2; 1)
(0; 0) (1; 0) (2; 0)
4. A Figura 1.12 representa as ruas de uma determinada zona, desenhe sua representac~ao sob forma de grafo
5. Os hidrocarbonetos conhecidos como alcanos t^em formula qumica
H C2 +2 , onde C e H representam atomos de carbono e hidrogenio
respectivamente.
p
p
(a) Represente as moleculas de C4 H1 0 .
14
Figura 1.12:
Figura 1.13: Molecula (CH4 ) de Metano e propano (C3 H8 )
(b) Desenhe os grafos correspondentes a essas moleculas, estude
o isomorsmo entre eles.
6. Para os grafos desenhados a seguir
Figura 1.14:
(a) Fazer a descric~ao formal (como par ordenado de conjuntos).
(b) Determinar o grau de cada vertice.
(c) Vericar o teorema 1.1
15
7. Seja G = (V; E ) um grafo cuja matriz de incid^encia e a seguinte:
1
0
111000
C
B
C
B
0
0
0
1
1
0
C
B
C
B
B
001001C
C
B
C
B
0
1
0
0
1
0
A
@
100101
(a) Determinar o grau de cada vertice.
(b) Esbocar uma representaca~o pictorica de G.
(c) Determinar a matriz de adjac^encia de G.
8. Considerar o digrafo D = (V; E ).
Figura 1.15:
Determinar a matriz de adjac^encia e incid^encia de D.
9. Determinar o subgrafo induzido pelo conjunto dos vertices fv1 ; v2 ; v3 ; v6 g
.
Figura 1.16:
16
Captulo 2
Caminhos e conectividade
2.1 Caminhos
Denic~ao 2.1 Chama-se caminho entre dois vertices v e v num
i
r
grafo a uma sequ^encia nita de vertices e arestas da forma
v ; e ; v +1 ; e +1 ; :::; e 1 ; v , onde, para cada j , e e uma aresta que liga
v a v +1 .
i
j
i
i
i
r
r
j
j
Os vertices e as arestas de um caminho podem n~ao ser todos distintos.
Um caminho diz-se simples se n~ao tiver arestas repetidas e, diz-se
elementar se n~ao tiver vertices repetidos. Um caminho no qual o
vertice inicial e o vertice terminal coincidem chama-se circuito. Um
circuito diz-se simples se n~ao possuir arestas repetidas e um circuito
simples no qual nenhum vertice e repetido excepto o vertice inicial
(terminal) designa-se por ciclo. Dado um caminho P de um grafo G
designa-se por comprimento de P o numero de arestas que o constitui
e denota-se por: comp(P ). Por exemplo, uma aresta e um caminho de
comprimento 1, e um vertice e um caminho de comprimento 0. Por
outro lado, um tri^angulo e um ciclo de comprimento 3.
17
2.2 Conexidade
Denic~ao 2.2 Um grafo G e dito conexo se e so se para qualquer par
de vertices v ; v 2 G : v 6= v existir um caminho entre eles.
i
j
i
j
Denic~ao 2.3 Dene-se dist^ancia entre dois vertices v ; v de um
grafo G conexo como sendo menor comprimento dos caminhos que v~ao
de v a v . Representa-se por: dist (v ; v ) .
i
i
j
G
i
j
j
Figura 2.1:
O caminho v5 ; v5 v4 ; v4 ; v4 v2 ; v2 ; v2 v6 ; v6 ; v6 v4 ; v4 ; v4 v3 ; v3 ; v3 v1 ; v1 ; v1 v5 ; v5
e um circuito simples (n~ao ha arestas repetidas e o vertice inicial e
terminal coincidem), mas n~ao e um ciclo ja que para alem do vertice
inicial (que e tambem terminal) ha outro vertice, o vertice v6 , que esta
repetido.
Denic~ao 2.4 Uma componente conexa (o maximo subgrafo conexo
de H ) de um grafo G = (V; E ) e um subgrafo conexo G0 G : G0 + v
torna-se desconexo, com v 2 V (G).
i
i
O grafo da gura 2.2 tem 2 componentes conexas. Uma componente
conexa e sempre n~ao vazia.
Num digrafo estes conceitos levam em conta a orientaca~o.
Denic~ao 2.5 Chama-se caminho orientado a uma sequ^encia nita de
arcos da forma v1 ; e1 ; v2 ; e2 ; :::; e 1 ; v onde, para cada j = 1; 2; :::; r 1
r
18
r
Figura 2.2:
, se tem e = (v ; v +1 ) . Se existir um caminho orientado de v1 para
v dir-se-a que v1 esta conectado a v .
j
j
j
n
n
A partir daqui dene-se caminho fechado, circuito e ciclo concordantemente.
Se entre dois vertices quaisquer v e v (v 6= v ) existir sempre um
caminho orientado de v para v e um caminho orientado de v para v
o digrafo diz-se fortemente conexo ; mas se transformando todos os
seus arcos em arestas o grafo obtido for conexo ent~ao o digrafo diz-se
fracamente conexo .
i
i
j
j
i
j
j
i
As sucessivas pot^encias da matriz de adjac^encia de um grafo servem
para determinar o numero de caminhos de comprimento dado entre os
varios pares possveis de vertices de um grafo.
Teorema 2.1 Seja A a matriz de adjac^encia de um grafo de ordem n,
o elemento da linha i e coluna j da pot^encia de ordem k (k 1) de A
e igual ao numero de caminhos de comprimento k , entre os vertices i
e j.
Demonstrac~ao: Demonstrar-se-a este teorema por induca~o nita.
1. Um caminho de comprimento 1 e uma aresta; logo, tendo em
conta a denica~o de matriz de adjac^encia, o teorema verica-se
para k = 1
19
2. Suponha-se ent~ao que o teorema se verica para a pot^encia
k 1(k > 1). Seja, para cada k = 1; 2; 3; :::; a( ) o elemento (i; j )
k
ij
da pot^encia de ordem k da matriz A. Ent~ao a
(k )
ij
onde
a
(k
ip
1)
a =
pj
(
X
n
=
a(
k
ip
1)
a ,
pj
p=1
a(
k
ip
( fp; j g 2 E (G)
0 ( fp; j g 2= E (G)
1)
Por hipotese (induc~ao) a( 1) e o numero de caminhos de comprimento k 1 entre os vertices i e p e, portanto, a( 1) sera o
numero de caminhos de comprimento k entre os vertices i e j que
inclui uma aresta que vai de p a j .
k
ip
k
ip
Somando todas as possibilidades que v~ao desde p = 1 n, obtem-se
o resultado pretendido.
Teorema 2.2 Seja G um grafo de ordem n, cuja matriz de adjac^encia
e A e S = A + A2 + A3 + + A 1 . Ent~ao existe (pelo menos) um
caminho entre o vertice i e j se e so se, o elemento de ordem (i; j ) na
matriz S for diferente de zero.
n
Se todos os elementos da matriz S forem diferentes de zero ent~ao G e
um grafo conexo.
2.3 Caminhos de Euler
Euler para responder ao problema dos moradores de Konigsberg esquematizou o problema como mostra a gura 2.3, em que os vertices
representam a terra e as arestas as pontes.
Denic~ao 2.6 Chama-se caminho euleriano a um caminho simples
de um grafo que contem todas as arestas de um grafo. Um caminho
euleriano que seja fechado designa-se por circuito euleriano.
20
Figura 2.3: Esquema das Pontes
Euler resolveu o problema com o seguinte teorema:
Teorema 2.3 (Euler) Um grafo (ou multigrafo) conexo possui um
circuito euleriano se e so se todos os vertices tiverem grau par.
Demonstrac~ao.
1. Existe circuito de Euler ent~ao todos os vertices t^em grau par.
Se existe um circuito de Euler, ent~ao sempre que se chega a um
vertice e preciso sair e, por isso, as arestas incidentes em cada
vertice t^em que ser em numero par.
2. Todos os vertices t^em grau par, ent~ao existe circuito de Euler.
Se todos os vertices t^em grau par o grafo deve conter pelo menos
um circuito. Com efeito, considere-se um grafo G com m arestas
e todos os vertices com grau par. Seja C o caminho de maior
comprimento que se pode ter em G. Sejam os vertices desse caminho x1 x2 x 1 x . Como x tem grau par ent~ao ele n~ao pode
estar ligado so a x 1 , mas como C e o caminho de maior comprimento em G, ent~ao a outra aresta deve ligar a um dos outros
vertices deste caminho, obtendo-se assim o circuito desejado. Para
demonstrar a exist^encia de um circuito de Euler procede-se por
induca~o matematica sobre o numero de arestas do grafo.
p
p
p
p
21
(a) Para m = 1, a proposica~o e verdadeira pois, o unico grafo
conexo com 1 aresta cujo grau dos vertices seja par, e um
grafo so com um vertice de grau dois (a aresta e um laco),
onde claramente ha um circuito de Euler.
(b) Por hipotese de induc~ao, considere-se que todos os grafos
conexos com numero de arestas inferior a m e em que todos
os vertices t^em grau par possuem um circuito de Euler.
(c) Seja agora G um grafo conexo com m arestas e em que todos
os vertices t^em grau par. G tem um circuito. Seja C esse
circuito. Num circuito cada vertice esta ligado ao vertice anterior e ao seguinte. Se retirarmos de G as arestas de C , o
grafo resultante G0 continua a ter todos os vertices com grau
par. O grafo G0 pode n~ao ser conexo. Cada uma das suas
componentes conexas obedece a hipotese de induca~o e, por
isso, possui um circuito de Euler.
Estamos em condico~es de construir um circuito de Euler para G,
comecando no circuito C , usando cada circuito de Euler das componentes conexas de G0 sempre que um vertice de C pertencer
a uma dessas componentes, regressando a C exactamente a esse
vertice e continuando ate voltar ao ponto de partida.
Teorema 2.4 Num grafo conexo existe um caminho de Euler se e so
se houver exactamente duas arestas com grau mpar.
Demonstrac~ao. Unindo os dois vertices de grau mpar por uma aresta
teremos um grafo conexo em que todas as arestas t^em grau par. Estamos, assim, em condic~oes de encontrar um circuito de Euler. Basta
escrever o circuito de tal modo que a aresta introduzida seja a primeira
ou a ultima e depois retira-la para obter um caminho de Euler, que vai
comecar e acabar nos dois vertices de grau mpar.
Denic~ao 2.7 Uma aresta e e chamada de ponte se a sua remoca~o
torna o grafo desconexo.
22
Figura 2.4:
Removendo e obtem-se o seguinte grafo desconexo:
Figura 2.5:
Denic~ao 2.8 Seja G = (V; E ) um grafo. Um caminho de G diz-se
hamiltoniano se passar uma e uma so vez por cada um dos vertices
do grafo.
Algoritmo de Fleury
1. Escolher um vertice qualquer para iniciar.
2. Escolher qualquer aresta que saia desse vertice, mas caso uma
dessas arestas for uma ponte ent~ao devera ser a ultima escolhida.
3. Destruir a aresta utilizada.
4. Repetir 2 e 3 ate chegar ao vertice inicial.
5. Se n~ao ha mais arestas o circuito de Euler esta encontrado. Caso
ainda haja arestas, recomecar o circuito a partir de um dos vertices
do circuito onde ainda haja arestas incidentes.
23
2.4 Exerccios
1. Nos grafos que se seguem indicar se possvel:
Figura 2.6:
(a) Determinar um caminho elementar de v1 a v6 .
(b) Determinar um caminho simples de v1 a v6 que n~ao seja elementar
(c) Determinar um caminho de v1 a v6 que n~ao seja simples
2. Considere o seguinte grafo. Determine:
Figura 2.7:
(a) Determinar um circuito que n~ao seja um ciclo.
(b) Determinar um circuito que n~ao seja simples.
(c) Determinar um circuito simples.
3. Considerar o digrafo G = (V; E ) onde
V = fv1 ; v2 ; v3 ; v4 ; v5 ; v6 g e
E = f(v1 ; v2 ); (v2 ; v3 ); (v3 ; v4 ); (v4 ; v5 ); (v5 ; v6 ); (v1 ; v6 ); (v2 ; v6 ); (v5 ; v2 )g
24
(a) Determinar um caminho de v1 a v6 de comprimento 6.
(b) Determinar um caminho simples de v1 a v6 com 5 arcos
(c) Determinar um ciclo com 4 arcos.
(d) Determinar a dist^ancia entre o vertice v2 e v5 .
(e) Usar a matriz de adjac^encia de G para determinar o numero
de caminhos de v2 a v4 de comprimento 2.
4. Usar um procedimento matricial para o grafo a qual corresponde
a matriz de adjac^encia.
A
G
0
0
B
B
1
B
B
=B 1
B
B
@0
1
0
0
1
0 0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
C
C
C
C
C
C
C
A
Determinar:
(a) Se existe um caminho entre o vertice v1 e v5 .
(b) Se o grafo e ou n~ao conexo?
5. Encontrar se possvel o ciclo de Euler e Hamilton nas guras
abaixo, e justicar as negativas.
Figura 2.8:
25
Captulo 3
Caminhos mais curtos
Sempre que num grafo ha custos associados as arestas, diz-se que estamos perante um grafo valorado.
Denic~ao 3.1 Chama-se custo de um caminho a soma dos valores
correspondentes as arestas que o constituem.
A representaca~o de um tal grafo pode ser feita gracamente escrevendo
os valores correspondentes a cada aresta sobre ela, ou atraves da matriz de adjac^encia, substituindo a entrada igual a 1 que informa da
exist^encia de uma aresta pelo custo que lhe corresponde.
Para grafos valorados, alem de interessar estabelecer a exist^encia de
pelo menos um caminho entre dois quaisquer vertices, e muitas vezes,
importante obter o caminho de menor custo.
O caminho mais curto entre dois vertices e aquele cujo custo e o
menor possvel. Se o grafo for de pequena dimens~ao, bastara fazer uma
lista de todos os caminhos possveis e escolher o de menor custo. Podese construir a matriz custos com base nos caminhos mais curtos entre
cada par de vertices.
Quando a dimens~ao do grafo e maior este processo e impraticavel.
Descrevemos seguidamente o algoritmo de Dijkstra por ser um dos mais
26
simples de aplicar, que funciona tanto para grafos orientados como
n~ao orientados e que tambem se presta a uma facil implementac~ao
computacional.
3.1 Algoritmo de Dijkstra
Este algoritmo, baseia-se no princpio de que o caminho mais curto
entre dois vertices contem o caminho mais curto entre cada par de
vertices intermedios. Vamos descrever o algoritmo determinando o caminho mais curto entre os vertices a e h do digrafo da gura 3.1.
Figura 3.1: Determinar o caminho mais curto do digrafo valorado
Partindo do vertice a, em cada passo do algoritmo determina-se o caminho mais curto entre esse vertice e um outro vertice do grafo que
ca no caminho para h. O algoritmo termina quando se consegue atingir h. Vamos denir dois conjuntos de vertices S e T do seguinte
modo: S e o conjunto dos vertices para onde ja se sabe qual e o caminho mais curto e T e o conjunto dos outros vertices. Inicialmente
e S = fag e T = fb; c; d; e; f; g; hg, pois o caminho mais curto entre
a e a e obviamente de comprimento nulo. Em cada iteraca~o vamos
tirar um vertice de T e inseri-lo em S . Com esse objectivo construmos
27
uma tabela em que se indicam as dist^ancias mnimas ja determinadas
para os vertices de S e as dist^ancias estimadas para os vertices de T
para onde se pode ir directamente a partir dos vertices de S , para os
vertices de T aos quais n~ao seja possvel chegar directamente a partir
dos vertices de S consideramos que a dist^ancia estimada e 1: A coluna
"antecedente"permitira, como veremos construir o caminho mais curto
depois de sabermos qual o valor que lhe corresponde. Inicialmente
temos a seguinte tabela:
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
a
b
3
a
c
8
a
d
4
a
e
1
f
1
g
1
h
1
Observando a coluna "dist^ancia estimada", vemos que o menor valor e 3
e corresponde ao vertice b. Ent~ao o caminho mais curto entre o vertice
a e o vertice b e 3 e ja podemos passar o vertice b para o conjunto
T . A partir do vertice b pode-se ir para c e e. O caminho de a a b
tem comprimento 3 e de b a c comprimento 2, logo o caminho de a a c
passando por b tem comprimento 5 que e menor do que o valor 8 antes
estimado. Actualizamos esse valor e mudamos o antecedente de c de a
para b. A dist^ancia estimada para e passa a ser 10, com antecedente b.
Temos assim novos conjuntos S = fa; bg e T = fc; d; e; f; g; hg e a nova
tabela:
28
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
b
3
a
c
5
b
d
4
a
e
10
b
f
1
g
1
h
1
Neste momento a menor dist^ancia estimada e 4 para o vertice d. Passamos o vertice d do conjunto T para o conjunto S (S = fa; b; dg e
T = fc; e; f; g; hg) e actualizamos os valores da tabela tendo em atenc~ao
os vertices para onde se pode ir directamente a partir de d. Repare-se
que de d para c a dist^ancia e 2, que somados a dist^ancia 4 ate d daria
uma dist^ancia 6 para c, valor superior ao 5 anteriormente estimado,
pelo que n~ao se considera esse caminho.
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
b
3
a
c
5
b
d
4
a
e
10
b
f
1
g
9
d
h
1
A dist^ancia estimada mnima neste momento e 5 para c. Ent~ao o vertice
c passa para o conjunto S (S = fa; b; c; dg e T = fe; f; g; hg) e repete-se
tudo de novo.
29
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
b
3
a
c
5
b
d
4
a
e
10
b
f
8
c
g
9
d
h
1
Passa-se f de T para S : S = fa; b; c; d; f g e T = fe; g; hg. De f pode-se
ir para e, g e h. Para e a dist^ancia estimada passa a ser 9 = 8 + 1 < 10
e actualiza-se o antecedente de e para f . Para g a dist^ancia seria
8 + 4 = 12 > 9 pelo que n~ao se considera e, para h temos agora a
dist^ancia estimada 8 + 3 = 11. Temos assim o novo quadro:
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
b
3
a
c
5
b
d
4
a
e
9
f
f
8
c
g
9
d
h
11
f
No passo seguinte tanto podemos escolher e como g , uma vez que
correspondem ambos a dist^ancia estimada mnima. Vamos escolher
e: S = fa; b; c; d; e; f g e T = fg; hg : De e so e possvel chegar a
h com a dist^ancia 9 + 8 = 17 > 11. Seguidamente escolhemos g:
S = fa; b; c; d; e; f; gg e T = fhg . De g tambem so se pode ir para h
com a dist^ancia 9 + 3 = 12 > 11. Finalmente, a menor dist^ancia estimada corresponde ao vertice h com o valor 11: S = fa; b; c; d; e; f; g; hg
30
e T = ;. Temos o quadro nal
Vertice Dist^ancia mnima Dist^ancia estimada Antecedente
a
0
b
3
a
c
5
b
d
4
a
e
9
f
f
8
c
g
9
d
h
11
f
Conclumos assim que o comprimento do caminho mais curto entre os
vertices a e h e 11. Para saber qual o caminho temos que analisar a
coluna dos antecedentes. O antecedente de h e f , o antecedente de f
e c, o antecedente de c e b e o antecedente de b e a. Temos assim o
caminho a ! b ! c ! f ! h:
31
Captulo 4
Tipos de Grafos
4.1 Grafos Bipartido
Um dos tipos de grafos com muita import^ancia, nos problemas de emparelhamento (casamentos, distribuica~o de grupos de tarefas por grupos de pessoas,
etc.) s~ao os chamados grafos bipartidos .
Um grafo G e dito r-partido se o seu conjunto de vertices admite uma
partica~o em r classes de modo que cada aresta tem extremos em classes
diferentes. Vertices na mesma partic~ao n~ao podem ser adjacentes.
Denic~ao 4.1 Um grafo G diz-se bipartido se existe uma partica~o do seu
conjunto de vertices em V 0 e V 00 (V = V 0 [ V 00 : V 0 \ V 00 = ;) tal que n~ao
existem arestas entre qualquer par de vertices de V 0 nem entre qualquer par
de vertices de V 00 . Um tal grafo bipartido e usualmente representado por
G = (V 0 ; V 00 ; E ), onde E denota o respectivo conjunto de arestas. Quando
jV(G)j = r, jV 00(G)j = s; 8x 2 V 0 8y 2 V 00 fx; y 2 E (G) este grafo denotase por K e designa-se por grafo bipartido completo.
r;s
O grafo K tem r + s vertices e r s arestas. Note-se tambem que os grafos
K e K s~ao iguais. Por convenca~o escreve-se sempre primeiro o menor dos
valores de s e r.
r;s
r;s
s;r
32
Figura 4.1: Grafos Bipartido
Denic~ao 4.2 Designa-se por grafo completo (nulo) de ordem n e denotase por K (N0 ) um grafo com n vertices dois a dois adjacentes (n~ao adjan
centes, ou seja, sem qualquer aresta). Um digrafo e dito completo se existir
um arco entre qualquer par dos seus vertices.
Figura 4.2: Digrafo Completo
Teorema 4.1 Um grafo admite uma bipartica~o se e so se n~ao tem circuitos
de comprimento mpar.
Demonstrac~ao: Se G = (V 0 ; V 00 ; E ) e um grafo bipartido, ent~ao e claro que
todos os circuitos t^em comprimento par. Com efeito, uma vez que tanto em
V 0 como em V 00 n~ao existem vertices adjacentes, partindo-se, por exemplo,
de um vertice em V 0 , de cada vez que se passa para V 00 , para se obter um
circuito, tem de se voltar a V 0 na aresta seguinte, pelo que qualquer circuito
tem comprimento par. Suponhamos que G n~ao tem circuitos de comprimento
33
mpar. Uma vez que um grafo e bipartido sse cada uma das suas componentes
constitui um subgrafo bipartido, podemos supor, sem perda de generalidade,
que G e conexo. Considere-se um vertice arbitrario z 2 V (G) e seja
V 0 = fw 2 V (G) : dist (z ; w) imparg . Nestas condico~es n~ao existem
arestas que liguem vertices de V 0 (caso contrario existiriam circuitos de
comprimento mpar). Por outro lado, como todos os vertices de V (G)nV 0
est~ao a uma dist^ancia par de z (em particular z esta a uma dist^ancia 0 dele
proprio), n~ao existem vertices adjacentes em V (G)nV 0 (uma vez que, por
raz~oes id^enticas as anteriores, em tais condico~es, existiriam circuitos de comprimento mpar). Logo, fazendo V 00 = V (G)nV 0 obtem-se uma bipartic~ao
para G, dada por G = (V 0 ; V 00 ; E ).
G
Denic~ao 4.3 Designa-se por grafo complementar de um grafo G = (V; E )
e denota-se por G = (V; E ) um grafo com o mesmo conjunto de vertices de
G no qual dois vertices s~ao adjacentes se e so se n~ao s~ao adjacentes em G
Figura 4.3: G e seu Complementar G
Pode-se concluir ent~ao que o complementar de um grafo completo K e um
grafo nulo N e que o complementar do grafo bipartido completo K e o
grafo desconexo composto de duas componentes conexas K e K .
n
n
r;s
r
s
4.2 Arvores
Uma outra classe importante de grafos s~ao as arvores. S~ao de extrema utilidade na resoluca~o de problemas combinatorios e de optimizaca~o: Instalaca~o
34
de cabos para distribuica~o de energia electrica, procura de caminhos mais
curtos ou com menor custo.
Usamos arvores direccionadas para calcular uma estrategia optima para jogos relativamente simples. Esta mesma tecnica e usada em muitos programas
para jogar Xadrez, com uma arvore de grande dimens~ao.
Denic~ao 4.4 Chama-se arvore um grafo T conexo e acclico (sem ciclos).
Uma arvore pode ser dirigida ou n~ao dirigida consoante T for um digrafo
ou, simplesmente, um grafo. O termo arvore sem qualquer qualicativo
interpreta-se sempre no sentido de ser uma arvore n~ao dirigida.
Figura 4.4: Arvore
Dirigida
Figura 4.5: Arvore
n~ao Dirigida
Pode-se designar um vertice para ser a raiz da arvore, o que demonstra uma
relaca~o logica entre os vertices. Essas arvores s~ao ditas hierarquicas e a
dist^ancia entre cada vertice e a raiz e denominada de nvel. Em uma arvore
hierarquica os vertices podem ser rotulados de acordo com a denominac~ao
de uma arvore genealogica: lhos, pais e ancestrais, no sentido literal das
palavras. Uma arvore hierarquica onde cada vertice da origem a dois outros
de nvel inferior, e chamada de arvore binaria. Os vertices de grau 1 em uma
arvore s~ao chamados de folhas.
35
Teorema 4.2 Numa arvore T existe um unico caminho simples entre cada
par de vertices
Demonstrac~ao: Sejam u e v dois vertices quaisquer de uma arvore T . Visto
que T e um grafo conexo ent~ao existe pelo menos um caminho entre u e v e,
portanto, existe um caminho simples entre aqueles dois vertices. Suponha-se
que, se possvel, P e P 0 s~ao dois caminhos simples entre aqueles dois vertices.
Se P e P 0 forem diferentes ent~ao existe uma aresta que pertence a um e n~ao
pertence ao outro. Suponha-se que e e a primeira aresta que esta em P mas
n~ao em P 0 quando se caminha de u para v , isto e, suponha-se que se tem
P : u::::::u :e::u +1 ::::::v
i
i
P 0 : u::::::u :::v +1 ::::::v
i
i
Seja W o conjunto de vertices intermedios de P situados entre u +1 e v e
seja W 0 o conjunto de vertices intermedios de P 0 situados entre v +1 e v . Se
W e W 0 n~ao tiverem quaisquer elementos comuns, ent~ao obter-se-a um ciclo
percorrendo todos os vertices de W a partir de u e depois todos os vertices de
W 0 (desde v ate u ). Esta situac~ao n~ao pode ocorrer pois T n~ao possui ciclos,
por hipotese. Por outro lado, supondo que W e W 0 t^em vertices comuns
seja u o primeiro vertice de P que pertence tambem a W 0 de tal forma que
nenhum vertice entre u e u esta em P 0 . Ent~ao obtem-se novamente um
ciclo partindo de u ate u em P e de u a u em P 0 . Quer dizer, a suposic~ao
que mais que um caminho simples entre dois vertices distintos de T implica
a exist^encia de um ciclo em T . Como T n~ao possui ciclos ent~ao entre dois
vertices quaisquer de T ha apenas um caminho simples.
i
i
i
i
r
i
i
r
r
r
i
Teorema 4.3 Se num grafo G existir apenas um unico caminho simples
entre dois quaisquer dos seus vertices, ent~ao G e uma arvore.
36
Teorema 4.4 Numa arvore cada aresta e uma ponte.
Teorema 4.5 Se G for um grafo conexo no qual cada aresta e uma ponte
ent~ao G e uma arvore.
Demonstrac~ao: Suponha-se que G n~ao e uma arvore, seja C um ciclo em G
e suponha-se que e designa uma aresta em C . Seja G0 o grafo que se obtem
suprimindo a aresta e em G. Visto que, por hipotese,e e uma ponte ent~ao
G0 e desconexo. Sejam p e q dois vertices quaisquer de G. Como G e conexo
existe um caminho P entre p e q . Se P n~ao contiver e ent~ao existiria tambem
um caminho entre p e q no grafo desconexo G0 . Por outro lado, se e = fv; wg
for uma aresta de P que tambem pertence ao ciclo C que parte, por exemplo,
do vertice t, obtem-se o seguinte caminho em G0 entre p e q
p::::::v::::::t::::::w::::::q
(substitui-se a aresta e pelo resto do circuito C que vai de v a w). Por outras
palavras, existe sempre um caminho entre cada par de vertices de G0 o que
contraria o facto de G ser desconexo.
Teorema 4.6 Uma arvore T com n vertices tem n 1 arestas.
Demonstrac~ao: Far-se-a a demonstrac~ao por induca~o em n.
1. A proposic~ao e verdadeira para n = 1 (uma vez que numa arvore
n~ao pode haver lacetes).
2. Suponha-se que a proposica~o e verdadeira para todo o m natural tal que 1 < m < n. Seja e = fu; v g uma aresta de T que e
uma arvore, pois tem lugar o teorema 4.5. Suprimindo a aresta
e obtem-se um subgrafo T 0 desconexo com duas componentes
conexas H e H 0 . Tanto H como H 0 s~ao arvores com k e k0 vertices
que s~ao numeros inteiros positivos tais que k + k0 = n. Ent~ao
tanto k como k0 s~ao menores que n. Pela hipotese de induc~ao H
37
tem k 1 arestas e H 0 tem k0 1 arestas e as duas componentes
juntas t^em (k 1) + (k0 1) = (k + k0 ) 2 = n 2 arestas. Ent~ao
T 0 tem n 2 arestas e, consequentemente, T tem n 1 arestas.
Assim pelo princpio de induca~o nita ca provado o teorema.
Teorema 4.7 Qualquer grafo conexo com n vertices e n
1 arestas e uma
arvore.
Demonstrac~ao:Se G = (V; E ) n~ao fosse uma arvore existiria uma aresta
e que n~ao seria uma ponte. Suprima-se e para obter o grafo G0 = (V; E 0 ).
Continue-se este processo ate obter um subgrafo H = (V; F ) no qual cada
aresta seja uma ponte. Ent~ao H e uma arvore com n 1 arestas. Isto
signica que apos este processo de remoca~o de arestas acabou por se car
com o mesmo numero, ou seja, que o grafo inicial ja era uma arvore.
Denic~ao 4.5 Uma arvore suporte (geradora) de um grafo G e um grafo
parcial de G que e uma arvore.
Teorema 4.8 Um grafo G e conexo se e so se possuir uma arvore suporte.
Demonstrac~ao: Se G possuir uma arvore suporte ent~ao, visto que a arvore e
conexa e possui o mesmo numero de vertices que G, G e conexo. Suponhamos
que G n~ao e conexo ent~ao nenhum dos seus grafos parciais sera conexo e,
portanto, nenhum deles pode ser uma arvore. Se G e conexo ent~ao G admite
uma arvore de suporte. Supondo G conexo procuremos uma aresta em G
que possa ser removida sem que o grafo se torne desconexo. Uma de duas
situaco~es pode ocorrer:
1. N~ao existe tal aresta;
2. Existe tal aresta;
No primeiro caso ja encontramos uma arvore. No segundo caso removemos
a aresta e repetimos o processo ate que se ocorra a primeira situac~ao.
38
Ha fundamentalmente dois processos para encontrar uma arvore de suporte
para um dado grafo conexo: o destrutivo e o construtivo.
1. O processo destrutivo baseia-se na demonstraca~o do teorema
que garante a exist^encia da arvore de suporte. Comeca-se por
considerar o grafo inicial. Uma aresta cuja remoc~ao n~ao torna o
grafo desconexo tem que pertencer a um circuito. Se n~ao houver
nenhum circuito ja se tem uma arvore. Caso contrario identica-se
um circuito e retira-se uma aresta. Se n~ao houver mais circuitos
se termina o processo, caso contrario repete-se ate n~ao haver mais
circuitos.
2. No processo construtivo vai-se construindo a arvore comecando
com um vertice do grafo inicial e, em cada passo, escolhe-se uma
aresta do grafo que comece num vertice da arvore e termine num
vertice que ainda n~ao esteja na arvore, acrescentando-se ent~ao esse
vertice e essa aresta a arvore. O processo termina quando todos os
vertices estiverem na arvore. Para um mesmo grafo podem existir
varias arvores de suporte.
4.2.1
Arvore
suporte M
nima
Quando, estivermos perante um grafo valorado, torna-se de crucial import^ancia
a determinaca~o de uma arvore suporte cujo custo seja o mnimo possvel.A
tal arvore e designada por arvore de suporte mnima. Existem varios
algoritmos que permitem a obtenc~ao de tal arvore. A resposta pode n~ao ser
unica, embora, neste caso, geralmente, o numero de opc~oes de escolha e mais
reduzido.
Algoritmo de Prim.
A arvore e obtida pelo processo construtivo.
Denote-se o conjunto T , formado pelos vertices que, em cada passo do algoritmo, ja foram colocados na arvore. Inicia-se a construca~o da arvore
39
escolhendo a aresta com custo mnimo. Colocam-se os dois vertices a que
essa aresta e incidente no conjunto T. Em cada iterac~ao escolhe-se, entre as
arestas que t^em um vertice em T e outro em V T , a que tiver custo mnimo.
Acrescenta-se essa aresta a arvore e o novo vertice a T e repete-se o processo
n 1 vezes. Deste modo garante-se que n~ao se formam circuitos.
Denic~ao 4.6 Chama-se oresta a um grafo desconexo, que cada componente conexa e arvore.
Teorema 4.9 Um grafo G e uma oresta se e so se jE (G)j jV (G)j + c(G) =
0 onde c(G) denota o numero de componentes de G.
Demonstrac~ao: A prova da condica~o necessaria vai ser feita por induca~o
sobre o numero de arestas de G, tendo em conta que o resultado se verica
trivialmente para jE (G)j = 0. Suponha-se jE (G)j > 0 e que o resultado se
verica para todas as orestas com menos do que jE (G)j arestas. Seja G0
um subgrafo de G obtido por eliminac~ao de uma aresta arbitraria. Logo G0 e
uma oresta com jE (G)j 1 arestas, jV (G)j vertices e c(G)+1 componentes.
Por hipotese de induc~ao, aplicada a G0 ,
0 = jE (G0 )j jV (G0 )j+c(G0 ) = jE (G)j 1 jV (G)j+c(G)+1 = jE (G)j jV (G)j+c(G) :
(Suponha-se que G tem p componentes, G1 ; ; G , pelo que
p
jE (G)j jV (G)j + p =
X
p
(jE (G )j
jV (G )j + 1)
j
j
j =1
Ent~ao
jE (G)j jV (G)j + p = 0 ,
X
p
(jE (G )j
jV (G )j + 1) = 0
j
j
j =1
e, uma vez que 8j 2 f1; ; pg jE (G )j jV (G )j + 1 > 0 conclui-se que
8j 2 f1; ; pg jE (G )j jV (G )j +1 = 0 Consequentemente,todos os grafos
G , com j 2 f1; ; pg , s~ao arvores.
j
j
j
j
40
j
4.3 Exerccios
1. Tr^es vizinhos inimigos usam a mesma agua, oleo e gas. Eles desejam construir caminhos que vai das suas casas a cada uma das 3
fontes. Apresente uma proposta, identicando o tipo de grafo.
n(n 1)
2. Prove que um grafo de ordem n, completo tem dimens~ao
.
2
41
Captulo 5
Aplicaco~es
5.1 Problemas Propostos e Resolvidos
1. Numa Escola Secundaria organiza-se um campeonato de Futsal
entre as 7 turmas do 11o ano. Cada turma deve jogar uma unica
vez com cada uma das outras. A certa altura sabe-se que: a turma
A ja fez 6 jogos; a B fez 5 jogos; a C e a D zerem 3 jogos cada
uma; a E e a F zeram 2 jogos cada uma e a G ainda so fez 1
jogo. Sera possvel saber que jogos fez a turma C ? E quantos
jogos faltam ainda fazer ao todo?
Resoluc~ao :
Considerando as turmas como elementos do conjunto dos vertices, tracando uma aresta caso as turmas ja tenham
jogado, obtemos grafo da gura 5.1. Analisando o grafo veremos
que, a turma C ja fez 3 jogos (jogou com A, B e D). O grafo tem
11 arestas que e o total de jogos ent~ao realizados. Sabendo que
cada turma deve jogar uma unica vez com as outras (cada uma
realizara 6 jogos), faz com que no nal do campeonato tenhamos
um grafo completo de ordem 7, pelo que o total de jogos seria
76
= 21, fazendo 21 11 encontramos o numero de jogos por
2
realizar.
42
Figura 5.1:
Outra via: Representemos o grafo pela sua matriz de adjac^encia.
Cada la da matriz representa uma turma respeitando a ordem alfabetica (1a la turma A, 2a la turma B , ...).
0
0
B
B
1
B
B
1
B
B
B
A=B 1
B
B
1
B
B
@1
1
0
1
1
1
1
1 0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
C
C
C
C
C
C
C
C
C
C
C
C
A
A soma dos elementos da 3a la da matriz e 3, grau do vertice
C , o que quer dizer que a turma C ja fez 3 jogos. Para saber que
jogos ja fez vamos analisar os elementos iguais a 1 na 3a linha
(representa os jogos realizados pela turma C ): a31 = 1 quer dizer
que a turma C ja jogou com A; a32 = 1, jogou com B ; a34 = 1,
jogou com D. Para determinar os jogos que faltam faz-se o mesmo
processo que na primeira resoluca~o.
2. Perguntou-se a seis pessoas de um grupo de quem elas gostavam
dentro do grupo. Representamos as pessoas pelas letras p, q, r, s,
t e u. Com as respostas preenchemos o quadro:
43
Pessoas Gosta de
p
q, r, t, u
q
p, t
r
p, u
s
p
t
p, q, u
u
p
Estude as relac~oes entre estas pessoas descobrindo:
(a) Quem e a mais popular.
(b) Quem e a menos popular.
(c) Um grupo de verdadeiros amigos.(Cada elemento do grupo e
amigo dos restantes).
Sugest~ao :Esta situaca~o pode ser estudada considerando as pessoas como elementos do conjunto dos vertices, um arco entre elas
caso uma respondeu a outra como amigo.
3. Nas ilhas de Cabo Verde, a ag^encia NITOUR disp~oe de um plano
de viagens que une directamente as 10 ilhas do arquipelago. Os
navios n~ao efectuam paragens intermedias.
Utilizando a matriz de adjac^encia, descreve-se no quadro as linhas
e sentidos em que o servico operado.
As ilhas s~ao representadas por letras maiusculas de A a J.
44
A
B
C
D
E
F
G
H
I
J
A
0
0
0
0
1
0
0
1
0
0
B
1
0
1
0
0
0
0
0
0
0
C
0
0
0
0
0
0
1
0
0
0
D
0
0
1
0
0
0
0
0
0
0
E
1
0
0
0
0
0
1
0
0
0
F
0
0
0
0
0
0
0
0
0
1
G
0
0
0
1
0
0
0
0
0
0
H
0
0
0
0
0
0
0
0
1
1
I
0
0
0
0
0
0
0
1
0
0
J
0
1
1
0
0
1
0
0
0
0
(a) ) Para que ilhas se pode deslocar um passageiro que esteja no
local F ?
(b) Para ir de C para H qual e o numero mnimo de navios que
um passageiro deve usar?
(c) O sistema garante o transporte de passageiros entre qualquer
par de ilhas?
(d) Caso a resposta tenha sido n~ao apresente uma soluca~o, inserindo novos percursos, que permita o transporte de passageiros entre qualquer par de ilhas. (Isto e, acrescente arcos
de modo a transforma-lo num digrafo fortemente conexo).
4. Considere os seguintes conjuntos A = fa; bg, B = fc; dg,
C = fe; f g, efectue a seguinte operac~ao A B C , utilizando
conceitos da teoria dos grafos.
5. Uma mulher deve transportar um le~ao, uma raposa e um coelho
de uma margem a outra de um rio, em um barco que so cabe a
mulher e mais um dos animais. Se o le~ao e a raposa, ou a raposa e
o coelho, carem na margem oposta em que estiver a mulher, em
dado instante, o primeiro come o segundo. Construa um grafo,
e mostre todas as formas de cruzar o rio com seguranca para a
45
raposa e o coelho.
Resoluc~ao: Criemos um vertice para cada conguraca~o segura
(aquela em que ninguem come ninguem) possvel, e uma aresta
entre dois vertices se a conguraca~o representada por um puder
ser obtida daquela representada pelo outro cruzando-se o rio.
Os animais est~ao todos num lado A do rio. Representemos a
viagem do lado A para B pelo arco azul, e o regresso a A por
vermelho. Observando a gura 5.2 podemos ver que inicialmente
Figura 5.2:
a mulher so pode levar a raposa para o lado B , pois se zer outra
escolha deixara ou o le~ao e raposa, ou raposa e coelho do lado
oposto e o primeiro comera o segundo. Regressando sozinha no
barco vai encontrar o coelho e o le~ao, aqui ela tanto pode levar
o coelho como o le~ao. Optando por levar o coelho, ao chegar na
margem B , cara com coelho e raposa. Forcosamente tera que
levar a raposa para o lado A pois, se deixar os dois para ir buscar
o le~ao a raposa comera o coelho. Levando a raposa e trazendo
o le~ao, teremos o coelho e le~ao no lado pretendido B , assim ira
46
sozinha buscar a raposa no lado A. Esta e uma forma segura de
cruzar o rio com animais.
6. Um certo jogo de dois jogadores comeca com uma pilha vazia. Os
jogadores se alternam colocando 1, 2 ou 3 moedas de 1 centavo na
pilha. O vencedor sera aquele que colocar o decimo sexto centavo.
Sugest~ao : Descreva o jogo em termos de grafos direccionados,
mostrando que o segundo jogador tem uma estrategia vencedora.
7. Uma rede rodoviaria entre seis povoaco~es, A, B, C, D, E e F, e
constituda por oito estradas como descrito a seguir: entre A e B
com 30Km; entre A e C com 22Km; entre A e D com 30Km;
entre B e E com 20Km; entre C e E com 12Km; entre C e D
com 36Km; entre E e F com 40Km; entre D e F com 18Km.
Represente esta rede rodoviaria por um grafo com pesos. Em
seguida aplique o algoritmo de Dijkstra ao grafo para determinar
o percurso mais curto da povoaca~o D para a povoac~ao B , bem
como a respectiva dist^ancia.
8. Prove que sim ou que n~ao:
possvel ter um grupo de 9 pessoas, cada uma das quais
(a) E
conhece exactamente 5 das outras.
(b) Em qualquer grupo, o numero de pessoas n~ao apertaram as
m~aos de um numero mpar de pessoas do grupo e par.
(c) O numero de todos os seres humanos (vivos e mortos) que se
casaram um numero mpar de vezes e par.
(d) Em qualquer livraria, o numero de livros com um numero
mpar de paginas e par.
Sugest~ao :Lembre-se que
{ em qualquer grafo a soma do grau de todos os vertices e par.
{ o numero de vertices de grau mpar e par.
9. Numa cidade do interior, o prefeito, preocupado com a assist^encia
a saude da populaca~o, deseja construir um Pronto Socorro equipado
47
com ambul^ancias para buscar os pacientes em caso de emerg^encia.
Considere A, B, C, D, E, F, G e H como os bairros da cidade que
dever~ao ser atendidos pelas ambul^ancias e os caminhos entre os
bairros descritos da seguinte forma:
entre A e B com 3 km de distancia; A e D com 9 km de distancia;
A e H com 6 km de distancia; B e C com 2 km de distancia; B
e D com 5 km de distancia; B e H com 8 km de distancia; C e
D com 1 km de distancia; D e F com 3 km de distancia; D e G
com 7 km de distancia; E e F com 4 km de distancia; F e G com
9 km de distancia; G e H com 5 km de distancia;
Represente esta situaca~o por um grafo e, determine qual seria o
ponto adequado para a instalaca~o do Pronto Socorro na cidade de
tal forma que, a dist^ancia percorrida a partir deste pronto socorro
ate um bairro, seja mnima?
48
Resoluc~ao :
A situaca~o pode ser modelada como mostra a gura 5.3.
Figura 5.3:
Pela matriz de custo e possvel descobrir a localizaca~o do centro
de emerg^encia (dm e a dist^ancia maxima entre os vertices)
A
B
C
D
E
F
G
H
A B C D E F
0 3 5 6 13 9
3 0 2 3 10 6
5 2 0 1 7 4
6 8 1 0 7 3
13 10 7 7 0 4
9 6 4 3 4 0
11 10 8 7 13 9
6 8 10 12 17 14
G
11
10
8
7
13
9
0
5
H
6
8
10
12
17
14
5
0
dm
13
10
10
12
17
14
11
17
De acordo com a matriz de custo camos a saber que os possveis
pontos para a instalaca~o do centro de emerg^encia, s~ao B e C , isto
e, tanto B como C t^em as menores dist^ancias entre os restantes.
49
Consideraco~es Finais
Orientando-se nos objectivos tracados, ao terminar o trabalho, constatamos
que, cumprindo as exig^encias do Regulamento do Trabalho de Fim do Curso,
conseguimos elaborar e apresentar um documento - sntese das ideias basicas
da Teoria dos Grafos, ilustrando-as com exemplos - problemas que, do nosso
ponto de vista, incentivam o interesse no tema escolhido.
Tendo em conta a insuci^encia no pas da bibliograa cientca nas areas
exactas, a presente Monograa pode servir como um material didactico para
a iniciac~ao do estudo da Teoria dos Grafos.
Para ser um instrumento de apoio completo, mais solido, sugerimos aos interessados no assunto, dar suas validas contribuic~oes.
50
Refer^encias Bibliogracas
[1] Cardoso, Domingos Moreira; Teoria dos Grafos e Aplicaco~es, Dep.
Matematica, U. Aveiro
[2] De Carvalho, Marco Antonio Garcia; Teoria dos Grafos - Uma Introduca~o CESET Limeira, SP Brasil (2005)
[3] Diestel, Reinhard; Graph Theory, Springer - Verlag Heidelberg New
York (Electronic Version 2005)
[4] Feolo, Paulo, Exerccios de Teoria dos Grafos IME, USP 2005
[5] Feolo, Paulo; Kohayakawa, Yoshiharu; Wakabayashi, Yoshiko;
Uma introduca~o Suscinta a Teoria dos Grafos
[6] Pinto, Jose Sousa; Topicos de Matematica Discreta (Texto de Apoio
2005/2006) Dep. Matematica, U. Aveiro 199
51
Download

Ant onio Furtado - Portal do Conhecimento