1-Sebenta Fcul Graphs
1-Sebenta Fcul Graphs
1-Sebenta Fcul Graphs
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
2-
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
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).
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.
6-
7-
8-
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
9-
3
4
5
6
1.3
1.4
1.5
1.6
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
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.
12 -
c.q.d.
13 -
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.
14 -
{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.
15 -
C,u
c
c
1
3
3
16 -
c
2
c
1
3
3
3
3
c
1
3
3
17 -
c
1
3
3
3
3
3
3
2
3
3
18 -
usualmente
bastante
mais
complicado.
Na realidade,
levanta-se
19 -
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?
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
21 -
c.q.d.
e
c
e
d
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).
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
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
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.
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.
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.
27 -
28 -
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?
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
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 .
31 -
a1
a1
b1
b3
a2
a3
b2
b1
b3
a2
a3
b2
32 -
Uma prova semelhante pode ser feita para o grafo K5 (ver exerccios no final deste
captulo)
c.q.d.
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
33 -
ii)
34 -
35 -
b
F4
F1
F2
c
F1
F3
F3
F4
F2
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.
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
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.
c.q.d.
38 -
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.
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)
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
41 -
42 -
c.q.d.
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
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) .
44 -
[xi X]
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.
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
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.
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)
48 -
49 -
Mostrar que (G) < k exibindo uma colorao (por arestas) com k cores (ou
utilizando um limite superior apresentado na seco seguinte).
iv)
(G)
Figura 7.1
Figura 7.2
Grafo
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
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?
52 -
53 -
41
28
35
5
3
14
13
17
20
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
55 -
56 -
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
57 -
Corte
(a,c)
(b,c)
(c,d)
(d,e)
(e,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.
58 -
(a,e): custo 41
c
b
13 20
e
a
d
(d,f): custo 17
14 20
e
a
d
c
b
59 -
c.q.d.
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.
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
62 -
Ciclo
(a,b)
(a,e)
(b,f)
(d,f)
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.
63 -
c.q.d.
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.
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
66 -
c
2
3
6
4
67 -
LAGO
LAGO
68 -
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.
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:
70 -
G1
G2
c
b
G3
c
b
G4
c
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)
ii)
iii)
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.
72 -
G2
c
b
i)
ii)
iii)
iv)
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)
ii)
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
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)
ii)
75 -
iii)
iv)
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]
c.q.d.
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.
77 -
grau(i)
iX
grau(i) 2|A|
iX
sai o resultado.
c.q.d
78 -
d
a
d
b
h
g
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)}.
7.7
Seja G um grafo com conexidade ptima. Mostre que G regular, isto , todos
os seus nodos tm o mesmo grau.
7.8
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.
81 -