Você está na página 1de 81

Tpicos de Grafos

Tpicos que tm feito parte da disciplina de


Disciplina de Grafos (e Redes)

Luis Gouveia, 2012

Luis Gouveia Tpicos de Grafos -

1-

Contents
0. Introduo............................................................................................................................... 4
1. Definies e Conceitos Bsicos sobre Grafos no Orientados .............................................. 7
1.1 Definies - Revises ....................................................................................................... 7
1.1 Exerccios de Reviso Folha 1 .......................................................................................... 9
2. Grafos Eulerianos ................................................................................................................. 11
2.1 Motivao ....................................................................................................................... 11
2.2 Definies....................................................................................................................... 12
2.3 Condio Necessria e Suficiente .................................................................................. 13
2.4 Determinao de um Ciclo Euleriano ............................................................................ 15
2.5 Exerccios - Folha 2........................................................................................................ 20
3. Grafos Hamiltonianos .......................................................................................................... 21
3.2 Definies....................................................................................................................... 21
3.3 Condies Necessrias ................................................................................................... 22
3.4 Condies Suficientes .................................................................................................... 25
3.4.1 Condies de Ore e Dirac........................................................................................ 25
3.4.2 Algoritmo de Cruzamento ....................................................................................... 27
3.5 Exerccios - Folha 3........................................................................................................ 29
4. Grafos Planares .................................................................................................................... 30
4.1 Motivao ....................................................................................................................... 30
4.2 Definio ........................................................................................................................ 30
4.3 Condio suficiente e necessria para um grafo ser planar ............................................ 31
4.4 Frmula de Euler ............................................................................................................ 36
4.5 Exerccios Folha 4 ....................................................................................................... 39
5. Colorao de um Grafo. ....................................................................................................... 40
5.1 Colorao por Nodos ...................................................................................................... 40
5.1.1 Definies e Exemplos ............................................................................................ 40
5.1.2 Determinao de (G). O caso (G) = 2 .................................................................. 42
5.1.3 Limites Inferiores para (G). ................................................................................... 43
5.1.4 Limites Superiores para (G). ................................................................................. 45
5.1.5 Colorao em Grafos Planares ................................................................................ 46
5.2 Colorao de Mapas ....................................................................................................... 48
5.3 Coloraco por Arestas .................................................................................................... 49
5.3.1 Definies e exemplos ............................................................................................ 49
5.3.2 Limites Inferiores e Limites Superiores para (G) ................................................. 50
5.4 Exerccios Folha 5 ...................................................................................................... 53
6 rvores de Suporte de Custo Mnimo: Condies de Optimalidade e Algoritmos .............. 54
6.1 Motivao ....................................................................................................................... 54
6.2 Definies....................................................................................................................... 56
6.3 Condio de Optimalidade de Corte ............................................................................. 58
6.4 Algoritmo de Prim .......................................................................................................... 60
6.5 Condio de Optimalidade de Ciclo............................................................................... 62
6.6 Algoritmo de Kruskal ..................................................................................................... 64
6.7 Exerccios Folha 6 ....................................................................................................... 67
7. Conexidade ........................................................................................................................... 70
7.1 Graus de Conexidade. Motivao .................................................................................. 70
7.2 Corte. Conexidade relativa a um par de nodos............................................................... 71

Luis Gouveia Tpicos de Grafos -

2-

7.3 Cadeias Disjuntas entre dois nodos ................................................................................ 73


7.4 Teorema de Menger ....................................................................................................... 73
7.5 Conexidade de um Grafo................................................................................................ 75
7.6 Conexidade ptima ........................................................................................................ 77
7.11 Exerccios Folha 7 ...................................................................................................... 79
8. Bibliografia de Apoio ........................................................................................................... 81

Luis Gouveia Tpicos de Grafos -

3-

0. Introduo
Assume-se que um potencial leitor destas notas teve j uma introduo bsica sobre
grafos incluindo, a definio de um grafo e outros conceitos tais como adjacentes de um
vrtice, grau de um vrtice, cadeia, ciclo, grafo conexo, grafo desconexo, cadeia/ciclo
elementar, cadeia/ciclo simples, grafo parcial e de subgrafo.
De seguida apresentamos uma pequena descrio dos tpicos includos nestas notas. No
segundo captulo faz-se uma breve referncia a ciclos e grafos Eulerianos e ao famoso
problema das pontes de Konigsberg proposto e estudado por Euler. Apresenta-se uma
condio suficiente e necessria para um grafo ser Euleriano. Esta condio permite
ilustrar o potencial da matemtica ao apresentar uma caracterizao global do grafo
(existncia de um ciclo Euleriano) atravs de condies locais do grafo, em particular
condies sobre o grau dos nodos do grafo.
No terceiro captulo, abordam-se ciclos e grafos Hamiltonianos. O conceito de ciclo
Hamiltoniano usualmente motivado atravs de um puzzle que se deve a Hamilton (e
da a designao). interessante mencionar que verificar a existncia de um ciclo
Hamiltoniano, um problema de difcil resoluo ao contrrio do problema
mencionado no captulo anterior. De facto no conhecida uma condio que seja ao
mesmo tempo suficiente e necessria para um grafo ser Hamiltoniano e existem razes
para que tal condio no exista. Grande parte do captulo consiste em apresentar
condies suficientes ou condies necessrias para um grafo ser Hamiltoniano.
No quarto captulo estudam-se grafos planares, ou seja grafos que possam ser
representados de modo a que as arestas apenas se intersectem nos nodos. Apresentamse condies suficientes e necessrias para um grafo ser planar e mais uma vez,
ilustraremos com este resultado o potentical da matmtica. Isto , a possibilidade de
classificar um grafo quanto a uma propriedade global atravs da existncia de dois
subgrafos particulares. Apresenta-se tambm a frmula de Euler que permite a
derivao de vrios corolrios que facilitam a verificao de que um grafo ser no
planar.
No qinto captulo, faz-se referncia a problemas de colorao em grafos (nodos, faces,
ou arestas). Estes problemas tm diversas aplicaes prticas, sendo no entanto de

Luis Gouveia Tpicos de Grafos -

4-

realar que grande interesse nestes problemas advm tambm de uma conjectura muito
conhecida na rea da matemtica. Um grafo pode ser colorido de trs maneiras,
colorindo os nodos, as arestas ou, no caso do grafo ser planar, as faces. Cada uma das
seces deste, dedica-se a cada um destes casos e em particular, ao problema de
colorir um grafo com um nmero mnimo de cores. Em cada caso, indicam-se os casos
fceis de resolver, isto casos em que possivel caracterizar grafos com uma
determinada colorao. Nos restantes casos, apresentam-se limites superiores e
inferiores para o nmero mnimo de cores.
No sexto captulo, motiva-se o conceito de rvore de suporte de um grafo, como sendo
um conjunto conexo de custo mnimo. Apresentam-se duas condies, suficientes e
necessrias, para uma rvore de suporte ser de custo mnimo. Enquanto uma das
condies caracteriza as arestas includas numa rvore de custo mnimo, a outra
caracteriza as arestas no includas na rvore. Mostra-se como estas condies motivam
algoritmos, bem conhecidos, mais precisamente os algoritmos de Kruskal e de Prim,
para determinao de uma rvore de suporte de custo mnimo num grafo.
No stimo captulo generaliza-se o conceito de grafo conexo e atravs de alguns
exemplos motiva-se necessidade de classificar grafos quanto sua conexidade. Em
particular, focam-se situaes em que necessrio verificar se um grafo se mantm
conexo aps a falha de algumas componentes (arestas ou nodos) e tambm de
classificar grafos quanto ao nmero de arestas (nodos) necessrios a remover para
desconectar o grafo. Algoritmos para determinar a conexidade de um grafo so
estudados. Mostra-se tambm que os conceito de conjunto de arestas (nodos) que
separa dois nodos s e t e de conjunto de cadeias disjuntas entre s e t que no tm
arestas comuns (ou nodos, exceptuando a origem e o destino) esto fortemente ligados
levando a um dos resultados min/max mais conhecidos na rea da teoria dos Grafos
nomeadamente o Teorema de Menger. Finalmente, introduz-se o conceito de grafo de
conexidade ptima e aborda-se o problema de saber qual a conexidade mxima de um
grafo com n nodos e com m potenciais arestas.
Note-se que em geral assume-se que um grafo simples, isto , existe apenas uma
aresta com o mesmo par de nodos extremos, e que no tem lacetes, isto arestas da
forma (i,i).

Luis Gouveia Tpicos de Grafos -

5-

Cada um dos captulos complementado com uma srie de exerccios que sero
apresentados no fim do captulo correspondente. No entanto, estas notas comeam
com a apresentao de um conjunto de exerccios para recordar conhecimentos e para
introduzir alguns conceitos que sero necessrios nos captulos seguintes.

Luis Gouveia Tpicos de Grafos -

6-

1. Definies e Conceitos Bsicos sobre Grafos no Orientados


Nesta seco faz-se uma reviso de alguns conceitos introduzidos na disciplina de 1
ano e que facilitam a leitura dos tpicos introduzidos nos captulos 2 a 7. Os conceitos
referem-se apenas a grafos no orientados e como tal, a designao no orientado
ser omitida destas notas.
1.1 Definies - Revises
Definio 1.1 Um grafo um par ordenado G = (X,A) em que X um conjunto finito
e A um subconjunto de {{i,j}: i,jX, ij}; Os elementos de X designam-se por
vrtices ou nodos do grafo. Os elementos de A designam-se por arestas do grafo.
Note-se que em geral assume-se que um grafo simples, isto , existe apenas uma
aresta com o mesmo par de nodos extremos, e que no tem lacetes, isto arestas da
forma (i,i).
Definio 1.2 Seja G = (X,A) um grafo e seja i X. Os elementos do subconjunto de
nodos (i) = {j: {i,j} A} designam-se por adjacentes de i. O nmero de elementos de
(i) chama-se grau de i e denota-se por d(i) (ou grau(i)).
Definio 1.3 Seja G = (X,A) um grafo. Designa-se por cadeia uma sequncia de
arestas tal que um dos nodos de uma aresta coincide com um dos nodos da aresta
seguinte. Designa-se por nodo inicial da cadeia, ao nodo da primeira aresta no
concidente com um nodo da segunda aresta. Designa-se por nodo terminal da cadeia ao
nodo da ltima aresta que no coincide com um nodo da penltima. Designa-se por ciclo
uma cadeia tal que o nodo inicial da primeira aresta coincide com o nodo terminal da
ltima aresta.
Definio 1.4 Seja G = (X,A) um grafo e C uma cadeia (ciclo) em G. C diz-se simples
se no repete arestas. Diz-se elementar se no repete nodos.
Definio 1.5 Um grafo G = (X,A) diz-se conexo se, para qualquer par de nodos em
X existe uma cadeia que os una. Caso contrrio, G diz-se desconexo.

Luis Gouveia Tpicos de Grafos -

7-

Definio 1.6 Seja G = (X,A) um grafo. Designa-se por subgrafo de G, um grafo da


forma GS = (XS, AS) em que XS est contido em X e AS = {{i,j}: i,j XS }.
Definio 1.7 Seja G = (X,A) um grafo. Designa-se por grafo parcial de G, um grafo
da forma Gp = (X, Ap) em que AS est contido em A.

Luis Gouveia Tpicos de Grafos -

8-

1.1 Exerccios de Reviso Folha 1


1.1

Considere o seguinte grafo G = (X,A):


x1

a1

a2

a3

x5

x2

a5

a6

a4
a7

x4

x3

a) Determine (x2).
b) Defina coerentemente k, k N, e calcule 2(x2).
c) Calcule d(x2).
d) Determine uma cadeia elementar, uma simples mas no elementar e uma no
simples em que os nodos x4 e x2 so os extremos.
e) Determine o subgrafo de G gerado por XS = {x1,x2,x3,x4}.
f) Determine o grafo parcial Gp = (X,Ap) em que (xi,xj) Ap sse i+j impar.
1.2

Um conjunto de nodos I diz-se independente se para quaisquer dois nodos x e y


em I a aresta (x,y) no pertence ao grafo. Um conjunto de nodos C diz-se uma
clique se para quaisquer dois nodos x e y em C a aresta (x,y) pertence ao grafo.
Considere os grafos ilustrados a seguir. Em cada um indique conjuntos
independentes e cliques. Tente indicar os de cardinalidade mxima.
2

Luis Gouveia Tpicos de Grafos -

9-

3
4

5
6

1.3

Considere um grafo G = (V,A) e seja Gc = (V,Ac) o seu grafo complementar, isto


Ac = {(i,j):i,j)A}. Mostre que um conjunto de nodos S uma clique em G sse
S um conjunto independente em Gc.

1.4

Um emparelhamento E um conjunto de arestas que no tm extremos em


comum.
a) Considere os grafos da questo anterior. Em cada um indique vrios
emparelhamentos. Tente indicar os de cardinalidade mxima.
b) Mostre que para qualquer grafo G = (X,A) e um emparelhamento E em G se
tem que |E| < |X|/2 .

1.5

Chama-se grafo adjunto de G = (X,A) ao grafo G*=(X*,A*) tal que: i) a uma


aresta em G corresponde um nodo em G*; ii) dois nodos em G* so adjacentes
sse as arestas correspondentes em G tm um extremo comum.
a) Construa os grafos adjuntos dos grafos ilustrados na questo 4.
b) Determine |A*| e |X*|.
c) D um exemplo de um grafo que no seja adjunto de nenhum grafo.

1.6

Considere os grafos ilustrados no quadro.


a) Para cada um tente identificar, caso exista, um ciclo que passa uma s vez por
cada nodo e um ciclo que passa uma s vez por cada aresta. Nos casos em que
acha que um determinado ciclo no exista, tente arranjar um argumento que
mostre que tal no existe.
b) O que acha mais dificil de analisar? A existncia de um ciclo que passa uma
s vez por cada nodo ou a existncia de um ciclo que passa uma s vez por cada
aresta?

Luis Gouveia Tpicos de Grafos -

10 -

2. Grafos Eulerianos
Neste captulo estuda-se o problema de determinar em que condies, um grafo tem
um ciclo que passa uma e uma s vez por cada aresta do grafo (ciclo Euleriano).
Apresenta-se uma condio necessria e suficiente para tal acontecer. Esta condio
deve-se a Euler (1736) (da a designao apresentada) e em certa medida, h quem
diga que a teoria de Grafos comeou com o estudo de Euler sobre este tipo de
problemas. Apresenta-se tambm um algoritmo para determinar um ciclo Euleriano.
2.1 Motivao
A motivao mais conhecida para este tipo de problema, que est associada
questo posta por Euler, est relacionada com o conhecido problema das pontes de
Konigsberg. O problema consiste em saber se seria possvel fazer um passeio ao
longo da cidade de modo a atravessar cada uma das sete pontes da cidade (existentes
na altura em que o problema foi criado) uma e uma s vez. O problema pode ser
transformado no problema de grafos de determinar se existe um ciclo em que cada
rua seja percorrida uma e uma s vez. Euler (1736), apresentou uma condio
necessria e suficiente para tal situao ocorrer
De seguida, motiva-se o mesmo problema atravs de uma aplicao real. Se bem que
a aplicao aqui apresentada, seja relativamente simples, de notar que situaes
semelhantes, mais complicadas e tambm reais, podem tambm ser estudados no
mbito da teoria dos grafos, utilizando conceitos mais sofisticados. Considere-se,
ento o grafo no orientado ilustrado na figura 2.1 e que representa um bairro de
uma cidade. Nodos correspondem a cruzamentos e as arestas correspondem a ruas.
As etiquetas associadas s arestas indicam as distncias das ruas correspondentes.
c
2

4
2

3
3

Figura 2.1 Um grafo Euleriano

Luis Gouveia Tpicos de Grafos -

11 -

Um carteiro tem que percorrer as ruas do bairro para fazer entrega do correio. Para
simplificar o problema, assuma-se que existem casas em apenas de um lado das ruas
e que cada rua pode ser percorrida em qualquer sentido.
Questo 2.1: Qual a distncia mnima que o carteiro precisa de percorrer para
garantir a entrega?
Um limite inferior para o valor dessa distncia imediato. O carteiro tem que
percorrer cada uma das ruas pelo menos uma vez. Assim, a soma das distncias de
todas as arestas indica-nos um limite inferior para a distncia total pretendida.
Relativamente ao grafo acima, o valor desse limite igual a 20. Em certos casos, o
limite indicado acima corresponde precisamente a distncia que tem que ser
percorrida pelo carteiro. O grafo acima est nessas condies. Assuma-se, por
exemplo, que o carteiro entra no bairro no ponto c. Ele pode percorrer as ruas uma e
uma s vez e deixar o bairro pelo mesmo ponto:
{(c,b),(b,d),(d,c),(c,a),(a,d),(d,e),(e,c)}
Esta soluo leva imediatamente seguinte questo:
Questo 2.2: possivel estabelecer condies suficientes e necessrias que
caracterizam grafos na situao do exemplo anterior?
Na seco seguinte apresentam-se algumas definies relacionadas com estas questes.
2.2 Definies
Definio 2.1 - Considere-se um grafo G = (X,A) conexo.
i) Um ciclo C diz-se Euleriano se contem todas as arestas de G uma e uma so vez.
ii) G diz-se Euleriano se contem um ciclo Euleriano.
Com os novos conceitos, o problema posto na seco anterior corresponde a verificar
se o grafo da figura 2.1 , ou no, Euleriano. Podemos concluir que sim devido
existncia do ciclo Euleriano apresentado antes. Note-se que se um ciclo C Euleriano
ento o conjunto de arestas em C corresponde precisamente ao conjunto de arestas, A,
do grafo.

Luis Gouveia Tpicos de Grafos -

12 -

2.3 Condio Necessria e Suficiente


Nesta seco enuncia-se uma condio necessria e suficiente para um grafo ser
Euleriano. Como introduo apresenta-se de seguida um outro grafo, desta vez no
Euleriano, e que uma modificao do grafo da figura 2.1
c
2

Figura 2.2 Um grafo no Euleriano


relativamente fcil de perceber que o grafo ilustrado nesta figura, no pode ser
Euleriano. Repare-se na existncia de nodos de grau de mpar e o efeito que tal
situao pode ter para impedir a existncia de um ciclo Euleriano. Sempre que um
hipottico ciclo Euleriano C atravessa um nodo qualquer, a sua contribuio para o
grau desse nodo de duas unidades. Alm disso, como o conjunto de arestas do grafo
A tem que coincidir com o conjunto das arestas contidas em C, conclui-se que o grau
de cada nodo tem que ser par. E, portanto, o grafo ilustrado na figura 2.2 no pode ser
Euleriano. O que interessante de notar, que a condio o grau de cada nodo ser
par tambm suficiente para um grafo ser Euleriano.
No entanto, para estabelecer tal resultado necessrio provar o seguinte resultado:
Resultado 2.1 - Seja G = (X,A) um grafo em que min [i X] {grau(i)} 2.
Ento G contm um ciclo com pelo menos trs nodos.
Prova: Seja i1 um nodo qualquer de X. Construa-se uma cadeia i1, i2, i3, do seguinte
modo: para cada k 1, o nodo ik+1 adjacente ao nodo ik e diferente do nodo ik-1.
Note-se que a hiptese garante que sempre possvel escolher um nodo nestas
condies. Como X finito, mais tarde ou mais cedo, encontra-se um nodo, ip, que j
tinha sido previamente escolhido. A sequncia de arestas da cadeia includa entre as
duas ocorrncias de ip um ciclo em G.

c.q.d.

Luis Gouveia Tpicos de Grafos -

13 -

Resultado 2.2 - Seja G = (X,A) um grafo conexo.


G Euleriano sse [i X] {grau(i)} um nmero par.
Prova: O facto de a condio ser necessria j foi mostrado antes com o exemplo
anterior.
Assuma-se agora que G conexo e que o grau de cada nodo par. Prova-se por
induo no nmero de arestas de G que G contm um ciclo Euleriano. Assume-se
ento que o resultado verdadeiro para qualquer grafo com menos de |A| arestas.
Como o grau de cada nodo tem que ser maior ou igual que dois e assim, sabemos pelo
resultado anterior que G contm um ciclo C. Se o ciclo C j for Euleriano, o resultado
est provado. Assuma-se ento que C no cobre todas as arestas de A.
Considere-se o grafo H = (X,A\C), isto , H obtm-se de G por remoo do conjunto
de arestas em C. Note-se que o grau de cada nodo em H ainda par. Sejam 1,,p
as p componentes conexas de H (note-se que H pode no ser conexo) que contm pelo
menos uma aresta. Pela hiptese de induo, cada uma destas componentes conexas
contm um ciclo Euleriano Ck (k=1,,p) em Hk. Cada componente k tem pelo
menos um nodo em comum, ik, com o ciclo original C.
Assuma-se sem perda de generalidade que possvel percorrer C encontrando os
nodos ik pela ordem i1,,ip. possvel agora, construir um ciclo Euleriano em G do
seguinte modo. Inicia-se o ciclo no nodo i1. De seguida, percorre-se as arestas do ciclo
C1 at voltar ao nodo i1. Continua-se a percorrer as arestas de C at encontrar o nodo
i2. Percorre-se as arestas do ciclo C2 at voltar ao nodo i2. Este processo repetido at
se voltar ao nodo inicial i1. O ciclo encontrado Euleriano.

c.q.d

Este resultado bastante curioso j que nos permite avaliar uma condio global
sobre o grafo (existncia de um ciclo Euleriano) atravs de uma condio local
sobre o grau dos nodos do grafo. Note-se que verificar a existncia, ou no existncia,
de um ciclo Euleriano atravs de uma anlise exaustiva ser possvel apenas em grafos
de dimenso bastante pequena.

Luis Gouveia Tpicos de Grafos -

14 -

2.4 Determinao de um Ciclo Euleriano


Voltando ao exemplo de distribuio do carteiro, no basta dizer ao carteiro que existe
um percurso passando uma e uma s vez por cada rua. Assim,
Questo 2.3: Seja G um grafo Euleriano. Como identificar um ciclo Euleriano em G?
Voltando ao exemplo da figura 2.1, assuma-se, por exemplo, que o correio inicia o
percurso no nodo b e percorre as arestas (b,c), (c,a), (a,d) e (d,b). Para percorrer as
arestas ainda no visitadas ter necessariamente que percorrer a aresta (b,d) ou a aresta
(b,c) pelo menos mais uma vez o que levaria a um ciclo de distncia superior
necessria. Num algoritmo que determina um ciclo Euleriano ser necessrio avisar o
carteiro que quando est no nodo d, no pode percorrer a aresta (d,b) antes de percorrer
a aresta (d,e) ou (d,c).
Um algoritmo que identifica estas situaes foi sugerido por Fleury em 1883. Seja G =
(V,A) um grafo no orientado conexo. No algoritmo seguinte, C denota o ciclo
parcialmente construdo (no fim do algoritmo, C ser Euleriano) e u denota o nodo a ser
visitado em cada iterao do algoritmo.
ALGORITMO DE FLEURY
PASSO 0:

{Inicializao}
Seleccionar um qualquer nodo, u, de V e considerar C vazio.

PASSO 1: {Seleo}
Seleccionar uma aresta e = (u,x) adjacente a u sujeita seguinte
condio:
se a remoo de e desconectar G, ento e seleccionada apenas se
no houver outra aresta ainda em G adjacente a u.
PASSO 2: {Remoo}
Remover (u,x) e nodos isolados (caso hajam) de G e adicionar (u,x) a C.
PASSO 3: {Teste}
Se existerm arestas ainda no includas em C fazer u x e voltar ao
passo 1. Caso contrrio terminar.

Luis Gouveia Tpicos de Grafos -

15 -

Considerem-se as seguintes observaes relativamente ao algoritmo.


i) A condio referente ao grau dos nodos garante sempre a existncia de uma aresta
(u,x) no Passo 1.
ii) A condio extra includa no Passo 1 garante que uma aresta nas condies indicadas
apenas usada como ltima recurso. Se a remoo da aresta (u,x) desconecta o grafo,
ento no possvel voltar parte do grafo que contm o nodo u. Assim, necessrio
garantir que todas as arestas dessa parte do grafo tenham j sido atravessadas.
iii) No fim do algoritmo, C um ciclo Euleriano. Para verificar este facto, assuma-se
que existe uma aresta e de G no includa em C no fim do algoritmo. Mas ento, numa
fase anterior do algoritmo (no Passo 1) foi seleccionada uma aresta e (tendo um extremo
comum com e) que desconectava o grafo (violando a condio adicional do Passo 1).
Como exemplo de aplicao do algoritmo considere-se o grafo da figura 2.1. Em cada
iterao, mostra-se esquerda o grafo com as arestas ainda por visitar e direita, o
grafo com as arestas j visitadas. No grafo direita mostra-se tambm o nodo corrente.
G

C,u
c

c
1

3
3

Seleccionar aresta (b,c) (ou (b,d))

Luis Gouveia Tpicos de Grafos -

16 -

c
2

c
1

3
3

Seleccionar aresta (c,a) (ou (c,d) ou (c,e))

3
3

Seleccionar aresta (a,d)

c
1

3
3

A aresta (d,b) no pode ser seleccionada porque desconecta a componente contendo


apenas o nodo b com a componente contendo os nodos {c,d,e}.
Seleccionar, assim, a aresta (d,c) (ou (d,e))

Luis Gouveia Tpicos de Grafos -

17 -

c
1

3
3

Seleccionar aresta (c,e)


c
2

3
3

Seleccionar aresta (e,d)


c
2

3
3

Seleccionar aresta (d,b)


c
2

2
3
3

O algoritmo termina porque j foram atravessadas todas as arestas. C descreve um ciclo


Euleriano.

Luis Gouveia Tpicos de Grafos -

18 -

Como se mencionou na introduo deste captulo, o problema de distribuio aqui


descrito

usualmente

bastante

mais

complicado.

Na realidade,

levanta-se

imediatamente a questo de tentar responder mesma questo quando o grafo no


Euleriano. Este problema conhecido pelo problema do Carteiro Chins e na forma
mais simples, de resoluo polinomial. Variantes, motivadas por aplicaes reais so
bastante mais complicadas de resolver. O problema do Carteiro Chins e variantes no
faz parte do mbito deste curso (veja-se, no entanto, a questo 2.5 dos exerccos).

Luis Gouveia Tpicos de Grafos -

19 -

2.5 Exerccios - Folha 2


2.1 Considere os grafos indicados a seguir. Indique quais so Eulerianos. Para os
grafos Eulerianos, determine um ciclo Euleriano. [Modificar?]
2

3
4

5
6

2.2 Mostre que um grafo G = (V,E) Euleriano sse G conexo e E pode ser
particionado em ciclos elementares.
2.3 Mostre que se um grafo G Euleriano ento o grafo adjunto G* Euleriano.
O recproco verdadeiro?
2.4 Considere um grafo qualquer G, com um nmero mpar de nodos, e o seu
complementar GC. Mostre que a afirmao G Euleriano sse GC Euleriano
falsa. Que condio deve adicionar a G (e GC) para a afirmao anterior ficar
verdadeira.
2.5 Considere o grafo da figura 2.2 e a motivao indicada na seco 2.1. Qual seria
distncia mnima ser percorrida pelo carteiro?

Luis Gouveia Tpicos de Grafos -

20 -

3. Grafos Hamiltonianos
Neste captulo estuda-se o problema de determinar em que condies, um grafo tem
um ciclo que passa uma e uma s vez por cada nodo do grafo (ciclo Hamiltoniano).
Note-se que este problema , em certa medida, parecido com o problema discutido no
captulo anterior no sentido em que se pretende estudar condies para a existencia de
ciclos que passem uma e uma s vez por cada objecto(nodo ou aresta) do grafo.
Recorde-se que possvel apresentar uma condio suficiente e necessria para um
grafo ter um ciclo que passa uma e uma s vez por cada aresta. No entanto, para o
problema estudado neste captulo, no so conhecidas condies que sejam ao mesmo
tempo suficientes e necessrias para um grafo ser Hamiltoniano. Asssim, apresentamse algumas condies suficientes e condies necessrias para um grafo ser
Hamiltoniano.
3.1 Motivao
O conceito de ciclo Hamiltoniano usualmente motivado atravs de um puzzle que se
deve a Hamilton (1805-1865) (e da a designao) ou atravs do famoso problema do
Caixeiro Viajante (ver, por exemplo, Lawler et al.). Dado um grafo G = (V,A) com
custos associados s arestas, pretende-se determinar o ciclo que passa uma e uma s
vez por cada nodo e que seja de cisto mnimo. Este problema, ou mais concretamente,
algumas variantes mais complicadas, tem aplicao em problemas de distribuio.
3.2 Definies
Definio 3.1 - Considere-se um grafo G = (X,A) conexo.
i) Um ciclo C diz-se Hamiltoniano se elementar e se contm todas os nodos de G.
ii) Um grafo G diz-se Hamiltoniano se contm um ciclo Hamiltoniano.
Voltando ao problema do Caixeiro Viajante, considera-se um grafo com custos nas
arestas e de entre todos os ciclos Hamiltonianos, pretende-se encontrar aquele com
custo total mnimo.
interessante notar que verificar se um grafo Hamiltoniano, um problema de
difcil resoluo. Como tal, no so conhecidas condies que sejam ao mesmo tempo

Luis Gouveia Tpicos de Grafos -

21 -

suficientes e necessrias para um grafo ser Hamiltoniano. Nas seces seguintes


mencionam-se algumas condies suficientes e condies necessrias para um grafo
ser Hamiltoniano.
3.3 Condies Necessrias
Nesta seco apresenta-se uma condio necessria para um grafo ser Hamiltoniano.
Tambm se menciona um procedimento, alternativo, que pode ajudar a mostrar que
um grafo no Hamiltoniano.
Resultado 3.1 - Seja G = (X,A) um grafo qualquer. Se G Hamiltoniano ento o
nmero de componentes conexas, aps a remoo de quaisquer k nodos de G, no
pode ser superior a k.
Prova: Assuma-se que G contm um ciclo Hamiltoniano CH e que aps a remoo de
k nodos, G fica com k+p, p > 1, componentes conexas Si (i = 1,,k+p). Seja CHi a
parte do ciclo na componente Si (i = 1,...,k+p). No entanto, os nodos removidos, no
so em quantidade suficiente para recontruir o circuito.

c.q.d.

Como exemplo de aplicao destes resultados, considerem-se os seguintes grafos:


a

e
c

e
d

Figura 3.1 Dois grafos no Hamiltonianos.


O grafo ilustrado direita na figura 2.1 no hamiltoniano porque a remoo do nodo
e desconecta o grafo (e obtm-se um grafo desconexo com, obviamente, mais do que
uma componente). Relativamentte ao grafo ilustrado esquerda, o grafo fica com 3
componentes conexas (neste caso, componentes formadas por nodos isolados) aps a
remoo dos nodos b e c.
O resultado 3.1 apenas indica uma condio necessria para um grafo ser
Hamiltoniano. Assim, pode-se estar na presena de um grafo no Hamiltoniano, mas

Luis Gouveia Tpicos de Grafos -

22 -

tal que esta propriedade no possa ser provada atravs da condio do resultado. O
grafo ilustrado na figura seguinte, conhecido pelo grafo de Petersen, no
Hamiltoniano (como se ver mais frente). No entanto, convida-se o leitor a mostrar
que satisfaz a condio necessria do resultado 3.1 (e portanto, no se pode mostrar
que no Hamiltoniano por aplicao desse resultado).

Figura 3.1 O grafo de Petersen no Hamiltoniano


Alm disso, a condio pode ser difcil de utilizar, i.e., mesmo em casos em que a
condio do resultado seja verdadeira, pode no ser fcil encontrar um conjunto
especfico de nodos que no verifique a condio.
Assim, sugere-se de seguida um conjunto de regras que podem ser utilizadas para
mostrar que um grafo no Hamiltoniano. A ideia tentar construir um ciclo
Hamiltoniano utilizando o facto de o grau de cada nodo ser igual a dois, e mostrar, em
determinada altura, que tal ciclo no pode ser construdo.
Regra 1 Se um nodo tem grau 2 em G, ento as arestas incidentes nesse nodo
tm que ser includas no ciclo Hamiltoniano.
Regra 2 Se no processo de construo do ciclo Hamiltoniano, duas arestas
adjacentes a um nodo esto includas no ciclo, ento qualquer outra aresta
adjacente a esse nodo pode ser eliminada.
Regra 3 No processo de construo do ciclo Hamiltoniano no se pode obter
um ciclo, com as arestas obrigatrias, que no passe por todos os nodos.

Luis Gouveia Tpicos de Grafos -

23 -

Considere-se o grafo ilustrado esquerda na figura 3.1. Pela Regra 1, aplicada aos
nodos a e d, obtemos o ciclo (no Hamiltoniano) {a,b,d,c,a}. Logo pela Regra 3, o
grafo no pode ser Hamiltoniano.
Este conjunto de regras no pode ser aplicado directamente num grafo em que cada
nodo tenha grau 3, pelo menos. No entanto, em certos casos possvel utilizar
caractersticas do grafo para incluir arestas no ciclo Hamiltoniano, e/ou utilizar um
argumento exaustivo (por exemplo, fixar duas quaisquer arestas de um conjunto de k
adajcentes a um determinado nodo).
De seguida, ilustra-se de que forma uma sequncia destes argumentos nos pode ajudar
a mostrar que o grafo de Petersen no Hamiltoniano (ver figura 3.3):

(A)

(B)
v
u

x
(D)

(C)
v
a
u

b
x

Figura 3.3

Sequncia de regras para mostrar que o grafo de Petersen no


Hamiltoniano.

i) Para garantir que os nodos do pentgono externo (ver (A)) estejam no ciclo
Hamiltoniano, preciso incluir exactamente 3 arestas do ciclo externo no ciclo
Hamiltoniano (verifique !). Duas destas trs arestas tm que ser adjacentes (ver parte
(B) da figura). Seja v o nodo comum as estas duas arestas. Qualquer outra aresta, (u,v)
neste caso, adjacente ao nodo v, ter que ser removida (Regra 2). Aps a remoo

Luis Gouveia Tpicos de Grafos -

24 -

desta aresta, o grau do nodo u fica igual a 2 e as duas restantes arestas adjacentes a u
tm que ser utilizadas pelo ciclo Hamiltoniano. Na figura, parte (B), indica-se esta
situao em que arestas a cheio esto includas no circuito e a aresta a tracejado foi
eliminada.
ii) primeira vista, nada se pode fazer a partir do grafo ilustrado na parte (B) da
figura. No entanto, pode-se notar que para construir um ciclo Hamiltoniano a partir
das arestas j includas, se tem que necessariamente adicionar uma e uma s aresta
adjacente ao nodo x.
iii) A incluso da aresta (x,y) (ver parte (C)) leva excluso das arestas (y,a) e (x,b)
(pela Regra 2). Pela Regra 1, as restantes arestas incidentes nos nodos a e b tm que
ser includas levando a um subciclo no pentgono interior. Pela Regra 3, conclui-se
que esta alternativa no leva obteno de um ciclo Hamiltoniano.
iv) De modo anlogo se mostra que a incluso da aresta (x,b) leva a um subciclo e
portanto conclui-se que o grafo de Petersen no Hamiltoniano (verifique!).
3.4 Condies Suficientes
A maior parte dos resultados que estabelecem condies suficientes para um grafo ser
Hamiltoniano so do tipo
Se G tem um nmero suficientemente grande de arestas ento Hamiltoniano
Um resultado deste tipo encontra-se nos exerccios propostos no final deste captulo.
Trs outros resultados nestas condies, mas de um modo disfarado, devem-se a Ore
(1960) (parte i) do resultado 3.5) e a Dirac (1952) (parte ii) do resultado 3.5). Comease por apresentar dois resultados necessrios para provar o resultado de Ore.
3.4.1 Condies de Ore e Dirac
Resultado 3.2 - Seja G = (X,A) um grafo e P = { i1,, ik} uma cadeia elementar em
G em que i1 e ik satisfazem grau(i1) + grau(ik) |X| e todos os nodos adjacentes de i1 e
ik esto includos em P. Ento existe um nodo, ip, (2 < p < k) adjacente a i1 e tal que
que ip-1 adjacente a ik.

Luis Gouveia Tpicos de Grafos -

25 -

Prova: Assuma-se, por absurdo, que para qualquer nodo ip-1 adjacente a ik, o nodo ip
no adjacente a i1. Assim, existem grau(ik) nodos que no so adjacentes a i1. Mas,
como por hiptese, todos os nodos adjacentes a i1 e a ik esto em P pode-se concluir
que grau(i1) < |P| - 1 - grau(ik) o que contradiz a hiptese porque |P| < |X|.

c.q.d.

A importncia deste resultado deve-se seguinte situao. Assuma-se que (i1, ik) A
e portanto no possvel criar um ciclo elementar juntado os extremos da cadeia
elementar. No entanto, devido existncia de um nodo nas condies do resultado
anterior, o nodo ip, possivel fazer uma operao de cruzamento possvel obter o
ciclo elementar i1,i2,,ip-1,ik,ik-1,,ip+1,ip,i1. Esta operao ser relevante na
idealizao de um algoritmo para determinar um ciclo Hamiltoniano num grafo (e que
ser descrito mais frente).
Resultado 3.3 - Seja G = (X,A) um grafo com dois nodos s e t tais que grau(s) +
grau(t) |X| e (s,t) A. Seja G um novo grafo que se obtem de G por adio da
aresta (s,t). Ento G Hamiltoniano sse G Hamiltoniano.
Prova: bvio que se G Hamiltoniano ento G Hamiltoniano. Para mostrar o
recproco, assuma-se que G Hamiltoniano mas G que no Hamiltoniano. Como
uma nica diferena entre os dois grafos a aresta (s,t) conclui-se que esta
necessria para a existncia de um ciclo Hamiltoniano em G'. Ento G tem que conter
uma cadeia elementar i1,i2,,i|X| (i1 = s, i|X| = t) e que inclui todos os nodos de G.
Como G est nas condies do resultado sabe-se que grau(i1) + grau(i|X|) |X|. O
resultado 5.3 implica que existe um nodo, ip, (2 < p < |X|) adjacente a i1 e com a
propriedade de que ip-1 adjacente a i|X|. Mas ento, possvel fazer um cruzamento e
a sequncia de nodos resultante i1,i2,,ip-1,i|X|,i|X|-1,,ip+1,ip,i1 um ciclo Hamiltoniano
em G o que uma contradio.

c.q.d.

Aps a apresentao destes dois resultados, pode-se apresentar e provar os resultados


de Ore (parte i) do resultado seguinte) e Dirac (1952) (parte ii)).
Resultado 3.4 - Seja G = (X,A) um grafo qualquer.
i) G Hamiltoniano se grau(i) + grau(j) |X| para quaisquer i,j X tais que (i,j) A.
ii) G Hamiltoniano se min[i X] grau(i) |X|/2 .

Luis Gouveia Tpicos de Grafos -

26 -

Prova: Note-se, em primeiro lugar, que um grafo que satisfaa condio ii) tambm
satisfaz a condio i) e assim basta provar i). Considere-se, ento, um grafo G nas
condies indicadas em i) e um outro grafo, H, que se obtm de G por adio de todas
as arestas (i,j) tais que grau(i) + grau(j) |X|. Utilizando repetitadamente o resultado
5.4 concluimos que G Hamiltoniano sse H Hamiltoniano. O resultado sai, agora, do
facto de que H o grafo completo (e , obviamente, Hamiltoniano).

c.q.d.

Deixa-se como exerccio encontrar um grafo que satisfaz a condio i) mas que no
satisfaz a condio ii) do resultado (e portanto, tendo em conta afirmao feita no
incio da prova do resultado 3.4, a condio i) mais forte). Como j tinha sido
mencionado antes, no se conhecem condies que sejam ao mesmo tempo suficientes
e necessrias para um grafo ser Hamiltoniano. Assim, no difcil de adivinhar que a
condio i) enunciada no resultado 3.4 seja apenas suficiente. Deixa-se tambm para
os exerccios mostrar que tal condio no necessaria par um grafo ser
Hamiltoniano.
3.4.2 Algoritmo de Cruzamento
Note-se que o resultado 3.4apenas nos d uma condio suficiente para a existncia de
um ciclo Hamiltoniano num grafo G. primeira vista, no parece haver qualquer
informao sobre como determinar tal ciclo. No entanto, como ser mostrado a seguir,
a operao de cruzamento permite idealizar um algoritmo para determinar um ciclo
Hamiltoniano em grafos que satisfazem a condio i) do resultado 3.4.
O algoritmo inicia-se com uma cadeia elementar P = {s,,t} tal que todos os nodos
adjacentes a s e t esto em P e termina com uma cadeia elementar P* = {s*,,t*) que
contm todos os nodos do grafo.
Considerem-se as duas seguintes observaes antes de descrever o passo principal do
algoritmo:
i) A cadeia P com a qual se inicia o algoritmo, no pode ser estendida j que os nodos
adjacentes a s e t esto todos includos em P. Esta cadeia obtida atravs de uma
sequncia de operaes simples de adio de arestas aos extremos da cadeia. Note-se
que se P j incluir todos os nodos o algoritmo termina.

Luis Gouveia Tpicos de Grafos -

27 -

ii) Se (s*,t*) A ento obtm-se um ciclo Hamiltoniano atravs da incluso desta


aresta. Por outro lado, se (s*,t*) A ento a operao de cruzamento permite
construir o ciclo Hamiltoniano.
O algoritmo consiste em fazer iterativamente o seguinte passo que tranforma a cadeia
corrente P numa cadeia P, com mais uma aresta.
Passo Principal
i) Determinar um ciclo elementar C cobrindo os nodos em P (o que pode ser
feito adicionando a aresta (s,t) ou aplicando a operao de cruzamento caso
esta aresta no exista).
ii) Determinar uma aresta (x,y) em que x est em P e y no (tal aresta existe j
que o grafo conexo). Fazer P = C + (x,y) (x,x) em que x um dos nodos
adjacentes a x em C.
iii) Fazer P <- P e designar por s e t os extremos da nova cadeia.

Luis Gouveia Tpicos de Grafos -

28 -

3.5 Exerccios - Folha 3


3.1 Considere os grafos da questo 2.1. Utilize as condies suficientes estudadas na
aula para indicar quais os grafos que so Hamiltonianos. Para os grafos
Hamiltonianos, indique um ciclo Hamiltoniano. Para os grafos que no conseguiu
provar que so Hamiltonianos, tente i) mostrar que Hamiltoniano atravs da
exibio de um ciclo Hamiltoniano ou ii) mostrar que no Hamiltoniano atravs
da condio necessria e/ou do conjunto de regras estudadas.
3.2 Considere as duas condies do resultado 3.4. Mostre que a condio ii) mais
fraca do que a condio i). Mostre que a condio i) no necessaria para o grafo
ser Hamiltoniano.
3.3 Considere um grafo G = (X,A). Mostre que a condio |A| > [(|X|-1)(|X|-2)/2] + 2
(*) suficiente para G ser Hamiltoniano.
Sugesto: Mostre que se G satisfaz a condio acima, ento satisfaz a condio i)
do Resultado 3.4.
3.4 Compare a condio (*) e as duas condies do Resultado 3.4.
3.5 Considere o seguinte grafo.

a) Sem construir o grafo adjunto de G, mostre que este contm o ciclo (a,b), (b,d),
(b,c), (c,e), (c,d), (d,e), (a,e), (a,b). O que pode concluir quanto ao grafo adjunto de
G?
b) Considere um grafo G qualquer e o seu adjunto G*. Mostre que se G
Hamiltoniano ento G* tambm o . O recproco verdadeiro?

Luis Gouveia Tpicos de Grafos -

29 -

4. Grafos Planares
Neste captulo estudam-se grafos planares, ou seja grafos que possam ser representados
de modo a que as arestas apenas se intersectem nos nodos. Apresentam-se condies
suficientes e necessrias para um grafo ser planar e mais uma vez, ilustraremos com
este resultado o potentical da matmtica. Isto , a possibilidade de classificar um grafo
quanto a uma propriedade global atravs da existncia de dois subgrafos particulares.
Apresenta-se tambm a frmula de Euler que permite a derivao de vrios corolrios
que facilitam a verificao de que um grafo ser no planar.
4.1 Motivao
Em certas situaes necessrio garantir que os grafos que resultam da modelao de
uma aplicao real, possam ser desenhados de modo a que as arestas s se intersectem
nos nodos. Situaes destas aparecem no desenho de circuitos elctricos. No entanto,
curioso referir que o interesse em grafos planares se deve mais aplicabilidade em
outras reas da teoria dos grafos, como por exemplo na colorao de grafos especias,
designados por mapas (ver captulo 5).
4.2 Definio
Considerem-se os trs grafos ilustrados na figura seguinte:
a

b
c

Figura 4.1 Trs representaes do grafo K4. Duas so planares.


Na realidade, a figura no ilustra trs grafos diferentes, mas sim, trs representaes
do mesmo grafo, o grafo K4. As representaes do meio e da direita dizem-se planares

Luis Gouveia Tpicos de Grafos -

30 -

j que as arestas apenas se intersectam nos nodos do grafo. Como se ver a seguir,
existem grafos que tm uma representao planar e outros, que no.
Definio 4.1 Um grafo G diz-se planar se tiver uma representao planar.
Pelo exemplo acima pode-se concluir que o grafo K4 planar.
4.3 Condio suficiente e necessria para um grafo ser planar
Esta seco dedicada ao problema de verificar se um grafo , ou no, planar.
Comece-se por tentar dar uma resposta satisfatria seguinte questo:
Questo 4.1 - Como mostrar que um grafo G planar?
O exemplo do grafo ilustrado na figura 4.1 mostra que, s vezes, fcil mostrar que
um grafo planar. Basta arranjar uma representao planar do mesmo. Exemplos de
grafos que so planares: ciclos, cadeias e rvores (em qualquer destes casos fcil
argumentar que existe uma representaco planar). Facilmente se prova (tambm por
exibio de uma representao planar) que o grafo completo Kn planar se n < 5) e
que o grafo bipartido Kr,s planar se r + s < 6 (ver exerccios no final deste captulo).
No entanto, no fcil (ou mesmo impossvel) utilizar o mesmo argumento para
mostrar que qualquer grafo planar. No difcil de idealizar grafos planares com
muitos nodos e arestas, apresentar uma representao no planar do mesmo e, de
seguida, pedir para mostrar que o mesmo planar. Tal pode ser pouco vivel do ponto
de vista prtico.
No sentido de resolver esta questo, ter interesse considerar a seguinte questo
equivalente:
Questo 4.2 - Como provar que um grafo no planar?
primeia vista, nada se ganha por incluir esta questo j que equivalente primeira
questo. No entanto, a ideia de ser formulada aqui com o intuito de explicitar que a
estratgia para provar que um grafo planar, quando se suspeita que o grafo planar,
completamente diferente da estratgia para provar que um grafo no planar,
quando se suspeita que o grafo no o .

Luis Gouveia Tpicos de Grafos -

31 -

Felizmente, como se ver, existem argumentos bastante poderosos que permitem


mostrar que um grafo no planar, em alternativa ao procedimento (impossvel) de
verificar por exausto que no existe qualquer representao planar de um grafo no
planar.
Comece-se por observar que se um subgrafo de G for no planar, ento G no pode ser
planar. Esta observao pode ser bastante til para construir uma famlia (bastante
grande) de grafos no planares. No entanto, para ser til, preciso que se conheam
grafos, de preferncia de pequena dimenso, e que sejam no planares. Comece-se,
assim, por mostrar que dois grafos relativamente simples, so no planares. Mais
frente mostra-se que estes grafos, em conjunto com a observao anterior, vo ter um
papel crucial na caraterizao de grafos no planares.
Resultado 4.1 - Os grafos K3,3 e K5 so no planares.
Prova: Comece-se por mostrar que o grafo K3,3 no-planar. Designe-se por ai (i =
1,2,3) os nodos do primeiro conjunto e por bi (i = 1,2,3) os nodos do segundo.
Considere-se o subgrafo de K3,3 ilustrado esquerda na figura 4.2.

a1

a1

b1

b3

a2
a3

b2

b1

b3

a2
a3

b2

Figura 4.2 Dois subgrafos planares de K3,3.


Este subgrafo tem j 6 arestas (do total de 9), um ciclo e divide o plano em duas
regies (o interior e o exterior do ciclo). Sem perda de generalidade, vamos agora
adicionar as arestas (a1,b2) e (a2,b3). De modo a manter a planaridade, uma dessas
arestas tem que ficar includa na parte interior do ciclo e a outra tem que ficar includa
na parte exterior do ciclo (o subgrafo ilustrado direita da figura 4.2 ilustra o caso em
que (a1,b2) est includa dentro do ciclo). Em qualquer dos casos, verifica-se que
impossvel adicionar a arestas (a3,b1) sem estragar a planaridade do grafo.

Luis Gouveia Tpicos de Grafos -

32 -

Uma prova semelhante pode ser feita para o grafo K5 (ver exerccios no final deste
captulo)

c.q.d.

Utilizando a observao e o resultado anterior, pode-se formular a seguinte condio


necessria para um grafo ser planar:
Resultado 4.2 - Se K3,3 ou K5 so subgrafos de um grafo G, ento G no planar.
O resultado 4.2 define assim, uma famlia bastante grande de grafos que so no
planares.
Questo 4.3 - Existem grafos no planares que no contm estes dois grafos como
subgrafos?
De facto, os dois grafos ilustrados na figura seguinte mostram que de facto, existem
grafos no planares e que no esto nas condies do resultado 4.2.

Figura 4.3 Dois grafos no planares e que no contm K3,3 nem K5.
O grafo ilustrado esquerda na figura 4.3 obviamente no planar. Note-se que a
incluso de um nodo numa aresta de K5 no altera a planaridade do grafo e que esta
observao se aplica a qualquer grafo no planar. O grafo ilustrado direita (o grafo
de Petersen) tambm no planar e aps alguma reflexo, observa-se que tambm
relativamente parecido com o K5 (esta semelhana ser retomada mais frente). No
entanto, nenhum destes grafos contm os grafos K3,3 ou K5 como subgrafos.
Este exemplo mostra que a condio necessria dada pelo resultado 4.2 pode e deve
ser fortalecida. No entanto, no de ignorar a semelhana entre estes dois grafos no
planares e o grafo K5. De facto, ver-se- de seguida que em certa medida, os grafos

Luis Gouveia Tpicos de Grafos -

33 -

K5, e K3,3 so os nicos inimigos da planaridade. No entanto, necessrio ainda


explicar o que se quer dizer com o termo em certa medida.
Definio 4.2 Dois grafos G e H so homeomrficos se um pode ser obtido do outro
atravs das seguintes operaes:
i)

Introduo de um vrtice numa aresta: mais precisamente, a substituio de


uma aresta (i,j) por duas arestas (i,p) e (p,j).

ii)

Remoo de um vrtice de grau 2: mais precisamente, a substituio de duas


arestas, (i,p) e (j,p) que esto incidentes num vrtice, p, de grau 2 por uma
aresta (i,j).

Os grafos K5 e o grafo ilustrado esquerda na figura 6.3 so homeomrficos. O


resultado seguinte imediato
Resultado 4.3 Considerem-se dois grafos, G e H, homeomrficos. Ento, ou ambos
so planares, ou ambos so no planares.
Pode-se assim, reforar a caracterizao dada no resultado 4.2 (note-se que um grafo
homeomrfico a ele prprio).
Resultado 4.4 - Se qualquer grafo homeomrfico a K5 ou K3,3 for subgrafo de um
grafo G, ento G no planar.
Um resultado provado por Kuratowski (1930) (cuja prova no faz parte deste curso)
vai mais longe e mostra que a condio necessria de planaridade dada no resultado
anterior, tambm condio suficiente:
Resultado 4.5 - G no planar se e s se contm um subgrafo homeomrfico a K5 ou
K3,3.
Ficou assim esclarecido o significado do termo em certa medida utilizado antes. Na
figura 4.4 mostra-se que o grafo de Petersen (ilustrado direita na figura 4.3) no
planar. A figura ilustra vrias modificaes feitas ao grafo, nomeadamente a remoo
de arestas alternada com a remoo de nodos de grau 2. Utiliza-se vrias vezes a

Luis Gouveia Tpicos de Grafos -

34 -

obervao de que um grafo que contenha um grafo no planar, no planar. Note-se


que o grafo obtido no fim exactamente o grafo K3,3.

Figura 4.4 Transformando o grafo de Petersen no K3,3.


Este exemplo tambm ilustra o facto de que a caraterizao de Kuratowski pode no
ser fcil de utilizar para provar que um grafo no planar. tambm notrio o facto
de que, quando se iniciou o processo de decomposio do grafo que se queria provar
no ser planar, no se ter qualquer ideia de que se iria obter o grafo K3,3.
De seguida apresenta-se uma outra caracterizao de planaridade que parece ser mais
fcil de utilizar. Recorde-se a observao feita antes relativamente ao grafo de
Petersen de ser, em certa medida, parecido com o grafo K5.
Definio 4.3 Um grafo G uma contraco de um grafo G se se obtm deste por
uma sequncia de operaes de contrao de uma aresta (uma operao de contraco

Luis Gouveia Tpicos de Grafos -

35 -

na aresta (a,b) corresponde a substitu-la por um nodo ab e todas as arestas


inicialmente adjacentes aos nodos a e b, ficam adjacentes ao nodo ab).
Resultado 4.6 - G no planar sse contm um subgrafo que pode ser contrado no K5
ou no K3,3.
Facilmente se observa que o grafo K5 uma contraco do grafo de Petersen.
Apresentou-se assim, uma prova alternativa (mais intuitiva) de que o grafo de Petersen
no planar.
4.4 Frmula de Euler
Um grafo planar divide o plano em vrias regies, designadas por faces. A seguir,
apresenta-se uma representao planar do grafo K4. Em cada uma das representaes,
indicam-se as 4 faces.
a

b
F4

F1
F2
c

F1
F3

F3

F4
F2

Figura 4.5 Uma representao planar de K4 e as suas faces.


Nas representaes ilustradas, uma face diferente das outras no sentido em que no
est limitada. Esta face designa-se por face infinita. No entanto, qualquer grafo planar
pode ser representado de modo a que qualquer face seja a face infinita. Na figura
acima, a face F4 a face infinita na representao ilustrada esquerda. Na
representao ilustrada direita, a face F1 a face infinita. Tambm no por acaso
que as duas representaes tm o mesmo nmero de faces.
Para provar a formula de Euler, vai-se fazer uso do seguinte resultado (a ser provado
no captulo 6).

Luis Gouveia Tpicos de Grafos -

36 -

Resultado 4.7 Seja G um grafo conexo e sem ciclos com n nodos e m arestas. Ento
m = n - 1.
Resultado 4.8 Seja C uma representao planar de um grafo planar com n nodos, m
arestas e f faces. Ento tem-se que n m + f = 2.
Prova: Considere-se um grafo planar com n arestas, m faces e f faces. A ideia
remover, iterativamente, arestas do grafo at ficar com um grafo conexo e sem ciclos.
Quantas arestas precisam de ser removidas? De cada vez que se remove uma aresta,
obtm-se um novo grafo com menos uma face. Este processo de remoo de arestas
termina quando se obtiver um grafo com uma s face (conexo e sem ciclos). Assim,
foram removidas f-1 arestas para obter o grafo final que por sua vez, tem n-1 arestas.
Logo o nmero de arestas do grafo, m, do grafo original dado por m = (n-1) + (f-1)
que precisamente a frmula de Euler.

c.q.d.

Esta frmula permite-nos provar que certos grafos no so planares. Considere-se, o


seguinte resultado que um corolrio, de fcil utilizao, do resultafo 4.8:
Resultado 4.9 Considere-se um grafo G simples e conexo com n nodos (n > 2). Se G
planar ento 3n 6 > m.
Prova: Cada face limitada por, pelo menos, trs arestas (recorde-se que o grafo
simples). Como cada aresta limita duas faces, tem-se ento que 3f < 2m. Substituindo
na formulade Euler obtm-se o resultado.

c.q.d.

Uma aplicao directa deste resultado, d uma prova alternativa de que o grafo K5 no
planar. O grafo K5 tem n = 5 nodos e m = 10 arestas. Pelo resultado 4.9, obtm-se 15
6 > 10 o que uma contradio.
Note-se que o recproco do resultado 4.9 no verdadeiro j que facilmente se
encontram grafos que satisfazem a expresso 3n 6 > m e que no so planares. Um
exemplo de um grafo nessas condies precisamente o K3,3 j que neste caso, se
obteria a desigualdade vlida 18 6 > 9. Uma explicao para este facto de que a
expresso mencionada no resultado 4.9 um enfraquecimento da frmula de Euler e
no se impe qualquer condio sobre o grafo a ser analisado. Este facto indica que

Luis Gouveia Tpicos de Grafos -

37 -

talvez seja possvel fortalecer a condio do resultado 4.9 para tentar obter um
resultado semelhante e que tambm permita provar que o K3,3 no planar. Nos
exerccos propostos no fim deste captulo, sugere-se como utilizar o facto de que neste
grafo todas as faces so limitadas por pelo menos 4 arestas, para obter tal resultado.
Um outro corolrio da frmula de Euler e que ser til no prximo captulo o
seguinte resultado.
Resultado 4.10 Qualquer grafo planar com pelo menos trs nodos tem pelo menos
um nodo com grau no mximo igual a 5.
Prova: Por absurdo, assuma-se que todos os nodos tm grau pelo menos igual a 6.
Utilizando a expresso que indica que em qualquer grafo, a soma dos graus dos nodos
e igual a 2m, obtem-se 6n < 2m o que contradiz a expresso 3n 6 > m indicada pelo
resultado anterior.

Luis Gouveia Tpicos de Grafos -

c.q.d.

38 -

4.5 Exerccios Folha 4


4.1 Desenhe representaes planares do grafo K4 e em que em cada representao, uma
face diferente seja a face infinita.
4.2 Utilizando um argumento semelhante ao do resultado 4.1, mostre que K5 no
planar.
4.3 a) Para que valores de k o grafo Kk planar?
b) Para que valores de r e s grafo bipartido Kr,s planar?
c) Para que valores de r, s e t grafo tripartido Kr,s,t planar?
4.4 Considere os grafos desenhados no quadro. Quais so planares? Justifique
4.5 Escreva a formula de Euler para os grafos K2,3 e K4.
4.6 Mostre que se G no tiver o grafo K3 como subgrafo (isto , no incluir tringulos)
ento |A| < 2|X| - 4. Conclua que que K3,3 no planar.
4.7 Nos quatro casos seguintes, exiba uma representao planar, ou mostre que tal no
existe.
a) n = 5 e m = 9
b) n = 6 e m = 9 e o grafo bipartido
c) n = 6 e m = 9
d) n = 144 e m = 613.
4.8 Considere um grafo conexo planar. Mostre que a mdia dos graus dos nodos no
pode ser superior a 6.
4.9 Considere um grafo G = (X,A) qualquer. Mostre que G e GC no podem ser ambos
planares se |X| > 10.

Luis Gouveia Tpicos de Grafos -

39 -

5. Colorao de um Grafo.
Um grafo pode ser colorido de trs maneiras, colorindo os nodos, as arestas ou, no
caso do grafo ser planar, as faces. Cada uma das seces do captulo 7, dedica-se a
cada um destes casos e em particular, ao problema de colorir um grafo com um
nmero mnimo de cores. Em cada caso, indicam-se os casos fceis de resolver, isto
casos em que possivel caracterizar grafos com uma determinada colorao. Nos
restantes casos, apresentam-se limites superiores e inferiores para o nmero mnimo de
cores.Problemas de colorao em grafos (nodos, faces, ou arestas) tm diversas
aplicaes. No entanto, interessante notar que o interesse na colorao de grafos
advm tambm de uma conjectura muito conhecida na rea da matemtica. Tal
conjectura, s foi provada recentemente e sobre ela se falar nas seces 7.1 e 7.2.
5.1 Colorao por Nodos
5.1.1 Definies e Exemplos
Definio 5.1 - i) Colorao de um grafo por nodos consiste numa afectao de
cores aos nodos do grafo de modo a que quaisquer dois nodos adjacentes
no tenham a mesma cor;
ii) Nmero cromtico de um grafo G, (G), o nmero mnimo de
cores necessrias para colorir G.

Figura 5.1 Um grafo com uma colorao por nodos.


A afectao de cores no grafo ilustrado acima uma colorao j que nodos
coloridos com a mesma cor no tm arestas em comum. Como esta colorao tem
trs cores, pode-se imeditamente concluir que (G) 3. Note-se, tambm, que este

Luis Gouveia Tpicos de Grafos -

40 -

grafo tem um tringulo formado pelos nodos a, b e e. Estes trs nodos tm que ser
coloridos com trs cores diferentes. Logo, (G) = 3.
Existem diversas aplicaes que so modeladas pela determinao do nmero
cromtico de um grafo. Usualmente, os nodos correspondem a objectos e uma aresta
entre dois objectos indica que os objectos esto em conflito. Como caso tpico,
considere-se o problema de determinar o nmero mnimo de dias em que pode ser
realizado uma srie de exames. , bviamente, necessrio garantir que dois
quaisquer exames no podem ser feito no mesmo dia se houver pelo menos um aluno
que esteja incrito em ambos os exames. Este problema pode ser modelado em teoria
dos grafos considerando um grafo definido do seguinte modo:
i)

Os nodos do grafo correspondem aos exames;

ii) Existe uma aresta entre dois nodos se existe um aluno que faa os exames
correspondentes a esses dois nodos.
Determinar um conjunto de dias em que podem ser realizados todos os exames
corresponde a determinar uma colorao do grafo. Determinar o nmero mnimo de
dias necessrio para fazer esta srie de exames corresponde a determinar o nmero
cromtico do grafo assim construdo.
Como exemplo, considere-se
Exames

Alunos

1,2,4

2,3

1,6

3,5,6

4,5

O grafo correspondente a este problema o grafo j ilustrado na figura 5.1. Conclui-se


assim que so necessrios trs dias para realizar os seis exames.

Luis Gouveia Tpicos de Grafos -

41 -

5.1.2 Determinao de (G). O caso (G) = 2


Determinar (G) para um qualquer grafo um problema de difcil resoluo.
tambm difcil obter uma condio necessria e suficiente para se garantir (G) = k
para um qualquer grafo G e um dado valor de k. No entanto, os casos k = 1, 2 so
excepes. O caso k = 1 trivial, neste caso G tem que ser um grafo sem arestas. O
caso k = 2 mais interessante. Fcilmente se observa que se um grafo G tem (G) = 2,
ento no pode ter ciclos de cardinalidade mpar (com um nmero mpar de arestas).
Note-se que um ciclo nestas condies tem que ser colorido com trs cores.
Interessante o facto de que a condio no ter ciclos de cardinalidade mpar
tambm suficiente para o grafo ter nmero cromtico igual a 2.
Resultado 5.1 Seja G um grafo que contm pelo menos uma aresta. Ento (G) = 2
sse G no tem ciclos de cardinalidade mpar.
Prova: necessrio mostrar apenas, que a condio G no tem ciclos de
cardinalidade mpar suficente j que o facto de ser condio necessria foi
mostrado no pargrafo. Assim, considere-se um grafo G sem ciclos de cardinalidade
mpar e sem perda de generalidade, consideremos G conexo. Para mostrar que G pode
ser colorido com duas cores, C1 e C2, considere-se um nodo qualquer de G, r, e
afecte-se a cor C1 a esse nodo. Considere-se agora o conjunto dos nodos que so
adjacentes ao nodo r (denote-se por S1 este conjunto) e afecte-se a cor C2 aos nodos
deste conjunto. Considere-se agora o conjunto dos nodos que so adjacentes a nodos
de S1, excluindo o nodo r (denote-se por S2 este conjunto) e afecte-se a primeira cor
C1 a estes nodos. Repetindo este argumento, obtm-se uma colorao dos nodos do
grafo com duas cores.
Suponha-se, agora, que esta colorao no admissivel, isto , existe uma aresta entre
dois nodos da mesma cor. Sejam p e q, dois nodos nesta situao. Considerem-se as
duas cadeias entre r e p e, entre r e q definidas pelo procedimento descrito no
pargrafo anterior. Como p e q tm a mesma cr, o nmero total de arestas nas duas
cadeias par. Adicionando, a aresta (p,q) forma-se um ciclo de cardinalidade impar, o
que uma contradio.

Luis Gouveia Tpicos de Grafos -

42 -

No caso do grafo no ser conexo, aplica-se o mesmo procedimento a cada componente


conexa e, cada nodo isolado, ser colorido com qualquer uma das duas cores.

c.q.d.

interessante notar que na prova do resultado anterior, tambm se mostrou como


colorir um grafo com duas cores (ou que tal impossvel atravs da obteno de um
ciclo de cardinalidade mpar).
Infelizmente, difcil obter uma caraterizao semelhante para valores de k superiores
a 2. No entanto, possivel obter condies suficientes ou necessrias que nos
permitem determinar limites superiores ou inferiores para o nmero cromtico de um
grafo. Este tema discutido nas seces seguintes. A ideia bsica para (tentar) mostrar
que (G) = k para um determinado grafo G e um qualquer valor k > 2, a seguinte:
i)

Mostrar que (G) < k exibindo uma colorao com k cores (ou utilizando um
limite superior apresentado na seco seguinte)

ii) Mostrar que (G) > k utilizando um limite inferior apresentado na seco
seguinte.
5.1.3 Limites Inferiores para (G).
Algumas propriedades simples permitem determinar dois limites inferiores para o
nmero cromtico de um grafo G. Por exemplo, o facto de um grafo G no poder ter
nmero cromtico inferior ao nmero cromtico de um seu subgrafo leva a outro limite
inferior
Resultado 5.2 Seja H um subgrafo do grafo G. Ento (G) (H).
Um caso particular do resultado anterior obtm-se quando se considera H como sendo
a clique. Como os nodos de uma clique tm que ser coloridos com cores diferentes, e
denotamndo por (G) o cardinal da clique de cardinalidade mxima em G, temos que
Resultado 5.3 Seja G um grafo. Ento (G) (G).
Este resultado j tinha sido utilizado antes para concluir que o grafo da figura 5.1 no
podia ser colorido com menos do que trs cores (note-se que um tringulo uma

Luis Gouveia Tpicos de Grafos -

43 -

clique com trs nodos). Nesse caso obteve-se (G) = (G) = 3. O exemplo seguinte
mostra que a desigualdade acima pode ser estrita para alguns casos. Na realidade esta
situao mais frequente do que a igualdade.

G
c
Figura 5.2 O nmero cromtico pode ser superior ao nmero de clique.
Claramente tem-se (G) = 3. Para ver que (G) = 4 observe-se o seguinte: o ciclo
externo tem um nmero mpar de cores e portanto, os nodos deste ciclo tm que ser
coloridos com trs cores e que tm que ser diferentes da cor utilizada para o nodo
central.
Outra observao til, mas menos bvia, est relacionada com o cardinal do conjunto
independente de cardinalidade mxima. Facilmente se observa que conjuntos de nodos
que podem ser coloridos com a mesma cor so conjuntos independentes. Assim, colorir
um grafo corresponde a particionar o conjunto de nodos em subconjuntos de nodos
independentes. O nmero cromtico de um grafo , portanto, no inferior ao nmero
mnimo de subconjuntos necessrio para particionar o conjunto de nodos em
subconjuntos de nodos independentes. Assumindo, no pior de caso, que essa partio
constituda por conjuntos independentes de cardinalidade mxima, e que (G) denota o
cardinal do conjunto iundependente de cardinalidade mxima, um limite inferior para
esse valor pode ser dado por |X|/(G) levando ao seguinte resultado
Resultado 5.4 Seja G um grafo. (G) |X|/(G) .

Luis Gouveia Tpicos de Grafos -

44 -

possvel mostrar (ver exerccios no final deste captulo) que no se consegue


estabelecer qualquer dominncia entre os limites estabelecidos pelos resultados 5.3 e
5.4.
5.1.4 Limites Superiores para (G).
Um limite superior trivial para o nmero cromtico de um grafo dado pelo seguinte
resultado:
Resultado 5.5 (G) < max[xi X] grau (xi) + 1.
Prova: A prova deste resultado feita por induo no nmero de nodos do grafo.
Quando |X| = 1, tem-se max [xi X] grau (xi) = 0 e (G) = 1 e o resultado verdadeiro.
Mostremos agora que se o resultado verdadeiro para qualquer grafo com |X| < n
ento tambm o para qualquer grafo com |X| = n nodos.
Considere-se um grafo G com n nodos e max

[xi X]

grau (xi) = d. Denote-se por H o

grafo que se obtm de G por remoo de um nodo, nodo u por exemplo, e de todas as
arestas nele incidente. Neste novo grafo, o grau de maior valor ainda no mximo
igual a d e pelo princpio de induo podemos concluir que H tem uma colorao com
no mximo, d + 1 cores. Colorindo o nodo u com uma cor diferente da cor dos nodos
que lhe esto adjacentes em G (que so no mximo, d nodos) obtm-se uma colorao
de G com o mesmo nmero de cores que a colorao de H. Assim, G pode ser colorido
com d + 1 cores no mximo e o resultado fica demonstrado.

c.q.d.

Exemplos de grafos cujo nmero cromtico igual ao valor dado pelo resultado
anterior so:
i) Grafos completos, j que pelo resultado 5.3 se tem que (G) (G) = |X| e neste
caso max[xi X] grau (xi) = |X| - 1.
ii) Ciclos de cardinalidade mpar j que uma colorao alternada leva a (G) = 3 =
max[xi X] grau (xi) + 1 = 2 + 1.

Luis Gouveia Tpicos de Grafos -

45 -

O que interessante, que mesmo possvel provar que esta situao apenas se passa
para grafos nas condies i) e ii), isto , o limite superior para o nmero cromtico
indicado no resultado 5.5 pode ser melhorado quando G no satisfaz as condies i) e
ii), levando ao seguinte resultado
Resultado 5.6 - Seja G = (X,A) um grafo que no completo nem um ciclo de
cardinalidade mpar. Ento (G) < max[xi X] grau (xi).
A prova deste resultado deve-se a Brooks (1941) e sai fora do mbito deste curso. Os
grafos j apresentados (e que esto nas condies do resultado 5.6) mostram que o
limite dado por este resultado no estrito. Como exerccio, sugere-se encontrar um
grafo em que o limite indicado pelo resultado 5.6 coincide com o seu nmero
cromtico. Este resultado til, i.e., o limite indicado pelo resultado de boa
qualidade, em grafos onde todos os nodos tm aproximadamente o mesmo grau. No
entanto, o resultado torna-se praticamente intil em grafos onde existem alguns nodos
com grau bastante superior ao grau dos restantes nodos. Como exemplo, considere-se
uma estrela com 100 nodos. O resultado 5.6 diz-nos que 99 (G). Facilmente se
verifica que (G) = 2.
5.1.5 Colorao em Grafos Planares
Nesta seco considera-se o mesmo problema, mas agora no contexto de grafos
planares. Na realidade, o facto de um grafo ser planar permite apresentar uma
caraterizao mais precisa do seu nmero cromtico. De facto consegue-se mesmo
mostrar que
Resultado 5.7 Seja G um grafo planar. Ento (G) < 4.
A prova deste resultado sai do mbito deste curso. O resultado 5.7 tem uma verso
muito mais conhecida e que ser abordada na seco 5.2. De seguida, apresentam-se e
provam-se duas verses relaxadas deste resultado.
Resultado 5.8 Seja G um grafo planar. Ento (G) < 6.
Prova: A prova feita por induo no nmero de nodos, |X|, do grafo. O resultado
claramente verdadeiro para grafos com no mximo 6 nodos. Considere-se ento um

Luis Gouveia Tpicos de Grafos -

46 -

grafo com mais do que 6 nodos. O resultado 4.10 diz-nos que o grafo tem um nodo, p,
com grau 5, no mximo. Removendo o nodo p de G (e as arestas nele incidentes),
obtm-se um novo grafo, G, com menos nodos que o grafo original. O grafo G
ainda planar. Aplicando a hiptese de induo, pode-se concluir que G pode ser
colorido com 6 cores. Mas, ento G pode ser colorido com 6 cores j que basta colorir
p com uma cor diferente da dos seus nodos adjacentes (que so 5, no mximo)

c.q.d.

Seria interessante tentar utilizar um argumento semelhante e tentar tirar uma cor (ou
ainda melhor, tirar duas cores). De facto, consegue-se apresentar um resultado
semelhante (que se deve a Heawood 1890), com prova mais complicada do que a
anterior, para o caso de 5 cores.
Resultado 5.9 Seja G um grafo planar. Ento (G) < 5.
Prova: O comeo da prova semelhante prova do resultado anterior. Considere-se o
nodo p (que tem grau mximo igual a 5) e considere-se o grafo G (obtido de G por
remoo de p) e que por hiptese de induo pode ser colorido com 5 cores. Note-se
que se os nodos adjacentes de p em G, so coloridos com menos do que 4 cores em G,
ento p pode ser colorido com uma quinta cor e o resultado fica imediatamente
provado. Assim, pode.se assumir, no resto da prova, que grau(p) = 5 em G. Pode-se
tambm assumir que pelo menos dois dos nodos adjacentes a p no so adjacentes
entre eles. Caso contrrio, o grafo K5 seria um subgrafo de G e G no seria planar.
Sejam u e v dois nodos nestas condies. Considere-se o grafo G obtido de G por
contrao das arestas (p,u) e (p,v) num s nodo, designado por puv. Aplicando a
hiptese de induo ao grafo G, conclui-se que este pode ser colorido com 5 cores.
Se se fizer agora o processo inverso de expanso do nodo puv nas arestas (p,u) e (p,v)
obtm-se o grafo G tambm colorido com 5 cores. A diferena, e a vantagem de se ter
feito a contrao em G, que agora, dois dos nodos adjacentes a p tm a mesma cor.
Assim, p pode ser colorido com uma quinta cor.

c.q.d.

Durante muito tempo se conjecturou que quatro cores eram suficientes para colorir um
grafo planar. Vrias tentativas resultaram infrutferas, e de facto, o resultado 5.8
resulta de uma prova errada devido a Kempe (1879) de que 4 cores bastavam.

Luis Gouveia Tpicos de Grafos -

47 -

Mais recentemente, Appel e Haken (1977) provaram o teorema das 4 cores. Se bem
que a prova destes autores aceite como sendo vlida, no agrada a muitos j que a
prova necessita da verificao de muitos casos particulares o que foi conseguido
apenas atravs da utilizao de um computador.
5.2 Colorao de Mapas
Um problema bastante conhecido na rea da matemtica o de saber quantas cores so
necessrias para colorir um mapa, garantindo que pases com fronteira comum no so
coloridos com a mesma cor. Na realidade pode-se ver este problema como um
problema de colorir grafos (especiais) de uma maneira aparentemente diferente da
estudada na seco anterior. Neste caso, pretende-se colorir as faces de um grafo,
planar, de acordo com as regras j mencionadas. No entanto, fcil verificar que nem
todos os grafos planares esto nas condies de serem um mapa. Assim,
Definio 5.2 Um mapa um grafo planar em que a remoo de uma qualquer aresta
leva juno de duas faces numa s.
De seguida mostra-se como transformar um mapa num grafo planar de modo a que
uma colorao no mapa corresponde uma colorao no grafo com o mesmo nmero de
cores. Considere-se um mapa M = (X,A,F). Note-se que neste caso explicitamos um
terceiro conjunto que se refere ao conjunto das faces do mapa. Considere-se, agora um
grafo planar Gp = (Xp, Ap) em que
i)

Cada nodo em Xp corresponde a uma face de M

ii) Ap = {i,j}: i,j em Xp e as faces que originam i e j tm uma aresta comum


em M.
O grafo Gp assim obtido um grafo simples. Alm disso, uma colorao das faces de
M identifica univocamente uma colorao dos nodos em Gp (e vice-versa). Assim,
determinar o nmero mnimo de cores para colorir um mapa corresponde a determinar
o nmero cromtico de um grafo planar e os resultados da seco 7.1.5 podem ser
modificados para colorao de mapas. Na realidade, estes resultados so usualmente
conhecidos no mbito da colorao de mapas, em particular o clebre teorema das
quatro cores, j mencionado no fim da seco 5.1.5.

Luis Gouveia Tpicos de Grafos -

48 -

5.3 Coloraco por Arestas


5.3.1 Definies e exemplos
Definio 5.3

i) Colorao de um grafo por arestas consiste numa afectao de

cores s arestas de um grafo de modo a que duas arestas com um


extremo comum no tenham a mesma cor.
ii) ndice cromtico de um grafo, (G), o nmero minimo de
cores necessrias para colorir G por arestas.

Figura 5.3 Um grafo G ( esquerda) e o seu grafo adjunto ( direita)


Relativamente ao grafo G da figura 5.3 ilustrado esquerda, possvel colorir {(a,b),
(d,e)} com uma cor, {(a,e), (c,d)} com outra, {(a,d), (c,e)} com uma terceira cor e
{(b,c)} com uma quarta cor. Pode-se concluir ento que (G) 4. Neste caso,
tambm possvel observar que G tem nodos de grau 3, logo 3 (G) ficando ainda em
aberto qual o ndice cromtico de G.
Uma aplicao imediata deste problema na colorao de fios elctricos. Vrios fios
podem divergir de uma componente. Cores diferentes associadas a fios que saiem da
mesma componente, permitem saber a que outra componente est esse fio ligado. Uma
colorao admissvel corresponde a uma colorao por arestas de um grafo adequado.
O nmero mnimo de cores a utilizar corresponde ao ndice cromtico.

Luis Gouveia Tpicos de Grafos -

49 -

Determinar o ndice cromtico (G) de um grafo G qualquer tambm um problema


difcil, como j antes acontecia com o nmero cromtico (G). Ainda como antes,
fcil de caracterizar grafos com ndice cromtico no superior a 2 (ver exerccios no
fim deste captulo). No caso geral, segue-se o que foi sugerido na seco 7.1 para o
nmero cromtico. Mais uma vez, a ideia bsica para (tentar) mostrar que (G) = k
para um determinado grafo G e um qualquer valor k, a seguinte:
iii)

Mostrar que (G) < k exibindo uma colorao (por arestas) com k cores (ou
utilizando um limite superior apresentado na seco seguinte).

iv)

Mostrar que (G) > k utilizando um limite inferior apresentado na seco


seguinte.

5.3.2 Limites Inferiores e Limites Superiores para (G)


Num grafo G = (X,A) seja d = max [xi X] grau (xi). O prximo resultado fornece um
intervalo de variao bastante restrito para o valor do ndice cromtico de um grafo
G.
Resultado 5.10 - Seja G = (X,A) um grafo. Ento d < (G) < d + 1.
O limite inferior para (G) imediato. A prova da validade do limite superior
muito mais elaborada e ser aqui omitida. O resultado 5.10 curioso na medida em
que diz que para qualquer grafo, o seu ndice cromtico apenas pode tomar dois
valores, d ou d+1. E, se bem que seja fcil encontrar grafos que tenham um valor ou
outro, (ver exerccios no final deste captulo), em geral, dficil determinar o ndice
cromtico de um grafo que no esteja nas condies anteriores.
Relativamente aos grafos j apresentados pode-se notar que
Lim. Inf.

(G)

Figura 7.1

Figura 7.2

Figura 7.3 (G)

Grafo

Luis Gouveia Tpicos de Grafos -

Lim. Sup.

50 -

O resultado 5.10 til quando facilmente se produz uma colorao com d cores
(como por exemplo, acontecia com os grafos das figuras 5.1 e 5.2) j que nesses
casos se pode concluir que a colorao ptima.
Mais complicados so os casos (ver grafo G da figura 5.3) em que se est na
presena de uma colorao com d+1 cores e parece impossvel determinar uma com
d cores.
A seguir sugerem-se dois outros limites inferiores para (G). O primeiro destes
limites inferiores anlogo a um dos limites sugeridos para a colorao por nodos.
Resultado 5.11 Seja H um subgrafo do grafo G. Ento (G) (H).
Note-se, tambm, que o o limite sugerido no resultado 5.10 um caso particular do
resultado 5.11 j que um subconjunto de arestas incidentes num mesmo nodo, em
conjunto com os nodos que so extremos destas arestas, definem um subgrafo de G.
O outro limite menos bvio e resulta do facto de que conjuntos de arestas que
podem ser coloridas com a mesma cor so emparelhamentos. Assim, colorir um
grafo por arestas corresponde a particionar o conjunto de arestas do grafo em
emparelhamentos. E, portanto, o ndice cromtico de um grafo no pode ser inferior
ao nmero de mnimo de subconjuntos necessrio para particionar o conjunto de
arestas em emparelhamentos. Assumindo, no pior de caso, que essa partio
constituda por emparelhamentos de cardinalidade mxima, um limite inferior para
esse valor pode ser dado por|A|/(max[EEG] {|E|}) levando a
Resultado 5.12 - Seja G = (X,A) um grafo. Ento |A|/(max[EEG] {|E|}) < (G).
Este resultado torna-se bastante til quando |A|/(max[EEG] {|E|}) = d+1 para um
dado grafo G. Combinando-o com o resultado 5.10, pode-se ento concluir que (G) =
d + 1. Voltando agora ao grafo G da figura 5.3, note-se que max[EEG] {|E|} = 2 e o
resultado 5.12 indica ento que 4 < (G) e portanto, 4 = (G).
A dificuldade na determinao do ndice cromtico de um grafo aparece em casos em
que no fcil apresentar uma colorao com d cores (caso a haja) e o valor

Luis Gouveia Tpicos de Grafos -

51 -

produzido pelos limites dos resultados 5.10 e 5.12 igual a d. , tambm possvel
mostrar (ver exerccios no fim deste captulo) que no se consegue estabelecer
qualquer dominncia entre os limites estabelecidos pelos trs resultados 5.10 a 5.12.
interessante notar a semelhana entre os argumentos utilizados para deduzir os
resultados 5.4 e 5.12. Esta semelhana ser formalizada na prxima seco.
5.3.3 ndice Cromtico de G e Nmero Cromtico de G*
Recorde-se que um conjunto de arestas E um emparelhamento num grafo G sse o
correspondente conjunto de nodos, $E , em G* for um conjunto independente no grafo
adjunto G*. Recordando tambm que uma colorao por nodos corresponde a uma
partio em subconjuntos independentes, do conjunto de nodos de um grafo e que uma
colorao por arestas corresponde a uma partio do conjunto de arestas de um grafo
em emparelhamentos, tem-se imeditamente que:
Resultado 5.13 - Seja G um grafo e G* o seu adjunto. Ento (G) = (G*).
Assim, o resultado 7.12 poderia ser deduzido do resultado 5.13 e do resultado 5.4
(como exerccio, formalize este raciocnio). O resultado 5.13 sugere tambm a
seguinte questo: O limite inferior dado no resultado 5.10 para o ndice cromtico
corresponde ao limite inferior para o nmero cromtico dado pelo resultado 5.3?

Luis Gouveia Tpicos de Grafos -

52 -

5.4 Exerccios Folha 5


5.1 Considere os grafos da questo 2.1. Para cada grafo determine os limites inferiores
e limite superior para o nmero cromtico estudados. Determine o nmero
cromtico de cada um dos grafos.
5.2 Mostre que os limites inferiores para o nmero cromtico indicados pelos
resultados 5.3 e 5.4 no so comparveis.
5.3 Considere os grafos da questo 5.1. Para cada grafo determine o limite inferior e
limite superior para o ndice cromtico estudados. Determine o ndice cromtico de
cada um dos grafos.
5.4 Caracterize grafos que tm o ndice cromtico igual a 1. Caracterize grafos que tm
o ndice cromtico igual a 2.
5.5 Considere um grafo G = (X,A) completo. Mostre que: i) o ndice cromtico de G
igual a |X| se |X| for impar e ii) o ndice cromtico de G igual a |X|-1 se |X| for
par.
5.6 Mostre que os limites inferiores para o ndice cromtico indicados pelos resultados
5.10 e 5.12 no so comparveis.
5.7 Deduza o resultado 5.12 dos resultado 5.13 e 5.4.
5.8 O limite inferior dado no resultado 5.10 para o ndice cromtico corresponde ao
limite inferior para o nmero cromtico dado pelo resultado 5.3?

Luis Gouveia Tpicos de Grafos -

53 -

6 rvores de Suporte de Custo Mnimo: Condies de Optimalidade e


Algoritmos
Nesta seco motiva-se o conceito de rvore de suporte de um grafo como sendo um
conjunto conexo de custo mnimo. Apresentam-se duas condies, suficientes e
necessrias, para uma rvore de suporte ser de custo mnimo. Enquanto uma das
condies caracteriza as arestas includas numa rvore de custo mnimo, a outra
caracteriza as arestas no includas na rvore. Mostra-se como derivar algoritmos, bem
conhecidos, para determinao de uma rvore de suporte de custo mnimo num grafo a
partir das condies de optimalidade apresentadas.
6.1 Motivao
Como motivao para introduzir o problema descrito neste captulo, considere-se o
seguinte grafo:

41

28
35
5

3
14

13
17
20

Figura 6.1 Uma rede de telecomunicaes


Os nodos representam terminais de uma empresa e as arestas representam linhas de
comunicao j estabelecidas (e em condies de funcionar) por uma operadora de
telecomunicaes. Os custos (positivos) associados s linhas representam o custo de
aluguer mensal das mesmas. A empresa pretende estabelecer uma rede garantindo que
qualquer terminal possa comunicar com qualquer outro. Assim, pretende-se alugar um
conjunto de linhas operadora de modo a minimizar o custo total de aluguer mensal.
Com o objectivo de tentar caracterizar caracterizar conjuntos de linhas que possam ser
solues do problema, analisem-se as duas seguintes questes:
Questo 6.1 - Estabelea uma condio suficiente e necessria para um conjunto de
linhas ser soluo admissvel do problema proposto.

Luis Gouveia Tpicos de Grafos -

54 -

Questo 6.2 - Estabelea uma condio necessria para um conjunto de linhas ser
soluo ptima do problema proposto.
Nesse sentido, indicam-se na figura 6.2, cinco solues para o problema indicado e
que sugerem respostas s questes 6.1 e 6.2. As solues ilustradas em A e B no so
admissveis j que a soluo ilustrada em A contm uma aresta, (a,d), que no est
includa no grafo original e na soluo ilustrada em B no existe ligao entre os
terminais do subconjunto {a,b,c} e os do subconjunto {d,e,f}.
Assim, como resposta questo 6.1, pretende-se determinar um grafo parcial do
grafo original (no se podem utilizar linhas que no existam) e que seja conexo a
(qualquer terminal tem que poder comunicar com qualquer outro).

d
c

c
b

f
a

f
e

C
d
c

b
a

f
d

d
c

c
b

Figura 6.2 - Solues para o problema proposto


A soluo ilustrada em C um grafo parcial conexo de G mas tem linhas
desnecessrias, como se pode notar pelo ciclo {(a,b),(b,c),(c,a)}. possivel obter

Luis Gouveia Tpicos de Grafos -

55 -

solues ainda admissveis e mais baratas do que a original, removendo qualquer


uma das arestas desse ciclo. Assim, o grafo parcial ilustrado em C no pode ser
soluo ptima para o problema proposto. Como resposta questo 6.2
imediatamente se conclui que qualquer soluo ptima para o problema tem que ser
um grafo parcial conexo e sem ciclos.
As solues ilustradas em D e E diferem apenas numa aresta. Comparando o custo
destas, fcilmente se conclui que a soluo ilustrada em D no pode ser ptima para
o problema proposto j que a soluo ilustrada em E mais barata (mais frente
mostra-se que a soluo ilustrada em E a soluo optima para o problema
proposto).
6.2 Definies
Definio 6.1 - Um grafo parcial de um grafo G conexo e sem ciclos diz-se uma rvore
de suporte em G.
Neste texto, o conceito de rvore de suporte foi motivado como sendo uma estrutura que
se pretende obter quando se procura um conjunto de arestas conexo e de custo mnimo.
Nos exerccios apresenta-se uma motivao alternativa, mais precisamente, motiva-se o
conceito de rvore de suporte como sendo um conjunto de arestas sem ciclos e de custo
mximo.
Resultado 6.1 Uma rvore de suporte num grafo G = (X,A) tem |X|-1 arestas.
Prova: Por induo no nmero de nodos, |X|, do grafo.
i) O caso |X| = 1 imediato.
ii) Assuma-se que o resultado vlido para grafos com menos de |X| nodos. Considere-se uma rvore de suporte, T, em G, e remova-se uma qualquer aresta de T. Como T no
tem ciclos, obtm-se duas rvores T1 e T2 (T1 abrange o conjunto de nodos X1 e T2
abrange o conjunto de nodos X2).
Pelo, princpio de induo, T1 tem |X1| - 1 arestas e T2 tem |X2| - 1 arestas. Somando as
arestas das duas subrvores, obtm-se |X| - 2 arestas (j que X1 e X2 fazem uma

Luis Gouveia Tpicos de Grafos -

56 -

partio de X). Adicionando a aresta inicialmente removida de T, obtm-se as |X| - 1


arestas que compem T

c.q.d.

O grafo B ilustrado na figura 6.2 mostra que um grafo parcial com |X| - 1 arestas no
necessriamente uma rvore de suporte. Caracterizaes alternativas de uma rvore
suporte envolvendo a condio sobre o nmero de arestas so sugeridas nos exerccios.
Definio 6.2 - Para cada aresta (i,j)A de um grafo G, seja Cij o custo (peso,
comprimento, durao) associado a essa aresta. Para qualquer rvore de suporte T em
G, denote-se por custo dessa rvore (peso, comprimento, durao), C(T), a soma dos
custos das arestas includas em T. Uma rvore de suporte T, diz-se de custo (peso,
comprimento, durao) mnimo se C(T) = min [P G(T)] {C(P)} em que G(T) denota o
conjunto de todas as rvores de suporte em G.
Na figura 6.3 indica-se a rvore de suporte de custo mnimo (parte B) do grafo
ilustrado na parte A. Esta rvore de suporte tem custo igual a 28 + 5 + 13 + 3 + 14 =
63.

28
35
5

14

17

20

28

13

41

14

13

Figura 6.3 rvore de suporte de custo mnimo (parte B) do grafo ilustrado em A.


Em geral, o nmero de rvores de suporte de um grafo extremamente grande e
portanto, um processo enumerativo para obteno da rvore ptima ser bastante
ineficiente. No sentido de obter algoritmos eficientes que permitam determinar a
rvore ptima num grafo, apresentam-se de seguida duas condies necessrias e
suficientes para uma rvore de suporte ser ptima. Estas condies esto descritas
nas seces 6.3 e 6.5. Nas seces 6.4 e 6.6 descrevem-se algoritmos para
determinao de rvores ptimas e que so sugeridos directamente pelas condies
de optimalidade descritas nas seces 6.3 e 6.5.

Luis Gouveia Tpicos de Grafos -

57 -

6.3 Condio de Optimalidade de Corte


Considere-se uma qualquer rvore de suporte T num grafo G. Se for removida
qualquer aresta (x,y) includa em T, o grafo resultante desconexo e particiona o
conjunto de nodos X em dois subconjuntos, Sx e Sy. As arestas do grafo G que tm
um extremo em cada um desses dois subconjuntos formam um corte, denotado por
[Sx,Sy].
Considere-se a rvore de suporte e o grafo ilustrados na figura 6.3. A seguir, indicam-se os cinco cortes induzidos pelas cinco arestas dessa rvore de suporte.
Aresta

Corte

(a,c)

[Sa,Sc] = {(a,b), (a,c), (a,e)}

(b,c)

[Sb,Sc] = {(a,b), (b,c), (b,f)}

(c,d)

[Sc,Sd] = {(c,d), (a,e), (b,f)}

(d,e)
(e,f)

[Sd,Se] = {(d,e), (d,f), (a,e), (b,f)}


[Se,Sf] = {(d,f), (e,f), (b,f)}

Para cada aresta (x,y) de T, as arestas de [Sx,Sy] podem ser interpretadas como sendo
as arestas candidatas a reconstruir T aps a destruio da aresta (x,y). No exemplo
discutido na seco 6.1, suponha-se que uma das linhas fornecidas pela operadora
deixa de funcionar. As arestas do corte induzido pela aresta correspondente a essa
linha indicam quais as linhas que permitem um estabelecimento imediato do servio
pedido pela empresa.
A noo de corte induzido por uma aresta de uma rvore de suporte T sugere
imediatamente um algoritmo para para melhorar o custo de uma rvore de suporte.
Seja T uma rvore de suporte num grafo G. O passo bsico deste algoritmo consiste
em verificar se existe uma aresta (x,y) de T, e uma aresta ((a,b), por exemplo) no corte
[Sx,Sy] induzido por (x,y), que tenha custo inferior original. Nesse caso, determinase uma nova rvore T* = T \ {(x,y)} {(a,b)} e repete-se o passo bsico. O algoritmo
termina quando a rvore corrente no puder ser melhorada atravs deste passo bsico.
Na figura 6.4, exemplifica-se este algoritmo.

Luis Gouveia Tpicos de Grafos -

58 -

(a,e): custo 41

[Sa,Se] \ {(a,e)} = {(c,d),(b,f)}

c
b

13 20
e

a
d

(d,f): custo 17

[Sd,Sf] \ {(d,f)} = {(e,f),(b,f)}

14 20
e

a
d
c
b

Figura 6.4 Algoritmo melhorativo para determinar a rvore de suporte de custo


mnimo num grafo.
Questo 6.3 - A rvore obtida pelo algoritmo melhorativo ptima?
O resultado seguinte mostra que sim.
Definio 6.3 - Uma rvore de suporte T, num grafo G, satisfaz a condio de
optimalidade de corte se (x,y)T, (k,l)[Sx,Sy] , Cxy Ckl.
Resultado 6.2 - T ptima em G sse T satisfaz a condio de optimalidade de corte.
Prova: O exemplo ilustrado na figura 6.4 mostra que a condio de optimalidade de
corte uma condio necessria para uma rvore de suporte ser de custo mnimo.

Luis Gouveia Tpicos de Grafos -

59 -

Para mostrar o recproco, considere-se agora que T satisfaz a condio de optimalidade


e que T no ptima. Denote-se por TOPT a rvore ptima e assuma-se que TOPT e T
diferem em P arestas (P1).
Seja (x,y) uma aresta tal que (x,y)T e (x,y) TOPT. Da conexidade de TOPT sai que tem
que existir uma aresta (k,l) TOPT e (k,l)[Sx,Sy]. Pela optimalidade de TOPT conclui-se
que Ckl Cxy. Como T satisfaz a condio de optimalidade de corte sai que Ckl Cxy.
Ou seja, Ckl = Cxy.
Seja T1 a rvore de suporte T1 = T \ {(x,y)} {(k,l)}. T1 tem o mesmo custo que T e
T1 difere de TOPT em apenas P-1 arestas. Alm disso, facilmente se verifica que T1
ainda satifaz a condio de corte. Repetindo este argumento (p-1) vezes gera-se uma
sucesso de rvores de suporte, T2,...,Tp, todas com o mesmo custo e tal que a ltima
rvore dessa sucesso exactamente a rvore original T. Conclui-se assim, que T tem
que ter o mesmo custo que TOPT e portanto, ptima.

c.q.d.

O resultado anterior indica que o algoritmo melhorativo previamente sugerido permite


resolver o problema de determinao de uma rvore de suporte de custo mnimo. No
entanto, tal algoritmo poderia ser ainda pouco eficiente. Considere-se, por exemplo, o
caso em que o algoritmo comea com uma rvore substancialmente diferente da ptima.
Como se mostra a seguir, possvel fazer melhor, i.e., pode-se utilizar a condio de
optimalidade de corte para idealizar um algoritmo que contri desde o incio, uma
rvore de suporte que garantidamente de custo mnimo.
6.4 Algoritmo de Prim
Nesta seco descreve-se o algoritmo de Prim para determinar uma rvore de suporte de
custo mnimo num grafo e cuja validade se baseia directamente numa aplicao
adequada do princpio de optimalidade de corte. Seja G = (X, A) um grafo conexo com
X={x1,...,xn}. O conjunto XT denota o conjunto dos nodos j includos na soluo, AT
denota o conjunto das arestas j includas na soluo, CUSTO denota o custo da
soluo corrente e Cij denota o custo, ou peso, associado aresta (xi,xj).

Luis Gouveia Tpicos de Grafos -

60 -

ALGORITMO DE PRIM
PASSO 0: {Inicializao}
XT {x1}
AT { }
CUSTO = 0
PASSO 1: {Seleco da Aresta de Custo Mnimo}
Seleccionar a aresta de custo mnimo (xi,xj) tal que xi XT e
xj X - XT.
PASSO 2: {Actualizao}
XT XT {xj}
AT AT {(xi,xj)}
CUSTO = CUSTO + Cij
Se X-XT = { } terminar. Caso contrrio voltar ao passo 1.
A validade do algoritmo de Prim sai do facto de que em cada iterao, o algoritmo
selecciona a aresta de custo mnimo a ligar um nodo de XT com um nodo de X - XT.
Quando o algoritmo termina, cada aresta da soluo a aresta de custo mnimo num
corte induzido pela rvore ptima e da forma [XTX,X-(XTX)] em que
(XTX) X e XT refere-se ao conjunto mesmo antes da aresta em questo ter sido
includa. A condio de optimalidade garante que cada aresta vai fazer parte da
soluo ptima (ou de uma soluo ptima, caso haja solues ptimas mltiplas). A
figura seguinte ilustra o algoritmo de Prim aplicado ao grafo da figura 6.2.
Relativamente ao conjunto X em cada iterao, tem-se que X ' = {d,e,f} quando a
aresta (b,c) foi inserida (XT = {a,c}). Tem-se que X' = {} quando as outras foram
inseridas.

Luis Gouveia Tpicos de Grafos -

61 -

x1 = a

28
35

41

b
e

f
e

28

c
5

13

f
e

28

17
20

28

28

14

13

f
e

28

13

3
14

13

Figura 6.5 Exemplo do algoritmo de Prim.


6.5 Condio de Optimalidade de Ciclo
Nesta seco descreve-se uma condio de optimalidade alternativa que caracteriza
arestas que no esto na soluo ptima, ao contrrio da anterior que caracteriza
arestas que esto na soluo ptima
Comece-se por fazer uma observao sobre as arestas no includas numa rvore de
suporte T de um grafo G = (X,A). Considere-se uma aresta (x,y) no includa em T e
seja T*= T {(x,y)}. Ento T* contm um nico ciclo, denotado por CIxy, que inclui
a aresta (x,y).

Luis Gouveia Tpicos de Grafos -

62 -

Considere o grafo G e a rvore de suporte, T, ilustrados na figura 6.3. O grafo contm


4 arestas no includas em T que induzem os seguintes ciclos:
Aresta

Ciclo

(a,b)

CIab = {(a,b), (b,c),(a,c)}

(a,e)

CIae = {(a,e), (d,e), (c,d),(a,c)}

(b,f)

CIbf = {(b,f), (e,f), (d,e),(c,d),(b,c)}

(d,f)

CIdf = {(d,f), (e,f), (d,e)}

A noo de ciclo induzido por uma rvore juntamente com uma aresta excluda da
rvore sugere tambm um algoritmo de melhoramento semelhante ao descrito na
seco 6.3. Neste caso, o passo bsico do algoritmo consiste em adicionar uma
aresta rvore e excluir uma outra aresta (de menor custo e caso exista) contida no
ciclo formado pela aresta. Facilmente se mostra que estes dois algoritmos so
equivalentes no sentido em que remover uma aresta e posteriormente adicionar um
aresta do corte correspondente equivalente a adicionar uma aresta e
posteriormente excluir uma aresta do ciclo correspondente.
No entanto, o conceito de ciclo permite enunciar uma outra condio de
optimalidade que sugere imediatamente um algoritmo alternativo mais eficiente que
o algoritmo de melhoramento. Como j foi dito, e ao contrrio da condio de
optimalidade de corte que caracteriza as arestas includas na rvore ptima, a
condio apresentada a seguir baseia-se no conceito de ciclo e caracteriza as arestas
no includas na rvore de suporte.
Definio 6.4 - Uma rvore de suporte T, num grafo G, satisfaz a condio de
optimalidade de ciclo se (a,b)T , (p,q)CIab , Cab Cpq.
Comece-se por mostrar que as duas caracterizaes so equivalentes.
Resultado 6.3 - T satisfaz a condio de optimalidade de corte sse T satisfaz a
condio de optimalidade de ciclo.
Prova: Por contra-recproco, comea-se por mostrar que se T satisfaz condio de
optimalidade de ciclo ento T satisfaz condio de optimalidade de corte.

Luis Gouveia Tpicos de Grafos -

63 -

Assuma-se que T no satisfaz a condio de optimalidade de corte. Ento (x,y)T,


(k,l)[Sx,Sy], Ckl < Cxy. Note-se que (k,l)T e que (x,y)CIkl. Mas ento
(a,b)T, (a,b)=(k,l) e (p,q)CIab , (p,q)=(x,y) e Cpq > Cab. Assim, T no
verifica a condio de optimalidade de ciclo.
Mostre-se agora que, se T satisfaz condio de optimalidade de corte ento T satisfaz
condio de optimalidade de ciclo:
Assuma-se que T no satisfaz a condio de optimalidade de ciclo. Ento (a,b)T,
(p,q)CIab , Cab < Cpq. Note-se que (p,q)T e (a,b)[Sp,Sq]. Isto significa que
(x,y)T, (x,y)=(p,q) e (k,l)[Sx,Sy], (k,l)=(a,b) e Ckl < Cxy. Logo, T no
verifica a condio de optimalidade de corte.

c.q.d.

Os resultados 6.2 e 6.3 indicam-nos que a condio de optimalidade de ciclo tambm


pode ser utilizada para caracterizar rvores de suporte ptimas.
Resultado 6.4 - T ptima em G sse T satisfaz a condio de optimalidade de ciclo.
Na seco seguinte, descreve-se o algoritmo de Kruskal, que se baseia directamente
nesta condio.
6.6 Algoritmo de Kruskal
Seja G = (X,A) um grafo conexo com X={x1,...,xn}. CUSTO, AT e Cij tm o mesmo
significado j utilizado no algoritmo de Prim:
ALGORITMO DE KRUSKAL
PASSO 0: {Inicializao}
AT { }; CUSTO 0
PASSO 1: {Seleco da aresta de custo mnimo}
Seleccionar a aresta de custo mnimo, (xi,xj), ainda no examinada.
PASSO 2: {Teste}
Se existe um ciclo em AT {(xi,xj)}, rejeita-se a aresta e volta-se ao
passo 1.

Luis Gouveia Tpicos de Grafos -

64 -

PASSO 3: {Actualizao}
AT AT {(xi,xj)}; CUSTO CUSTO + Cij
Se #(AT) = n-1 terminar. Caso contrrio voltar ao passo 1.
Note-se que a eliminao da aresta no passo 2 sai directamente da condio de
optimalidade de ciclo. A figura 6.6 ilustra o algoritmo de Kruskal aplicado ao grafo
da figura 6.2.
Note-se que o algoritmo de Kruskal do tipo construtivo, isto , as arestas vo
sendo iterativamente adicionadas rvore ptima. Um algoritmo semelhante, mas de
tipo destrutivo (isto , as arestas que garantidamente no esto na soluo ptima
vo sendo iterativamente removidas do grafo original) e tambm motivado pela
condio de optimalidade de ciclo, sugerido nos exerccios.
Como concluso, reala-se que a literatura da especialidade mostra como
implementar o algoritmo de Kruskal de modo a que a complexidade associada
ordenao das arestas, ou seleco da aresta de custo mnimo no passo 1, domina a
complexidade do algoritmo.

Luis Gouveia Tpicos de Grafos -

65 -

41

28
35

14

13

C
5

D
c

13

f
e

3
14

13

3
14

13

b
e

17
20

28
3
14

13

3
14

13

Figura 6.6 Ilustrao do algoritmo de Kruskal.

Luis Gouveia Tpicos de Grafos -

66 -

6.7 Exerccios Folha 6


6.1 Considere o seguinte grafo.

c
2
3

6
4

a) Considere a rvore de suporte T = {(a,c),(a,e),(a,d),(b,e)}. Indique o ciclo


determinado pela aresta (c,e).
b) Utilize a condio de optimalidade de ciclo para verificar se T ptima. No caso
de no ser tima utilize a condio de optimalidade para sugerir uma rvore de
custo inferior.
c) Determine a rvore de suporte de custo mnimo de G pelo algoritmo de Kruskal.
d) Determine um intervalo de variao para os custo da aresta (b,e) de modo a
garantir que a rvore determinada em c) se mantm ptima.
e) Considere, agora, a rvore de suporte T = {(b,c),(b,e),(b,d),(a,e)}. Indique o
corte determinado pela aresta (b,d).
f) Utilize a condio de optimalidade de corte para verificar se T ptima. No caso
de no ser tima utilize a condio de optimalidade para sugerir uma rvore de
custo inferior.
g) Determine a rvore de suporte de custo mnimo de G pelo algoritmo de Prim.
h) Determine um intervalo de variao para os custo da aresta (a,e) de modo a
garantir que a rvore determinada em g) (ou c)) se mantm ptima.
i) Existem solues optimas alternativas? Como verifica este facto sem calcular
todas as solues?

Luis Gouveia Tpicos de Grafos -

67 -

6.2 Mostre que so equivalentes as afirmaes seguintes sobre um grafo G e uma


rvore de suporte T em G:
i) T uma rvore de suporte em G.
ii) T conexa e tem |X|-1 arestas.
iii) T no tem ciclos e tem |X|-1 arestas.
iv) Para quaisquer dois vrtices em X, existe uma e uma s cadeia em T que os
une.
6.3 Escreva as condies de optimalidade para um problema de maximizao. Como
modificava os algoritmos estudados para obter uma rvore de suporte de peso
mximo num grafo no orientado? Aplique os algoritmos modificados ao grafo da
pergunta anterior.
6.4 O conceito de rvore de suporte foi motivado como soluo de um problema em
que se pretende determinar um conjunto de arestas conexo e de custo mnimo. A
questo a seguir, baseia-se numa motivao alternativa do problema. Pretende-se
determinar um conjunto de arestas sem ciclos e de custo mximo. Considere-se o
seguinte mapa que representa um conjunto de campos de arroz numa pequena ilha
de um lado. Os campos so cercados por muros de terra batida, que por sua vez
esto rodeados pelas guas do lago.

LAGO

LAGO

Os servios secretos de um determinado pas sabem que o arroz utilizado para


alimentar membros de uma determinada organizao terrorista. Um comando (o
comando "Rambo") est numa margem do lago (por razes bvias, a sua

Luis Gouveia Tpicos de Grafos -

68 -

localizao exacta no indicada), dispe de uma cpia do mapa, de vrios


insuflveis, e quantidades razoveis de explosivo. O comando pretende inundar os
campos destruindo alguns muros (ou mais precisamente, efectuar aberturas, com a
ajuda de explosivos, em alguns dos muros).
a) Qual o nmero mnimo de aberturas necessrias para inundar todos os campos?
b) Assuma que a quantidade de explosivo necessria para fazer uma abertura num
muro proporcional sua espessura. Que muros devem ser destrudos para
minimizar a quantidade de explosivo utilizada?
c) Que problema de grafos est inerente questo da alnea b)?
6.5 Seja G = (X,A) um grafo conexo. Considere o seguinte algoritmo para determinar
uma rvore de suporte em G:
T <- A
Enquanto (|T| |X|-1) fazer
Seleccionar a aresta de maior custo (denotada por "u") em A
Se T \ {u} for conexa

ento

T - {u}

A A \ {u}
Mostre que quando |T| = |X|-1, as arestas em T formam uma rvore de suporte de
custo mnimo do grafo dado.
6.6 Considere um grafo no orientado em que as arestas esto ou coloridas de
encarnado ou de azul.
a) Como determinava a rvore de suporte que maximiza o nmero de arestas
vermelhas (ou azul, tanto faz)?
b) Assuma que existem duas rvores de suporte, uma com p arestas encarnadas e
outra com p+2 arestas encarnadas. Mostre que tem que existir necessriamente
uma rvore de suporte com p+1 arestas encarnadas.

Luis Gouveia Tpicos de Grafos -

69 -

7. Conexidade
Neste grafo mostra-se como classificar grafos quanto sua conexidade. fcil
distinguir um grafo conexo de um grafo desconexo, no entanto, em muitas situaes
no basta saber se um grafo conexo ou no. No contexto de redes de
telecomunicaes, redes elctricas ou mesmo redes de transportes, necessrio, muita
vezes, verificar se um grafo se mantm conexo aps a remoo de uma, ou vrias
arestas. Redes de telecomunicaes representam um caso tpico de redes que se
pretendem mais conexas j que se pretende que a rede se mantenha em operao
aps a falha de uma, ou vrias ligaes. Introduzem-se de seguida alguns conceitos
para classificar grafos quanto sua conexidade e que se baseiam na propriedade do
grafo se manter conexo aps a remoo de algumas arestas, ou nodos. Mostra-se
tambm que o conceito de uma rede se manter operativa aps a falha de uma aresta,
ou nodo (ou mais) est relacionado com a existncia de caminhos "alternativos"
entre um (ou vrios) par de nodos levando a um dos resultados min/max mais
conhecidos na rea da Teoria dos Grafos nomeadamente o Teorema de Menger.
Algoritmos para determinar a conexidade de um grafo so estudados. Finalmente,
introduz-se o conceito de grafo de conexidade ptima e aborda-se o problema de
saber qual a conexidade mxima de um grafo com n nodos e com m potenciais
arestas.
7.1 Graus de Conexidade. Motivao
Considerem-se os grafos ilustrados na seguinte figura:

Luis Gouveia Tpicos de Grafos -

70 -

G1

G2

c
b

G3

c
b

G4
c

Figura 7.1 Quatro grafos conexos. Qual o mais conexo?


Intuitivamente, o Grafo G1 parece ser menos conexo que os outros trs grafos j
que o conjunto de arestas de G1 est contido nos conjuntos de arestas dos outros trs
grafos. Como comparar, no entanto, os outros trs grafos quanto sua conexidade?
Note-se que o conjunto de arestas de G2 (ou G4) no est contido no conjunto de
arestas de G3. No entanto, este parece ser (e !) mais conexo que G2 (ou G4). A
seguir, introduzem-se alguns conceitos para classificar grafos quanto sua
conexidade.
7.2 Corte. Conexidade relativa a um par de nodos
Comece-se por analisar a conexidade de um grafo em termos de dois nodos do grafo,
mais precisamente, a possibilidade de um grafo ficar desconexo deixando dois nodos
em componentes separadas. Esta situao pode ser motivada considerando que a rede
contm dois nodos de importncia prioritria.
Definio 7.1 Seja G = (X,A) um grafo conexo e sejam i e j dois nodos em X.
i) Um corte que separa i de j um conjunto minimal de arestas cuja remoo deixa o
grafo desconexo, ficando o nodo i numa componente conexa e o nodo j na outra
componente conexa.

Luis Gouveia Tpicos de Grafos -

71 -

ii) Conexidade relativa ao par (i,j), ij, o nmero de arestas do corte de cardinalidade
mnima que separa i de j.
Para exemplificar estes conceitos, considere-se o grafo G2:

G2

c
b
i)

Os conjuntos de arestas {(a,d), (c,d), (b,d)} e {(d,e), (d,f))} so cortes (mas no


os nicos) que separam a de f.

ii)

O conjunto {(d,e), (e,f)} no um corte que separa a de f. A sua remoo no


separa a de f.

iii)

O conjunto {(d,e), (c,d), (d,f)} no um corte que separa a de f. A sua remoo


separa a de f. No entanto, existe um conjunto estritamente contido nele (ver i) )
que produz o mesmo efeito.

iv)

Pode-se tambm concluir que af < 2 j que o conjunto {(d,e), (d,f))} um corte
de cardinalidade 2 que separa a de f. Como, neste caso, no existe nenhuma
aresta cuja remoo separa a de f (isto , no existe qualquer corte de
cardinalidade 1), pode-se mesmo concluir que af = 2.

O raciocnio ilustrado no pargrafo anterior no facilmente generalizvel quando


sabemos que af < k para valores relativamente grandes de k, e se quer concluir que
af = k j que no praticvel examinar todos os subconjuntos de k-1 arestas e
verificar se o grafo se mantm conexo aps a sua remoo.
Felizmente, pode-se utilizar um conceito dual do conceito de corte e que nos permite
concluir que o valor af no pode ser inferior a k. Esse conceito analisado na seco
seguinte.

Luis Gouveia Tpicos de Grafos -

72 -

7.3 Cadeias Disjuntas entre dois nodos


Como foi dito na introduo deste captulo, natural associar o conceito de uma rede
se manter operativa aps a falha de uma aresta (ou mais) com a existncia de
caminhos "alternativos" entre um (ou vrios) par de nodos. Nesta seco e na
prxima apresenta-se uma equivalncia formal entre estes dois conceitos, comeando
por definir formalmente o termo "alternativo".
Definio 7.2 - Seja G = (X,A) um grafo conexo e i e j dois nodos em X. K cadeias
entre i e j dizem-se disjuntas se no tm arestas comuns. Denota-se por Pe(i,j) o
nmero mximo de cadeias disjuntas entre i e j.
Recorde-se, mais uma vez, o grafo G2:

G2

c
b
i)

As duas cadeias entre a e f, {a,c,d,e,f} e {a,b,c,d,f}, no so disjuntas porque


ambas incluem a aresta (c,d).

ii)

As duas cadeias entre a e f, {a,d,e,f} e {a,c,d,f}, so disjuntas.

iii)

As trs cadeias entre c e d, {c,a,d}, {c,b,d} e {c,d}, so disjuntas.

iv)

ii) e iii) mostram que Pe(a,f) 2 e que Pe(c,d) 3.

7.4 Teorema de Menger


A seguir, relaciona-se o nmero de cadeias disjuntas entre dois nodos i e j com o
nmero de arestas do corte mnimo que separa i de j.
Resultado 7.1 - Seja G = (X,A) um grafo e sejam i e j dois nodos de X.
Ento ij Pe(i,j).

Luis Gouveia Tpicos de Grafos -

73 -

Prova: Seja C o corte mnimo que separa i de j (e portanto, ij = |C|). Qualquer cadeia
entre i e j tem que utilizar pelo menos uma das arestas em C. Cadeias disjuntas entre
os nodos i e j tm necessriamente que utilizar arestas diferentes do corte C. Consluise assim que Pe(i,j) < |C| = Eij.

c.q.d.

O resultado acima importante, no sentido, em que mostra que se pode concluir que
ij = Pe(i,j) = k sempre que se conhea:
i)

um conjunto de k arestas C que separa i de j e

ii)

um conjunto de k cadeias disjuntas entre i e j.

No entanto a seguinte situao pode ocorrer: conhecer-se um conjunto de k arestas que


separa i de j e s se conseguir encontrar p (p < k) cadeias disjuntas entre i e j. Pode-se
concluir apenas que p < Eij < k. O que fazer? Antes de tentar responder a esta questo
observe-se relativamente aos quatro grafos j apresentados na figura 3.2 que
Grafo

Corte por arestas


que separa a de f

Eaf

Cadeias disjuntas
nas arestas entre a e f

Pe(a,f)

G1

{(c,d)}

<1

{a,c,d,f}

>1

G2

{(d,f),(e,f)}

<2

{a,d,e,f}
{a,c,d,f}

>2

G3

{(a,e),(c,d),(b,f)}

<3

{a,e,f}
{a,c,d,f}
{a,b,f}

>3

G4

{(a,d),(c,d),(c,f)}

<3

{a,d,e,f}
{a,c,d,f}
{a,b,c,f}

>3

Considerando as desigualdades referentes a af, as correspodentes desigualdades


envolvendo Pe(a,f) e o resultado 3.1 pode-se concluir, para os exemplos acima, que
Eaf = Pe(a,f).
Utilizando tcnicas de Fluxos em Redes pode-se mostrar que, determinar Pe(i,j) para
um par de nodos i e j, corresponde a resolver um problema de fluxo mximo numa rede
adequada. Invocando, o teorema de fluxo mximo / corte de capacidade mnima nas

Luis Gouveia Tpicos de Grafos -

74 -

redes correspondentes pode-se mesmo mostrar que se verificam igualdades nas relaes
estabelecidas no resultado 3.1 (o resultado deve-se a Menger). Isto , a conclusao
anterior para os 4 grafos no foi por acaso.
Resultado 7.2 - Seja G=(X,A) um grafo e sejam i e j dois nodos de X.
Ento ij = Pe(i,j).
7.5 Conexidade de um Grafo
Nesta seco utilizam-se conceitos introduzidos nas duas seces anteriores para
classificar um grafo quanto a sua conexidade. Comea-se por apresentar um conjunto de
conceitos semelhantes aos j apresentados na Definio 3.3.
Definio 7.3 - Considere-se um grafo G conexo.
i) Um corte em G um conjunto minimal de arestas cuja remoo deixa o grafo
desconexo.
ii) A conexidade, E(G), de G o nmero de arestas do corte de cardinalidade
mnima.
iii) G diz-se k-conexo se E(G) k.
Para exemplificar considere-se, mais uma vez, o grafo G2:

G2

c
b

i)

Os conjuntos de arestas {(a,d), (c,d), (b,d)} e {(d,e), (d,f))} so cortes.

ii)

O conjunto {(c,d), (e,f)} no um corte. A sua remoo no desconecta G2.

Luis Gouveia Tpicos de Grafos -

75 -

iii)

O conjunto {(d,e), (c,d), (d,f)} no um corte. A sua remoo desconecta G2.


No entanto, existe um conjunto estritamente contido nele que produz o mesmo
efeito (ver i) ).

iv)

E(G2) < 2 j que o conjunto {(d,e), (d,f))} um corte de cardinalidade 2 que


desconecta G2. Como no existe nenhuma aresta cuja remoo desconecta G2,
podemos concluir que E(G2) = 2. Assim, G2 2conexo.

Como calcular agora a conexidade de um grafo? Por inspeco, seria possvel verificar-se (para estas instncias) que
... Eaf

Ece

...

Eef

G3

G4

Grafo

E(G)

Eab

G1

G2

Nos exemplos acima existe sempre um par (i,j) tal que Eij = E(G). O resultado seguinte
mostra que esta situao se verifica sempre.
Resultado 7.3 - Seja G = (X,A) um grafo conexo.
Ento min [x,y X] {xy} = E(G).
Prova: Assuma-se que min

[x,y X]

{xy} = k. Ento existe um conjunto de k arestas

cuja remoo deixa G desconexo. Logo min [x,y X] {xy} E(G).


Assuma-se agora que E(G) = k. Ento existe um conjunto de k arestas cuja remoo
deixa G desconexo contendo 2 componentes conexas no vazias. Sejam a e b dois
nodos tais que o nodo a pertence a uma dessas componentes e o nodo b pertence
outra. Assim, ab k e portanto, min [x,y X] {xy} ab E(G).

c.q.d.

Como se mencionou antes no contexto do resultado 7.2, determinar o valor xy


corresponde a resolver um problema de fluxo mximo numa rede adequada. O

Luis Gouveia Tpicos de Grafos -

76 -

resultado anterior mostra por sua vez, que para calcular E(G) preciso resolver
|X|*(|X|-1)/2 problemas de fluxo mximo. Se bem que o problem de determinao do
fluxo mximo numa rede possa ser resolvido em tempo polinomial, de todo o
interesse saber se ser possvel determinar E(G) reduzindo o nmero de chamadas a
um algoritmo de fluxo mximo, diminuindo, assim, o correspondente tempo de
determinao de E(G). De facto, como o prximo resultado mostra, possvel
determinar E(G) fazendo apenas |X|-1 chamadas do algoritmo de fluxo mximo.
Resultado 7.4 Seja G = (X,A) um grafo conexo e i um nodo qualquer de X.
Ento E(G) = min[jX; j i] Eij.
Prova: Ao removermos todas as arestas do corte mnimo, C, ficamos com um grafo
desconexo com duas componentes conexas que induzem uma partio de X em dois
subconjuntos X1 e X2. Assuma-se sem perda de generalidade, que i X1. Ento,
jX2 Eij = |C| e jX1; j i Eij |C|. Ou seja, min[jX; j i] Eij = |C|.

c.q.d.

Um caso particular bem conhecido deste resultado utilizado quando se pretende


determinar se um grafo conexo, isto , verificar se E(G) > 1. Verificar que um grafo
conexo equivalente a verificar que existe uma cadeia entre qualquer par de nodos.
O resultado anterior diz que basta considerar um nodo qualquer i, e verificar se existe
uma cadeia deste nodo para qualquer outro nodo.
7.6 Conexidade ptima
Com o objectivo de motivar os conceitos estudados nesta seco, considerem-se os
grafos G2, G3 e G4. Note-se que estes trs grafos tm o mesmo nmero de nodos e de
arestas. Mas no entanto o grafo G3 tem melhor conexidade que os outros dois. Isto
significa que com n nodos e m possveis arestas, possvel idealizar grafos com
conexidades diferentes. Esta observao levanta a questo de saber qual a conexidade
mxima de um grafo com n nodos e m potenciais arestas.
Esta questo facilmente motivada pelo problema de ter que connectar n terminais
assumindo um oramento limitado que permite a colocao de, no mximo, m ligaes
entre pares de terminais. Assim, assumindo que se colocam as ligaes da melhor
maneira possvel, qual a conexidade mxima que se pode obter?

Luis Gouveia Tpicos de Grafos -

77 -

Resultado 7.5 - Seja G = (X,A) um grafo conexo.


Ento E(G) 2|A|/|X|.
Prova: Note-se em primeiro lugar que E(G) min [i X] {grau(i)}. Note-se tambm
que

grau(i)

min [i X] {grau(i)} med [i X] {grau(i)} = (1/ | X |)

iX

Destas desigualdades, do facto de E(G) uma quantidade inteira e de que

grau(i) 2|A|
iX

sai o resultado.

c.q.d

Relativamente ao grafo G3, temos que E(G3) = 2|A|/|X|. Isto , em termos de


conexidade por arestas e por nodos no possvel fazer melhor relativamente a este
grafo.
Definio 7.4 - Considere-se um grafo G = (X,A) conexo.
G tem conexidade ptima se E(G) = 2|A|/|X|.
Uma questo semelhante questo introduzida no comeo desta seco, e respondida de
modo semelhante, corresponde a determinar o nmero mnimo de arestas que
necessrio incluir num grafo com n nodos e de modo a garantir uma conexidade K (ver
exerccios)
Note-se que o problema proposto um problema de anlise e no de sntese. Isto ,
apenas pretendemos saber qual a conexidade da rede assumindo uma localizao ptima
para as ligaes e no resolver o problema de localizar as ligaes de modo a obter a
conexidade ptima (que bastante mais difcil de resolver e sai fora do mbito desta
disciplina).
Conclui-se esta seco mencionando que os conceitos referidos nesta seco, sobre
conexidade, so motivados por situaes em que as falhas ocorrem nas arestas do grafo.
Em muitas situaes reais as falhas tambm podem ocorrer nos nodos do grafo.
Conceitos e resultados semelhantes motivados por falhas nos nodos so tambm
conhecidos mas mais elaborados do que no caso de falhas por arestas. Tais conceitos e
resultados no so considerados nestas notas.

Luis Gouveia Tpicos de Grafos -

78 -

7.11 Exerccios Folha 7


7.1 Para cada um dos seguintes grafos:
c

d
a

d
b

h
g

a) Indique alguns dos cortes que separam a de e.


b) Utilize a) para obter um limite superior para Eae.
c) Utilize b) para obter um limite superior para E(G).
7.2 Considere os grafos da questo anterior.
a) Determine todos os conjuntos de cadeias disjuntas entre a e e.
b) Utilize a) para obter um limite inferior para Pe(a,e)
c) Obtenha os valores Eae, e E(G) utilizando agora o conceito de cadeias disjuntas
nas arestas e o teorema de Menger.

Luis Gouveia Tpicos de Grafos -

79 -

7.3 Seja G = (X,A) um grafo conexo e sejam i e j dois nodos de X. Mostre que
a) Eij min{grau(i),grau(j)}.
b) E(G) min [i

{grau(i)}.

c) As desigualdades em a) e b) podem ser estritas?


7.4 Construa (se for possvel) grafos para os quais se tenha que:
i) E(G) = 2 e min [i] {grau(i)} = 4.
ii) E(G) = 3 e min [i] {grau(i)} = 4.
iii) E(G) = 4 e min [i] {grau(i)} = 4.
7.5 Considere um grafo G qualquer. Mostre que as afirmaes seguintes so
equivalentes:
i) G 2-conexo.
ii) Para quaisquer dois nodos de G, existe um ciclo em G que os contm.
iii) Para qualquer nodo e qualquer aresta de G, existe um ciclo elementar que os
contm.
7.6

Considere os grafos da pergunta 7.1. Quais tm conexidade ptima? Justifique.


Determine o maior nmero de arestas que possvel remover de cada um destes
grafos de modo a manter a mesma conexidade por arestas? Justifique.
Determine o menor nmero de arestas que possvel adicionar a cada um dos
grafos de modo a aumentar essa conexidade em uma unidade? Justifique.

7.7

Seja G um grafo com conexidade ptima. Mostre que G regular, isto , todos
os seus nodos tm o mesmo grau.

7.8

Considere um grafo G com n nodos e com conexidade E(G) = k. Indique um


limite inferior para o nmero mnimo de arestas de G?

Luis Gouveia Tpicos de Grafos -

80 -

8. Bibliografia de Apoio
Ahuja, R., Magnanti, T. e Orlin, J. (1993), Network Flows, Prentice Hall.
Christofides, N. (1975), Graph Theory: An Algorithmic Approach, Academic Press.
Dolan, A. e Aldous, J. (1993), Networks and Algorithms: An Introductory Approach,
John Wiley and Sons.
J. Gross and J. Yellen, "Graph Theory and Its Applications", CRC Press, 1990.
J. Harris, J. Hirst and M. Mossinghoff, "Combinatorics and Graph Theory", SpringerVerlag, New-York, 2000.
W. Kocay and D. Kreher, "Graphs, Algorithm and Optimization", Chapmam &
Hall/CRC Press, 2005.
R. Wilson and J. Watkins, "Graphs - An Introductory Approach", John Wiley and Sons,
1990.

Luis Gouveia Tpicos de Grafos -

81 -

Você também pode gostar