Instituto de Computa¸c˜ c˜ ao ao Universidade Federal Fluminense
Notas de Aula de Teoria dos Grafos
Prof. F´abio abio Protti Niter´ oi, oi, agosto de 2015.
Conte´ udo udo 1 Conceitos B´ asicos
5
1.1 Grafos, v´ertices, arestas . . . . . . . . . . . . . . . . . . . . .
5
1.2 1.2 Vizi Vizinh nhan¸ an¸ca e grau . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3 Subgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4 Uniao, ˜ao, interse¸c˜ ca˜o, complemento . . . . . . . . . . . . . . . . .
8
1.5 1.5 Graf Grafoo comp comple leto to,, cliq clique ue,, conj conjun unto to inde indepen pende den nte . . . . . . . . .
9
1.6 Passeios eios,, tril rilhas, as, caminhos, ciclos . . . . . . . . . . . . . . . .
9
1.7 1.7 Dist Distˆˆancia, ancia, excentricidade, diˆ ametro . . . . . . . . . . . . . . . 11 1.8 Isomorfismo de grafos . . . . . . . . . . . . . . . . . . . . . . . 11 1.9 Maximalidade e minimalidade . . . . . . . . . . . . . . . . . . 11 1.10 Grafos conexos e desconexos . . . . . . . . . . . . . . . . . . . 12 1.11 Grafos bipartidos . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.12 Propriedades Propriedades heredit´ heredit´ arias . . . . . . . . . . . . . . . . . . . . . 14 1.13 Graf Grafos os como omo estrutu ruturras de dados . . . . . . . . . . . . . . . . 14 1.14 Exe Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
´ rvores 2 A
18
2.1 2.1 Co Conc ncei eito to de a´rvore . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Folhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 2.3 Cen Centro tro de de uma uma a´rvore . . . . . . . . . . . . . . . . . . . . . . . 19 2.4 Pontes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ´ rvores geradoras . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 A 2.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Conectividade
24
3.1 Cortes de v´ertices . . . . . . . . . . . . . . . . . . . . . . . . . 24
Conte´ udo udo 1 Conceitos B´ asicos
5
1.1 Grafos, v´ertices, arestas . . . . . . . . . . . . . . . . . . . . .
5
1.2 1.2 Vizi Vizinh nhan¸ an¸ca e grau . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3 Subgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4 Uniao, ˜ao, interse¸c˜ ca˜o, complemento . . . . . . . . . . . . . . . . .
8
1.5 1.5 Graf Grafoo comp comple leto to,, cliq clique ue,, conj conjun unto to inde indepen pende den nte . . . . . . . . .
9
1.6 Passeios eios,, tril rilhas, as, caminhos, ciclos . . . . . . . . . . . . . . . .
9
1.7 1.7 Dist Distˆˆancia, ancia, excentricidade, diˆ ametro . . . . . . . . . . . . . . . 11 1.8 Isomorfismo de grafos . . . . . . . . . . . . . . . . . . . . . . . 11 1.9 Maximalidade e minimalidade . . . . . . . . . . . . . . . . . . 11 1.10 Grafos conexos e desconexos . . . . . . . . . . . . . . . . . . . 12 1.11 Grafos bipartidos . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.12 Propriedades Propriedades heredit´ heredit´ arias . . . . . . . . . . . . . . . . . . . . . 14 1.13 Graf Grafos os como omo estrutu ruturras de dados . . . . . . . . . . . . . . . . 14 1.14 Exe Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
´ rvores 2 A
18
2.1 2.1 Co Conc ncei eito to de a´rvore . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Folhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 2.3 Cen Centro tro de de uma uma a´rvore . . . . . . . . . . . . . . . . . . . . . . . 19 2.4 Pontes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ´ rvores geradoras . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 A 2.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Conectividade
24
3.1 Cortes de v´ertices . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 3.1.1
Arti Articul cula¸ a¸c˜ co˜es e blo cos . . . . . . . . . . . . . . . . . . . 24
3.1 3.1.2
Conec nectividad adee de v´erti rtices
3.1.3 3.1.3
Cami Ca minh nhos os inter internam namen ente te disj disjun untos tos em v´ertic e rtices es . . . . . 25
. . . . . . . . . . . . . . . . 25
3.2 Cortes de arestas . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2. 3.2.11
Liga Liga¸c˜ c¸o˜es (ou co-ciclos) . . . . . . . . . . . . . . . . . . 27
3.2.2
Conectividade de arestas . . . . . . . . . . . . . . . . . 27
3.2 3.2.3
Caminhos disjun juntos tos em are arestas tas . . . . . . . . . . . . . 29
3.3 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Grafos Eulerianos e Hamiltonianos
31
4.1 Grafos Eulerianos . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1
Passeios Eulerianos aber bertos . . . . . . . . . . . . . . . 33
4.2 Grafos Hamiltonianos . . . . . . . . . . . . . . . . . . . . . . . 33 4.3 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5 Emparelhamentos
40
5.1 5.1 Defin Defini¸ i¸c˜ ca˜o de emparelhamento . . . . . . . . . . . . . . . . . . 40 5.2 Teorema de Berge . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.3 Teorema de Tutte . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.4 Teorema de Hall . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.5 5.5 Teorem eoremaa de K¨ onig
. . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Colo Colora ra¸¸c˜ ao de V´ ertices
45
6.1 6.1 Graf Grafos os k k--color´ıveis . . . . . . . . . . . . . . . . . . . . . . . . 45 6.2 Grafos cr´ıticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.3 6.3 Co Cota tass para para o n´ umero umero crom´ atico . . . . . . . . . . . . . . . . . 46 6.3. 6.3.11
Cons Co nstr tru¸ u¸c˜ ca˜o de Mycielski . . . . . . . . . . . . . . . . . 46
6.3.2
Teorema de Bro oks . . . . . . . . . . . . . . . . . . . . 47
6.4 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7 Colo Colora ra¸¸c˜ ao de Arestas
49
7.1 7.1 Graf Grafos os k k--colo olor´ıveis em ares restas . . . . . . . . . . . . . . . . . . 49 7.2 Teorema de Vizing . . . . . . . . . . . . . . . . . . . . . . . . 49 7.3 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8 Planaridade
51
8.1 8.1 Defin Defini¸ i¸c˜ ca˜o de grafo planar . . . . . . . . . . . . . . . . . . . . . 51 8.2 Fo´rmula de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.3 8.3 Caract Caracter eriz iza¸ a¸ c˜ c˜oes de grafos planares . . . . . . . . . . . . . . . . 52 8.4 Map apas as e o Teore eorem ma das Qua uatr troo Cores res . . . . . . . . . . . . . . 53 8.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9 Grafos Direcionados
55
9.1 9.1 Con Conce ceit itos os b´ asicos sobre digrafos . . . . . . . . . . . . . . . . . 55 9.2 9.2 Teore eorema ma de Gall Gallai ai-H -Has asse se-R -Rooy-Vi -Vitav taver . . . . . . . . . . . . . . 56 9.2.1
Torneios . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.3 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1
Conceitos B´ asicos asicos
Neste cap´ cap´ıtulo forneceremos todas as defini¸ c˜ coes o˜es e resultados fundamentais que ser˜ao ao utilizados ao longo de todo o texto.
1.1
Grafos, v´ v´ ertices, ertices, arestas arestas
Um grafo (simples) G ´e formado por um conjunto de v de v´´ertice ti ces s , denotado por de arestas , denotado por E (G). Cada aresta ´e um par V ( V (G), e um conjunto de arestas (n˜ao ao ordenado ord enado)) de v´ertices ertic es distintos. dist intos. Se xy Se xy ´ ´e uma aresta are sta,, ent˜ao ao os v´erti er tice cess x e x e y s˜ ao ao os extremos os extremos desta desta aresta a resta.. Dizemos Dizemo s tamb´ ta mb´em em que qu e x e x e y y est˜ao conectados ao conectados , ou que s˜ao adjacentes ao adjacentes ou vizinhos ou vizinhos . Um grafo pode ser representado geometricamente como um conjunto de pontos no plano (representan (representando do os v´ertices) ertices) e linhas linhas que ligam estes pontos (representan (representando do as arestas). arestas). Observamos Observamos que o mesmo grafo pode p ode ter v´ arias representa¸c˜ coes o˜es geom´etricas etric as diferentes. difere ntes. V (G) = { a,u,v,w,x,y,z } e E (G) = Exemplo 1.1. Seja G o grafo tal que V ( coes o˜es {uv,vw,wx,xy,yz,zu,av,ax,az }. Na Figura 1.1 temos duas representa¸c˜ geom´etricas etric as diferentes difer entes para G. y
x
a z y
z
a
w
x u v
u
v
w
Figura 1.1: Duas representa¸c˜ coes o˜es geom´etricas etricas diferentes para o mesmo grafo. A ordem de ordem de um grafo graf o ´e G ´e o numero u´mero de v´ertices ertic es de G. Util Utiliz izam amos os a seguinte nota¸c˜ cao: a˜o: n = | V ( V (G)| e m = | E (G)|. O tamanho de tamanho de um grafo G ´e a
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
soma n + m. Um grafo trivial ´e aquele com um u´nico v´ertice (n = 1). Um grafo nulo ´e aquele com V (G) = ∅ (isto ´e, n = 0). Um multigrafo ´e uma generaliza¸ca˜o do conceito de grafo simples. Em um multigrafo podem existir arestas paralelas (arestas que compartilham os mesmos extremos) e la¸cos (um la¸co ´e uma aresta da forma xx). La¸cos tamb´em s˜ao chamados de loops .
1.2
Vizinhan¸ca e grau
A vizinhan¸ca aberta de um v´ertice v ´e o conjunto de seus vizinhos. Utilizamos a nota¸ca˜o N (v) para designar a vizinhan¸ ca aberta de v. A vizinhan¸ca fechada de um v´ertice v ´e definida como N [v] = N (v) ∪ {v }. O grau de um v´ertice ´e o n´ umero de vezes em que ele ocorre como extremo de uma aresta. (Esta defini¸ca˜o se aplica tanto para grafos como para multigrafos.) Utilizamos a nota¸ca˜o d(v) para designar o grau do v´ertice v. Em um grafo simples, o grau de um v´ ertice ´e igual ao n´ umero de vizinhos que ele possui, isto ´e, d(v) = | N (v)|. Um grafo ´e regular quando todos os seus v´ertices tˆem o mesmo grau. Um grafo ´e k-regular quando todos os seus v´ertices tˆem grau igual a k. O grau m´ aximo de G ´e definido como ∆(G) = max{d(v) | v ∈ V (G)}. O grau m´ınimo de G ´e definido como δ (G) = min{d(v) | v ∈ V (G)}. Dado um grafo G tal que V (G) = {v1 , v2, . . . , vn−1 , vn } e os graus dos v´ertices satisfazem d(v1) ≤ d(v2 ) ≤ · · · ≤ d(vn−1 ) ≤ d(vn), a sequˆencia de graus de G ´e precisamente a sequˆencia ( d(v1), d(v2 ), . . . , d(vn−1 ), d(vn) ).
Exemplo 1.2. A sequˆencia de graus do grafo G definido anteriormente no Exemplo 1.1 ´e (2, 2, 2, 3, 3, 3, 3). Temos que δ (G) = 2 e ∆(G) = 3. Um v´ertice ´e isolado quando tem grau zero (n˜ ao possui vizinhos). Um v´ertice v ´e universal quando est´a conectado por arestas a todos os demais v´ertices, isto ´e, N (v) = V (G) \ {v }. Se v ´e um v´ertice universal ent˜ao d(v) = n − 1. O seguinte teorema ´e conhecido como Teorema do Aperto de M˜ aos : 6
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Teorema 1.1. Em qualquer grafo simples G,
d(v) = 2m.
v∈V ( G)
Demonstra¸ c˜ ao. Observe que cada aresta xy ´e contada duas vezes na soma v∈V (G) d(v) – uma vez na parcela d(x) e outra na parcela d(y).
1.3
Subgrafos
Um subgrafo de um grafo G ´e um grafo H tal que V (H ) ⊆ V (G) e E (H ) ⊆ E (G). H ´e um subgrafo pr´ oprio de G quando H ´e um subgrafo de G que n˜ao ´e o pr´ oprio G. Um subgrafo gerador (“spanning subgraph”) de G ´e um subgrafo H de G tal que V (H ) = V (G). Em outras palavras, H tem os mesmos v´ertices de G, mas n˜ao necessariamente todas as arestas de G. Um subgrafo H de G ´e um subgrafo induzido por um conjunto de v´ertices X ⊆ V (G) se V (H ) = X e vale a seguinte propriedade: se xy ∈ E (G) e x, y ∈ X ent˜ao xy ∈ E (H ). Neste caso, utilizamos a nota¸ca˜o H = G[X ]. Informalmente, um subgrafo induzido por um conjunto de v´ertices X mant´em todas as arestas originais de G que possuem seus dois extremos em X . Um subgrafo H de G ´e um subgrafo induzido por um conjunto de arestas E ⊆ E (G) se: ′
• E (H ) = E ′ ; • V (H ) = { x | x ´e extremo de alguma aresta de E ′ }. Utilizamos a nota¸ca˜o H = G[E ′ ] para designar que H ´e um subgrafo induzido por um conjunto de arestas E ′. A seguinte nota¸ca˜o ´e bastante u´til. Se S ´e um subconjunto de v´ertices de G, ent˜ao G − S = G[V (G) \ S ] . Se v ´e um v´ertice de G ent˜ao G − v = G −{v }. Se E ′ ´e um subconjunto de arestas de G, ent˜ao o grafo G − E ′ ´e definido da seguinte forma: V (G − E ′ ) = V (G) e E (G − E ′ ) = E (G) \ E ′ . Se e ´e uma aresta de G ent˜ao G − e = G − {e}. 7
Prof. F´ abio Protti
1.4
Notas de Aula de Teoria dos Grafos - IC/UFF
Uni˜ ao, interse¸c˜ ao, complemento
A uni˜ ao de dois grafos G e H ´e o grafo denotado por G ∪ H tal que: V (G ∪ H ) = V (G) ∪ V (H ) e E (G ∪ H ) = E (G) ∪ E (H ). A interse¸c˜ ao de dois grafos G e H ´e o grafo denotado por G ∩ H tal que: V (G ∩ H ) = V (G) ∩ V (H ) e E (G ∩ H ) = E (G) ∩ E (H ). Dois grafos G e H s˜ao disjuntos em v´ertices se V (G) ∩ V (H ) = ∅ . Dois grafos G e H s˜ao disjuntos em arestas se E (G) ∩ E (H ) = ∅ . Se G e H s˜ao disjuntos em v´ertices, ent˜ ao ´e claro que s˜ ao tamb´ em disjuntos em arestas. Por´em, G e H podem ser disjuntos em arestas tendo alguns v´ertices em comum. O complemento de um grafo G ´e o grafo G tal que V (G) = V (G) e E (G) = {xy | xy ∈ / E (G)}. Note que G e seu complemento s˜ ao grafos disjuntos em arestas. Portanto, G ∩ G ´e um grafo sem arestas. Al´em disso, G ∪ G ´e um grafo completo.
Exemplo 1.3. Se G ´e o grafo do Exemplo 1.1, ent˜ ao G ´e o grafo representado na Figura 1.2. y
x a
z
w
u
v
Figura 1.2: Representa¸ ca˜o geom´etrica de G, onde G ´e o grafo do Exemplo 1.1.
8
Prof. F´ abio Protti
1.5
Notas de Aula de Teoria dos Grafos - IC/UFF
Grafo completo, clique, conjunto independente
Um grafo G ´e um grafo completo se quaisquer dois v´ertices de G s˜ao vizinhos. O n´umero de arestas de um grafo completo ´e n(n − 1)/2. Denotamos por K n um grafo completo com n v´ertices. O grafo K 1 ´e o grafo trivial, o grafo K 2 ´e formado por dois v´ertices e uma aresta, e o grafo K 3 ´e o triˆangulo. A Figura 1.3 exibe os grafos K 3 , K 4 e K 5 .
Figura 1.3: Da esquerda para a direita: grafos K 3 , K 4 e K 5 . Uma clique em um grafo G ´e um conjunto de v´ertices K ⊆ V (G) tal que G[K ] ´e completo. Em outras palavras, quaisquer dois v´ertices distintos de uma clique s˜ao adjacentes. Um conjunto est´ avel ou independente em um grafo G ´e um subconjunto de v´ertices S ⊆ V (G) tal que G[S ] ´e um grafo sem arestas. Em outras palavras, qualquer par de v´ertices de um conjunto independente ´e formado por v´ertices n˜ao adjacentes. Um grafo com n v´ertices formando um conjunto independente ´e denotado por I n .
1.6
Passeios, trilhas, caminhos, ciclos
Um passeio (“walk”) ´e uma sequˆencia de v´ertices v1, v2, . . . , vk−1, vk tal que v j −1v j ∈ E (G) para j = 2, . . . , k. Note que em um passeio pode haver repeti¸ca˜o de v´ertices e arestas. Se v1 = v k , dizemos que o passeio ´e fechado; caso contr´ ario, o passeio ´e aberto. Um passeio fechado ´e tamb´em denominado circuito por alguns autores. Uma trilha (“trail”) ´e um passeio v1 , v2 , . . . , vk−1 , vk cujas arestas s˜ ao todas distintas. Em uma trilha pode haver repeti¸ c˜ao de v´ertices, mas n˜ ao 9
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
de arestas. Assim como no caso dos passeios, as trilhas tamb´em podem ser classificadas em fechadas e abertas. Um caminho (“path”) ´e um passeio v1 , v2 , . . . , vk−1 , vk onde os v´ertices s˜a o todos distintos. Note que em um caminho, como n˜ a o pode haver repeti¸ca˜o de v´ertices, n˜ a o h´a repeti¸ca˜o de arestas. Portanto, todo caminho ´e uma trilha (mas nem toda trilha ´e um caminho). O comprimento de um caminho ´e o n´umero de arestas neste caminho. Observe que n˜ ao pode haver “caminho fechado”, pois em um caminho n˜ a o h´a repeti¸ca˜o de v´ertices. Se P ´e um caminho e u, v s˜ao v´ertices deste caminho, denotamos por P [u, v] o subcaminho de P que vai de u at´e v. Um ciclo (“cycle”) ´e um passeio v 1 , v2, . . . , vk−1, vk tal que v 1 , v2, . . . , vk−1 ´e um caminho e v1 = v k . Por defini¸c˜ao, em um ciclo devemos ter k ≥ 3. O comprimento de um ciclo ´e o n´ umero de v´ertices (ou arestas) presentes no ciclo. Um ciclo de comprimento trˆes ´e tamb´em chamado de triˆ angulo. Um ciclo de comprimento ´ımpar [par] ´e chamado simplesmente de ciclo ´ımpar [ciclo par ]. Uma corda ´e uma aresta que liga dois v´ertices n˜ ao consecutivos de um ciclo (ou caminho). Um ciclo (resp., caminho) induzido em um grafo G ´e um ciclo (resp., caminho) sem cordas. Um ciclo induzido de comprimento pelo menos quatro ´e chamado de buraco (“hole”). Utilizamos a nota¸c˜ao C k para designar um ciclo induzido com k v´ertices, e a nota¸ca˜o P k para designar um caminho induzido com k v´ertices. De forma an´aloga, um caminho induzido ´e um caminho sem cordas. Utilizamos a nota¸ca˜o P k para designar um caminho induzido com k v´ertices.
Exemplo 1.4. Considere novamente o grafo G do Exemplo 1.1. Ent˜ao: W 1 = u, v,a, z,y, x, a, z ´e um passeio aberto; W 2 = u,v,a,z,y,x,a,z,u ´e um passeio fechado; T = a, v,w,x,a, z,y ´e uma trilha aberta; P 1 = u, v,w,x,a, z,y ´e um caminho; P 2 = u, v,w,x,y ´e um caminho induzido; C 1 = u,v,w,x, y,z,u ´e um ciclo; C 2 = u, v,a, z,u ´e um ciclo induzido. ´ til considerar passeios, trilhas, camiObserva¸c˜ ao 1.1. Muitas vezes, ser´a u nhos e ciclos como grafos (ou subgrafos), em vez de consider´a-los simplesmente como sequˆencias de v´ertices. Assim, por exemplo, podemos nos referir 10
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
a um caminho P com k v´ertices como um grafo P tal que V (P ) = { v1 , . . . , vk } e E (P ) = { v j −1v j | 2 ≤ j ≤ k }.
1.7
Distˆ ancia, excentricidade, diˆ ametro
A distˆ ancia entre dois v´ertices x e y ´e o comprimento do menor caminho de x a y no grafo. Utilizamos a nota¸ca˜o dist (x, y) para representar a distˆ ancia entre x e y. Para qualquer v´ertice x, vale dist (x, x) = 0. A excentricidade de um v´ertice v em um grafo G ´e definida como: exc (v) = max{dist (v, x) | x ∈ V (G)}. J´a o diˆ ametro de um grafo G define-se do seguinte modo: diam (G) = max{exc (v) | v ∈ V (G)}. O centro de um grafo G ´e o conjunto de v´ertices de G com excentricidade m´ınima.
1.8
Isomorfismo de grafos
Dois grafos G e H s˜ao isomorfos se existe uma bije¸ca˜o f : V (G) → V (H ) tal que xy ∈ E (G) se e somente se f (x)f (y) ∈ E (H ). Informalmente, G e H s˜ao o “mesmo” grafo, a menos de rotula¸co˜es distintas para os v´ertices. Utilizamos a nota¸ca˜o G ∼ = H para designar que G e H s˜ao isomorfos. Sejam G e H grafos quaisquer. Se existir algum subgrafo G′ de G que seja isomorfo a H , dizemos que G cont´em H . Se existir algum subgrafo induzido G′ de G que seja isomorfo a H , dizemos que G cont´em H como subgrafo induzido. Se nenhum subgrafo induzido de G ´e isomorfo a H , dizemos que G ´e livre de H .
1.9
Maximalidade e minimalidade
Um conjunto S ´e maximal em rela¸ca˜o a uma propriedade P se: (i) S satisfaz P ; (ii) n˜ao existe conjunto S ′ que satisfa¸ca P e que contenha S propriamente. 11
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Um conjunto S ´e m´ aximo em rela¸c˜ao a uma propriedade P se: (i) S satisfaz P ; (ii) n˜ao existe conjunto S ′ que satisfa¸ca P e que possua mais elementos do que S . Todo conjunto m´ aximo ´e tamb´em maximal, mas nem todo conjunto maximal ´e m´aximo.
Exemplo 1.5. Considere o grafo G do Exemplo 1.1. Os conjuntos de v´ertices S 1 = { u,w,y } e S 2 = {a,v,x,z } s˜ao ambos conjuntos independentes maximais de G, mas apenas S 2 ´e um conjunto independente m´ aximo de G. De forma an´ aloga, um conjunto S ´e minimal em rela¸ca˜o a uma propriedade P se: (i) S satisfaz P ; (ii) n˜ao existe conjunto S ′ que satisfa¸ca P e que esteja propriamente contido em S . Um conjunto S ´e m´ınimo em rela¸ca˜o a uma propriedade P se: (i) S satisfaz P ; (ii) n˜ao existe conjunto S ′ que satisfa¸ca P e que possua menos elementos do que S . Todo conjunto m´ınimo ´e tamb´em minimal, mas nem todo conjunto minimal ´e m´ınimo.
Exemplo 1.6. Seja G um grafo qualquer. Um subconjunto C ⊆ V (G) ´e uma cobertura (por v´ertices) de G se toda aresta de G tem pelo menos um de seus extremos em C . Considerando os mesmos conjuntos S 1 e S 2 do exemplo anterior, temos que S 1 e S 2 s˜ao coberturas minimais de G, mas apenas S 1 ´e uma cobertura m´ınima de G. Os conceitos maximal/m´ aximo e minimal/m´ınimo tamb´em se aplicam a grafos e subgrafos.
1.10
Grafos conexos e desconexos
Um grafo G ´e conexo se existe caminho entre qualquer par de v´ertices de G. Caso contr´ ario, G ´e desconexo. Uma componente conexa de um grafo G ´e um subgrafo conexo maximal ´ claro de G. Denotamos por w(G) o n´ umero de componentes conexas de G. E que G ´e conexo se e somente se w(G) = 1.
12
Prof. F´ abio Protti
1.11
Notas de Aula de Teoria dos Grafos - IC/UFF
Grafos bipartidos
Um grafo G ´e bipartido se V (G) pode ser particionado em conjuntos X e Y de modo que toda aresta de G tem um extremo em X e outro em Y . Como consequˆencia desta defini¸ca˜o, X e Y s˜ao conjuntos independentes.
Exemplo 1.7. O grafo G do Exemplo 1.1 ´e um grafo bipartido, onde X = {a,v,x,z } e Y = { u,w,y }. Um grafo bipartido G ser´a bipartido completo se, para qualquer par de v´ertices x, y com x ∈ X e y ∈ Y , vale que xy ∈ E (G). Denotamos por K p,q um grafo bipartido completo com p v´ertices em X e q v´ertices em Y . Obviamente, K p,q tem pq arestas. O seguinte teorema ´e uma caracteriza¸ca˜o de grafos bipartidos. ao cont´em ciclos Teorema 1.2. Um grafo G ´e bipartido se e somente se G n˜ ´ımpares.
Demonstra¸ c˜ ao. Suponha por absurdo que G ´e um grafo bipartido contendo um ciclo ´ımpar C = v 1 , v2 , . . . , v2k , v2k+1, v1 , para algum inteiro k ≥ 1. Seja X ∪ Y uma biparti¸ca˜o de V (G), e suponha sem perda de generalidade que v1 ∈ X . Temos ent˜ a o que v2 ∈ Y , v3 ∈ X , . . ., v2k ∈ Y e v2k+1 ∈ X . Mas isto implica que a aresta v1 v2k+1 possui seus dois extremos em X , uma contradi¸ca˜o. Isto completa a prova da necessidade. Suponha agora que G n˜ao contenha ciclos ´ımpares. Vamos provar que G ´ f´acil ver que um grafo ´e bipartido se e somente se todas as ´e bipartido. E suas componentes conexas s˜ ao grafos bipartidos. Assim, basta considerar o caso em que G ´e conexo. Considere um v´ertice v0 qualquer de G. Defina os seguintes conjuntos: X = { v ∈ V (G) | dist (v0 , v) ´e par}, Y = { v ∈ V (G) | dist (v0 , v) ´e ´ımpar}. Para completar a demonstra¸c˜ao, vamos mostrar que X ´e um conjunto independente. (A prova de que Y ´e um conjunto independente ´e similar.) Observe inicialmente que dois v´ertices v1 , v2 ∈ X que est˜a o a distˆancias distintas de v 0 n˜ao podem ser adjacentes, caso contr´ ario a distˆancia entre eles 13
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
diferiria no m´aximo em uma unidade. Considere ent˜ ao que ambos estejam a uma mesma distˆancia d de v0 . Sejam P 1 e P 2 caminhos com comprimento d de v 0 a v1 e v 2 , respectivamente. Seja z o v´ertice mais pr´oximo de v 1 tal que ´ f´acil ver que z ∈ V (P 1) ∩ V (P 2 ). (Eventualmente, podemos ter z = v0.) E dist (z, v1 ) = dist (z, v2 ). Sejam P 1[z, v1 ] e P 2 [z, v2 ] os subcaminhos de P 1 e P 2 que v˜ao de z a v1 e v2 , respectivamente. Conclu´ımos que estes subcaminhos tˆem o mesmo comprimento. Assim, v1 e v2 n˜ao podem ser adjacentes, caso contr´ ario haveria um ciclo ´ımpar em G, a saber (P 1[z, v1 ] ∪ P 2 [z, v2 ]) + v1 v2 . Isto completa a prova da suficiˆencia.
Observa¸c˜ ao 1.2. Uma generaliza¸ca˜o da defini¸ca˜o de grafo bipartido completo ´e a defini¸ca˜o de grafo k-partido completo, que ´e aquele cujo conjunto de v´ertices est´a particionado em conjuntos independentes V 1 , V 2 , . . . , Vk , e tal que existe uma aresta entre dois v´ertices u e w se e somente se u e w pertencem a conjuntos distintos desta parti¸ca˜o.
1.12
Propriedades heredit´ arias
Dado um grafo G, uma propriedade ´e heredit´ aria por subgrafos [induzidos ] se, quando ela ´e v´ alida para G, ´e v´alida tamb´ em para todos os subgrafos [induzidos] de G.
Exemplo 1.8. Se o grafo G ´e livre de triˆ angulos, ent˜ ao “ser livre de triˆangulos” ´e uma propriedade heredit´ aria por subgrafos e por subgrafos induzidos. ao “possuir um Exemplo 1.9. Se o grafo G possui um v´ertice universal, ent˜ v´ertice universal” n˜ao ´e uma propriedade heredit´ aria por subgrafos, nem por subgrafos induzidos.
Exemplo 1.10. Se o grafo G ´e completo, ent˜ao “ser completo” n˜ ao ´e uma propriedade heredit´ aria por subgrafos, mas ´e uma propriedade heredit´ aria por subgrafos induzidos. Obviamente, toda propriedade heredit´ aria por subgrafos quaisquer tamb´em ´e heredit´ aria por subgrafos induzidos.
1.13
Grafos como estruturas de dados
A matriz de adjacˆencias de um grafo G ´e uma matriz An×n onde: 14
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
1, se ij ∈ E (G); A[i, j] = 0, se ij ∈/ E (G). A matriz de adjacˆencias ´e sim´etrica e possui zeros na sua diagonal principal. Utilizando a matriz de adjacˆencias como estrutura de dados, basta armazenar o triˆ angulo superior da matriz. A matriz de adjacˆencias gasta mem´ oria quadr´ atica (O(n2)), mas o tempo de acesso ´e constante – gasta-se tempo O(1) para decidir se dois v´ertices s˜ ao vizinhos. A lista de adjacˆencias de um grafo G ´e um outro tipo de estrutura de dados para armazenar G. Neste tipo de representa¸ c˜ao, utiliza-se um vetor de ponteiros, onde cada ponteiro est´ a associado a um v´ertice de G e aponta para uma lista encadeada contendo os vizinhos deste v´ertice. O n´umero de c´elulas de mem´ oria em uma lista de adjacˆencias ´e n + 2m. Utilizando esta estrutura, gasta-se tempo O(n) no pior caso para decidir se dois v´ertices s˜ao vizinhos.
1.14
Exerc´ıcios
1.1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou trˆes se conhecem mutuamente, ou trˆes n˜ ao se conhecem mutuamente. 1.2. Prove ou refute: se G ´e um grafo conexo, ent˜ ao dois caminhos de comprimento m´ aximo de G possuem necessariamente pelo menos um v´ertice em comum. 1.3. Prove ou refute: se G ´e um grafo contendo exatamente dois v´ertices de grau ´ımpar, ent˜ ao existe necessariamente um caminho ligando estes dois v´ertices em G. 1.4. Prove ou refute: se δ (G) > 21 (n − 2) ent˜ ao G ´e conexo. 1.5. Mostre que em uma festa com n ≥ 2 pessoas, existem pelo menos duas pessoas com o mesmo n´ umero de conhecidos. 15
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
1.6. Um grafo k-partido ´e tal que seus v´ertices podem ser particionados em k conjuntos V 1, V 2 ,..,V k , de tal maneira que dois v´ertices pertencentes um mesmo subconjunto V i s˜ao sempre n˜ a o adjacentes. Um grafo kpartido completo ´e aquele em que todo par de v´ertices pertencentes a partes distintas ´e adjacente. Um grafo k-partido completo em que cada parte possua ⌊n/k⌋ ou ⌈n/k ⌉ v´ertices ´e denominado grafo de Tur´ an e denotado por T k,n . (a) Determinar o n´ umero de arestas de T k,n (b) Mostrar que se G ´e um grafo k-partido completo ent˜ ao |E (G)| ≤ |T k,n |. 1.7. Prove que para todo grafo G vale δ (G) ≤ 2m/n ≤ ∆(G). 1.8. Resolva os itens abaixo. (a) Existe um multigrafo com a seguinte seq¨ uˆencia de graus: (3,3,3,3,5,6,6,6,6)? (b) Existe um multigrafo com a seguinte seq¨ uˆencia de graus: (1,1,3,3,3,3,5,6,8,9)? (c) Existe um grafo (simples) com a seq¨ uˆencia de graus do item anterior? (d) Demonstre que a seq¨ uˆencia (d1 , d2 , . . . , dn) de inteiros n˜ ao negativos ´e uma seq¨ ueˆncia de graus de algum multigrafo se e somente n se i=1 di ´e par.
1.9. Um grafo (simples) ´e auto-complementar se G ∼ = G. (a) Dˆe dois exemplos de pares de grafos auto-complementares. (b) Prove que um grafo auto-complementar tem 4k ou 4k + 1 v´ertices, para k inteiro n˜ao negativo. 1.10. Sejam u e v dois v´ertices em um grafo G. Mostre que existe um passeio entre u e v se e somente se existe um caminho entre u e v. 1.11. Seja G um grafo satisfazendo uma propriedade P . Classifique (se houver) o tipo de hereditariedade de P (por subgrafos quaisquer e/ou por subgrafos induzidos), nos seguintes casos: 16
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
(a) G ´e bipartido. (b) G ´e auto-complementar. (c) G ´e conexo. (d) G ´e k-regular. (e) ∆(G) = k. (f) G n˜ao cont´em ciclos.
17
2
´ Arvores
As ´arvores constituem uma das mais importantes fam´ılias de grafos devido a suas in´ umeras aplica¸co˜es em Ciˆencia da Computa¸ca˜ o e outras a´reas em Ciˆencias Exatas e Engenharias. Neste cap´ıtulo estudaremos os principais resultados sobre a estrutura das a´rvores.
2.1
Conceito de a ´rvore
Dizemos que um grafo ´e ac´ıclico se n˜ao possui ciclos. Uma ´ arvore ´e um grafo ac´ıclico e conexo. Um grafo ac´ıclico n˜ ao necessariamente conexo tamb´ em ´e chamado de floresta . Cada componente conexa de uma floresta ´e uma arvore. ´ O teorema a seguir ´e a primeira caracteriza¸ca˜ o de a´rvores que estudaremos.
Teorema 2.1. Um grafo T ´e uma arvore ´ se e somente se existe um ´ unico caminho entre cada par de v´ertices de T . Demonstra¸ c˜ ao. Suponha inicialmente que exista um u´nico caminho entre cada par de v´ertices de T . Isto implica claramente que T ´e um grafo conexo. Al´em do mais, se T contivesse um ciclo, haveria pelo menos dois caminhos entre qualquer par de v´ ertices distintos neste ciclo, contrariando a hip´ otese assumida. Logo, al´em de conexo, T ´e ac´ıclico, isto ´e, T ´e uma a´rvore. Suponha agora que T seja uma a´rvore. Como T ´e conexo, existe pelo menos um caminho entre cada par de v´ertices de T . Suponha por absurdo que existam dois caminhos diferentes P 1 e P 2 entre um certo par de v´ertices u, v ∈ V (T ). Seja w o v´ertice de T com as seguintes propriedades: (a) w ∈ V (P 1 ) ∩ V (P 2); (b) P 1 [u, w] = P 2 [u, w]; (c) P 1[u, w] e P 2[u, w] tˆem o maior comprimento poss´ıvel. Seja agora x ∈ V (P 1) ∩ V (P 2) o v´ertice de T tal que P 1 [w, x] e P 2[w, x] s˜ao caminhos internamente disjuntos em v´ertices (isto ´e, possuem apenas os extremos em comum). Observe que o subgrafo P 1 [w, x] ∪ P 2[w, x] ´e claramente um ciclo, e isto contradiz a hip´ otese de T ser uma a´rvore. Portanto, existe necessariamente um u´nico caminho entre cada par de v´ertices de T .
Prof. F´ abio Protti
2.2
Notas de Aula de Teoria dos Grafos - IC/UFF
Folhas
Uma folha e´ um v´ertice de grau um. As folhas desempenham um papel importante nos teoremas a seguir.
Teorema 2.2. Toda arvore ´ n˜ ao trivial tem pelo menos duas folhas. ao trivial e considere um caminho Demonstra¸ c˜ ao. Seja T uma ´arvore n˜ P em T de comprimento m´aximo. Sejam u e v os v´ertices inicial e final de ´ claro que u tem um vizinho x em P . Se u tiver outro vizinho y P . E = x, temos dois casos: y ∈ V (P ) e y ∈ / V (P ). O primeiro caso ´e imposs´ıvel, pois o grafo P [u, y] + uy seria um ciclo. O segundo caso tamb´em ´e imposs´ıvel, pois contradiz o fato de P ser um caminho de comprimento m´ aximo. Logo x ´e o u ´ nico vizinho de u em T , isto ´e, u ´e uma folha. O racioc´ıcio para mostrar que v tamb´em ´e uma folha ´e idˆentico.
Teorema 2.3. Se T ´e uma arvore ´ ent˜ ao m = n − 1. Demonstra¸ c˜ ao. Faremos a demonstra¸ca˜o por indu¸ca˜o em n. Para a base da indu¸ca˜o, consideramos o caso n = 1. Nesta situa¸ca˜o, T ´e um grafo trivial, e portanto vale m = 0 = 1 − 1 = n − 1. Para o passo da indu¸ ca˜o, seja T uma a´rvore com n > 1 v´ertices e m arestas, e suponha que qualquer ´arvore T ′ com n′ < n v´ertices tem exatamente m′ = n′ − 1 arestas. Pelo Teorema 2.2, T possui uma folha x. Observe que o grafo T − x ´e claramente uma a´rvore com n ′ = n − 1 < n v´ ertices. Pela hip´otese de indu¸c˜ao, T − x tem n′ − 1 = (n − 1) − 1 = n − 2 arestas. Como T tem exatamente uma aresta a mais do que T − x, segue que T tem m = (n − 2) + 1 = n − 1 arestas.
2.3
Centro de uma a ´rvore
Nesta se¸ca˜o veremos que o centro de uma a´rvore pode ser determinado algoritmicamente de modo bastante simples. arvore com pelo menos trˆes v´ertices. Seja F o Lema 2.4. Seja T uma ´ conjunto das folhas de T . Seja T ′ = T − F . Ent˜ ao, T e T ′ tˆem o mesmo centro.
Demonstra¸ c˜ ao. Sejam T e T ′ como no enunciado. Denote por exc (u, G) a excentricidade do v´ertice u no grafo G. A demonstra¸ca˜o se baseia nos seguintes fatos, de verifica¸c˜ao simples: 19
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
(a) Nenhuma folha de T pertence ao seu centro; (b) Se v ∈ V (T ′ ) ent˜ ao exc (v, T ′ ) = exc (v, T ) − 1. Pelo item (a), os v´ ertices do centro de T est˜a o em T ′ . Pelo item (b), um v´ertice de excentridade m´ınima em T tamb´em ´e um v´ertice de excentricidade m´ınima em T ′, e vice-versa. Logo, o lema segue. ´ ou ´e formado por Teorema 2.5. (Jordan 1869) O centro de uma arvore apenas um v´ertice ou por dois v´ertices vizinhos.
Demonstra¸ c˜ ao. Seja T uma ´arvore. O lema anterior sugere um algoritmo para encontrar o centro de T : Algoritmo 1: Algoritmo para encontrar o centro de uma a´rvore T Entrada: Uma ´arvore T Sa´ıda: O centro de T T ′ ← T enquanto |V (T ′ )| ≥ 3 fa¸ ca F ← conjunto das folhas de T ′ T ′ ← T ′ − F retornar V (T ′ ) Pelo Lema 2.4, as sucessivas a´rvores referenciadas pela vari´ avel T ′ , geradas ao longo das itera¸co˜es do comando enquanto no Algoritmo 1, possuem todas o mesmo centro. Ao final das itera¸co˜es, ´e claro que T ′ possuir´a um ou dois v´ertices. Isto completa a demonstra¸ca˜o.
2.4
Pontes
Uma ponte ou aresta de corte de um grafo G ´e uma aresta e tal que w(G−e) > w(G). Uma caracteriza¸ ca˜o alternativa de a´rvores pode ser formulada por meio de pontes, como veremos a seguir. ao existe Teorema 2.6. Uma aresta e ´e uma ponte de G se e somente se n˜ ciclo contendo e em G.
Demonstra¸ c˜ ao. Suponha por absurdo que e ´e uma ponte de G e que exista um ciclo C contendo e. Se existe um caminho P entre dois v´ertices u 20
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
e v contendo a aresta e, ent˜ao P ∪ (C − e) ´e um passeio entre u e v. Pelo Exerc´ıcio 1.10, existe um caminho P ′ entre u e v que n˜ao cont´em a aresta e. Portanto, ap´ os a remo¸ca˜o de e, continua havendo caminho entre todo par de v´ertices pertencentes a` componente conexa de G que continha e. Isto implica w(G − e) = w(G), o que contradiz a hip´ otese de e ser uma ponte. Suponha agora que n˜ ao exista ciclo contendo e em G. Escreva e = xy. Se existisse algum caminho P entre x e y no grafo G − e, P + e seria um ciclo em G contendo e, uma contradi¸ca˜o. Logo, x e y pertencem a componentes conexas distintas no grafo G − e, o que implica w(G − e) > w(G); em outras palavras, e ´e uma ponte.
Teorema 2.7. Um grafo conexo T ´e uma arvore ´ se e somente se toda aresta de T ´e uma ponte. Demonstra¸ c˜ ao. Suponha que T ´e uma a´rvore. Como T ´e um grafo ac´ıclico, ´e claro que nenhuma aresta de T pode pertencer a um ciclo. Logo, pelo Teorema 2.6, toda aresta de T ´e uma ponte. Reciprocamente, se toda aresta de um grafo T ´e uma ponte, pelo Teorema 2.6 nenhuma delas pertence a um ciclo. Logo o grafo T ´e ac´ıclico. Como por hip´otese T ´e conexo, segue que T ´e uma a´rvore.
2.5
´ Arvores geradoras
Uma ´ arvore geradora de um grafo G ´e um subgrafo gerador conexo e ac´ıclico de G.
Proposi¸c˜ ao 2.8. Todo grafo conexo possui uma arvore ´ geradora. Demonstra¸ c˜ ao. Seja G um grafo conexo. O seguinte algoritmo constr´ oi uma a´rvore geradora de G. Algoritmo 2: Algoritmo para determinar uma a´rvore geradora Entrada: Um grafo conexo G Sa´ıda: Uma ´arvore geradora T de G T ← G enquanto existe aresta e tal que T − e ´e conexo fa¸ ca T ← T − e retornar T 21
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Observe que o grafo T retornado pelo Algoritmo 2 satisfaz V (T ) = V (G), isto ´e, T ´e um subgrafo gerador de G. Al´em do mais, as sucessivas remo¸co˜es de arestas no comando enquanto preservam a conexidade de T ; logo, ao final das itera¸co˜es, T ser´a um subgrafo conexo. Finalmente, quando o teste do comando enquanto falhar, todas as arestas remanescentes em T ser˜ao pontes; pelo Teorema 2.7, o grafo T retornado ´e uma a´rvore. Isto conclui a demonstra¸ca˜o.
Teorema 2.9. Se G ´e conexo, ent˜ ao m ≥ n − 1. Demonstra¸ c˜ ao. Pela Proposi¸ca˜o 2.8, G possui uma ´arvore geradora T . Obviamente, |V (T )| = n e |E (T )| = n − 1. Como |E (G)| = m e E (T ) ⊆ E (G), segue o resultado. Conclu´ımos pelos Teoremas 2.3 e 2.9 que as a´rvores s˜ ao os grafos conexos que atingem o limite m´ınimo n − 1 para o n´ umero de arestas, no sentido de que todo grafo com menos do que n − 1 arestas ´e necessariamente desconexo. Pode-se mostrar (Exerc´ıcio 2.8) que toda floresta ´e um subgrafo gerador de uma a´rvore. Este resultado, juntamente com o Teorema 2.3, permite enunciar: ao m ≤ n − 1. Teorema 2.10. Se G ´e ac´ıclico, ent˜ Pelos Teoremas 2.3 e 2.10, as a´rvores s˜ ao os grafos ac´ıclicos que atingem o limite m´aximo n − 1 para o n´ umero de arestas, no sentido de que todo grafo com mais do que n − 1 arestas cont´ em pelo menos um ciclo.
Corol´ ario 2.11. Seja G um grafo qualquer com n v´ertices e m arestas. Ent˜ ao: (a) Se m < n − 1 ent˜ ao G ´e desconexo; (b) Se m = n − 1 e G ´e conexo ou ac´ıclico ent˜ ao G ´e uma arvore; ´ (c) Se m > n − 1 ent˜ ao G cont´em pelo menos um ciclo. Encerramos esta se¸ca˜o com este importante teorema:
Teorema 2.12. Seja T uma ´ arvore geradora de um grafo conexo G, e seja e ∈ E (G)\E (T ). Ent˜ ao, T + e cont´em um unico ´ ciclo. 22
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
´ nico Demonstra¸ c˜ ao. Escreva e = xy. Pelo Teorema 2.1, em T existe um u caminho P entre x e y. Logo, o subgrafo P + e ´e um ciclo em T + e. Se C ´e um outro ciclo em T + e, ´e claro que C cont´em a aresta e. Assim, C − e ´e um caminho entre x e y em T , donde conclu´ımos que C − e ´e o pr´ oprio caminho P , isto ´e, os ciclos C e P + e s˜ao na verdade o mesmo ciclo.
2.6
Exerc´ıcios
2.1. Mostre que se G ´e uma a´rvore com ∆(G) ≥ k, ent˜ao G cont´em pelo menos k folhas. 2.2. Desenhe todas as a´rvores n˜ ao isomorfas com 7 v´ertices. 2.3. Prove que um grafo ´e uma floresta se e somente se o seu n´ umero de arestas ´e igual ao seu n´ umero de v´ertices menos o seu n´ umero de componentes conexas. 2.4. Prove ou refute: Se G ´e ac´ıclico ent˜ ao G possui no m´ınimo 2(w(G) − i(G)) v´ertices de grau um, onde w(G) ´e o n´umero de componentes conexas de G e i(G) ´e o n´ umero de v´ertices isolados de G. 2.5. Seja G um grafo conexo e e uma aresta de G. Mostre que e est´a em toda a´rvore geradora de G se e somente se e ´e uma ponte de G. 2.6. Mostre que se G tem exatamente uma a´rvore geradora T ent˜ao G = T . 2.7. Mostre que qualquer grafo G = (V, E ) cont´em pelo menos m − n + w ciclos distintos, onde | V | = n, | E | = m e w ´e o n´ umero de componentes conexas de G. 2.8. Mostre que toda floresta ´e um subgrafo gerador de uma arvore. ´ 2.9. A cintura de um grafo G ´e o comprimento de seu menor ciclo. Se G for ac´ıclico, sua cintura ´e infinita. Mostre que um grafo k-regular de cintura 4 possui pelo menos 2k v´ertices.
23
3
Conectividade
Neste cap´ıtulo estudaremos conjuntos especiais de v´ ertices e arestas cuja remo¸ca˜o desconecta o grafo, no sentido de que o n´ umero de componentes conexas aumenta ap´ os a remo¸ca˜o.
3.1
Cortes de v´ ertices
Dado um grafo G, um conjunto de v´ertices V ′ ⊆ V (G) ´e um separador ou corte de v´ertices de G se w(G − V ′) > w(G). Observe que um grafo completo n˜ ao admite cortes de v´ertices.
3.1.1
Articula¸co ˜es e blocos
Um caso especial importante ocorre quando o corte de v´ ertices ´e um con junto unit´ario. Um v´ertice v ´e chamado de articula¸c˜ ao ou v´ertice de corte quando w(G − v) > w(G). A seguir, vamos estudar algumas propriedades relacionadas ao conceito de articula¸ca˜o. ao de um grafo se e somente se Lema 3.1. Um v´ertice v ´e uma articula¸c˜ existem dois v´ertices distintos x, y tais que: (a) v ∈ / {x, y }; (b) x, y e v est˜ ao na mesma componente conexa; (c) todo caminho entre x e y cont´em v.
Teorema 3.2. Em uma ´ arvore T n˜ ao trivial, um v´ertice v ´e uma articula¸c˜ ao se e somente se v n˜ ao ´e folha. Corol´ ario 3.3. Todo grafo conexo G n˜ ao trivial possui pelo menos dois v´ertices que n˜ ao s˜ ao articula¸c˜ oes. Passemos agora ao estudo dos blocos. Um bloco de um grafo G ´e um subgrafo B de G tal que B ´e maximal conexo sem articula¸co˜es.
Observa¸c˜ ao 3.1. Um bloco B sempre conter´ a uma ou mais articula¸co˜es de G, mas por defini¸ca˜o elas n˜ao ser˜ ao articula¸co˜es em B. Note que dois blocos distintos em um grafo tˆem no m´ aximo um v´ertice em comum; no caso de compartilharem um v´ertice, tal v´ertice ser´ a necessariamente uma articula¸ca˜o.
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Note tamb´em que cada aresta de um grafo G est´a em um u ´ nico bloco. Portanto, os blocos determinam uma parti¸ca˜o de E (G). Um bloco B de um grafo G ´e chamado de bloco folha se B cont´em uma u ´ nica articula¸ca˜o de G.
3.1.2
Conectividade de v´ ertices
A conectividade de v´ertices κ(G) de um grafo conexo G ´e a cardinalidade de um corte de v´ertices m´ınimo de G, desde que G n˜ao seja completo. Definimos κ(G) = n − 1 se G ´e um grafo completo com n v´ertices, e κ(G) = 0 se G ´ e desconexo. Observe que, se G ´e trivial, κ(G) = 0. ´ claro que Dizemos que G ´e p-conexo em v´ertices para todo p ≤ κ(G). E todo grafo conexo e n˜ ao trivial ´e 1-conexo em v´ertices. Al´em disso, se G ´e conexo, ´e f´acil ver que κ(G) = 1 se e somente se G cont´em pelo menos uma articula¸ca˜o. Alternativamente, podemos enunciar:
Proposi¸c˜ ao 3.4. Um grafo G conexo com pelo menos trˆes v´ertices ´e biconexo se e somente se G n˜ ao possui articula¸c˜ oes. 3.1.3
Caminhos internamente disjuntos em v´ ertices
Sejam u e v v´ertices distintos de um grafo G. Dois caminhos de u a v s˜ao chamados de internamente disjuntos (em v´ertices) se eles tˆem apenas os extremos u e v em comum.
Teorema 3.5. (Whitney, 1932) Seja G um grafo com pelo menos trˆes v´ertices. Ent˜ ao, G ´ e biconexo se e somente se para quaisquer dois v´ertices de G existem dois caminhos internamente disjuntos entre eles. Corol´ ario 3.6. Um grafo G com pelo menos trˆes v´ertices ´e biconexo se e somente se existe um ciclo que passa por cada par de v´ertices arbitr´ arios de G. O seguinte teorema ´e uma generaliza¸ca˜o do Teorema 3.5. Sua demonstra¸ca˜o ser´ a omitida.
25
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Teorema 3.7. (Menger) Um grafo com pelo menos k + 1 v´ertices ´e k-conexo em v´ertices se e somente se para quaisquer dois v´ertices de G existem k caminhos internamente disjuntos entre eles.
3.2
Cortes de arestas
Um conjunto desconectante (de arestas) ´e um conjunto E ′ ⊆ E (G) tal que w(G − E ′ ) > w(G). ´ Observe que toda ponte define um conjunto desconectante de arestas. E f´acil ver que se e ´e uma ponte de um grafo G ent˜ao w(G − e) = w(G) + 1. Iremos estudar agora conjuntos desconectantes especiais, os cortes de arestas . Para isso, precisamos da seguinte defini¸ ca˜ o: Se S e T s˜ao subcon juntos de v´ertices de um grafo, ent˜ ao [S, T ] ´e o conjunto de todas as arestas de G que tˆem um extremo em S e outro em T . Seja G um grafo. Um corte de arestas de G ´e qualquer conjunto n˜ ao vazio da forma [S, S ], onde S ´e um subconjunto pr´ oprio e n˜ao vazio de v´ertices de G e S = V (G)\S . ´ f´acil ver que todo corte de arestas ´e um conjunto desconectante, mas E nem todo conjunto desconectante ´e um corte de arestas. O teorema a seguir nos aponta conjuntos desconectantes especiais que s˜ ao cortes de arestas.
Teorema 3.8. Todo conjunto desconectante minimal em um grafo G ´e um corte de arestas. Demonstra¸ c˜ ao. Assuma que G ´e conexo. Seja F um conjunto desconectante minimal de G, e seja e ∈ F . Defina F e = F \{e}. Pela minimalidade de F , w(G − F e ) = w(G). Logo, e ´e uma ponte de G − F e . Escreva e = xy. Sejam Gx e G y as componentes conexas de (G − F e ) − e contendo x e y, respectivamente. Como a aresta e foi tomada genericamente e (G − F e ) − e = G − F , segue que para qualquer aresta e ∈ F as componentes conexas de (G − F e ) − e s˜ao sempre as mesmas. Fazendo S = V (Gx ) e S = V (Gy ), segue que toda aresta e ∈ F tem um extremo em S e outro em S . Logo, F = [S, S ], isto ´e, F ´e um corte. A demonstra¸ca˜o se adapta facilmente para o caso em que G ´e desconexo. Note que toda ponte define um conjunto desconectante minimal de arestas, e portanto um corte. 26
Prof. F´ abio Protti
3.2.1
Notas de Aula de Teoria dos Grafos - IC/UFF
Liga¸ c˜ oes (ou co-ciclos)
Um corte de arestas minimal ´e tamb´ em chamado de liga¸cao ˜ (“bond”) ou co-ciclo. Observe que toda ponte de um grafo G ´e um co-ciclo. A proposi¸ca˜o abaixo caracteriza co-ciclos em grafos conexos. oprio e n˜ ao vaProposi¸c˜ ao 3.9. Se G ´e conexo e S ´e um subconjunto pr´ zio de V (G), ent˜ ao F = [S, S ] ´e co-ciclo se e somente se G − F tem dois componentes conexos.
Observa¸c˜ ao 3.2. Seja G um grafo qualquer. Denotemos por D (G) a fam´ılia de todos os conjuntos desconectantes de G, D ′ (G) a fam´ılia de todos os conjuntos desconectantes minimais de G, C (G) a fam´ılia de todos os cortes de arestas de G, e C ′ (G) a fam´ılia de todas os co-ciclos de G. Vale ent˜ao que:
D ′ (G) = C ′ (G) ⊆ C (G) ⊆ D (G). Para a sequˆencia desta se¸ca˜o, necessitamos das defini¸co˜es a seguir. Seja H um subgrafo de um grafo G. O complemento de H em rela¸c˜ ao a G ´e o grafo G − E (H ). Seja T uma ´arvore geradora de um grafo conexo G. A co-´ arvore de T ´e o complemento de T em rela¸ca˜o a G. Denotamos por T a co-´arvore de uma ´arvore geradora T . O teorema a seguir ´e o an´ alogo do Teorema 2.12 aplicado a co-´ arvores e co-ciclos:
Teorema 3.10. Seja T uma ´ arvore geradora de um grafo conexo G. Ent˜ ao: (a) T n˜ ao cont´em co-ciclos de G; (b) Se e ´e uma aresta de T ent˜ ao T + e cont´em um unico ´ co-ciclo de G.
3.2.2
Conectividade de arestas
A conectividade de arestas κ′ (G) de um grafo conexo e n˜ ao trivial G ´e a cardinalidade de um corte de arestas m´ınimo de G. Definimos κ′ (G) = 0 se G ´e trivial ou desconexo. Assim como para v´ertices, dizemos que um grafo G ´e p-conexo em arestas para todo p ≤ κ ′ (G). Obviamente, todo grafo conexo n˜ ao trivial ´e 1-conexo em arestas. 27
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
ao, Teorema 3.11. (Whitney, 1932) Seja G um grafo qualquer. Ent˜ κ(G) ≤ κ ′ (G) ≤ δ (G).
Demonstra¸ c˜ ao. Se G ´e desconexo ou trivial, κ(G) = κ′ (G) = 0, e portanto o teorema ´e v´ alido. Assuma ent˜ao que G ´e conexo e n˜ ao trivial. Demonstremos inicialmente a desigualdade κ′ (G) ≤ δ (G). Observe que as arestas incidentes a um v´ertice v de grau m´ınimo definem um corte de arestas F = [S, S ] onde S = { v } e | F | = δ (G). Logo, κ′ (G) ≤ |F | = δ (G). Passemos agora a` demonstra¸c˜ao da desigualdade κ(G) ≤ κ′ (G). Seja F = [S, S ] um corte de arestas m´ınimo de G, isto ´e, |F | = κ′ (G). Como F ´e um corte m´ınimo, F ´e um co-ciclo de G, e pela Proposi¸ca˜o 3.9 o grafo G − F tem exatamente duas componentes conexas, a saber, G[S ] e G[S ]. Seja S 1 = {x ∈ S | x ´e extremo de alguma aresta de F }. Analogamente, seja S 2 = { x ∈ S | x ´e extremo de alguma aresta de F }. A seguir, analisaremos alguns casos. Se S \ S 1 cont´em algum v´ertice y1, ´e f´a cil ver que no grafo G − S 1 o v´ertice y1 encontra-se num componente conexa diferente de G[S ] (observe que a remo¸c˜ao de S 1 acarreta a remo¸ca˜o de todas as arestas de F ). Logo, S 1 ´e um corte de v´ertices. Como |S 1| ≤ |F |, segue que κ(G) ≤ |S 1 | ≤ | F | = κ ′ (G). No caso em que S \ S 2 cont´em algum v´ertice y2, a desigualdade κ(G) ≤ κ (G) prova-se de maneira an´ aloga. ′
Resta agora analisar o caso S = S 1 e S = S 2 . Se existem y 1 ∈ S 1 e y2 ∈ S 2 n˜ao adjacentes, segue que o conjunto R = (S 1 \ {y1 }) ∪ N (y1, S 2) ´e um corte de v´ertices, pois sua remo¸ca˜o acarreta a remo¸c˜a o de todas as arestas de F e deixa y1 e y2 em componentes conexas diferentes. Como |R| ≤ |F |, segue que κ(G) ≤ |R| ≤ |F | = κ ′ (G). Finalmente, se todos os v´ertices de S 1 s˜ao adjacentes a todos os v´ertices de S 2, suponha |S 1| = n1 e |S 2| = n2 , e considere y1 ∈ S 1. Observe que as arestas incidentes a y1 definem um corte de arestas F 1 cujo tamanho ´e d(y1) ≤ n1 − 1 + n 2. Como neste caso |S | = n1 n2 e S ´e um corte m´ınimo, segue que n1 n2 ≤ n 1 − 1+n2 . Resolvendo esta desigualdade, segue que n1 = 1 ou n2 = 1. Assuma sem perda de generalidade n1 = 1, e considere y2 ∈ S 2 . Novamente, as arestas incidentes a y2 definem um corte de arestas, e segue ent˜ao que n 2 = | S | ≤ d(y2). Conclu´ımos assim que, neste caso, G ´e um grafo 28
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
completo. Para concluir a demonstra¸ca˜o, basta recordar que a desigualdade κ(G) ≤ κ ′ (G) vale trivialmente em um grafo completo.
3.2.3
Caminhos disjuntos em arestas
A caracteriza¸ca˜o de grafos k-conexos em v´ertices por meio de caminhos internamente disjuntos em v´ertices (Teorema 3.7) admite uma vers˜ ao an´ aloga para arestas:
Teorema 3.12. (Menger - vers˜ao arestas) Um grafo G ´e k-conexo em arestas se e somente se para quaisquer dois v´ertices de G existem k caminhos disjuntos em arestas entre eles.
3.3
Exerc´ıcios
3.1. Prove: qualquer conjunto de 7 arestas no grafo K 3,3 ´e um conjunto desconectante, mas n˜ ao um corte. 3.2. Prove ou refute: O grafo K 4,4 n˜ao possui corte com exatamente 10 arestas. 3.3. Mostre que se G ´e conexo e n˜ao trivial, qualquer a´rvore geradora T de G e qualquer conjunto desconectante n˜ ao vazio F ⊆ E (G) ter˜ ao pelo menos uma aresta em comum. 3.4. Determine κ(G) e κ ′ (G) para os grafos abaixo. Para cada p, que grafos s˜ao p-conexos em v´ertices? Que grafos s˜ ao p-conexos em arestas?
3.5. Prove que se G ´e 3-regular, ent˜ao κ(G) = κ ′ (G). 3.6. Existe algum grafo G que ´e 3-regular, 3-conexo em arestas e n˜ a o 3conexo em v´ertices? 29
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
3.7. Prove que o grafo de Petersen ´e 3-conexo em v´ertices. 3.8. Prove ou refute: Se G ´e conexo e possui exatamente dois v´ertices que n˜ao s˜ao articula¸co˜es, ent˜ ao G ´e um caminho. 3.9. Um cacto ´e um grafo conexo no qual todo bloco ´e uma aresta ou um ciclo. Prove que o n´ umero m´ aximo de arestas num cacto com n v´ertices ´e ⌊ 3(n − 1)/2⌋. Dica: ⌊x⌋ + ⌊y ⌋ ≤ ⌊x + y ⌋.
30
4
Grafos Eulerianos e Hamiltonianos
Neste cap´ıtulo estudaremos dois tipos especiais de passeios em grafos. O primeiro tipo ´e formado pelos passeios que visitam todas as arestas do grafo, sem repeti¸co˜es, e o segundo pelos passeios fechados que visitam todos os v´ertices, tamb´em sem repeti¸co˜es (a menos dos v´ertices inicial e final, claro). Como nem todo grafo admitir´ a tais tipos de passeios, veremos sob quais condi¸c˜oes garante-se sua existˆencia.
4.1
Grafos Eulerianos
Um passeio Euleriano ou passeio de Euler ou trilha Euleriana ou trilha de Euler de um grafo G ´e uma trilha fechada que cont´ em cada aresta de G exatamente uma vez. Um grafo ´e Euleriano se ele possui uma trilha de Euler.
Teorema 4.1. (Euler, 1736) Um grafo G conexo ´e Euleriano se e somente se todo v´ertice de G possui grau par. Demonstra¸ c˜ ao. Assuma que G n˜ao ´e trivial. A demonstra¸c˜a o da necessidade ´e simples: numa trilha Euleriana, cada ocorrˆencia de um v´ertice v interno a` trilha acrescenta duas unidades ao grau de v. Al´em disso, ´e f´acil ver que o v´ertice inicial (e final) da trilha tamb´em tem grau par. A demonstra¸ c˜ao da suficiˆencia consiste em executar o Algoritmo de Tucker: particionar G em ciclos e compor os ciclos at´e formar uma trilha Euleriana. Este algoritmo ´e O(m). Estes s˜ao os passos do algoritmo: (a) Se todos os v´ertices de G tˆem grau par, G n˜ao cont´em folhas. Logo, pelo Teorema 2.2, G n˜ao pode ser uma a´rvore. Como G ´e conexo, G deve conter um ciclo C 1. Note que todos os v´ ertices do grafo G1 = G − E (C 1 ) tamb´em possuem grau par. Eventualmente, G1 poder´ a conter v´ertices isolados, e at´e ser um grafo sem arestas; mas, se E (G1 ) = ∅, nenhuma das componentes conexas n˜ ao triviais de G1 ser´a a´rvore, e nesse caso G1 conter´ a um ciclo C 2. O racioc´ıcio se aplica novamente ao grafo G2 = G1 − E (C 2 ), e assim sucessivamente. No final, para um certo valor de k, Gk ser´a um grafo sem arestas e a cole¸ca˜o C = { C 1, C 2, . . . , Ck } define uma parti¸ca˜o das arestas de G em ciclos.
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
(b) Como um ciclo ´e um caso particular de trilha fechada, a cole¸ c˜ao C pode ser vista agora como uma cole¸ca˜o de trilhas fechadas. Como G ´e conexo, se k ≥ 2 ´e claro que existem duas trilhas desta cole¸ c˜ao que compartilham um v´ertice comum. Assuma sem perda de generalidade que C k−1 e C k possuam um v´ertice em comum. Estas trilhas podem ser facilmente concatenadas, resultando numa u ´nica trilha fechada C k′ −1 . Novamente, se k − 1 ≥ 2, deve haver duas trilhas na cole¸ca˜o {C 1 , . . . , Ck −2, C k′ −1} compartilhando um v´ertice comum, digamos C k−2 e C k′ −1. A concatena¸ ca˜o destas duas trilhas numa ′ nova trilha fechada C k−2 resulta numa nova cole¸ca˜o { C 1, . . . , Ck −3, C k′ −2}. O processo continua at´e que haja uma unica ´ trilha fechada C 1′ contendo todas as arestas de G, exatamente uma vez cada.
Observa¸c˜ ao 4.1. O Teorema 4.1 vale tamb´em para multigrafos. Enunciamos a seguir um problema de log´ıstica bastante conhecido, que pode ser resolvido por algoritmos de tempo polinomial no tamanho do grafo de entrada. ao negativos Problema do Carteiro Chinˆes: Dado um grafo G com pesos n˜ nas arestas, deseja-se um passeio fechado de comprimento m´ınimo que passe por todas as arestas de G. Um algoritmo para a solu¸ca˜o do problema acima consiste em executar os seguintes passos: 1. Localizar os v´ertices de grau ´ımpar em G. Sejam v1, v2 , . . . , vk estes v´ertices. Como o n´ umero de v´ertices de grau ´ımpar em qualquer grafo ´e par, k ´e par. 2. Construir um grafo auxiliar completo G′ tal que V (G′ ) = { v1, v2 , . . . , vk } e o peso de uma aresta vi v j , i < j, ´e igual ao custo cij de um caminho de custo m´ınimo P ij entre vi e v j em G. 3. Determinar um emparelhamento de custo m´ınimo M ′ em G′ . (Para mais informa¸co˜es sobre emparelhamentos, consultar o pr´ oximo cap´ıtulo.) ´ f´acil 4. Para cada aresta vi v j ∈ M ′ , acrescentar a G as arestas de P ij . E ver que o multigrafo resultante G+ ´e Euleriano. Uma trilha Euleriana de G+ , que pode ser obtida utilizando o algoritmo de Tucker, ´e uma solu¸ c˜ao do problema. O custo desta trilha ser´a e∈E (G) custo(e) + vi vj ∈M cij .
32
′
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Todas as estapas do algoritmo descrito acima podem ser executadas em tempo polinomial. Portanto, o Problema do Carteiro Chinˆes pertence a` classe P .
4.1.1
Passeios Eulerianos abertos
Um passeio Euleriano aberto ´e um passeio aberto em G tal que toda aresta de G ocorre exatamente uma vez no passeio.
Corol´ ario 4.2. Um grafo conexo G admite um passeio Euleriano aberto se e somente se existem exatamente dois v´ertices de grau ´ımpar em G. Demonstra¸ c˜ ao. A demonstra¸ca˜o da necessidade ´e trivial. Para a demonstra¸ca˜o da suficiˆencia, sejam u e v os dois v´ertices de grau ´ımpar em G. Considere um grafo auxiliar G′ constru´ıdo a partir de G pelo acr´escimo de ´ claro que G′ ´e Euleriano. Pelo Teoum novo v´ertice x e arestas ux,vx. E rema 4.1, seja T ′ uma trilha Euleriana de G′ . A remo¸ca˜o de x da trilha T ′ (juntamente com as arestas ux e vx) resulta em um passeio Euleriano aberto em G.
4.2
Grafos Hamiltonianos
Um ciclo [caminho] Hamiltoniano em um grafo G ´e um ciclo [caminho] que cont´em todos os v´ertices de G, uma vez cada. O grafo G ´e Hamiltoniano quando possui um ciclo Hamiltoniano. ´ f´acil observar que todo grafo Hamiltoniano ´e biconexo. E O teorema a seguir fornece uma condi¸ca˜o necess´ aria para a Hamiltonicidade de um grafo. ao todo subconjunto Teorema 4.3. Se G ´e um grafo Hamiltoniano ent˜ S ⊆ V (G) pr´ oprio e n˜ ao vazio satisfaz w(G − S ) ≤ |S |.
Demonstra¸ c˜ ao. Considere um ciclo Hamiltoniano C em G. Seja S um subconjunto de v´ertices de G, pr´oprio e n˜ao vazio. Denotemos por G 1 , . . . , Gk as componentes conexas de G − S , e sejam P 1, . . . , Pk subcaminhos maximais de C onde V (P i ) ⊆ V (Gi ), 1 ≤ i ≤ k. Observe que o v´ertice u i que imediatamente precede P i em C n˜ao pode pertencer a nenhuma componente conexa 33
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
G j , j = i, caso contr´ ario haveria uma aresta conectando estas componentes. Logo, { u1 , . . . , uk } ⊆ S . Al´em disso, os u i ’s s˜ao mutuamente distintos. Logo w(G − S ) = k ≤ |S |.
Exemplo 4.1. Considere o grafo G na Figura 4.1. Este grafo ´e chamado grafo de Petersen . Observe que para todo S ⊆ V (G), pr´oprio e n˜ao vazio, vale w(G − S ) ≤ |S |. No entanto, G n˜ao ´e Hamiltoniano. Isto mostra que a condi¸ca˜o do Teorema 4.3, embora seja necess´ a ria, n˜ ao ´e uma condi¸ca˜o suficiente para um grafo ser Hamiltoniano. 1 5
6 10
2
7 9
8
4
3
Figura 4.1: O grafo de Petersen n˜ao ´e Hamiltoniano. Veremos agora algumas condi¸co˜es suficientes para a Hamiltonicidade de um grafo.
Teorema 4.4. (Dirac, 1952) Todo grafo com n ≥ 3 e δ (G) ≥ n/2 tem um ciclo Hamiltoniano. Teorema 4.5. (Ore, 1960) Se G ´e um grafo com n ≥ 3 e tal que para todo par de v´ertices distintos n˜ ao adjacentes u e v vale d(u) + d(v) ≥ n, ent˜ ao G ´e Hamiltoniano. Observe que o Teorema de Ore ´e mais forte do que o de Dirac, no sentido de que o Teorema de Dirac ´e um corol´ ario do Teorema de Ore. Demonstraremos ent˜ ao o Teorema de Ore.
Demonstra¸ c˜ ao do Teorema 4.5. Suponha o teorema falso. Seja G um grafo com pelo menos trˆes v´ertices e tal que d(u)+ d(v) ≥ n para todo par u, v de v´ertices n˜ao adjacentes, e suponha que G ´e n˜ ao Hamiltoniano maximal. 34
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
´ claro que G n˜ao ´e um grafo completo. Escolha um par u, v de v´ertices E n˜ao adjacentes de G, e considere o grafo G + uv. Pela maximalidade de G, segue que G + uv ´e Hamiltoniano. Al´em do mais, todo ciclo Hamiltoniano de G + uv cont´em uv. Claramente, G cont´em um caminho Hamiltoniano v 1, v2 , . . . , vn com v 1 = u e vn = v. Sejam S = {vi | uvi+1 ∈ E (G)} e T = {vi | vi v ∈ E (G)}. Observe que vn ∈ S e vn ∈ T . Logo, |S ∪ T | < n. Al´em disso, temos que |S ∩ T | = 0, pois se existisse vi ∈ S ∩ T o grafo G conteria o ciclo Hamiltoniano v1 v2 . . . vi vnvn−1 . . . vi+1 v1 . (Veja a Figura 4.2.) Assim, d(u) + d(v) = | S | + |T | = | S ∪ T | + |S ∩ T | < n. Mas isto contradiz a hip´otese do teorema.
u = v 1
v2
vi
vi+1
vn−1
vn = v
Figura 4.2: Demonstra¸c˜ao do Teorema 4.5. Um racioc´ınio alternativo para a demonstra¸ca˜o acima consiste em utilizar o Princ´ıpio Combinat´ orio da Casa de Pombo: “Se existirem n pombos em m < n casas, ent˜ao existe pelo menos uma casa com no m´ınimo dois pombos.” Observe que vn ∈ S ∪ T , d(u) = |S |, d(v) = |T | e d(u) + d(v) ≥ n. Temos assim n − 1 “casas” numeradas de 1 a n − 1 (´ındices), onde vamos distribuir os elementos de S e T , em quantidade maior do que n − 1 (levando em conta poss´ıveis elementos repetidos). Um certo ´ındice i dever´ a estar portanto associado a dois elementos idˆenticos, um de S e outro de T . Isto ´e, dever´ a existir vi ∈ S ∩ T . Mas vimos que isto gera uma contradi¸ca˜o. Descreveremos agora uma condi¸ca˜o necess´ aria e suficiente para Hamiltonicidade. Antes, precisaremos de uma nova defini¸ c˜ao e dois lemas preparat´ orios. 35
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
O fecho de um grafo G ´e o grafo C (G) obtido de G por sucessivas adi¸co˜es de arestas ligando pares de v´ertices n˜ ao adjacentes cuja soma de graus seja maior ou igual a n.
Exemplo 4.2. Se G ´e o grafo formado pelo ciclo a, b, c, d, e, f,a acrescido das cordas ac e ae ent˜ao C (G) ´e o grafo K 6. Uma poss´ıvel sequˆencia de arestas a serem acrescentadas na determina¸ca˜o do fecho ´e: ad,ec, eb, cf, bf, df, bd. Lema 4.6. C(G) ´e bem definido (´ unico). Demonstra¸ c˜ ao. Sejam G1 = G + {e1 , e2, . . . , ek } e G2 = G + {f 1 , f 2, . . . , fl } dois grafos obtidos pela aplica¸ca˜o exaustiva de adi¸co˜es de arestas de acordo com a regra de constru¸ca˜o do fecho de um grafo. Suponha que exista alguma aresta em G1 que n˜ao esteja em G2 . Seja e j a primeira aresta da sequˆencia e1, e2 , . . . , ek que n˜ao pertence a G2 . Escreva e j = uv, e defina H = G + ´ claro que dH (u)+dH (v) ≥ n, pois e j dever´ a ser acrescentada {e1 , . . . , e j −1}. E a H . Observe tamb´em que H ´e um subgrafo de G2 , pois por defini¸ca˜o todas as arestas e1 , . . . , e j −1 est˜a o em G2 . Logo, dG (u) + dG (v) ≥ n. Mas isto implica que e j = uv deve ser acrescentada a G 2 , uma contradi¸ca˜o. Logo toda aresta de G 1 est´a em G2, e de modo an´alogo pode-se provar que toda aresta de G2 est´a em G1 . 2
2
Lema 4.7. Seja G um grafo e a, b dois v´ertices n˜ ao adjacentes de G satis fazendo d(a) + d(b) ≥ n. Ent˜ ao, G ´e Hamiltoniano se e somente se G + ab ´e Hamiltoniano. Demonstra¸ c˜ ao. A prova da necessidade ´e trivial. A prova da suficiˆencia segue diretamente da demonstra¸c˜ao do Teorema de Ore: se G + ab ´e Hamiltoniano ent˜ ao G possui um caminho Hamiltoniano iniciando no v´ertice a e terminando no v´ertice b. A partir da´ı podemos construir dois conjuntos S e T exatamente como na demonstra¸ca˜o do Teorema 4.5, e concluir que G ´e Hamiltoniano. Finalmente, podemos enunciar:
Teorema 4.8. (Bondy e Chv´atal, 1976) Um grafo G ´e Hamiltoniano se e somente se C (G) ´e Hamiltoniano. Demonstra¸ c˜ ao. A prova da necessidade ´e trivial. J´ a a prova da suficiˆencia consiste em sucessivas aplica¸co˜es do Lema 4.7. Escreva C (G) = 36
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
G + {u1v1 , u2v2 , . . . , uk vk }. Defina G 0 = G e G j = G + {u1 v1, u2 v2 , . . . , u j v j }, 1 ≤ j ≤ k. Como dGk (uk ) + d Gk (vk ) ≥ n e Gk ´e um grafo Hamiltoniano, segue pelo Lema 4.7 que Gk−1 ´e Hamiltoniano. Da mesma forma, como d Gk (uk−1) + dGk (vk−1) ≥ n e G k−1 ´e Hamiltoniano, segue que G k−2 ´e Hamiltoniano. Aplicando sucessivamente este racioc´ıcio, conclu´ımos que G0, G1, . . . , Gk s˜ao todos Hamiltonianos. −1
−2
−1
−2
O seguinte corol´ ario ser´ au ´ til em muitos casos: ao G ´e Hamiltoniano. Corol´ ario 4.9. Se C (G) ´e completo ent˜ Conclu´ımos este cap´ıtulo enunciando um dos problemas mais importantes ´ um problema da Ciˆencia da Computa¸ca˜o, devido a suas v´arias aplica¸co˜es. “E de otimiza¸ca˜o NP-dif´ıcil inspirado na necessidade dos vendedores em realizarem entregas em diversos locais (as cidades) percorrendo o menor caminho poss´ıvel, reduzindo o tempo necess´ ario para a viagem e os poss´ıveis custos com transporte e combust´ıvel.” (Fonte: Wikipedia)
Problema do Caixeiro Viajante: Dado um grafo completo G com pesos nas arestas, deseja-se obter um ciclo Hamiltoniano de G com peso m´ınimo.
4.3
Exerc´ıcios
4.1. Existe algum grafo euleriano com n par e m ´ımpar? Em caso positivo, descreva-o. Em caso negativo, justificar a n˜ ao existˆencia. 4.2. Prove que se G ´e 4-regular ent˜ao G n˜ao cont´em pontes. 4.3. Verdadeiro ou Falso? Se G ´e bipartido e 3-regular ent˜ ao G n˜ao cont´em pontes. 4.4. Se G ´e um grafo euleriano com arestas e1 e e2 que tˆem um v´ertice em comum, ent˜ ao G tem uma trilha Euleriana no qual e1 e e2 aparecem consecutivamente? Prove, se for verdadeiro. Caso contr´ ario justifique convenientemente. 4.5. Verdadeiro ou Falso? Se G ´e Euleriano, ent˜ao todo bloco de G ´e Euleriano. 4.6. Verdadeiro ou Falso? Todo bloco de um grafo G possui caminho Hamiltoniano. 37
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
4.7. Uma grade de dimens˜ ao p × q (onde p, q s˜ao inteiros tais que p, q ≥ 2) ´e um grafo G em que V (G) ´e o subconjunto dos pontos de coordenadas inteiras (x, y), 1 ≤ x ≤ p e 1 ≤ y ≤ q , e tal que se dois v´ertices s˜ao adjacentes ent˜ a o a distˆancia entre os pontos respectivos ´e um. Uma grade completa cont´em todas as arestas poss´ıveis. Mostre que uma grade completa ´e um grafo hamiltoniano se e somente se p.q for par. 4.8. Um grafo G ´e hipo-hamiltoniano quando G − v ´e hamiltoniano para todo v´ertice v, mas G n˜ao o ´e. Justificar porque o grafo de Petersen ´e hipo-hamiltoniano. 4.9. O grafos abaixo s˜ ao Hamiltonianos?
4.10. Proponha altera¸co˜es m´ınimas no conjunto de arestas de cada grafo do exerc´ıcio anterior de modo a converter sua Hamiltonicidade em n˜ aoHamiltonicidade, ou o contr´ario. 4.11. Um passeio fechado de cavalo ´e uma sequˆencia de movimentos de cavalo em um tabuleiro com m linhas e n colunas, onde, partindo de uma casa inicial e sem passar duas vezes pela mesma casa, o cavalo retorna a` casa inicial ap´os visitar todas as casas do tabuleiro. Pergunta-se: o tabuleiro 4 × 4 admite um passeio de cavalo fechado?
38
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
4.12. Estude o problema da quest˜ao anterior, verificando para quais valores de m e n o tabuleiro m × n admite um passeio de cavalo fechado.
39
5
Emparelhamentos
O conceito de emparelhamento ´e muito util ´ para modelar problemas de aloca¸ca˜ o em pares de objetos: oper´ arios/m´aquinas, turmas/salas-de-aula, professores/disciplinas, processadores pareados etc. Em muitas aplica¸ co˜es, o grafo subjacente ´e naturalmente bipartido. Por´ em, iniciaremos nosso estudo em grafos gerais.
5.1
Defini¸ c˜ ao de emparelhamento
Dado um grafo G, um emparelhamento de G ´e um subconjunto M ⊆ E (G) que n˜ao cont´em arestas com extremos em comum. Em outras palavras, G[M ] ´e um grafo 1-regular se M = ∅ . Um emparelhamento M satura um v´ertice v se alguma aresta de M ´e incidente a v. Neste caso, v ´e dito M -saturado, ou simplesmente emparelhado. Caso contr´ ario, v ´e M -insaturado. Um emparelhamento M ser´a maximal se n˜ao existir nenhum outro que o contenha propriamente, e ser´ a m´ aximo se n˜ao existir nenhum outro de ´ claro que todo emparelhamento m´ cardinalidade maior. E aximo ´e maximal, mas nem todo emparelhamento maximal ´e m´ aximo.
5.2
Teorema de Berge
Nesta se¸c˜ao estudaremos um modo de caracterizar emparelhamentos m´ aximos em grafos gerais. Seja M um emparelhamento em um grafo G. Um caminho M -alternante em G ´e um caminho tal que suas arestas alternadamente pertencem a M ou n˜ao. Este caminho ser´ a dito M -aumentante se os seus extremos inicial e final n˜ao s˜ao M -saturados. O comprimento de um caminho M -aumentante ´e sempre ´ımpar. Al´em disso, a existˆencia de um caminho M -aumentante P indica uma forma de construir um emparelhamento M ′ com |M ′ | > | M |. Basta remover de M as arestas de E (P ) ∩ M , e a seguir acrescentar as arestas de E (P ) \ M . Esta opera¸ca˜o pode ser melhor formalizada utilizando a diferen¸ca sim´etrica de
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
conjuntos . A diferen¸ca sim´etrica entre dois conjuntos A e B, denotada por A △ B, ´e definida da seguinte forma: A △ B = (A \ B) ∪ (B \ A) = (A ∪ B) \ (A ∩ B). Assim, utilizando a nota¸ca˜o acima, o emparelhamento M ′ ´e definido precisamente como M ′ = M △ E (P ). Observe que |M ′ | = | M | + 1. O teorema seguir relaciona o conceito de caminhos M -aumentantes com emparelhamentos m´ aximos.
Teorema 5.1. (Berge, 1957) Um emparelhamento M em um grafo G ´e m´ aximo se e somente se G n˜ ao cont´em nenhum caminho M -aumentante.
5.3
Teorema de Tutte
Um emparelhamento ´e perfeito se satura todo v´ertice do grafo. Obviamente, todo emparelhamento perfeito ´e m´ aximo. Al´em disso nem todo grafo admite emparelhamento perfeito; por exemplo, um grafo com n´ umero ´ımpar de v´ertices n˜ao admite emparelhamento perfeito. O grafo K 1,3 , embora tenha n´umero par de v´ertices, tamb´em n˜ ao admite emparelhamento perfeito. O pr´oximo teorema fornece uma condi¸ ca˜o necess´ aria e suficiente para a existˆencia de um emparelhamento perfeito em um grafo. Mas antes ´e necess´ ario apresentar alguns conceitos. Uma componente conexa H de um grafo G ´e uma componente ´ımpar se o n´ umero de v´ertices de H ´e ´ımpar. Denotamos por o(G) o n´ umero de componentes ´ımpares de um grafo G. Sejam S um subconjunto pr´ oprio de V (G) e M um emparelhamento de G, e considere uma componente ´ımpar H de G − S . Observe que, se M satura todos os v´ertices de H , pelo menos um deles deve estar emparelhado com algum v´ertice de S . Obviamente, no m´ aximo |S | v´ertices podem estar emparelhados com v´ertices de G − S . Logo, pelo menos o(G − S ) − |S | componentes ´ımpares contˆem v´ertices M -insaturados. Se U M ´e o conjunto de v´ertices M -insaturados, temos que
|U M | ≥ o(G − S ) − |S |, para todo S ⊂ V (G).
41
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Note que |U M | = n − 2 |M |. Se a igualdade for verificada na express˜ ao acima para algum subconjunto pr´ oprio S = B, isto ´e, | U M | = o(G − B) −|B |, tal subconjunto B ´e precisamente um certificado de que o emparelhamento M produz o menor n´ umero poss´ıvel de v´ertices insaturados. Em outras palavras, B ´e um certificado de que M ´e m´aximo. Neste caso, dizemos que B ´e uma barreira de G. Pode-se provar que qualquer grafo G possui uma barreira. Este resultado ´e conhecido como Teorema de Tutte-Berge , e ser´a utilizado como ferramenta na prova do pr´ oximo teorema.
Teorema 5.2. (Tutte, 1947) Um grafo G admite um emparelhamento per feito se e somente se o(G − S ) ≤ |S |, para todo S ⊆ V (G). Um corol´ario do teorema acima ´e o conhecido Teorema de Petersen, de 1891:
Teorema 5.3. (Petersen, 1891) Todo grafo 3-regular sem pontes cont´em um emparelhamento perfeito.
5.4
Teorema de Hall
Passamos agora a estudar emparelhamentos em grafos bipartidos. Iniciamos com o seguinte problema, conhecido como o Problema do Casamento: “Dado um conjunto Y de rapazes e um conjunto X de mo¸cas com | Y | ≥ |X |, qual ´e a condi¸ca˜o necess´ aria e suficiente para que cada mo¸ca se case com um rapaz de que ela goste?” A resposta para esta quest˜ ao est´ a no pr´ oximo teorema. Dado um subconjunto S de v´ertices de um grafo G, denotamos por N (S ) ao conjunto de todos os v´ertices adjacentes a v´ertices de S .
Teorema 5.4. (Hall, 1935) Seja G um grafo bipartido com parti¸ c˜ ao de v´ertices V (G) = X ∪ Y . Ent˜ ao, G cont´em um emparelhamento que satura todo v´ertice de X se e somente se
|N (S )| ≥ |S |, para todo S ⊆ X. ao G admite Corol´ ario 5.5. Se G ´e um grafo bipartido k-regular, k > 0, ent˜ um emparelhamento perfeito. 42
Prof. F´ abio Protti
5.5
Notas de Aula de Teoria dos Grafos - IC/UFF
Teorema de K¨ onig
Vamos agora apresentar uma condi¸c˜ao que permite confirmar que um dado emparelhamento em um grafo bipartido ´e de fato m´ aximo. Esta confirma¸ca˜o se dar´ a pela existˆencia de um certificado baseado no conceito de cobertura . Uma cobertura de um grafo G ´e um conjunto K ⊆ V (G) tal que toda aresta de G tem pelo menos um de seus extremos em K . A cobertura ser´ a m´ınima se n˜ao houver nenhuma outra de cardinalidade menor.
Proposi¸c˜ ao 5.6. Para qualquer emparelhamento M e para qualquer cobertura K de um grafo G vale |M | ≤ | K |. O seguinte lema ser´ au ´til, e decorre imediatamente da proposi¸ca˜o anterior.
Lema 5.7. Sejam M um emparelhamento e K uma cobertura de um grafo G tais que |M | = | K |. Ent˜ ao, M ´e m´ aximo e K ´e m´ınima. O pr´oximo teorema diz que, para os grafos bipartidos, a igualdade do lema anterior ´e sempre atingida.
Teorema 5.8. (K¨onig, 1931) Em um grafo bipartido, o n´ umero de arestas em um emparelhamento m´ aximo ´e igual ao n´ umero de v´ertices em uma cobertura m´ınima. O problema de determinar um emparelhamento m´ a ximo em um grafo bipartido pode ser resolvido pelo Algoritmo de Egerv´ary, tamb´em conhecido como Algoritmo H´ ungaro. Este algoritmo ´e de tempo polinomial e devolve, juntamente com o emparelhamento m´ aximo, uma cobertura m´ınima de mesmo tamanho, que serve como um certificado de sua corretude.
5.6
Exerc´ıcios
5.1. Determine condi¸co˜es necess´ arias e suficientes para que uma a´rvore possua um emparelhamento perfeito. 5.2. Mostre que se G ´e Hamiltoniano e 3-regular ent˜ ao G tem emparelhamento perfeito.
43
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
5.3. Duas pessoas disputam um jogo sobre um grafo G escolhendo alternadamente v´ertices distintos v1 , v2 , . . . formando um caminho. Ganha quem for a u ´ltima pessoa a conseguir escolher um v´ertice. (a) Mostre que quem come¸ca o jogo tem um estrat´egia vencedora caso G n˜ao tenha emparelhamento perfeito. (b) Mostre que a segunda a jogar tem uma estrat´egia vencedora caso G tenha um emparelhamento perfeito. 5.4. Um k-fator de G ´e um subgrafo gerador k-regular de G. Um grafo ´e k-fator´ avel se existirem k-fatores disjuntos em arestas H 1 , H 2 ,...,H p , tal que G = H 1 ∪ H 2 ∪ ... ∪ H p. Responda, justificando:
(i) K n,n ´e 1-fator´avel? (ii) K 4,4 ´e 2-fator´avel? 5.5. Seja um tabuleiro de xadrez de dimens˜ao 8 × 8, em que dois cantos opostos (isto ´e, os extremos 1 × 1 de uma mesma diagonal) foram retirados. Moste que ´e imposs´ıvel cobrir este tabuleiro com retˆ angulos de dimens˜ao 1 × 2.
44
6 6.1
Colora¸c˜ ao de V´ ertices Grafos k -color´ıveis
Uma k-colora¸c˜ ao de v´ertices ´e uma atribui¸ca˜o de k cores aos v´ertices de um grafo. Esta colora¸ca˜o ´e pr´ opria quando v´ertices adjacentes recebem cores distintas. Uma k-colora¸ca˜o pr´ opria particiona o conjunto de v´ertices do grafo em k conjuntos independentes. Um grafo G ´e k-color´ıvel se G admite uma k-colora¸ca˜o pr´ opria de v´ertices. O n´ umero crom´ atico de G, denotado por χ(G), ´e o menor inteiro k para o qual G ´e k-color´ıvel. Obviamente, χ(G) ≤ n. Teremos χ(G) = n se e somente se G = K n .
6.2
Grafos cr´ıticos
Um grafo G ´e cr´ıtico se χ(H ) < χ(G) para todo subgrafo pr´ oprio H de G. Um grafo G ´e k-cr´ıtico quando for cr´ıtico e k-crom´atico. Observe que todo grafo cr´ıtico ´e conexo, e todo grafo k-crom´atico tem um subgrafo k-cr´ıtico. ao δ (G) ≥ k − 1. Teorema 6.1. Se G ´e k-cr´ıtico ent˜
Demonstra¸ c˜ ao. Seja v um v´ertice de grau m´ınimo em G, isto ´e, d(v) = δ (G). Como G ´e k-cr´ıtico, χ(G − v) ≤ k − 1. Considere uma (k − 1)colora¸ca˜o de G − v que define uma parti¸ca˜o de V (G − v) em k − 1 conjuntos independentes V 1, V 2 , . . . , Vk −1. Claramente, devemos ter V i = ∅ para todo i ∈ {1, . . . , k − 1}, caso contr´ ario G n˜ao teria n´ umero crom´ atico igual a k. Observe que, para todo i ∈ {1, . . . , k − 1}, deve existir em G uma aresta de v para algum v´ertice em V i , pois se v n˜ao fosse conectado a nenhum v´ertice de V i ter´ıamos que V i ∪{v } seria um conjunto independente em G, e portanto G seria (k − 1)-color´ıvel, o que ´e uma contradi¸ca˜o. Logo, d(v) ≥ k − 1, e o teorema vale.
Corol´ ario 6.2. Todo grafo k-crom´ atico possui pelo menos k v´ertices de grau maior ou igual a k − 1.
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Demonstra¸ c˜ ao. Todo grafo k-crom´atico G cont´em um subgrafo k-cr´ıtico H . (Para provar este fato, basta remover sucessivamente arestas ou v´ertices isolados enquanto o grafo n˜ ao ´e cr´ıtico.) Como χ(H ) = k, o subgrafo H cont´em pelo menos k v´ertices. Como H ´e k-cr´ıtico, pelo Teorema 6.1 todos estes v´ertices tˆem grau pelo menos k − 1.
6.3
Cotas para o n´ umero crom´ atico
Iniciamos esta se¸ca˜o exibindo cotas inferiores para o n´ umero crom´ atico.
Proposi¸c˜ ao 6.3. Para qualquer grafo G, vale que: (a) χ(G) ≥ ω(G), onde ω(G) ´e o n´ umero de v´ertices da maior clique de G. (b) χ(G) ≥ α(nG) , onde α(G) ´e o numero de v´ertices do maior conjunto independente de G. A pr´oxima proposi¸ca˜o exibe um limite superior simples para o n´ umero crom´atico.
Proposi¸c˜ ao 6.4. Para qualquer grafo G, vale que χ(G) ≤ ∆(G) + 1. 6.3.1
Constru¸ c˜ ao de Mycielski
Seja G um grafo com n v´ertices v1 , v2, . . . , vn . O grafo de Mycielski de G, denotado por µ(G), ´e formado por uma c´ opia de G mais n + 1 v´ertices novos w, u1, u2, . . . , un conectados da seguinte forma: cada ui ´e conectado a w e a todos os vizinhos de v i em G. A constru¸c˜ ao de Mycielski , concebida pelo matem´ atico Jan Mycielski em 1955, consiste numa sequˆencia de grafos M 2 , M 3, M 4 , . . . tal que M 2 = K 2 e M k = µ(M k−1 ) para k ≥ 3. Assim, teremos: M 2 = K 2, M 3 = C 5 , e M 4 ´e o grafo de Gr¨ otzsch , representado na Figura 6.1. A constru¸ca˜o de Mycielski ´e importante porque mostra que o n´ umero crom´atico pode se afastar arbitrariamente do tamanho da maior clique (veja Proposi¸ca˜o 6.3(a)). Pode-se provar que ω(M k ) = 2 e χ(M k ) = k, para todo k ≥ 2 (veja Exerc´ıcio 6.5).
46
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
v2
u2 v3
v1 u3
u1 w
u4
u5
v4
v5
Figura 6.1: Grafo de Gr¨otzsch.
6.3.2
Teorema de Brooks
O seguinte teorema fornece um limite superior mais justo do que aquele na Proposi¸ca˜o 6.4:
Teorema 6.5. (Brooks, 1941) Se G ´e conexo e n˜ ao ´e completo nem um ciclo ´ımpar ent˜ ao χ(G) ≤ ∆(G).
6.4
Exerc´ıcios
6.1. Suponha que quaisquer dois ciclos ´ımpares de um grafo G possuem pelo menos um v´ertice em comum. Mostre que χ(G) ≤ 5. 6.2. Prove: se toda aresta de G ocorre no m´ a ximo em um ciclo, ent˜ ao χ(G) ≤ 3. 6.3. Prove ou refute: Se |E (G)| > 1 e y ´e uma ponte de G ent˜ao χ(G) = χ(G − y). 47
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
6.4. Mostre que existe uma ordena¸ c˜ao dos v´ertices de G tal que o m´etodo guloso de colora¸ca˜o aplicado a esta ordena¸ca˜o usa χ(G) cores. 6.5. Sejam M 2 , M 3 , M 4, . . . os grafos da constru¸ca˜o de Mycielski, onde M 2 = K 2 . Mostre que: (a) Todo M k ´e k-cr´ıtico. (b) Todo M k ´e livre de triˆ angulos. 6.6. Um grafo G ´e unicamente k-color´ıvel se quaisquer duas k-colora¸co˜es de G induzem a mesma parti¸ca˜o de V (isto ´e, coincidem a menos de uma permuta¸ca˜o de cores). Mostre que nenhum corte de v´ertices de um grafo k-cr´ıtico induz um subgrafo unicamente (k − 1)-color´ıvel.
48
7 7.1
Colora¸c˜ ao de Arestas Grafos k -color´ıveis em arestas
Uma k-colora¸cao ˜ de arestas de um grafo G ´e uma atribui¸ca˜ o de k cores 1, 2, . . . , k a`s suas arestas. Esta colora¸c˜ao ser´ a pr´ opria se arestas adjacentes tiverem cores diferentes; neste caso, cada conjunto de arestas de mesma cor ´e um emparelhamento. Um grafo ´e k-color´ıvel em arestas se admitir uma k-colora¸c˜ao pr´ opria de arestas. Obviamente, todo grafo ´e m-color´ıvel em arestas, onde m = | E (G)|. Al´em disso, se G ´e k-color´ıvel em arestas, ent˜ ao G ´e r-color´ıvel em arestas para todo r ≥ k. O ´ındice crom´ atico χ′(G) de um grafo G ´e o menor k para o qual G ´e k-color´ıvel. Obviamente, χ′ (G) ≥ ∆(G).
Exemplo 7.1. O ´ındice crom´atico do grafo de Petersen ´e 4. Para provar este fato, ´e necess´ario mostrar que: (a) o grafo de Petersen ´e 4-color´ıvel em arestas; (b) o grafo de Petersen n˜ ao ´e 3-color´ıvel em arestas. A demonstra¸ ca˜o de (a) e (b) fica como exerc´ıcio para o leitor.
7.2
Teorema de Vizing
Dada uma colora¸ca˜o de arestas de um grafo, dizemos que uma certa cor j est´a representada no v´ertice v quando alguma aresta incidente a v possui a cor j . ao ´e um ciclo ´ımpar. Ent˜ ao existe Lema 7.1. Seja G um grafo conexo que n˜ uma 2-colora¸c˜ ao de arestas de G tal que, em todo v´ertice de grau maior que um, as duas cores est˜ ao representadas. Denotemos por c(v) o n´ umero de cores representadas no v´ertice v em uma k-colora¸c˜ao de arestas C de um grafo G. Observe que C ´e pr´ opria se e somente se c(v) = d(v). Uma k-colora¸c˜ao C ′ ´e uma melhoria de uma k-colora¸ca˜o C se a soma dos valores c′ (v) ´e estritamente maior que a soma dos valores c(v). Uma k-colora¸ca˜o ´e plena quando n˜ao admite melhoria.
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
Para o lema a seguir, utilizamos a seguinte nota¸ca˜o: dada uma colora¸ca˜o de arestas de um grafo, E j ´e o conjunto de arestas com a cor j. ao plena tal que existe um Lema 7.2. Seja G um grafo com uma k-colora¸c˜ v´ertice u onde uma certa cor 0 n˜ ao est´ a representada em u e uma certa cor 1 est´ a representada pelo menos duas vezes em u. Ent˜ ao, a componente conexa H de G[E 0 ∪ E 1 ] que cont´em u ´e um ciclo ´ımpar. ao χ′ (G) = ∆(G). Teorema 7.3. Se G ´e bipartido ent˜
Teorema 7.4. (Vizing - 1964, Gupta - 1966, Fournier - 1973) Para qualquer grafo G, χ′ (G) ≤ ∆(G) + 1. Pelo teorema acima, conclu´ımos que o ´ındice crom´ atico de um grafo G vale ∆(G) ou ∆(G) + 1. Grafos que tˆem ´ındice crom´atico ∆ s˜ao chamados grafos Classe 1, enquanto que os demais s˜ao grafos Classe 2 . O grafo de Petersen, por exemplo, ´e um grafo Classe 2. O problema de decidir se um dado grafo ´e Classe 1 ou Classe 2 ´e NP-dif´ıcil.
7.3
Exerc´ıcios
7.1. Pinte as arestas de K m,n com ∆ cores. 7.2. Prove que se um grafo G tem 2k + 1 v´ertices e mais do que k.∆ arestas, ent˜ao χ′ (G) = ∆ + 1. 7.3. Seja G um grafo c´ ubico hamiltoniano. Mostre que χ′ (G) = 3. 7.4. Mostre que se G ´e um grafo n˜ao vazio, regular e tal que | V (G)| ´e ´ımpar ent˜ao χ′ (G) = ∆ + 1. 7.5. Descrever um m´etodo algor´ıtmico para colorir as arestas de um grafo bipartido com ∆ cores.
50
8 8.1
Planaridade Defini¸ c˜ ao de grafo planar
Um grafo G ´e planar se existe uma representa¸c˜ ao (ou desenho, ou imers˜ ao) de G no plano de modo que as arestas se encontrem somente nos v´ ertices, isto ´e, de modo que as arestas n˜ ao se cruzem. Uma tal representa¸ca˜o de G ´e dita plana ou planar . Uma representa¸ ca˜o planar divide o plano em regi˜ oes chamadas faces . Existe sempre uma u ´ nica face que n˜ao est´ a limitada (isto ´e, tem a´rea infinita); tal face ´e chamada externa ou infinita . Qualquer representa¸ca˜o planar de G possui sempre o mesmo n´umero de faces; portanto, o n´ umero de faces de um grafo planar ´e uma invariante do mesmo. Note que se G ´e planar ent˜ ao todo subgrafo de G tamb´em ´e planar. Al´em disso, G ´e planar se e somente se todas as suas componentes conexas s˜ ao planares.
8.2
F´ ormula de Euler
A fronteira de uma face f de um grafo planar conexo ´e um passeio fechado que limita e determina a face. Neste passeio, cada ponte ´e atravessada duas vezes. Nota¸ca˜o: b(f ) denota a fronteira da face f . O grau de uma face f ´e o comprimento do passeio fechado que determina sua fronteira. Nota¸ca˜o: d(f ) denota o grau da face f . Seja F (G) = { f 1 , f 2 , . . .} o conjunto de faces de um grafo planar conexo G, e seja F = |F (G)|.
Proposi¸c˜ ao 8.1. Se G ´e conexo e planar ent˜ ao
F i=1
d(f i ) = 2m.
Teorema 8.2. (F´ormula de Euler) Para todo grafo conexo e planar vale: F = m − n + 2.
Corol´ ario 8.3. Se G ´e um grafo planar simples com n ≥ 3 ent˜ ao m ≤ 3n−6.
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
angulos com Corol´ ario 8.4. Se G ´e um grafo planar simples livre de triˆ n ≥ 3 ent˜ ao m ≤ 2n − 4. ao s˜ ao planares. Corol´ ario 8.5. Os grafos K 5 e K 3,3 n˜
Exemplo 8.1. O grafo de Petersen (Figura 4.1) tem n = 10 e m = 15. Portanto, satisfaz a`s desigualdades apresentadas nos Corol´ a rios 8.3 e 8.4. Em outras palavras, n˜ ao podemos utilizar estas desigualdades para provar a n˜ao-planaridade do grafo de Petersen. ao existe um v´ertice Corol´ ario 8.6. Se G ´e um grafo planar simples ent˜ v ∈ V (G) tal que d(v) ≤ 5. A espessura (thickness ) t(G) de um grafo G ´e o menor n´umero de grafos planares cuja uni˜ ao ´e G. Claramente, G ´e planar se e s´ o se t(G) = 1. A proposi¸ca˜o a seguir fornece um limite inferior para t(G):
Proposi¸c˜ ao 8.7. Para qualquer grafo G vale que t(G) ≥ ⌈ 3nm−6 ⌉.
8.3
Caracteriza¸ co ˜es de grafos planares
Uma subdivis˜ ao de um grafo G ´e um grafo obtido de G pelo acr´escimo de ´ f´acil ver que se G ´e planar v´ ertices de grau 2 ao longo das arestas de G. E ent˜ao toda subdivis˜ ao de G tamb´em ´e planar.
Teorema 8.8. (Kuratowski, 1930) Um grafo G ´e planar se e somente se nenhum subgrafo de G ´e uma subdivis˜ ao de K 5 ou K 3,3 . Uma contra¸c˜ ao de G ´e um grafo obtido de G pela identifica¸ca˜o de dois v´ertices adjacentes. A vizinhan¸ca do novo v´ertice ´e igual a` uni˜ao das vizinhan¸cas dos v´ertices originais. Um grafo H ´e um menor de um grafo G se H pode ser obtido a partir de G atrav´es das seguintes opera¸co˜es: remo¸ca˜o de um aresta; remo¸ca˜ o de um v´ertice; contra¸ca˜o de dois v´ertices adjacentes. ao Teorema 8.9. (Wagner, 1937) Um grafo G ´e planar se e somente se G n˜ admite K 5 ou K 3,3 como menor.
Exemplo 8.2. O grafo de Petersen (Figura 4.1) cont´em uma subdivis˜ ao de K 3,3 . Al´em disso, K 5 e K 3,3 s˜ao menores do grafo de Petersen. Logo, ele n˜ ao ´e planar. (Veja Exerc´ıcio 8.5.) 52
Prof. F´ abio Protti
8.4
Notas de Aula de Teoria dos Grafos - IC/UFF
Mapas e o Teorema das Quatro Cores
Dado um grafo planar G, definimos o grafo dual G ∗ de G da seguinte forma: a cada face f de G corresponde um v´ertice f ∗ de G ∗ , e a cada aresta e de G corresponde uma aresta e ∗ de G ∗ ; al´em disso, dois v´ertices f ∗ e g ∗ de G ∗ s˜ao ligados por uma aresta e ∗ se e somente se as faces f e g em G s˜ao separadas pela aresta e.
Proposi¸c˜ao 8.10. Se G ´e planar ent˜ ao G∗ ´e planar. Observe que se G ´e planar e conexo ent˜ ao (G∗ )∗ ´e isomorfo a G. Apresentamos a seguir um dos mais famosos teoremas da Teoria dos Grafos, cuja demonstra¸ca˜o transcende o n´ıvel destas notas:
Teorema 8.11. (Teorema das Quatro Cores - Appel e Haken, 1976) Todo grafo planar ´e 4-color´ıvel. Dualizando, temos:
Teorema 8.12. (Teorema das Quatro Cores - vers˜ ao mapas) Em qualquer mapa, as regi˜ oes podem ser coloridas com at´e 4 cores, de modo que regi˜ oes adjacentes recebam cores distintas.
8.5
Exerc´ıcios
8.1. Mostre que todo grafo planar ´e 6-color´ıvel em v´ertices. 8.2. Falso ou verdadeiro? Se G ´e planar e tem 11 v´ertices ent˜ ao G n˜ao ´e planar. 8.3. Mostre que se G ´e um grafo conexo planar com cintura k ≥ 3, ent˜ao m ≤ k(kn−−22) . (Obs: A cintura de um grafo G ´e o comprimento de seu menor ciclo.) Use este fato para mostrar que o Grafo de Petersen n˜ ao ´e planar. 8.4. Construa um grafo planar auto-complementar com oito v´ertices. 8.5. Mostre que: (a) O grafo de Petersen cont´em uma subdivis˜ a o de K 3,3 . 53
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
(b) K 5 e K 3,3 s˜ao menores do grafo de Petersen. 8.6. O grafo de Gr¨otzsch (Figura 6.1) ´e planar? 8.7. Seja T uma a´rvore geradora de uma representa¸ ca˜o plana G de um grafo ∗ ∗ planar conexo, G seu grafo dual, e seja E = { e∗ ∈ E (G∗ )|e ∈ E (T )}. ∗ ∗ ∗ ∗ Mostre que T = G [E ] ´e uma a´rvore geradora de G .
54
9
Grafos Direcionados
9.1
Conceitos b´ asicos sobre digrafos
Um digrafo D ´e formado por um conjunto de v´ertices , denotado por V (D), e um conjunto de arcos , denotado por A(D). Cada arco ´e um par ordenado de v´ertices distintos. Se xy ´e uma arco, ent˜ao os v´ertices x e y s˜ao os extremos deste arco, onde x ´e o extremo inicial e y ´e o extremo final . Dizemos tamb´em que x ´e vizinho de entrada de y, e que y ´e vizinho de sa´ıda de x. O arco xy ´e divergente de x, e convergente a y. Observe que podem coexistir em um digrafo os arcos xy e yx, que s˜ao distintos por defini¸c˜ao. O conjunto de vizinhos de sa´ıda de um v´ertice v ´e denotado por N + (v), e ´e denominado vizinhan¸ca de sa´ıda de v. Da mesma forma, denotamos a vizinhan¸ca de entrada de v por N − (v). O grau de sa´ıda de v ´e definido como d+ (v) = |N + (v)|, e o grau de entrada como d−(v) = |N − (v)|. Uma fonte ´e um v´ertice com grau de entrada zero, e um sumidouro ´e um v´ertice com grau de sa´ıda zero. Assim como para grafos, definimos analogamente para digrafos: passeios direcionados , caminhos direcionados e ciclos direcionados . Basta tomar as mesmas defini¸co˜es da Se¸ca˜o 1.6 e substituir arestas por arcos . Por exemplo, um passeio direcionado ´e uma sequˆencia de v´ertices v1 , v2 , . . . , vk−1 , vk tal que v j −1v j ∈ A(D) para j = 2, . . . , k. Observe, portanto, que as dire¸c˜oes dos arcos s˜ ao fundamentais nestas defini¸co˜es. Uma diferen¸ca importante entre ciclos em grafos e ciclos direcionados em digrafos ´e que um ciclo possui no m´ınimo trˆes v´ertices distintos, ao passo que um ciclo direcionado pode possuir apenas dois v´ertices distintos x e y (basta que coexistam os arcos xy e y x). Se existe um caminho direcionado iniciando em um v´ertice v e terminando em um v´ertice w, dizemos que v alcan¸ca w, e que w ´e alcan¸cado por v. Se v alcan¸ca w, dizemos que w ´e um sucessor de v, e que v ´e um predecessor de w. Consideramos que todo v´ertice ´e sucessor e predecessor de si mesmo. A alcan¸cabilidade R(D) de um digrafo ´e o conjunto de pares ordenados xy tais que xy ∈ R(D) se e somente se x alcan¸ca y em D. Um digrafo D ′ ´e um subdigrafo de um digrafo D se V (D ′ ) ⊆ V (D) e
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
A(D′ ) ⊆ A(D). Se D′ ´e um subdigrafo de D, dizemos que D ´e um superdigrafo de D ′ . Se D ′ ´e um subdigrafo (resp., superdigrafo) de D com V (D ′ ) = V (D), dizemos que D′ ´e um subdigrafo gerador (resp., superdigrafo gerador ) de D. Um digrafo D ´e fortemente conexo se, para todo par v, w de v´ertices de D, v alcan¸ca w e w alcan¸ca v. Uma componente fortemente conexa de um digrafo D ´e um subdigrafo fortemente conexo maximal de D. Obviamente, D ´e fortemente conexo se e somente se possui uma unica ´ componente fortemente conexa. Um digrafo D ´e ac´ıclico se n˜ao cont´em ciclos direcionados. Dado um grafo (simples) G, uma orienta¸c˜ ao de G ´e um digrafo D obtido pela atribui¸ca˜o de uma dire¸ca˜o a cada aresta xy de G. Isto ´e, A(D) ´e obtido determinando-se, para cada aresta xy ∈ E (G), qual dos dois arcos poss´ıveis (xy ou yx) ser´a inclu´ıdo em A(D). Aqui, ´e importante frisar que em qualquer orienta¸ca˜o D n˜ ao existem ciclos direcionados com apenas dois v´ertices , pois se xy ∈ A(D) ent˜ ao yx ∈ / A(D). Se D ´e uma orienta¸ca˜o de um grafo G, dizemos que G ´e o grafo subjacente de D. Uma orienta¸ca˜o D de um grafo G ´e denominada orienta¸c˜ ao ac´ıclica se D n˜ao cont´em ciclos direcionados. O fecho transitivo de um digrafo D, denotado por C (D), ´e o superdigrafo gerador de D tal que existe um arco xy em C (D) se e somente se existe um caminho direcionado de x a y em D. A redu¸c˜ ao transitiva de um digrafo D ´e um subdigrafo gerador de D que possui a mesma alcan¸cabilidade de D e o menor n´ umero pos´ıvel de arestas. Um digrafo D pode possuir v´ arias redu¸co˜es transitivas diferentes.
9.2
Teorema de Gallai-Hasse-Roy-Vitaver
O seguinte teorema relaciona as orienta¸co˜es de um grafo com o seu n´ umero crom´atico:
Teorema 9.1. (Vitaver - 1962, Hasse - 1965, Roy - 1967, Gallai - 1968) Para qualquer grafo G, valem as seguintes afirma¸coes: ˜ 56
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
(a) Toda orienta¸c˜ ao de G possui um caminho direcionado com pelo menos χ(G) v´ertices. (b) Existe uma orienta¸c˜ ao ac´ıclica de G que possui um caminho direcionado com exatamente χ(G) v´ertices.
Demonstra¸ c˜ ao. A demonstra¸ca˜o de (a) consiste em, dada uma orienta¸ca˜o D de G, considerar um caminho direcionado P em D cujo comprimento em v´ertices seja m´aximo. Digamos que este comprimento seja igual a k. Basta ent˜ao mostrar que G ´e k-color´ıvel, donde conclu´ımos que χ(G) ≤ k. Para mostrar que G ´e k-color´ıvel, seja D′ um subdigrafo gerador ac´ıclico maximal de D. (O digrafo D′ pode ser obtido removendo-se sucessivamente arcos pertencentes a ciclos direcionados, at´e que n˜ ao haja mais nenhum ciclo direcionado no digrafo.) Denote por l(v) o n´ umero de v´ertices no maior caminho direcionado de D′ que termina em v. Observe que l(v) ≤ k para todo v ∈ v(D ′), uma vez que D′ ´e subdigrafo de D e k ´e o comprimento em v´ ertices do caminho direcionado mais longo de D. Al´em do mais, se existe um arco de v para w em D′ , ´e claro que l(w) ≥ l(v) + 1, isto ´e, l(w) = l(v). Seja agora xy um arco em A(D) \ A(D′ ). Por constru¸ca˜o, existe um ciclo direcionado em D do qual xy faz parte. Logo, existe um caminho direcionado em D′ iniciando em y e terminando em x. Como neste caminho os r´otulos l(v) s˜ ao estritamente crescentes, segue que l(y) = l(x). Como D′ ´e gerador, conclu´ımos que os r´ otulos l(v) determinam uma k-colora¸ca˜ o do grafo subjacente a D, isto ´e, o grafo G. A demonstra¸c˜ao de (b) ´e feita da seguinte forma: suponha que χ(G) = k, e considere uma k-colora¸ca˜o dos v´ertices de G. Seja D a orienta¸ca˜ o de G obtida direcionando cada aresta do extremo de menor cor para o extremo de maior cor. Note que D ´e uma orienta¸ca˜o ac´ıclica. Al´em do mais, teremos que ao longo de qualquer caminho direcionado de D as cores ser˜ ao estritamente crescentes. Logo, nenhum caminho direcionado de D poder´ a ter mais do que k v´ertices. Por´em, pela parte (a), D possui um caminho direcionado com pelo menos k v´ertices. Logo, (b) vale. O teorema acima possui uma formula¸ca˜o equivalente que explicita uma forma de dualidade entre as colora¸co˜es dos v´ertices e as orienta¸co˜es das arestas de um grafo. Esta formula¸ca˜o se enuncia do seguinte modo: k ´e o menor n´umero de cores entre todas as colora¸co˜es de um grafo G se e somente se k ´e o maior n´ umero para o qual toda orienta¸ca˜o de G possui um caminho dire57
Prof. F´ abio Protti
Notas de Aula de Teoria dos Grafos - IC/UFF
cionado com k v´ertices. Em outras palavras, dada uma orienta¸ ca˜o D de um grafo G, seja λ(D) o comprimento em v´ertices do caminho direcionado mais longo de D, e seja λ(G) = min{λ(D) | D ´e uma orienta¸ca˜o de G}. Ent˜ao o Teorema 9.1 diz que χ(G) = λ(G). Al´em disso, entre as orienta¸co˜es D que satisfazem λ(D) = λ(G), pelo menos uma delas ´e ac´ıclica.
9.2.1
Torneios
Um torneio ´e uma orienta¸ca˜o de um grafo completo. Como corol´ ario do teorema de Gallai-Hasse-Roy-Vitaver, temos:
Teorema 9.2. Todo torneio possui um caminho Hamiltoniano. Demonstra¸ c˜ ao. O grafo G subjacente ao torneio satisfaz χ(G) = n. Pelo Teorema 9.1(a), existe um caminho direcionado neste torneio contendo todos os n v´ertices de G. Logo, este caminho ´e Hamiltoniano. Um rei ´e um v´ertice que alcan¸ca qualquer outro v´ertice do grafo com no m´aximo dois arcos.
Teorema 9.3. Todo torneio tem um rei. Demonstra¸ c˜ ao. Seja v um v´ertice do torneio cujo grau de sa´ıda seja m´aximo. Se d+(v) = n − 1, v alcan¸ca qualquer v´ertice do torneio com um arco, e portanto ´e rei. Se d+(v) < n−1, seja W = ∅ o conjunto de v´ertices que n˜ao s˜ao vizinhos de sa´ıda de v. Se todo w ∈ W ´e vizinho de sa´ıda de algum v´ertice em N + (v) ent˜ ao v alcan¸ca qualquer v´ertice do torneio com no m´ aximo dois arcos, e portanto ´e rei. Caso contr´ ario, se existe w ∈ W que n˜ao ´e vizinho + de sa´ıda de nenhum v´ertice em N (v), temos que N + (v) ∪{v } ⊆ N + (w), isto ´e, d+(w) > d+ (v). Mas isto ´e uma contradi¸ca˜o. Logo, o teorema vale.
9.3
Exerc´ıcios
9.1. Mostre que se um digrafo ´e ac´ıclico ent˜ ao ele possui pelo menos uma fonte e pelo menos um sumidouro. 9.2. Falso ou verdadeiro? As componentes fortemente conexas de um digrafo definem uma parti¸ca˜o do seu conjunto de arcos. 58