Download PDF
ads:
Decomposic¸
˜
ao em
´
Arvore de Grafos com Largura
Limitada — Uma Pesquisa Algor
´
ıtmica
Luis Eduardo Ximenes Carvalho
Departamento de Ciˆencia da Computac¸˜ao - DC/UFC
Universidade Federal do Cear´a
Fortaleza, CE, Brasil
Agosto, 2002
Vers˜ao parcial de Dissertac¸˜ao a ser apresentada ao
Mestrado em Ciˆencia da Computac¸˜ao,
UFC, como requisito parcial para a
obtenc¸ ˜ao do t´ıtulo de Mestre em
Ciˆencia da Computac¸˜ao.
c
Luis Eduardo Ximenes Carvalho, 2002.
Todos os direitos reservados.
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
Sum
´
ario
1 Introduc¸
˜
ao 1
2 Conceitos e Preliminares 3
2.1 Introduc¸˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3
´
Arvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Conectividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Emparelhamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Menores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 Grafos Cordais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 L´ogica Mon´adica de Segunda Ordem . . . . . . . . . . . . . . . . . . 13
3 Decomposic¸
˜
ao em
´
Arvore 17
3.1 Introduc¸˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Algumas propriedades de DEA . . . . . . . . . . . . . . . . . . . . . 20
3.3 DEA para florestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 DEA para ciclos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 DEA para cliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.6 DEA para grafos cordais . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.7 DEA para grafos com largura no m´aximo 3 . . . . . . . . . . . . . . . 38
3.8 Conjuntos k-ligados, arbustos e novelos . . . . . . . . . . . . . . . . 43
3.9 Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.10 Conceitos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . 48
4 Algoritmos de Decomposic¸
˜
ao em
´
Arvore 50
4.1 Introduc¸˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 DEA em grafos cordais . . . . . . . . . . . . . . . . . . . . . . . . . 52
ii
ads:
Sum
´
ario
4.3 DEA usando separadores fortes . . . . . . . . . . . . . . . . . . . . . 54
4.4 DEA em tempo linear . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 DEA usando reduc¸˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.6 Algoritmos para problemas em grafos com largura em ´arvore limitada 74
5 Conclus
˜
oes e Recomendac¸
˜
oes 77
Refer
ˆ
encias Bibliogr
´
aficas 79
iii
Lista de Figuras
3.1 Exemplos de decomposic¸˜ao em ´arvore. . . . . . . . . . . . . . . . . . . 19
3.2 Uma aresta (i, j) de uma decomposic¸˜ao em ´arvore de um grafo G
corresponde a um separador em G. . . . . . . . . . . . . . . . . . . . . 21
3.3 Decomposic¸˜ao em ´arvore de um subgrafo . . . . . . . . . . . . . . . . 21
3.4 Decomposic¸˜ao em ´arvore de um grafo usando suas componentes. . . . . 22
3.5 Decomposic¸˜ao em ´arvore de um menor de um grafo . . . . . . . . . . . 23
3.6 Decomposic¸˜ao em ´arvore de um grafo a partir de um menor por contrac¸ ˜ao 24
3.7 Tentativa de decomposic¸˜ao em ´arvore de um ciclo. . . . . . . . . . . . 26
3.8 Qualquer ciclo possui K
3
como menor. . . . . . . . . . . . . . . . . . . 27
3.9 Decomposic¸˜ao em ´arvore de um ciclo. . . . . . . . . . . . . . . . . . . 28
3.10 Continˆencia de um subgrafo bipartite completo em uma DEA. . . . . . 30
3.11 Um grafo G n˜ao tem K
4
como menor se e somente se tem largura em
´arvore no m´aximo 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.12 Exemplo de decomposic¸˜ao em ´arvore para um grafo cordal. . . . . . . . 34
3.13 Os grafos M
6
, M
8
e M
10
. . . . . . . . . . . . . . . . . . . . . . . . . 38
3.14 Decomposic¸˜ao em ´arvore do grafo M
6
. . . . . . . . . . . . . . . . . . . 39
3.15 Casos para construc¸˜ao de uma decomposic¸˜ao em ´arvore de M
8
baseada
em cordalizac¸˜ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.16 Decomposic¸˜ao em ´arvore do grafo M
8
, caso 1. . . . . . . . . . . . . . . 40
3.17 Decomposic¸˜ao em ´arvore do grafo M
8
, caso 2. . . . . . . . . . . . . . . 41
3.18 Decomposic¸˜ao em ´arvore de um menor do grafo M
10
. . . . . . . . . . . 42
3.19 Decomposic¸˜ao em ´arvore do grafo M
10
. . . . . . . . . . . . . . . . . . 43
3.20 Uma grade r × s e as cruzes C
2,2
e C
r1,s1
. . . . . . . . . . . . . . . . 44
4.1 Algoritmo para decomposic¸˜ao em ´arvore de grafos cordais. . . . . . . . 52
4.2 Algoritmo para decomposic¸˜ao em ´arvore baseado em cordalizac¸ ˜ao. . . . 54
4.3 Decomposic¸˜ao em ´arvore obtida pelo algoritmo de Reed. . . . . . . . . 56
iv
Lista de Figuras
4.4 Algoritmo proposto em Reed (1992). . . . . . . . . . . . . . . . . . . . 57
4.5 Construc¸˜ao de um S-separador forte de ordem no m´aximo k + 1. . . . . 58
4.6 Exemplo de aplicac¸˜ao de regras de reduc¸˜ao. . . . . . . . . . . . . . . . 68
4.7 Regras de reduc¸˜ao para k-´arvores parciais, k 3. . . . . . . . . . . . . 69
4.8 Algoritmo para decis˜ao de uma propriedade de grafos P dado um sistema
de reduc¸˜ao especial para P , Fase 1. . . . . . . . . . . . . . . . . . . . . 72
4.9 Algoritmo para decis˜ao de uma propriedade de grafos P dado um sistema
de reduc¸˜ao especial para P , Fase 2. . . . . . . . . . . . . . . . . . . . . 73
v
vi
Cap´ıtulo 1
Introduc¸
˜
ao
Durante cerca de uma d´ecada, Neil Robertson e Paul Seymour provaram um dos mais
importantes resultados em Matem´atica Discreta: em todo conjunto infinito de grafos,
existem dois tais que um
´
e menor do outro”. Tal teorema ´e conhecido como Teorema de
Menores de Grafos, e sua prova toma cerca de 500 p´aginas, sendo coberta por sua c´elebre
s´erie de artigos no Journal of Combinatorial Theory, Series B, entre 1986 e 1997.
Como resultado parcial do esforc¸o da prova do teorema, desenvolveram-se diver-
sos conceitos e t´ecnicas de grande potencial e interesse. Um desses conceitos ´e o de
decomposic¸˜ao em ´arvore. Uma decomposic¸˜ao em ´arvore para um grafo procura estabele-
cer uma relac¸ ˜ao estrutural entre as partes deste de modo que estas estejam minimalmente
conectadas, ou seja, de modo que a estrutura do grafo assemelhe-se a de uma ´arvore. Este
tipo de decomposic¸˜ao constitui, desta forma, uma boa ferramenta para o desenvolvimento
de algoritmos eficientes para muitos problemas de otimizac¸˜ao combinat´oria que sejam
modelados em grafos, dado que tais grafos obedec¸am uma estrutura bastante semelhante
a uma ´arvore. O crit´erio para tal similaridade ´e conhecido como largura em ´arvore: quanto
menor a largura em ´arvore de um grafo, mais semelhante este ´e a uma ´arvore; ao contr´ario,
quanto maior a largura em ´arvore, mais conexo o grafo ser´a.
Muitos pesquisadores voltaram ent˜ao seus esforc¸os para a caracterizac¸ ˜ao de tipos
de grafos que sejam suficientemente semelhantes a uma ´arvore para que essa propriedade
possa ser usada eficientemente, principalmente no projeto de algoritmos espec´ıficos. Tais
grafos comp˜oem a classe dos grafos que possuem largura em ´arvore limitada. No entanto,
embora este seja atualmente um assunto bastante estudado e pesquisado em todo o mundo,
´e bastante incipiente no Brasil o desenvolvimento de iniciativas e contribuic¸ ˜oes nesse
sentido.
Este texto compreende uma contribuic¸˜ao para este campo de estudo em Teoria dos
Grafos, de modo principalmente a estimular o surgimento de novos trabalhos e estudos
de profundidade, compat´ıveis com sua complexidade. Este texto pretende assumir um
car´ater introdut´orio, sendo redigido em linguagem acess´ıvel, e, na medida do poss´ıvel,
1
1. Introduc¸
˜
ao
auto-contido e de f´acil compreens˜ao. Al´em disso, ´e tamb´em intenc¸˜ao do texto ilustrar o
estado da arte em algoritmos de decomposic¸˜ao em ´arvore. Embora este tenha sido o prin-
cipal objetivo do trabalho de pesquisa, o principal produto ´e o texto, sendo este bastante
trabalhado.
Uma qualidade do texto que foi valorizada ´e o equil´ıbrio entre o formalismo ma-
tem´atico necess´ario e uma redac¸ ˜ao mais leve, introdut´oria. Tal aspecto teve como objetivo
uma assimilac¸˜ao mais suave da teoria, que pode, numa primeira impress˜ao, parecer in-
trat´avel e herm´etica. No entanto, vale ressaltar que a familiaridade crescente com o
assunto requer, invariavelmente, um bom envolvimento e compreens˜ao dos conceitos e
resultados, e principalmente das provas. De fato, buscou-se uma abordagem compreen-
siva e completa, e praticamente todos os principais resultados da teoria s˜ao demonstrados
com algumas excec¸ ˜oes nos casos em que a prova ´e muito longa ou t´ecnica. O melhor
aprendizado passa, sem d´uvida, pela leitura minuciosa e pelo estudo judicioso dos lemas,
teoremas e definic¸ ˜oes e suas provas. Nesse sentido, procurou-se tamb´em fornecer provas
mais simples e detalhadas, principalmente dos resultados mais importantes.
O texto procura manter a simplicidade inclusive em sua organizac¸˜ao, contendo so-
mente trˆes cap´ıtulos principais. O Cap´ıtulo 2 introduz os conceitos b´asicos necess´arios em
Teoria dos Grafos. No Cap´ıtulo 3, o tema principal do texto ´e discutido: s˜ao apresentados
conceitos de decomposic¸˜ao em ´arvore e largura em ´arvore, com algumas propriedades;
em seguida casos particulares de classes de grafos com largura em ´arvore limitada e pe-
quena s˜ao tratados; e, ao final do cap´ıtulo, ´e feita uma discuss˜ao de novos conceitos de
conectividade para que se possa estabelecer uma obstruc¸˜ao estrutural para grafos com
largura em ´arvore limitada.
O Cap´ıtulo 4 ´e dedicado aos algoritmos para obtenc¸˜ao de decomposic¸ ˜oes em ´arvore.
Nele s˜ao abordados dois paradigmas principais: algoritmos que usam m´etodos recursi-
vos e construtivos, e algoritmos baseados em reduc¸˜ao. Para tanto, s˜ao discutidos trˆes
principais algoritmos, compondo os mais importantes e atuais resultados tanto em ter-
mos de t´ecnicas como de complexidade computacional. Finalmente, no Cap´ıtulo 5, s˜ao
articuladas algumas conclus˜oes e recomendac¸ ˜oes para trabalhos futuros.
2
Cap´ıtulo 2
Conceitos e Preliminares
2.1 Introduc¸
˜
ao
O objetivo deste cap´ıtulo ´e introduzir os principais conceitos a serem usados ao longo do
texto, assim como apresentar a notac¸ ˜ao, tornando-a mais familiar para o leitor.
´
E assumido
que este tenha alguma familiaridade com Teoria dos Grafos e Algoritmos. Os conceitos
foram retirados de v´arias fontes, principalmente de (Bondy e Murty 1976), (Golumbic
1980), (Diestel 2000), mas compartilham a notac¸˜ao adotada por este ´ultimo.
2.2 Grafos
Definic¸
˜
ao 1 (Grafo). Um grafo G ´e um par (V, E), onde V denota o conjunto de
v
´
ertices, e E o conjunto de arestas de G. Cada aresta ´e um par n˜ao-ordenado de v´ertices
u, v V , denotada por (u, v).
Os conjuntos de v´ertices e de arestas de um grafo G s˜ao denotados, respectivamente,
por V (G) e E(G). Um grafo finito ´e um grafo tal que seus conjuntos de v´ertices e arestas
s˜ao finitos; a cardinalidade de V (G) ´e normalmente denotada por n e a de E(G) por m.
Um lac¸o ´e uma aresta (u, v) onde u = v, e arestas que compartilham os mesmos v´ertices,
ou seja e
1
, . . . , e
k
= (u, v), s˜ao chamadas m
´
ultiplas entre u e v ou paralelas. Um grafo
simples G ´e um grafo sem lac¸os e arestas m´ultiplas, ou seja, para qualquer aresta (u, v)
de G, u, v V (G), u = v. Ao longo do texto, um grafo refere-se a um grafo simples
finito, a menos que seja expresso o contr´ario. Um grafo trivial ´e um que cont´em apenas
um v´ertice, ({v}, ), enquanto que um grafo vazio cont´em ambos os conjuntos de v´ertices
e arestas vazios.
Seja G = (V, E) um grafo. Para qualquer aresta e = (u, v) E, u e v s˜ao chamados
extremidades de e, e e ´e chamada a aresta entre u e v, ou conectando u e v. Dois v´ertices
u, v V s˜ao adjacentes se existe uma aresta (u, v) E. Se dois v´ertices u e v s˜ao
3
2. Conceitos e Preliminares
adjacentes, tamb´em diz-se que u ´e vizinho de v e vice versa. Um v´ertice v V e uma
aresta e E s˜ao chamados incidentes se e = (u, v) para algum u V . Duas arestas s˜ao
ditas adjacentes se compartilham uma mesma extremidade. A vizinhanc¸a de um v´ertice
v, denotada por N
G
(v), corresponde ao conjunto de v´ertices adjacentes a v: N
G
(v) =
{u V : (u, v) E}. A vizinhanc¸a de um conjunto de v´ertices S, S V , denotada
por N
G
(S), corresponde ao conjunto de todos os v´ertices adjacentes a algum elemento
de S e n˜ao contidos nele: N
G
(S) = {v : v N
G
(u), u S, v ∈ S}. O grau de um
v´ertice v em G ´e o n´umero de arestas que s˜ao incidentes a v, sendo denotado por d(v). Os
graus m
´
ınimo e m
´
aximo de G, denotados por δ(G) e ∆(G), correspondem ao ınimo e
m´aximo dos graus dentre todos os v´ertices de G, respectivamente, δ(G) = min
vV
{d(v)}
e ∆(G) = max
vV
{d(v)}. Para um grafo G com arestas m´ultiplas, o grafo simples G
obtido pela remoc¸˜ao de arestas m´ultiplas entre quaisquer v´ertices u e v, e posterior adic¸ ˜ao
de (u, v) a E(G
), ´e conhecido como grafo subjacente a G.
Um grafo G
´e um subgrafo de um grafo G se V (G
) V (G) e E(G
) E(G).
Se G
´e um subgrafo de G, ent˜ao G ´e chamado um supergrafo de G
. Se um subgrafo G
de G ´e tal que V (G
) = V (G), ent˜ao G
´e dito um subgrafo gerador de G. Um grafo G
´e um subgrafo de G induzido (por v
´
ertices) por W , onde W V (G), se V (G
) = W
e E(G
) = {(u, v) E : u, v W }. Diz-se tamb´em que G
´e um subgrafo induzido
de G. Para qualquer W V (G), o subgrafo induzido por W ´e denotado por G[W ].
Analogamente, se F E, diz-se que G
´e um subgrafo induzido em arestas por F de G
se E(G
) = F e V (G
) = {u V : (u, v) F, v V }. Da mesma forma, denota-se G
por G[F ].
A definic¸ ˜ao de subgrafo pode ser vista como uma relac¸ ˜ao entre o grafo original e
seu subgrafo. De forma semelhante, algumas operac¸ ˜oes podem ser definidas para grafos.
A uni
˜
ao de dois grafos G
1
= (V
1
, E
1
) e G
2
= (V
2
, E
2
), G
1
G
2
, resulta num grafo
G = (V, E) tal que V = V
1
V
2
e E = E
1
E
2
. A adic¸
˜
ao de um v´ertice v a um grafo
G pode ser vista como um caso particular da uni˜ao entre G e um grafo trivial contendo
v, sendo denotada simplesmente por G + v; analogamente, denota-se por G + e a adic¸ ˜ao
de uma aresta e = (u, v) a G, sendo igual a G H, H = ({u, v}, {e}). Ao contr´ario
da adic¸ ˜ao, pode-se retirar um conjunto de v´ertices X de um grafo G, X V , com base
na diferenc¸a usual entre o conjunto de v´ertices de G e X: G X = G[V \ X]. Desta
forma, pode-se ainda denotar a retirada de um v´ertice v ou aresta e por G v e G e,
respectivamente. A intersec¸
˜
ao entre dois grafos G
1
e G
2
´e definida analogamente `a uni˜ao,
resultando no grafo G = G
1
G
2
onde V = V
1
V
2
e E = E
1
E
2
. Se G ´e um grafo
com subgrafos induzidos G
1
, G
2
e S tais que G = G
1
G
2
e S = G
1
G
2
, ent˜ao diz-se
que G ´e obtido pela (operac¸ ˜ao de) colagem de G
1
e G
2
ao longo de S.
Uma trilha W em um grafo G ´e uma seq¨uˆencia alternada v
1
, e
1
, v
2
, e
2
, . . . , e
p1
, v
p
de v´ertices e arestas (p 1), comec¸ando e terminando em um v´ertice, tal que, para cada
i, v
i
V , e
i
E, e e
i
= (v
i
, v
i+1
). A trilha W ´e tamb´em chamada de trilha de v
1
a v
p
ou trilha entre v
1
e v
p
. Os v´ertices v
1
e v
p
s˜ao chamados extremidades de W , e os outros
v´ertices s˜ao chamados internos. O comprimento de uma trilha ´e o n´umero de arestas que
esta cont´em. Diz-se ainda que uma trilha W usa um v´ertice v se v = v
i
para algum i,
1 i p, e que W evita v se W n˜ao usa v. Se G ´e um grafo simples, ent˜ao n˜ao h´a
necessidade de referenciar as arestas em W , j´a que estas tornam-se implicitamente deter-
4
2.2. Grafos
minadas; neste caso, ou quando somente a seq¨uˆencia de v´ertices for relevante, pode-se
denotar W por v
1
, . . . , v
p
, de forma que para cada i, 1 i p, (v
i
, v
i+1
) E(G).
Um caminho P em um grafo G ´e uma trilha na qual todos os v´ertices s˜ao dis-
tintos, e logo todas as arestas s˜ao tamb´em distintas. A dist
ˆ
ancia entre dois v´ertices u
e v em G ´e o comprimento do menor caminho entre u e v em G. Se P ´e o cami-
nho m´ınimo entre u e v em G, ent˜ao diz-se que P realiza a distˆancia entre u e v.
Seja P = x
1
, x
2
, . . . , x
r1
, x
r
; ent˜ao denotam-se os subcaminhos de P x
1
, . . . , x
i
,
x
i
, . . . , x
r
e x
i
, . . . , x
j
, como P x
i
, x
i
P e x
i
P x
j
, respectivamente. Analogamente, a
uni˜ao de dois caminhos P
1
= x
1
, . . . , x
i
e P
2
= x
i
, . . . , x
r
resultando no caminho
P = x
1
, . . . , x
r
pode ser denotada por P = P
1
x
i
x
i
P
2
, ou P = P
1
x
i
P
2
, ou mesmo
P = x
1
, P
1
, x
i
, P
2
, x
r
.
Um ciclo C em G ´e uma trilha na qual todas as arestas s˜ao distintas, e todos os
v´ertices s˜ao distintos com excec¸˜ao das extremidades, ou seja, apenas o primeiro e ´ultimo
v´ertices s˜ao iguais. Se um grafo G consiste de apenas um caminho, ent˜ao G ´e dito um
caminho em n v´ertices, sendo denotado por P
n
; da mesma forma, se G ´e composto de um
´unico ciclo, G ´e dito um ciclo em n v´ertices, denotado por C
n
.
Dois v´ertices s˜ao conectados em um grafo G se existe um caminho entre eles. Um
grafo G ´e dito conexo se todo par de v´ertices de G ´e conectado. Uma componente (conexa)
C de G ´e um subgrafo conexo maximal de G, ou seja, C ´e um subgrafo de G que ´e conexo,
e n˜ao existe um subgrafo de G que contenha propriamente C e seja tamb´em conexo. Um
conjunto S V ´e um separador de G se existem dois v´ertices u, v V \ S tais que
u e v s˜ao conectados em G e desconectados em G[V \ S]; diz-se ainda que S ´e um
uv-separador em G, e que S ´e um corte em G. Se nenhum subconjunto pr´oprio de S ´e
um uv-separador, ent˜ao S ´e um separador minimal para u e v. Uma articulac¸
˜
ao de G
´e um v´ertice v V (G) tal que {v} ´e um separador de G. Um grafo G ´e biconexo se
G ´e conexo e n˜ao cont´em articulac¸ ˜oes. Uma componente biconexa ou bloco de G ´e um
subgrafo biconexo maximal de G. Pode-se ver que os blocos de G particionam o conjunto
de arestas E de G, cada bloco ´e um subgrafo induzido de G, e um v´ertice v V ´e uma
articulac¸ ˜ao se e somente se v pertence a dois ou mais blocos de G. Uma aresta e E
´e chamada ponte de G se existem dois v´ertices u, v V que s˜ao conectados em G mas
desconectados em G
= (V, E \ {e}).
Uma partic¸
˜
ao de um conjunto S ´e uma divis˜ao dos elementos de S em classes dis-
juntas {X
i
}
iI
tal que
iI
X
i
= S e X
i
X
j
= para todo i, j I, i = j; uma
r-partic¸˜ao ´e uma partic¸˜ao tal que |I| = r. Um grafo G ´e dito r-particionado se admite
uma r-partic¸˜ao de seu conjunto de v´ertices V (G) tal que toda aresta de G tem extremi-
dades em classes diferentes da partic¸ ˜ao. Se um grafo G ´e 2-particionado em conjuntos
X, Y V (G), por exemplo, ent˜ao toda aresta e = (u, v) de G satisfaz u = X e v = Y .
Normalmente se denomina G por grafo bipartite.
A pot
ˆ
encia de um conjunto S ´e a fam´ılia P(S) de todos os subconjuntos de S:
P(S) = {X : X S}. Um grafo completo ´e um grafo (simples) G onde todos os
v´ertices s˜ao adjacentes entre si, ou seja, para todo X P(V (G)), existe uma aresta de
G entre cada par de v´ertices de X. O grafo completo com n v´ertices ´e denotado por K
n
.
Uma clique de um grafo G ´e um subconjunto S V (G) tal que G[S] ´e um subgrafo
completo de G. O n´umero clique de G, denotado por ω(G), ´e o tamanho da maior clique
5
2. Conceitos e Preliminares
em G. Por simplicidade, um grafo completo ´e tamb´em conhecido como uma clique. Um
grafo bipartite completo, por sua vez, ´e um grafo bipartite onde quaisquer dois v´ertices
de classes diferentes s˜ao adjacentes entre si. A partir do conceito de clique, pode-se ainda
definir uma operac¸
˜
ao clique entre um grafo G e um subconjunto de v´ertices X de G,
denotada por G + K(X), resultando num supergrafo G
de G onde os v´ertices em X
formam uma clique.
Dois grafos G
1
= (V
1
, E
1
) e G
2
= (V
2
, E
2
) s˜ao ditos isomorfos — sendo denotado
por G
1
G
2
se existem bijec¸ ˜oes f : V
1
→ V
2
e g : E
1
→ E
2
tais que para cada
v V
1
e e E
1
, v ´e incidente a e em G
1
se e somente se f(v) ´e incidente a g(e) em G
2
.
O par (f, g) ´e chamado um isomorfismo de G
1
a G
2
. Se G
1
e G
2
s˜ao grafos simples, um
isomorfismo entre eles pode ser representado simplesmente por uma func¸ ˜ao f: G
1
e G
2
s˜ao isomorfos se e somente se existe f : V
1
→ V
2
tal que (u, v) E
1
se e somente se
(f(u), f (v)) E
2
.
Diz-se que um grafo ´e planar, ou embut
´
ıvel no plano se este pode ser desenhado no
plano de forma que suas arestas interceptam-se apenas nas extremidades.
2.3
´
Arvores
Uma
´
arvore T ´e um grafo simples conexo sem ciclos. Uma floresta F ´e um grafo simples
sem ciclos, ou seja, um grafo ´e uma floresta se e somente se cada uma de suas componen-
tes ´e uma ´arvore. Vale notar que qualquer aresta de uma ´arvore T ´e uma ponte, e logo T ´e
minimalmente conectado. Um v´ertice de uma ´arvore ´e tamb´em particularmente chamado
de n
´
o.
Lema 2.1. Em uma
´
arvore T , quaisquer dois n
´
os s
˜
ao conectados por um ´unico caminho.
Prova. Seja T uma ´arvore e u, v V (T ) n´os de T . Suponha por absurdo que existam
pelo menos dois caminhos P
1
e P
2
unindo u e v em T . Basta notar agora que a diferenc¸a
sim´etrica entre P
1
e P
2
, (P
1
P
2
) \ (P
1
P
2
), cont´em pelo menos um ciclo, um absurdo,
j´a que, por hip´otese, T ´e uma ´arvore. Logo, a propriedade segue.
Pode-se ver que o lema anterior decorre naturalmente do fato de que uma ´arvore
n˜ao possui ciclos. Desta forma, ao se tomar um caminho maximal P em uma ´arvore T ,
pode-se definir como folhas os v´ertices extremidades de P . As folhas de T s˜ao os v´ertices
extremidades dos caminhos maximais de T , ou seja, todos os v´ertices de grau unit´ario.
Os n´os que n˜ao s˜ao folhas s˜ao chamados internos, j´a que tamb´em s˜ao internos a algum
caminho maximal em T. Al´em disso, pelo Lema 2.1, como o caminho P entre dois n´os u
e v de uma ´arvore T ´e bem definido, pode-se denotar uT v como simplificac¸˜ao para uP v.
Uma
´
arvore enraizada ´e uma ´arvore T com um n´o destacado r chamado raiz de
T . Numa ´arvore enraizada T , os descendentes de um n´o v V (T ) s˜ao os n´os u tais
que o caminho de u at´e a raiz r usa v. Os filhos de v s˜ao os descendentes de v que tˆem
distˆancia unit´aria a v. Pelo Lema 2.1, segue que se v n˜ao ´e raiz, ent˜ao existe apenas um
v´ertice u do qual v ´e filho; u ´e ent˜ao chamado pai de v. Se numa ´arvore T todos os n´os
tˆem no m´aximo dois filhos, diz-se que T ´e uma ´arvore bin
´
aria. Na verdade, as relac¸ ˜oes
de descendˆencia entre os n´os de uma ´arvore representam uma ordem, a ordem em
´
arvore
6
2.3.
´
Arvores
em V (T ) associada a T e r: u v, se u rT v. Pode-se ver que toda ordem em ´arvore
´e uma ordem parcial bem ordenada onde r ´e o elemento ınimo, toda folha da ´arvore ´e
um elemento maximal, as extremidades de uma aresta s˜ao compar´aveis e todo caminho
de r a um n´o v ´e uma cadeia, ou seja, um conjunto da forma {u : u v} onde todos os
elementos s˜ao compar´aveis entre si.
Propriedade Helly
Definic¸
˜
ao 2 (Propriedade Helly). Uma fam´ılia {T
i
}
iI
de subconjuntos de um conjunto
T ´e dita como satisfazendo a propriedade Helly se J I e T
i
T
j
= para todo i, j J
implica que
jJ
T
j
= .
Lema 2.2. Uma fam
´
ılia {T
i
}
iI
de sub-
´
arvores de uma floresta T satisfaz a propriedade
Helly.
Prova. Suponha T
i
T
j
= para todo i, j J I. Considere trˆes n´os u, v e w em T .
Seja S o conjunto de ´ındices s tal que T
s
cont´em pelo menos dois destes trˆes n´os, e sejam
P
uv
, P
vw
e P
uw
caminhos em T conectando u a v, v a w e u a w, respectivamente. Como
T ´e uma ´arvore, segue que P
uv
P
vw
P
uw
= ; mas cada T
s
(s S) cont´em um destes
caminhos, e logo:
sS
T
s
P
uv
P
vw
P
uw
= .
O lema segue por induc¸ ˜ao no tamanho de J. Suponha ent˜ao que
[i, j J : T
i
T
j
= ] =
pJ
T
p
=
vale para toda fam´ılia J de sub-´arvores de tamanho no m´aximo k. Considere agora uma
nova fam´ılia de sub-´arvores J
= {T
1
, . . . , T
k+1
}. Pela hip´otese de induc¸˜ao, existem n´os
u, v e w tais que:
u
k
i=1
T
i
, v
k+1
i=2
T
i
, w T
1
T
k+1
.
Pode-se notar que cada sub-´arvore T
i
cont´em pelo menos dois n´os entre u, v e w, e
logo, pelo exposto acima,
k+1
i=1
T
i
= , o que conclui a prova.
A relac¸ ˜ao entre ´arvores e a propriedade Helly permite inclusive uma caracterizac¸ ˜ao
daquelas em func¸˜ao desta:
Lema 2.3. Um grafo G
´
e uma
´
arvore se e somente se toda fam
´
ılia de caminhos em G
satisfaz a propriedade Helly.
Prova.
() Suponha que G seja uma ´arvore, e seja ent˜ao P = {P
i
}
iI
uma fam´ılia de caminhos
arbitr´aria em G. Sejam J
k
os subconjuntos de ´ındices de I com k elementos tais que
7
2. Conceitos e Preliminares
P
i
P
j
= , i, j J
k
. Para k = 2, claramente
qJ
k
P
q
= . Para k = 3, sejam
P
1
, P
2
e P
3
os elementos de J
3
, e v
1
, v
2
e v
3
n´os pertencentes a P
2
P
3
, P
1
P
3
e
P
1
P
2
, respectivamente. Suponha que P
1
P
2
P
3
= . Desta forma, pode-se ver
que v
1
P
2
v
2
P
3
v
3
P
1
v
1
induz um ciclo em G, um absurdo, j´a que G ´e uma ´arvore; logo,
qJ
3
P
q
= .
A prova da condic¸ ˜ao necess´aria segue por induc¸ ˜ao em k. Suponha ent˜ao que
qJ
p
P
q
= , para todo J
p
I, p k, k < |I|, e seja P
k+1
um caminho em P tal que
P
k+1
P
i
= , para todo P
i
J
k
. Suponha agora por absurdo, que
qJ
k
P
q
P
k+1
= .
Sejam ent˜ao P
1
, . . . , P
k
os caminhos representantes dos ´ındices em J
k
. Pela hip´otese de
induc¸˜ao,
q=i
1qk
P
q
P
k+1
= para 1 i k, e sejam, portanto, v
i
n´os arbitr´arios em
cada intersec¸˜ao
q=i
1qk
P
q
P
k+1
e v
k+1
um n´o arbitr´ario em
1qk
P
q
. Se u e w s˜ao
extremidades de P
k+1
, suponha ainda, sem perda de generalidade, que os v´ertices u, v
1
,
. . ., v
k
, w aparecem nesta ordem em P
k+1
. Basta ver agora que existem dois caminhos
disjuntos unindo v
1
a v
k
: um composto por v
1
P
k+1
v
2
P
k+1
· · · P
k+1
v
k1
P
k+1
v
k
, e outro
por v
1
P
1
v
k+1
P
k
v
k
, onde P
1
e P
k
s˜ao quaisquer caminhos P
i
, 1 i k com i = 1 e
i = k, respectivamente. Logo, tem-se um absurdo pela existˆencia de um ciclo unindo os
k + 1 v´ertices v
i
em G, o que leva a conclus˜ao de que
qJ
k
P
q
P
k+1
= . Como a
propriedade Helly vale para qualquer fam´ılia arbitr´aria de sub-´arvores em G, equivale a
dizer que esta vale para todas.
() Considere P uma fam´ılia qualquer de caminhos em um grafo G = (V, E) que satis-
faz a propriedade Helly, e seja C = uP
1
vP
2
wP
3
u um ciclo em G, com u, v, w V , e
P
1
, P
2
, P
3
P. Como P
1
P
2
= {v}, P
2
P
3
= {w} e P
1
P
3
= {u}, e pela hip´otese de
suficiˆencia, deve-se ter P
1
P
2
P
3
= , e logo C n˜ao pode existir. Como tal propriedade
vale para todas as fam´ılias de caminhos em G, conclui-se que G n˜ao cont´em ciclos, sendo
uma ´arvore.
2.4 Conectividade
A noc¸˜ao de conectividade em grafos j´a foi introduzida na Sec¸ ˜ao 2.2. No entanto, ´e ne-
cess´ario ainda definir um conceito para medic¸ ˜ao da conectividade, ou seja, de qu˜ao conexo
um grafo pode ser.
Definic¸
˜
ao 3 (Grafo k-conexo e Conectividade). Um grafo G = (V, E) ´e k-conexo (para
k N) se |V | > k e G[V \ X] ´e conexo para todo X V , |X| < k. O maior inteiro k
para o qual G ´e k-conexo ´e conhecido como a conectividade κ(G) de G. Por convenc¸ ˜ao,
κ(K
n
) = n 1, n 1.
Em outras palavras, o conceito de conectividade implica que, em um grafo G,
quaisquer dois v´ertices n˜ao s˜ao separados por menos de κ(G) outros v´ertices.
Teorema 2.4 (Teorema de Menger). Seja G = (V, E) um grafo e A, B V . O n
´
umero
m
´
ınimo de v
´
ertices separando A e B
´
e igual ao n
´
umero m
´
aximo de caminhos disjuntos
entre A e B.
8
2.5. Emparelhamentos
Definic¸
˜
ao 4 (Grafo k-ligado). Um grafo G com pelo menos 2k v´ertices ´e dito k-ligado
se, para quaisquer 2k v´ertices s
1
, . . . , s
k
, t
1
, . . . , t
k
em G, este cont´em k caminhos
disjuntos P
i
= s
i
. . . t
i
, 1 i k.
Vale observar que a definic¸ ˜ao de grafo k-ligado implica na satisfac¸˜ao do Teorema de
Menger e logo todo grafo k-ligado ´e tamb´em k-conexo mas requer uma condic¸˜ao
mais forte: n˜ao apenas dois conjuntos de v´ertices devem ser conectados por k caminhos
disjuntos, mas devem existir caminhos distintos unindo cada par espec´ıfico s
i
-t
i
. Desta
forma, nem sempre a k-conectividade implica na k-ligac¸˜ao de um grafo. No entanto, uma
relac¸ ˜ao pode ser estabelecida entre os dois conceitos:
Teorema 2.5 (Jung [1970]; Larman e Mani [1970]). Existe uma func¸
˜
ao f : N → N tal
que todo grafo f(k)-conexo
´
e k-ligado, para todo k N.
2.5 Emparelhamentos
Um emparelhamento em um grafo G = (V, E) ´e um subconjunto M E de arestas
tal que os elementos de M n˜ao s˜ao adjacentes entre si. Cada par de extremidades de
cada aresta em M s˜ao ditas emparelhadas por M, e os v´ertices incidentes `as arestas em
M s˜ao ditos saturados, ou M-saturados. Um emparelhamento M ´e dito maximal em G
se nenhuma outra aresta em G pode ser acrescentada a M de modo a aument´a-lo; um
emparelhamento ´e dito m
´
aximo em G se n˜ao existe outro emparelhamento M
em G tal
que |M
| > |M|.
2.6 Menores
Seja e = (u, v) uma aresta de um grafo G = (V, E). Denota-se por G/e o grafo obtido
pela contrac¸
˜
ao de e. A contrac¸ ˜ao de e em G resulta em um novo v´ertice v
e
em G/e, que
´e feito adjacente a todos os vizinhos de u e v em G. A definic¸ ˜ao formal segue.
Definic¸
˜
ao 5 (Contrac¸ ˜ao). Uma contrac¸
˜
ao (de arestas) ´e uma relac¸ ˜ao entre um grafo
G = (V, E), uma aresta e = (u, v) E e um novo grafo G
= (V
, E
), denotado
por G/e, onde:
V
= V {u, v} {v
e
}
e
E
= {(w, t) E : {w, t} {u, v} = ∅} {(v
e
, w) : (u, w) E e ou (v, w) E e}
onde v
e
´e o novo v´ertice em G
correspondente a e em G.
O conceito de contrac¸ ˜ao de arestas pode ser estendido para contrac¸
˜
ao de v
´
ertices.
Seja U V um subconjunto de v´ertices de G, definido acima. A contrac¸ ˜ao (de v´ertices)
de U em G ´e obtida pela contrac¸˜ao de todas as arestas no conjunto U
E
= {e = (u, v) :
u, v U}. Claramente, como todos os v´ertices em U s˜ao contra´ıdos atrav´es de arestas, U
9
2. Conceitos e Preliminares
induz um subgrafo conexo em G. O grafo obtido pela contrac¸ ˜ao de U em G ´e denotado
G/U. Vale notar que a contrac¸˜ao de uma aresta e = (u, v) pode ser vista como um
caso especial de uma contrac¸˜ao de v´ertices onde U = {u, v}. A contrac¸ ˜ao de um par
de v´ertices {u, v}, mesmo que n˜ao haja uma aresta entre eles, ´e tamb´em particularmente
chamada de identificac¸
˜
ao dos v´ertices u e v em G; neste caso, o novo v´ertice obtido a
partir da contrac¸˜ao de {u, v} ´e denotado por u v.
Seja agora U = {U
i
}
1ik
, onde U
i
V para todo U
i
U, uma fam´ılia
de subconjuntos de v´ertices de G tais que cada U
i
induz um subgrafo conexo em G.
Se o grafo X ´e obtido pela contrac¸ ˜ao em G de todos os subconjuntos em U (X =
G/U
1
/ · · · /U
i
/ · · · /U
k
), ent˜ao denota-se G = MX. Os elementos de U s˜ao chamados
ramos de X.
Definic¸
˜
ao 6 (Menor de um grafo). Se um grafo G = MX ´e um subgrafo de Y , ent˜ao
diz-se que X ´e um menor de Y , e denota-se por X Y .
Vale notar que, pela definic¸ ˜ao, todo subgrafo de um grafo ´e tamb´em seu menor (j´a
que G = MG para qualquer grafo G), assim como todo grafo ´e menor de si mesmo
(j´a que todo grafo ´e subgrafo de si mesmo). Pode-se notar tamb´em que todos os meno-
res de um grafo G podem ser obtidos a partir de uma s´erie de operac¸ ˜oes de eliminac¸˜ao
de v´ertices e arestas e contrac¸ ˜ao de arestas, o que se pode concluir pelo fato de que a
aplicac¸ ˜ao de qualquer uma destas operac¸ ˜oes a um grafo resulta em um menor deste, e
pela transitividade da relac¸˜ao de menor. De fato, uma conclus˜ao maior pode ser obtida:
Proposic¸
˜
ao 2.6 (Diestel [1999]). A relac¸
˜
ao de menor estabelece uma ordem parcial
na classe de grafos finitos, ou seja,
´
e reflexiva, anti-sim
´
etrica e transitiva.
Um conceito relacionado ao de menor ´e o de menor topol
´
ogico. Seja X um grafo e
G um grafo obtido de X pela substituic¸˜ao das arestas em X por caminhos independentes
entre as extremidades de cada aresta. G ´e obtido por subdivis
˜
ao (de arestas) de X, sendo
denotado por G = T X. Analogamente, se G = T X ´e um subgrafo de Y , X ´e dito
um menor topol´ogico de Y . A Proposic¸ ˜ao 2.6 tamb´em se aplica para a relac¸ ˜ao menor
topol´ogico, sendo estabelecida uma ordem parcial na classe de grafos finitos pela relac¸ ˜ao
de menor topol´ogico. Tal caracter´ıstica pode ser melhor aceita se a relac¸ ˜ao entre menor e
menor topol´ogico for melhor definida:
Proposic¸
˜
ao 2.7 (Diestel [1999]).
1. Para um grafo X, todo T X
´
e tamb
´
em um MX. Logo, qualquer menor topol
´
ogico
de um grafo
´
e tamb
´
em seu menor (convencional).
2. Se ∆(X) 3, ent
˜
ao qualquer MX cont
´
em um T X. Logo, qualquer menor com
grau m
´
aximo no m
´
aximo 3 de um grafo
´
e tamb
´
em um menor topol
´
ogico deste.
Classes de grafos
Uma propriedade de grafos P ´e uma func¸˜ao que mapeia cada grafo (no dom´ınio de P )
a um valor verdadeiro ou falso; assume-se tamb´em que P ´e invariante com relac¸ ˜ao a
isomorfismo. Uma classe de grafos C ´e um conjunto de grafos tal que cada elemento de
C satisfaz uma dada propriedade de grafos. Como exemplo, pode-se definir uma classe
10
2.7. Grafos Cordais
K onde cada elemento K de K ´e tal que todos os v´ertices de K s˜ao adjacentes entre si;
claramente, K ´e classe dos grafos completos.
Considere agora um conjunto ou classe de grafos H. A classe
Proib
(H) = {G : H G para todo H H}
dos grafos que n˜ao tˆem elementos de H como menores ´e uma classe fechada com relac¸ ˜ao
a isomorfismo. A classe tamb´em pode ser caracterizada pelos grafos em H, sendo estes
conhecidos como menores proibidos (ou exclu
´
ıdos). Se C = Proib
(H) como acima,
ent˜ao diz-se tamb´em que H ´e o conjunto de obstruc¸
˜
ao da classe C.
Pela Proposic¸ ˜ao 2.6, a classe Proib
(H) ´e fechada tamb´em com relac¸ ˜ao a tomada
de menores se G
G Proib
(H), ent˜ao G
Proib
(H). A proposic¸˜ao seguinte
vincula as duas definic¸ ˜oes:
Proposic¸
˜
ao 2.8. Uma classe de grafos C pode ser expressa por menores proibidos se e
somente se C
´
e fechada com relac¸
˜
ao a tomada de menores.
Como Diestel (2000) define, uma classe fechada com relac¸ ˜ao a tomada de menores
´e tamb´em chamada heredit
´
aria.
2.7 Grafos Cordais
Um grafo n˜ao direcionado G ´e chamado cordal se cada ciclo de tamanho estritamente
maior que 3 possui uma corda, ou seja, uma aresta unindo dois v´ertices n˜ao consecutivos
do ciclo. Como G n˜ao possui subgrafos induzidos isomorfos a C
n
, n > 3, o maior ciclo
de G ´e um triˆangulo, e logo G ´e tamb´em chamado triangulado.
Uma forma simples de caracterizar grafos cordais ´e atrav´es de separadores
minimais, como mostrado no lema a seguir.
Lema 2.9 (Dirac [1961]). G
´
e um grafo cordal se e somente se todo separador minimal
induz um subgrafo completo em G.
Prova.
() Suponha que S seja um uv-separador minimal de G = (V, E), sendo U e V as
componentes de G[V \ S] contendo u e v, respectivamente. Como S ´e minimal, todo
s S ´e adjacente pelo menos a algum v´ertice de U e a algum v´ertice de V . Logo,
para qualquer par x, y S, existem caminhos x, u
1
, . . . , u
r
, y e y, v
1
, . . . , v
t
, x, onde
u
i
U, 1 i r e v
i
V, 1 i t, que podem ser escolhidos de modo a ter o
menor comprimento poss´ıvel. Segue que x, u
1
, . . . , u
r
, y, v
1
, . . . , v
t
, x ´e um ciclo cujo
comprimento ´e no m´ınimo 4, implicando que este deve ter uma corda. Mas (u
i
, v
j
) ∈ E
pela definic¸˜ao de S, e (u
i
, u
j
) ∈ E e (v
i
, v
j
) ∈ E, pela minimalidade de r e t. Logo a
´unica corda poss´ıvel ´e (x, y). Como isso vale para qualquer par x, y S, segue que S
induz um subgrafo completo em G.
() Seja u, x, v, y
1
, y
2
, . . . , y
k
, u, k 1, um ciclo de G = (V, E). Como qualquer uv-
separador minimal deve conter os v´ertices x e y
i
, 1 i k, segue que (x, y
i
) E e
(y
i
, y
j
) E, e logo o ciclo sempre ter´a uma corda.
11
2. Conceitos e Preliminares
Um outro resultado auxiliar envolvendo separadores minimais pode ser encontrado
a partir da observac¸ ˜ao de que r = t = 1 na prova da condic¸ ˜ao necess´aria do lema acima, e
logo, para qualquer par de v´ertices x, y S existem v´ertices em U e V que s˜ao adjacentes
tanto a x como a y. O resultado auxiliar segue de uma condic¸˜ao mais forte deste fato:
Lema 2.10. Para qualquer separador minimal S de um grafo cordal G = (V, E), existe
um v
´
ertice v em cada componente conexa de G[V \ S] tal que S N
G
(v).
Prova. Seja G = (V, E) um grafo cordal e S um separador minimal de G. A prova
´e por induc¸˜ao no tamanho de S. Se S = {s} ent˜ao o lema ´e trivial. Seja ent˜ao S =
{s
1
, . . . , s
k
} e suponha que existe um v´ertice v tal que S s
k
N
G
(v). Se s
k
N
G
(v)
a prova est´a completa. Suponha ent˜ao o contr´ario, e logo deve existir um outro v´ertice
u pertencente a mesma componente de v e adjacente a s
k
(do contr´ario S n˜ao seria um
separador minimal). Assuma ainda, sem perda de generalidade, que u ´e adjacente a v.
Pelo Lema 2.9, s
k
´e adjacente a todos os outros v´ertices de S. Para cada s
i
, 1 i
k 1, C
i
= s
i
, v, u, s
k
, s
i
induz um ciclo em G, e logo, como G ´e cordal e (v, s
k
) ∈ E,
deve existir uma corda unindo u e s
i
. Portanto, S N
G
(u) e a prova est´a conclu´ıda.
Uma outra caracterizac¸ ˜ao de grafos cordais, de aspecto mais algor´ıtmico, envolve
uma enumerac¸ ˜ao especial dos v´ertices do grafo. Para tanto, novos conceitos s˜ao ne-
cess´arios. Um v´ertice v de G ´e chamado simplicial se sua vizinhanc¸a N
G
(v) induz um
subgrafo completo de G, ou seja, N
G
(v) ´e uma clique. V´ertices simpliciais tˆem grande
aplicac¸ ˜ao na elaborac¸ ˜ao de algoritmos para grafos cordais. Antes de apresentar uma
caracterizac¸ ˜ao algor´ıtmica desta classe de grafos, um outro resultado auxiliar ´e necess´ario.
Lema 2.11 (Dirac [1961]). Todo grafo cordal G tem um v
´
ertice simplicial. Al
´
em disso,
se G n
˜
ao
´
e completo, ent
˜
ao ele tem dois v
´
ertices simpliciais n
˜
ao adjacentes.
Prova. Se G ´e completo, o lema torna-se trivial. Suponha ent˜ao que G = (V, E) possui
dois v´ertices u e v n˜ao adjacentes e que, por induc¸˜ao, o lema vale para todos os grafos com
menor cardinalidade de v´ertices que G. Considere agora S um separador minimal para u
e v, e as duas componentes (conexas) U e V de G[V \S] contendo u e v, respectivamente.
Pelo crit´erio de induc¸˜ao, ou G[U S] tem dois v´ertices n˜ao adjacentes e simpliciais,
dos quais um deve estar em U, j´a que S induz um subgrafo completo (Lema 2.9), ou
G[U S] ´e completo e logo qualquer v´ertice deste ´e simplicial. Conseq¨uentemente, como
N
G
(U) U S, todo v´ertice simplicial em G[U S] o ´e tamb´em em G. Como o mesmo
argumento aplica-se para V , G possui pelo dois v´ertices simpliciais, o que conclui a prova.
Usando o resultado do Lema 2.11, Fulkerson e Gross (1965) apud (Golumbic 1980)
sugeriram um procedimento iterativo para reconhecer grafos cordais: repetidamente loca-
lize um v´ertice simplicial e elimine-o do grafo at´e que ou nenhum v´ertice permanec¸a
e o grafo seja cordal ou nenhum v´ertice seja simplicial, e logo o grafo n˜ao ´e cordal.
Formalmente, a eliminac¸ ˜ao iterativa de v´ertices simpliciais pode ser representada por um
esquema enumerativo.
Sejam ent˜ao G = (V, E) um grafo n˜ao direcionado e σ = [v
1
, v
2
, . . . , v
n
] um orde-
namento de v´ertices de V . Diz-se que σ ´e um esquema perfeito de eliminac¸
˜
ao de v
´
ertices,
12
2.8. L
´
ogica Mon
´
adica de Segunda Ordem
ou simplesmente um esquema perfeito, se cada v
i
´e um v´ertice simplicial do subgrafo
induzido G[{v
i
, . . . , v
n
}]. O seguinte resultado formaliza o procedimento de Fulkerson e
Gross:
Lema 2.12. G
´
e um grafo cordal se e somente se G admite um esquema de eliminac¸
˜
ao
perfeito. Al
´
em disso, qualquer v
´
ertice simplicial pode iniciar um esquema perfeito.
Prova.
() Pelo Lema 2.12, se G = (V, E) ´e cordal, ent˜ao este possui um v´ertice simplicial x.
Basta agora notar que, por induc¸˜ao, G[V x] ´e ainda cordal e deve admitir um esquema
σ
de eliminac¸˜ao perfeito. Um esquema σ perfeito para G ´e simplesmente σ = [x] σ
,
ou seja, a junc¸˜ao de x a σ
como prefixo.
() Sejam C um ciclo de G e x um v´ertice de C de menor ´ındice em um esquema
perfeito. Como |N
G
(x) C| 2, a simplicialidade de x garante uma corda em C.
Os grafos cordais possuem caracter´ısticas especiais que ser˜ao melhor exploradas no
pr´oximo cap´ıtulo. E alguns casos, ´e interessante ent˜ao obter um grafo cordal, supergrafo
de um grafo original, acrescentando arestas a este. Um grafo H = (V, E
) ´e dito ent˜ao
uma cordalizac¸
˜
ao de um grafo G = (V, E) se G ´e um subgrafo gerador de H e H ´e
cordal; neste caso, E
\ E ´e uma triangulac¸
˜
ao de G resultando em H. H ´e dito uma
k-cordalizac¸ ˜ao de G se ´e uma cordalizac¸ ˜ao cujo tamanho da maior clique ´e no m´aximo k.
k-
´
arvores
Definic¸
˜
ao 7 (k-´arvore). Uma k-
´
arvore ´e definida recursivamente como se segue: uma
k-
´
arvore com k + 1 v´ertices consiste de uma clique com k + 1 v´ertices (k + 1-clique);
dada uma k-
´
arvore T
n
com n v´ertices, n > k + 1, constr´oi-se uma k-
´
arvore com n + 1
v´ertices acrescentando um novo v´ertice v a T
n
e fazendo-o adjacente a cada v´ertice de
uma k-clique de T
n
e n˜ao adjacente aos n k v´ertices restantes. Uma k-
´
arvore parcial ´e
um subgrafo de uma k-´arvore.
Lema 2.13. Uma k-
´
arvore
´
e um grafo cordal.
Prova. Seja T
n
uma k-´arvore com n v´ertices. Pela definic¸ ˜ao de k-´arvore, sempre existe
um v´ertice v
1
adjacente a uma k-clique, e logo, simplicial. Com a retirada de v
1
de T
n
,
tem-se ainda uma k-´arvore T
n1
com n 1 v´ertices, de onde se pode retirar outro v´ertice
v
2
simplicial (e adjacente a outra k-clique). Pode-se perceber ent˜ao que n k v´ertices
simpliciais podem ser retirados de T
n
de forma iterada. Como os outros k v´ertices res-
tantes s˜ao simpliciais, tem-se que σ = [v
1
, v
2
, . . . , v
n
] constitui um esquema perfeito de
eliminac¸˜ao, e logo T
n
´e cordal.
2.8 L
´
ogica Mon
´
adica de Segunda Ordem
Definic¸
˜
ao 8 (Grafo terminal). Um grafo terminal ´e uma tripla (V, E, X), onde (V, E) ´e
um grafo simples e X V ´e um conjunto ordenado de l v´ertices, 0 l |V |, denotado
13
2. Conceitos e Preliminares
por X = [x
1
, . . . , x
l
]. Os v´ertices em X s˜ao denominados terminais, e os v´ertices em
V \ X, internos.
Um grafo terminal G = (V, E, X) com l terminais ´e tamb´em chamado l-terminal,
e x
i
X, 1 i l, ´e denominado o i-´esimo terminal de G. O conjunto de v´ertices
terminais de G ´e denotado por Term(G) = X e logo, se G ´e l-terminal, |Term(G)| = l
e o conjunto de v´ertices internos de G ´e denotado por Int(G) = V \X. Um grafo termi-
nal G ´e dito aberto se n˜ao existem arestas entre os terminais de G. De modo semelhante
a grafos convencionais, diz-se que dois grafos terminais G
1
= (V
1
, E
1
, [x
1
, . . . , x
l
]) e
G
2
= (V
2
, E
2
, [y
1
, . . . , y
p
]) s˜ao isomorfos se l = p e se existe um isomorfismo entre
G
1
= (V
1
, E
1
) e G
2
= (V
2
, E
2
) mapeando cada x
i
a y
i
, 1 i l. O isomorfismo entre
grafos terminais ´e denotado da mesma forma que em grafos convencionais, ou seja, se G
1
e G
2
s˜ao isomorfos, escreve-se G
1
G
2
.
Definic¸
˜
ao 9 (Operac¸ ˜ao de junc¸ ˜ao terminal). A operac¸
˜
ao de junc¸
˜
ao terminal mapeia
dois grafos terminais G e H com o mesmo n´umero de terminais em um grafo simples
G H tomando a uni˜ao de G e H e identificando os terminais correspondentes, ou seja,
identificando o i-´esimo terminal de G com o i-´esimo terminal de H e removendo arestas
m´ultiplas.
Definic¸
˜
ao 10 (Propriedade de ´ındice finito). Seja P uma propriedade de grafos, e l um
n´umero natural. Para grafos l-terminais G
1
e G
2
, define-se uma relac¸ ˜ao de equivalˆencia
P,l
da seguinte forma:
G
1
P,l
G
2
para todo grafo l-terminal H : P (G
1
H) P (G
2
H).
A propriedade P ´e dita de
´
ındice finito se, para todo l,
P,l
tem finitas classes de
equivalˆencia.
De acordo com Courcelle (1990), uma classe de grafos cuja propriedade ´e de ´ındice
finito ´e chamada de estado finito. Ele definiu uma ampla classe de grafos de estado fi-
nito. Nos pr´oximos cap´ıtulos a aplicac¸ ˜ao desse tipo de classe ficar´a mais clara, assim
como a sua grande vantagem computacional. Courcelle (1990) definiu uma linguagem
para caracterizac¸ ˜ao de tais classes:
Definic¸
˜
ao 11 (L´ogica Mon´adica de Segunda Ordem para grafos). A L
´
ogica Mon
´
adica
de Segunda Ordem (LMSO) para grafos G = (V, E) consiste de uma linguagem na qual
os predicados podem ser constru´ıdos usando:
1. Os conectivos l´ogicos (e), (ou), ¬ (negac¸ ˜ao), = (implica) e (se e somente
se).
2. Vari´aveis que podem ser vari´aveis de v´ertices (com dom´ınio V ), de arestas (com
dom´ınio E), de conjuntos de v´ertices (com dom´ınio P(V ), a fam´ılia de todos os
subconjuntos de V ), e de conjuntos de arestas (com dom´ınio P(E), a fam´ılia de
todos os subconjuntos de E).
3. Os quantificadores existencial () e universal ().
4. As seguintes relac¸ ˜oes bin´arias:
14
2.8. L
´
ogica Mon
´
adica de Segunda Ordem
v W , onde v e W s˜ao vari´aveis de v´ertice e conjunto de v´ertices,
respectivamente;
e F , onde e e F s˜ao vari´aveis de aresta e conjunto de arestas,
respectivamente;
v e w s˜ao adjacentes em G”, onde v e w s˜ao vari´aveis de v´ertices;
v ´e incidente a e em G”, onde v e e s˜ao vari´aveis de v´ertice e aresta,
respectivamente;
igualdade entre vari´aveis do mesmo tipo.
Seja R um predicado LMSO tal que R n˜ao cont´em vari´aveis livres. Ent˜ao diz-se
que um grafo G satisfaz R se R resulta em verdadeiro para G. Um propriedade de grafos
P ´e MS-defin
´
ıvel se existe um predicado R definido em LMSO para grafos sem vari´aveis
livres tal que, para todo grafo G, P (G) vale se e somente se G satisfaz R. Uma classe de
grafos ´e MS-defin´ıvel se sua propriedade ´e MS-defin´ıvel.
Como exemplo, a fim de esclarecer melhor o conceito de MS-definibilidade, pode-
se mostrar que a classe de grafos bipartites ´e MS-defin´ıvel. Para tanto, considere o
seguinte predicado LMSO R:
R = UW (U V ) (W V ) (U W = ) (U W = V )
uv
(u V ) (v V ) (u e v s˜ao adjacentes)
=
(u U) (v W )

.
Vale notar que as operac¸ ˜oes de continˆencia, intersec¸ ˜ao e uni˜ao entre conjuntos n˜ao
s˜ao definidas na linguagem, e constam na express˜ao de R acima apenas por simplicidade.
No entanto, pode-se definir U W como u(u U) = (u W ), e expressar:
U W = por u
(u U) (u W )
= ¬
(u U) (u W )
e
U W = V por u
(u U) (u W )
= (u V ).
Na express˜ao de R, pode-se ver que U e W representam classes de uma partic¸˜ao de
V , e logo, G ´e bipartite se e somente se G satisfaz R. Como conseq¨uˆencia direta, a propri-
edade P , “ser bipartite”, ´e MS-defin´ıvel. Courcelle (1990) mostrou que toda propriedade
MS-defin´ıvel caracteriza uma classe de grafos de estado finito.
A definic¸ ˜ao de propriedade de grafos pode ainda ser estendida de modo a envol-
ver outras vari´aveis. Seja ent˜ao P uma propriedade de grafos estendida com vari´aveis G,
X
1
, . . . , X
r
, onde G ´e um grafo e, para cada i, 1 i r, X
i
D
i
para algum dom´ınio
D
i
. Ent˜ao, analogamente, diz-se que P (G, X
1
, . . . , X
r
) ´e MS-defin´ıvel se existe um pre-
dicado LMSO para grafos R(Y
1
, . . . , Y
r
), com vari´aveis livres Y
1
, . . . , Y
r
, tal que, para
todo grafo G e vari´aveis X
1
, . . . , X
r
, P vale se e somente se G satisfaz R(X
1
, . . . , X
r
).
15
2. Conceitos e Preliminares
Como exemplo, considere agora X
1
e X
2
subconjuntos de v´ertices de um grafo
G. A propriedade “ser bipartite com classes X
1
e X
2
para G, P (G, X
1
, X
2
), ´e ent˜ao
MS-defin´ıvel se P (G, X
1
, X
2
) vale se e somente se G satisfaz um predicado LMSO com
parˆametros Y
1
e Y
2
. Seja R(Y
1
, Y
2
) o predicado LMSO definido por:
R(Y
1
, Y
2
) = (Y
1
Y
2
= ) (Y
1
Y
2
= V (G))
uv
(u V (G)) (v V (G)) (u e v s˜ao adjacentes)
=
(u Y
1
) (v Y
2
)

.
Pode-se ver que, para quaisquer G, X
1
e X
2
tais que G ´e bipartite com classes X
1
e
X
2
, G satisfaz R(X
1
, X
2
). Logo, P (G, X
1
, X
2
) vale, e ´e MS-defin´ıvel.
16
Cap´ıtulo 3
Decomposic¸
˜
ao em
´
Arvore
3.1 Introduc¸
˜
ao
Muitos problemas de otimizac¸˜ao combinat´oria podem ser modelados e, conseq¨uente-
mente, tratados por grafos. Dentre as diversas vantagens desta abordagem, uma das
principais reside no fato de que, para determinadas classes de grafos, algoritmos es-
pec´ıficos podem ser projetados de modo a resolver o problema com complexidade
computacional bem menor, polinomial. Ou seja, como a complexidade destes problemas ´e
exponencial, a restric¸ ˜ao do problema a certos tipos de grafos o torna trat´avel praticamente.
Dentre as classes de grafos empregadas para tal estrat´egia, destacam-se as
´
arvores.
Uma ´arvore n˜ao possui ciclos, e logo tal caracter´ıstica mostra-se extremamente favor´avel
para aplicac¸ ˜ao de algoritmos recursivos, por exemplo. Basta notar, por exemplo, que di-
versas estrat´egias gerais de resoluc¸ ˜ao buscam o espac¸o vi´avel de soluc¸ ˜oes atrav´es de uma
´arvore, como no caso da programac¸˜ao dinˆamica e da divis˜ao e conquista; al´em disso, al-
goritmos comuns de busca em grafos, como busca em largura e busca em profundidade,
percorrem o grafo formando uma ´arvore.
Infelizmente, a maior parte dos problemas n˜ao s˜ao modelados em ´arvores, o que
inviabiliza tal abordagem. Uma estrat´egia interessante seria ent˜ao estender o tratamento
natural dado `as ´arvores para outras classes de grafos, e, finalmente, para todos os grafos.
Claramente, ´e esperado que, na medida em que o grafo seja menos semelhante a uma
´arvore, a complexidade de um algoritmo para este grafo seja maior, mais pr´oxima da
exponencial; por outro lado, a complexidade poder´a ser polinomial, ou mesmo linear,
qu˜ao mais similar a uma ´arvore o grafo seja.
A Decomposic¸
˜
ao em
´
Arvore ´e uma abordagem que tem essa finalidade: estabelecer
relac¸ ˜oes estruturais num grafo de forma que este assemelhe-se a uma ´arvore. Constitui-se
da relac¸ ˜ao entre subgrafos de um grafo G e n´os de uma ´arvore de modo que o con-
junto de arestas de G seja particionado numa estrutura em ´arvore. O conceito formal foi
apresentado por (Robertson e Seymour 1986):
17
3. Decomposic¸
˜
ao em
´
Arvore
Definic¸
˜
ao 12 (Decomposic¸˜ao em ´arvore). Uma decomposic¸
˜
ao em
´
arvore (DEA) D de
um grafo G = (V, E) ´e um par (X = {X
i
: i I}, T = (I, F )), sendo {X
i
: i I}
uma fam´ılia de subconjuntos de V , um para cada n´o de T , e T uma ´arvore, tais que:
[P1]
iI
X
i
= V ;
[P2] para toda aresta (v, w) E, existe um i I tal que v X
i
e w X
i
;
[P3] para todo i, j, k I, se j est´a no caminho entre i e k em T , ent˜ao X
i
X
k
X
j
.
A fam´ılia X compreende as partes da decomposic¸ ˜ao em ´arvore, ou seja, cada X
i
,
i I. As duas primeiras restric¸ ˜oes implicam que X compreende uma fam´ılia de subgra-
fos de G sendo cada subgrafo obtido pela induc¸ ˜ao de cada parte em G enquanto
que a ´ultima restric¸˜ao garante a estrutura em ´arvore da decomposic¸˜ao. Isto pode n˜ao ser
imediato, ent˜ao, por enquanto, pode-se substituir [P3] por uma restric¸ ˜ao equivalente:
[P3’] para todo v V , T
v
= {i I : v X
i
} induz uma ´arvore.
Como cada v´ertice de um grafo ´e relacionado a uma ´arvore, claramente a uni˜ao de
todos os v´ertices resulta numa ´arvore. Embora esta propriedade de estrutura em ´arvore
seja mais clara quando [P3’] ´e considerada, [P3] ´e bem mais ´util e direta quando se deseja
construir decomposic¸ ˜oes em ´arvore. A equivalˆencia entre as duas restric¸ ˜oes ´e mostrada a
seguir.
Lema 3.1. As restric¸
˜
oes [P3] e [P3’] da definic¸
˜
ao de decomposic¸
˜
ao em
´
arvore s
˜
ao
equivalentes.
Prova.
([P3’] [P3]). Sejam i, j I n´os de T . Se X
i
X
j
= , ent˜ao [P3] segue, j´a que qualquer
X
k
, k iT j, cont´em a intersec¸ ˜ao entre X
i
e X
j
. Suponha ent˜ao que X
i
X
j
= , e seja
v X
i
X
j
. Claramente, por [P3’], a ´arvore T
v
cont´em o caminho iTj. Logo, para todo
k iT j, segue que v X
k
. Pelo mesmo motivo, todo v´ertice pertencente a intersec¸ ˜ao
entre X
i
e X
j
pertence a todo X
k
, k iT j, e logo X
k
X
i
X
j
.
([P3] [P3’]). Seja v V e T
v
= {i I : v X
i
}. Se |T
v
| = 1, ent˜ao T
v
´e um grafo
trivial, e logo uma ´arvore; se T
v
= {i, j}, ent˜ao, por [P3], e como X
i
X
j
= , existe
uma aresta entre i e j, e logo T
v
´e uma ´arvore. Suponha ent˜ao que |T
v
| 3, e sejam i, j
e k v´ertices em T
v
. Pela definic¸ ˜ao de T
v
, v X
i
X
j
X
k
, e seja X
p
, p T
v
, tal que
X
p
X
i
X
j
X
k
. Segue ent˜ao por [P3] que quaisquer caminhos unindo n´os diferentes
de {i, j, k} se interceptam em p. Logo, qualquer fam´ılia de caminhos em T
v
satisfaz a
propriedade Helly, e, pelo Lema 2.3, T
v
´e uma ´arvore.
Na verdade, para cada v V , T
v
induz uma sub-
´
arvore de T . Formalmente, denota-
se ent˜ao por T
v
a sub-´arvore de T induzida por v V em D, T
v
= {i I : v
X
i
}.
Pode-se perceber tamb´em que, a partir da definic¸ ˜ao, v´arias decomposic¸ ˜oes podem
ser obtidas para o mesmo grafo. A Figura 3.1 ilustra algumas decomposic¸ ˜oes em ´arvore.
Pode-se ver que estas variam de acordo com o tamanho da ´arvore T e dos subconjuntos
X
i
. O tamanho da ´arvore pode n˜ao ser t˜ao decisivo para julgar a estrutura em ´arvore do
18
3.1. Introduc¸
˜
ao
grafo, j´a que a Definic¸ ˜ao 12 permite a inclus˜ao de subconjuntos vazios, e logo permite
tamb´em a inclus˜ao de n´os redundantes na ´arvore.
(b)(a) (c)
i
1
i
2
i
3
i
1
a
i
h
X
i
1
c
g
X
i
1
X
i
6
X
i
8
X
i
7
X
i
3
b
e
d
f
k
j
X
i
2
X
i
3
X
i
2
X
i
5
i
1
i
2
i
7
i
6
i
8
i
5
i
3
i
4
X
i
4
Figura 3.1. Exemplos de decomposic¸˜ao em ´arvore.
Claramente todo grafo G admite uma decomposic¸˜ao trivial em ´arvore, (X =
{V }, T = ({i}, )), como a decomposic¸˜ao ilustrada na Figura 3.1(a). Al´em disso, ´e
poss´ıvel a existˆencia de dois n´os adjacentes i e j em uma decomposic¸˜ao em ´arvore D
para G tais que X
i
X
j
. Pode-se ver que X
i
´e redundante, pois pode-se obter uma nova
decomposic¸˜ao em ´arvore D
a partir da identificac¸˜ao de i e j em T . Por outro lado, se uma
decomposic¸˜ao em ´arvore D ´e tal que quaisquer n´os adjacentes i e j satisfazem X
i
⊆ X
j
e X
j
⊆ X
i
, ent˜ao D ´e dita uma boa decomposic¸˜ao em ´arvore. Decomposic¸ ˜oes triviais e
n˜ao boas s˜ao muito pouco usadas na pr´atica, tendo mais aplicac¸˜ao como base de induc¸ ˜ao
ou construc¸ ˜oes usadas nas provas de alguns resultados. Suas presenc¸as neste texto est˜ao
limitadas a tais situac¸ ˜oes, sendo as decomposic¸ ˜oes boas bem mais ´uteis.
Mesmo considerando decomposic¸ ˜oes boas, o tamanho das partes pode, no entanto,
ser ainda significativo ao se avaliar a similaridade do grafo com uma ´arvore: qu˜ao menores
os tamanhos dos subconjuntos X
i
mais semelhante ´e o grafo a uma ´arvore. O efeito dos
tamanhos das partes fica mais evidente ao se comparar as Figuras 3.1(b) e 3.1(c). Deste
modo, uma medida quantitativa de similaridade se faz desej´avel, e pode agora ser definida.
Definic¸
˜
ao 13 (Largura em ´arvore). A largura em
´
arvore de uma decomposic¸
˜
ao D =
(X = {X
i
: i I}, T = (I, F )) ´e definida como LA
G
(D) = max
iI
{|X
i
| 1}. A
largura em
´
arvore de um grafo G ´e a largura m
´
ınima dentre todas as decomposic¸ ˜oes em
´arvore poss´ıveis de G, ou seja, LA(G) = min{LA
G
(D) : D ´e uma decomposic¸˜ao em
´arvore de G}.
19
3. Decomposic¸
˜
ao em
´
Arvore
A menos que haja confus˜ao na notac¸˜ao, pode-se tamb´em referir `a largura de uma
decomposic¸˜ao em ´arvore D de um grafo G simplesmente como LA(D). Como exemplo,
as larguras em ´arvore das decomposic¸ ˜oes das Figuras 3.1(a), 3.1(b) e 3.1(c) s˜ao, respecti-
vamente, 10, 5 e 2. A largura em ´arvore de um grafo procura estabelecer uma medida de
similaridade a uma ´arvore para o grafo. Se a largura em ´arvore de um grafo G ´e pequena,
ent˜ao pode-se construir uma decomposic¸ ˜ao em ´arvore para G com partes pequenas, e logo
G se assemelhar´a grosseiramente a uma ´arvore. Na verdade, se LA(G) for pequeno o su-
ficiente, G pode inclusive ser uma ´arvore. Uma decomposic¸˜ao em ´arvore D de um grafo
G que realiza a largura de G, ou seja, tal que LA
G
(D) = LA(G), ´e dita m
´
ınima, ou
´
otima.
De modo a simplificar a notac¸ ˜ao ao longo do texto, (X , T ) ser´a usado como
simplificac¸˜ao para (X = {X
i
: i I}, T = (I, F )) sempre que n˜ao ocorrer risco de am-
big¨uidade. Nas pr´oximas sec¸ ˜oes deste cap´ıtulo ser˜ao abordadas algumas caracter´ısticas
de grafos com largura em ´arvore pequena, e outras que impedem alguns grafos de terem
largura limitada. Antes, no entanto, algumas propriedades gerais de decomposic¸ ˜oes em
´arvore s˜ao ´uteis, e algumas vezes necess´arias, para melhor compreens˜ao do que vir´a.
3.2 Algumas propriedades de DEA
A primeira propriedade de uma decomposic¸˜ao em ´arvore D = (X , T ) de um grafo G
faz com que G herde a conectividade minimal de T pelas partes de D: assim como cada
aresta (i, j) ´e uma ponte em T , X
i
X
j
´e um corte em G.
Propriedade 1. Sejam G = (V, E) um grafo e D = (X = {X
i
: i I}, T = (I, F ))
uma decomposic¸˜ao em ´arvore de G. Seja e = (i, j) uma aresta qualquer de T , e sejam
T
i
e T
j
as componentes de T e contendo i e j, respectivamente. Ent˜ao X
i
X
j
separa
U
i
=
tT
i
X
t
de U
j
=
t
T
j
X
t
em G.
Prova. Como (i, j) ´e uma ponte em T, ent˜ao qualquer caminho unindo t T
i
e t
T
j
passa por (i, j). Portanto, pela definic¸ ˜ao de decomposic¸˜ao em ´arvore, U
i
U
j
X
i
X
j
.
Basta mostrar agora que n˜ao existem arestas (u
i
, u
j
) com u
i
U
i
e u
j
U
j
para que
X
i
X
j
seja de fato um U
i
U
j
-separador. Suponha ent˜ao que exista uma aresta (u
i
, u
j
).
Pela definic¸ ˜ao de DEA, deve existir um t T tal que u
i
, u
j
X
t
. Mas, pela escolha de
u
i
e u
j
, t n˜ao pode pertencer nem a T
i
nem a T
j
, caso contr´ario existiria um ciclo em T ,
um absurdo. A Figura 3.2 ilustra a propriedade.
Ao se considerar a largura em ´arvore de um grafo G, ´e natural questionar qual a sua
influˆencia nas larguras em ´arvore de grafos derivados de G e com menos v´ertices que G.
As propriedades seguintes abordam tais relac¸ ˜oes entre G e seus subgrafos, componentes
e menores.
Propriedade 2. Seja G um grafo e H um subgrafo de G. Ent˜ao LA(H) LA(G).
Prova. Seja D = (X , T = (I, F )) uma decomposic¸˜ao em ´arvore que realiza a largura
em ´arvore de G ou seja, D tem largura ınima. Considere agora a fam´ılia W = {W =
X \ (V (G) \ V (H)) : X X }. Claramente, como X cobre V (G), assim tamb´em W
cobre V (H), e logo, como D ´e uma decomposic¸˜ao em ´arvore de G, D
= (W, T ) ´e
20
3.2. Algumas propriedades de DEA
U
i
X
t
T
i
U
j
T
j
j
i
X
i
X
j
Figura 3.2. Uma aresta (i, j) de uma decomposic¸˜ao em ´arvore de um grafo G corresponde a um separador
em G.
uma decomposic¸˜ao em ´arvore de H (D
´e tamb´em chamada uma subdecomposic¸
˜
ao em
´arvore de G limitada a H). Como para todo i I, W
i
X
i
, LA(D
) LA(D), e
conseq¨uentemente, pela minimalidade de D, LA(H) LA(G). A nova decomposic¸ ˜ao
em ´arvore pode ser vista na Figura 3.3.
G
H
i
8
i
4
i
2
i
7
i
5
X
i
4
X
i
7
=
X
i
2
X
i
5
X
i
8
Figura 3.3. Decomposic¸˜ao em ´arvore de um subgrafo H de G, destacado por arestas em negrito.
Propriedade 3. A largura em ´arvore de um grafo G ´e a m´axima largura em ´arvore das
componentes de G.
Prova. Sejam C
1
, . . . , C
r
as r componentes de G = (V, E), e D
1
, . . . , D
r
decomposic¸ ˜oes em ´arvore de largura m´ınima de cada componente, respectivamente. Para
cada decomposic¸ ˜ao D
j
= {X
j
, T
j
= (I
j
, F
j
)}, selecione aleatoriamente um v´ertice
i
j
I
j
. Considere agora a decomposic¸˜ao em ´arvore obtida pela uni˜ao das partes em
cada X
j
e pela adic¸˜ao de uma parte X
= com um n´o correspondente i
adjacente a
cada i
j
, ou seja, D
= (X
, T
= (I
, F
)), onde:
X
=
r
j=1
X
j
{X
},
21
3. Decomposic¸
˜
ao em
´
Arvore
I
=
r
j=1
I
j
{i
},
F
=
r
j=1
F
j
{(i
, i
j
) : i
j
algum v´ertice em I
j
, 1 j r}).
A Figura 3.4 ilustra tal decomposic¸˜ao. A largura de D
pode ser ent˜ao facilmente
encontrada:
LA(D
) = max
iI
{|X
i
| 1} = max
1jr
{max
iI
j
{|X
i
| 1}} = max
1jr
{LA(D
j
)}
e logo, pela minimalidade de cada D
j
, LA(G) = max
1jr
{LA(C
j
)}, e o lema segue.
i
1
C
1
C
r
i
2
C
2
i
i
r
i
j
C
j
Figura 3.4. Decomposic¸˜ao em ´arvore de um grafo usando suas componentes.
Propriedade 4. Seja G um grafo e H um menor de G. Ent˜ao LA(H) LA(G).
Prova. Por definic¸˜ao, H pode ser obtido de G por uma s´erie de contrac¸ ˜oes ou retiradas
de arestas, ou eliminac¸ ˜oes de v´ertices. Se apenas as duas ´ultimas operac¸ ˜oes foram aplica-
das, H ´e um subgrafo de G, e, pela Propriedade 2, o resultado segue. Basta ent˜ao mostrar
que a largura em ´arvore de um grafo n˜ao aumenta com a contrac¸ ˜ao de arestas deste.
Seja ent˜ao D = (X , T) uma decomposic¸˜ao em ´arvore de G. Considere ent˜ao e =
(u, v) uma aresta de G a ser contra´ıda como operac¸ ˜ao para obtenc¸ ˜ao de H, e seja w o novo
v´ertice adicionado a G
, o grafo obtido de G pela contrac¸ ˜ao de e. Uma nova decomposic¸˜ao
em ´arvore D
= (X
, T ) pode ent˜ao ser definida, onde:
X
= {X \ {u, v} {w} : X X , u X ou v X} {X : X X , u ∈ X e v ∈ X}.
22
3.2. Algumas propriedades de DEA
Claramente, como H tem menos v´ertices que G, LA
H
(D
) LA
G
(D). Como a
desigualdade aplica-se a qualquer decomposic¸˜ao em ´arvore e qualquer menor de G, em
particular deve valer tamb´em para a decomposic¸˜ao em ´arvore m´ınima de G, e logo segue
que LA(H) LA(G), H um menor de G. Na Figura 3.5 pode-se ver uma decomposic¸˜ao
em ´arvore de um menor de um grafo G, obtido pela contrac¸ ˜ao das arestas em negrito.
d
G H
k
e
1
h
g
b
a
c
e
k
v
e
3
X
i
5
X
i
6
v
e
4
X
i
8
X
i
1
a
e
v
e
2
e
2
e
4
e
3
i
v
e
1
X
i
4
X
i
7
f
j
X
i
2
= X
i
3
Figura 3.5. Decomposic¸˜ao em ´arvore de um menor H de um grafo G, obtido pela contrac¸˜ao das arestas
em negrito.
A vantagem no uso das trˆes propriedades acima ´e que, al´em da determinac¸˜ao de um
limitante superior para a largura em ´arvore de um grafo obtido a partir de outro por
operac¸ ˜oes de subgrafo, menor e componentes — as decomposic¸ ˜oes em ´arvore dos grafos
resultantes podem tamb´em ser obtidas, como mostram as provas das propriedades. Al´em
disso, pode-se de fato obter uma decomposic¸˜ao em ´arvore para qualquer grafo a partir de
um menor deste por contrac¸ ˜ao, como mostra o lema seguinte.
Lema 3.2. Sejam G = (V, E) um grafo, H um menor de G pela contrac¸
˜
ao dos sub-
conjuntos disjuntos de v
´
ertices U
1
, . . . , U
r
em G e D = (X , T ) uma decomposic¸
˜
ao em
´
arvore de H. Seja f : V (H) → P(V (G)) uma func¸
˜
ao tal que f(v) = {v} se v ∈
r
i=1
U
i
e f(v) = U
i
se v U
i
para algum i, 1 i r. Ent
˜
ao
D
= (W = {W
i
: W
i
=
vX
i
f(v), X
i
X }, T )
´
e uma decomposic¸
˜
ao em
´
arvore para G.
Prova. Sejam G, H, U
1
, . . . , U
r
, D e D
como no enunciado. Pode-se ver que D
satisfaz [P1] da definic¸˜ao de decomposic¸˜ao em ´arvore, j´a que
iI
W
i
=
iI
vX
i
f(v) = V
ou seja, a uni˜ao das partes corresponde `a uni˜ao dos v´ertices em cada U
j
, 1 j r, e dos
v´ertices em G n˜ao inclusos em alguma parte, e que correspondem, portanto, ao conjunto
de v´ertices de G.
23
3. Decomposic¸
˜
ao em
´
Arvore
De modo semelhante, pode-se dividir as arestas de G em quatro classes, de acordo
com suas extremidades: uma aresta e = (u, v) pode ser tal que (1) u e v n˜ao estejam em
nenhum U
j
, u, v ∈
1jr
U
j
; (2) exatamente uma das extremidades esteja em algum
U
j
; (3) as extremidades pertencem a conjuntos diferentes, u U
i
, v U
j
, onde 1
i = j r; ou (4) ambas as extremidades pertencem a um mesmo U
j
, u, v
1jr
U
j
.
Sejam agora v
U
i
os v´ertices em H correspondentes a contrac¸ ˜ao de U
i
em G. Basta agora
ver que as arestas e = (u, v) em G dos tipos (1), (2) e (3) correspondem a arestas em H
dos tipos (1) e
= (u, v); (2) e
= (u, v
U
i
), onde somente v pertence a algum U
i
; e (3)
e
= (v
U
i
, v
U
j
), onde u U
i
e v U
j
, U
i
= U
j
. As arestas em G do ´ultimo tipo s˜ao
contra´ıdas em H. Como as arestas dos trˆes primeiros tipos est˜ao cobertas por partes em
D, estas est˜ao cobertas tamb´em por partes em D
, j´a que para todo X X existe um
W W tal que X W . As arestas em G do terceiro tipo, com ambas as extremidades
pertencentes a algum U
i
, tamb´em est˜ao cobertas em D
, j´a que v
U
i
pertence a algum
X X . Logo, a propriedade [P2] ´e tamb´em satisfeita. A Figura 3.6 permite uma melhor
compreens˜ao da satisfac¸˜ao das propriedades.
k
v
e
3
v
e
4
a
e
v
e
2
v
e
1
d
G
g
b
a
e
k
e
2
e
4
e
3
i
c
j
f
h
X
i
1
H
e
1
X
i
1
X
i
2
X
i
4
X
i
3
X
i
2
X
i
3
X
i
4
Figura 3.6. Decomposic¸˜ao em ´arvore de um grafo G a partir de um menor H por contrac¸˜ao. Os conjuntos
de contrac¸˜ao correspondem `as extremidades das arestas em negrito.
Para concluir a prova, resta somente satisfazer [P3]. Sejam ent˜ao i, j e k v´ertices
em T tais que k iT j, e logo, por [P3], X
i
X
j
X
k
. De modo a facilitar a notac¸˜ao,
considere f(S), S um conjunto, como sendo f(S) =
sS
f(s). Claramente, f(X) = W ,
X X , W W, por esta definic¸ ˜ao. Pode-se perceber que f preserva intersec¸˜ao entre
conjuntos, ou seja:
f(A B) =
sAB
f(s) =
sA
f(s)
sB
f(s)
= f(A) f(B)
e logo, para conjuntos A, B e C, A B = C se e somente se f(A) f (B) = f (A B) =
f(C). Mas, como para dois conjuntos A e B, A B se e somente se A B = A, tem-
se tamb´em que A B se e somente se f (A) f(B), j´a que A B = A equivale a
f(A B) = f(A).
Portanto, X
i
X
j
X
k
em D equivale a
24
3.3. DEA para florestas
f(X
i
X
j
) f(X
k
) f(X
i
) f(X
j
) f(X
k
) W
i
W
j
W
k
o que equivale a satisfac¸˜ao de [P3] em D
, e logo D
´e uma decomposic¸˜ao em ´arvore de
G.
Com a ajuda das propriedades aqui demonstradas, pode-se agora dispor de mais
ferramentas para caracterizac¸ ˜ao de grafos com largura em ´arvore limitada. Inicialmente,
´e interessante estudar grafos com largura em ´arvore pequena. Se G ´e um grafo com pelo
menos uma aresta, ent˜ao claramente LA(G) 0. Com excec¸ ˜ao de tais casos extrema-
mente raros, a menor largura em ´arvore de um grafo ´e 1; tais grafos s˜ao analisados na
pr´oxima sec¸ ˜ao.
3.3 DEA para florestas
Se um grafo G ´e uma floresta, ´e natural intuir que a largura em ´arvore de G ´e muito
pequena, j´a que cada componente de G ´e, por si, uma ´arvore:
Teorema 3.3. Um grafo G
´
e uma floresta se e somente se G tem largura em
´
arvore 1.
Prova.
() Seja G uma floresta e C
1
, . . . , C
l
suas componentes. Seja C
a componente de G
com maior largura em ´arvore, ou seja, pela Propriedade 3, LA(C
) = LA(G). Considere
a seguinte decomposic¸˜ao em ´arvore de C
:
1. Para cada aresta e
k
= (u, v) de C
, seja X
i
k
= {u, v};
2. Para cada v´ertice v
k
V (G), seja X
j
k
= {v
k
};
3. Seja T = (I, F ), I
i
=
|E(G)|
k=1
i
k
, I
j
=
|V (G)|
k=1
j
k
, I = I
i
I
j
e F = {(i, j) :
X
i
X
j
= , i I
i
, j I
j
}. Basta ver agora que T ´e isomorfo a um grafo obtido
pela subdivis˜ao de arestas de C
, e logo T cont´em um ciclo se e somente se C
tamb´em cont´em. Portanto, como C
´e uma componente de uma floresta, T ´e uma
´
arvore.
Pode-se ver ent˜ao que (X = {X
i
: i I}, T = (I, F )) ´e uma decomposic¸ ˜ao em
´arvore de C
.
´
E f´acil ver que LA(C
) = 1, j´a que qualquer X
i
k
tem tamanho m´aximo e
|X
i
k
| = 2. Logo, pela Propriedade 3 e pela maximalidade de C
, LA(G) = 1.
() Seja G um grafo com largura em ´arvore unit´aria. Suponha, por absurdo, que G
cont´em um ciclo C. Como LA(G) = 1, as partes de G tˆem no m´aximo dois v´ertices, e
considere ainda, sem perda de generalidade, uma decomposic¸˜ao em ´arvore D = (X , T =
(I, F )) com todas as partes contendo de fato dois v´ertices; isto equivale a dizer que D ´e
uma decomposic¸ ˜ao boa. A id´eia ´e mostrar que n˜ao ´e poss´ıvel construir uma decomposic¸ ˜ao
em ´arvore de G usando tais partes, ou seja, D n˜ao existe.
Considere ent˜ao um ciclo C = v
0
, e
1
, v
1
, e
2
, . . . , e
l1
, v
l1
, e
l
, v
0
de G e as partes
X
i
k
= {u, v : e
k
= (u, v)}, como ilustrado na Figura 3.7.a.
25
3. Decomposic¸
˜
ao em
´
Arvore
v
l
v
2
v
0
v
k
v
k+1
v
l1
X
i
2
X
i
k
X
i
1
v
1
X
i
l1
i
1
i
2
i
l1
i
k
(a) (b)
Figura 3.7. Tentativa de decomposic¸˜ao em ´arvore de um ciclo.
Como X
i
1
e X
i
2
tˆem como intersec¸ ˜ao v
1
, e v
1
n˜ao pertence a nenhuma outra parte,
n˜ao pode haver nenhum n´o no caminho entre i
1
e i
2
do contr´ario, a terceira condic¸˜ao
da definic¸˜ao de decomposic¸˜ao em ´arvore seria violada e como i
1
e i
2
devem ser co-
nectados, logo (i
1
, i
2
) deve pertencer a F . Da mesma forma, como X
i
k
X
i
k+1
= {v
k
}, e
nenhuma outra parte de I cont´em v
k
, ent˜ao (i
k
, i
k+1
) F . At´e a parte i
l
, T ´e um caminho,
ou seja, (i
k
, i
k+1
) F, 1 k < l, como mostra a Figura 3.7.b.
No entanto, X
i
1
X
i
l
= {v
0
}, e como v
0
∈
l1
k=2
X
i
k
, n˜ao pode haver n´os en-
tre i
1
e i
l
, e logo T n˜ao pode ser uma ´arvore. Mas isto ´e um absurdo, j´a que D ´e uma
decomposic¸˜ao em ´arvore por hip´otese, e logo G n˜ao cont´em ciclos, sendo portanto uma
floresta.
Como a classe F dos grafos que s˜ao florestas ´e fechada com relac¸ ˜ao a tomada de
menores — todo menor de uma floresta ´e ainda uma floresta ent˜ao pode-se caracterizar
F por um conjunto de menores proibidos, como permitido pela Proposic¸˜ao 2.8.
Lema 3.4. A classe dos grafos com largura em
´
arvore unit
´
aria (no m
´
aximo 1)
´
e
exatamente a classe de grafos que tem K
3
como menor proibido, Proib
({K
3
}).
Prova. Pelo Teorema 3.3, e pela definic¸ ˜ao de classe de menores proibidos, basta mos-
trar que um grafo G cont´em um ciclo se e somente se G tem K
3
como menor. A condic¸˜ao
necess´aria ´e trivial: basta tomar dois v´ertices adjacentes de um ciclo C qualquer de G,
com |C| > 3, e contrair recursivamente as arestas n˜ao incidentes a estes dois v´ertices; o
resultado final ser´a um K
3
.
Para a prova da condic¸ ˜ao suficiente, suponha, sem perda de generalidade, que
G = MK
3
, e logo existem subconjuntos U
1
, U
2
e U
3
de v´ertices, cada um induzindo
um subgrafo conexo em G, tais que G/U
1
/U
2
/U
3
= K
3
. Considere ent˜ao trˆes pares de
v´ertices u
i,j
, 1 i, j 3, i = j, tais que existe uma aresta entre u
i,j
e u
j,i
, e
i,j
, onde u
i,j
pertence a U
i
e u
j,i
pertence a U
j
. Como cada U
i
induz um subgrafo conexo em G, seja
P
i
o caminho unindo cada par de v´ertices acima em U
i
. A Figura 3.8 mostra G e cada
elemento acima.
Basta agora ver que u
1,3
, P
1
, u
1,2
, e
1,2
, u
2,1
, P
2
, u
2,3
, e
2,3
, u
3,2
, P
3
, u
3,1
, e
1,3
, u
1,3
induz um ciclo em G, o que conclui a prova.
26
3.4. DEA para ciclos
P
2
P
1
e
1,3
U
2
U
3
u
1,2
u
3,1
e
1,2
U
1
P
3
u
3,2
e
2,3
u
2,3
u
2,1
u
1,3
Figura 3.8. Um grafo G possui um ciclo se e somente se tem K
3
como menor.
3.4 DEA para ciclos
Pelo Teorema 3.3, viu-se que a presenc¸a de um ciclo em um grafo G inviabiliza a largura
em ´arvore unit´aria para G. No entanto, apenas a presenc¸a de um ciclo n˜ao torna a largura
em ´arvore de G grande, como se pode deduzir do pr´oximo lema.
Lema 3.5. Todo ciclo tem largura em
´
arvore 2.
Prova. Pelo Teorema 3.3, e por conter ao menos uma aresta, um ciclo deve ter largura
em ´arvore no ınimo 2. Logo, para provar o lema, basta encontrar uma decomposic¸˜ao em
´arvore de largura 2 para qualquer ciclo, j´a que esta certamente ser´a m´ınima. Na prova da
suficiˆencia do Teorema 3.3 utilizou-se uma construc¸˜ao de modo a demonstrar a impossi-
bilidade de se encontrar uma decomposic¸˜ao em ´arvore de largura unit´aria para um ciclo.
Tal construc¸˜ao pode ser aproveitada para se obter uma decomposic¸˜ao semelhante, mas de
largura um pouco maior.
Considere ent˜ao um ciclo C = v
0
, e
1
, v
1
, e
2
, . . . , e
l1
, v
l1
, e
l
, v
0
e as partes X
i
k
=
{u, v : e
k
= (u, v)}. A dificuldade est´a no fato de que v
0
X
i
1
X
i
l
, mas n˜ao est´a
contido em nenhuma outra parte no caminho entre X
i
1
e X
i
l
. A resoluc¸˜ao ´e ent˜ao simples,
j´a que n˜ao h´a mais obrigac¸ ˜ao em manter a largura unit´aria: adicionar v
0
a cada parte X
i
j
,
1 < j < l. Logo,
D =
X
i
k
= {u, v : (u, v) = e
k
} {v
0
}
1kl+1
, T = i
1
, i
2
, . . . , i
l
´e uma decomposic¸˜ao em ´arvore de largura 2 de C, como mostra a Figura 3.9. Vale notar
que T ´e um caminho, neste caso.
A partir da decomposic¸˜ao em ´arvore D encontrada na prova do Lema 3.5, pode-
se perceber que D ´e tamb´em uma decomposic¸ ˜ao em ´arvore para G = (V (C), E(C)
{(v
0
, v
i
: 1 < i < l}), j´a que toda aresta adicionada a C em G est´a coberta por alguma
parte de D. De fato, a possibilidade de adicionar arestas a um grafo sem aumentar a
27
3. Decomposic¸
˜
ao em
´
Arvore
X
i
2
v
2
X
i
k
v
l1
X
i
1
v
k
v
k+1
v
0
v
1
v
l
X
i
l
X
i
l1
i
1
i
2
i
l1
i
k
i
l
(a) (b)
Figura 3.9. Decomposic¸˜ao em ´arvore de um ciclo.
sua largura em ´arvore j´a que a mesma decomposic¸˜ao em ´arvore ´e usada ´e uma
propriedade bastante ´util, e merece uma descric¸ ˜ao formal como nova ferramenta.
Propriedade 5. Se D = (X , T ) ´e uma decomposic¸˜ao em ´arvore de G = (V, E), e
i I : v, w X
i
, v = w, ent˜ao D ´e tamb´em uma decomposic¸˜ao em ´arvore de G +
(v, w) = (V, E {(v, w)}), e vice-versa.
Prova. O lema ´e trivial. Basta ver que a aresta acrescentada a G ´e coberta pela parte
em D contendo suas extremidades; logo, D ´e tamb´em uma decomposic¸˜ao em ´arvore do
novo grafo. O sentido contr´ario tamb´em vale e ´e imediato pelo simples fato de que D
´e ainda uma decomposic¸˜ao em ´arvore de qualquer subgrafo de G obtido por retirada de
arestas (embora n˜ao seja necessariamente a decomposic¸ ˜ao de menor largura).
Considere agora um C
4
com conjunto de v´ertices {v
1
, v
2
, v
3
, v
4
}, e logo, usando o
Lema 3.5, pode-se ver que C
4
tem largura em ´arvore 2 e que D = ({{v
1
, v
2
, v
3
}, {v
3
, v
4
,
v
1
}}, T = ({i
1
, i
2
}, {(i
1
, i
2
)})) ´e uma decomposic¸˜ao em ´arvore ınima de C
4
. Logo,
D ´e tamb´em uma DEA de C
= C + (v
1
, v
3
), pela Propriedade 5. Suponha agora que
se queira adicionar a aresta (v
2
, v
4
) a C
. Ap´os algumas tentativas exaustivas, conclui-
se que n˜ao se pode mais encontrar uma decomposic¸˜ao em ´arvore D de largura 2 para
C

= C
+ (v
2
, v
4
), pois pelo menos uma parte de uma DEA para C

deve conter todos
os v´ertices de C. Pode-se ver que C

= K
4
, e a pr´oxima sec¸ ˜ao mostra que os dois ´ultimos
fatos n˜ao s˜ao coincidˆencia.
3.5 DEA para cliques
A Propriedade 1 estabeleceu uma relac¸ ˜ao entre a conectividade de um grafo G e uma
´arvore T , onde T ´e definida por uma decomposic¸˜ao em ´arvore D = (X , T ) de G. A
pr´oxima propriedade abaixo estabelece uma relac¸˜ao semelhante para um subconjunto de
v´ertices de G.
Propriedade 6. Sejam D = (X = {X
i
: i I}, T = (I, F )) uma decomposic¸ ˜ao em
´arvore de G = (V, E), e W V . Ent˜ao ou existe um i I tal que W X
i
ou existem
v´ertices w
i
, w
j
W tais que T
w
i
T
w
j
= .
28
3.5. DEA para cliques
Prova. Seja W = {w
1
, w
2
, . . . , w
r
}, e T
W
= {T
w
i
}
1ir
a fam´ılia de sub-´arvores
induzidas por cada elemento de W . Se n˜ao existem v´ertices w
i
, w
j
W tais que T
w
i
T
w
j
= ent˜ao T
W
satisfaz a propriedade Helly pelo Lema 2.2, e logo
T
W
= T
w
, e
existe um X
tal que W X
T
w
.
Considere agora o problema de encontrar uma decomposic¸˜ao em ´arvore ınima
para uma clique. Pelo Lema 3.5, sabe-se que LA(K
3
) = 2, justamente pela dificuldade
encontrada na prova do Teorema 3.3: sendo v
1
, v
2
e v
3
os v´ertices de K
3
, n˜ao se pode
construir uma boa decomposic¸˜ao em ´arvore com X
1
= {v
2
, v
3
}, X
2
= {v
1
, v
3
}, e X
3
=
{v
1
, v
2
}, pois X
1
⊇ X
2
X
3
, X
2
⊇ X
1
X
3
e X
3
⊇ X
1
X
2
, impossibilitando a
satisfac¸˜ao de [P3]. E logo, uma decomposic¸˜ao em ´arvore ınima de K
3
deve ter uma
parte contendo todos os seus v´ertices.
Na verdade, essa dificuldade ´e encontrada na tentativa da construc¸˜ao de uma
decomposic¸˜ao em ´arvore de largura k 1 para qualquer clique de tamanho k + 1. De
fato, pode-se mostrar que isso ´e imposs´ıvel, e logo toda clique W deve estar contida em
uma parte de uma decomposic¸˜ao, forc¸ando a largura em ´arvore do grafo (e da clique)
para, no m´ınimo, |W | 1.
Suponha que se queira contornar essa dificuldade e encontrar uma DEA de largura
no m´aximo k 1 para clique de tamanho k + 1, e logo suponha que exista uma DEA
D = (X , T = (I, F )) de uma clique W com V (W ) = {v
0
, v
1
, . . . , v
k
} tal que LA(D)
|W | 2. Seja i I um n´o de T tal que W v
0
X
i
. Sejam ainda j, j
T tais que
{v
0
, v
1
} X
j
e {v
0
, v
2
} X
j
. Como os trˆes conjuntos X
i
, X
j
e X
j
se interceptam, ´e
necess´ario ent˜ao, pela restric¸˜ao [P3], que tenham uma intersec¸˜ao em comum, e logo ou
v
2
X
j
ou v
1
X
j
. Isso ´e f´acil de perceber porque W [{v
0
, v
1
, v
2
}] = K
3
. Suponha,
sem perda de generalidade, que v
2
X
j
, e seja agora j
um n´o tal que {v
0
, v
3
} X
j
.
Pelo mesmo motivo anterior, ou seja, pela necessidade da existˆencia de uma intersec¸˜ao
comum entre X
i
, X
j
e X
j
dada a intersec¸˜ao n˜ao nula entre estes, dois a dois, assume-se,
s.p.d.g., que v
3
X
j
. Continuando desta forma, chega-se a X
j
{v
0
, v
1
, . . . , v
k1
} e,
como existe uma aresta (v
0
, v
k
), a existˆencia de um n´o j
T tal que {v
0
, v
k
} X
j
.
O mesmo argumento da necessidade de intersec¸ ˜ao comum vale, e logo conclui-se que
W X
j
.
Conclui-se ent˜ao que toda clique de um grafo G deve estar contida em alguma
parte de qualquer decomposic¸ ˜ao em ´arvore de G. A propriedade seguinte formaliza tal
resultado, acrescentando ainda outro bastante relacionado.
Propriedade 7. Seja D = (X = {X
i
: i I}, T = (I, F )) uma decomposic¸˜ao em
´arvore de G = (V, E).
1. (Contin
ˆ
encia de clique). Se W V forma uma clique em G, ent˜ao i I :
W X
i
.
2. (Contin
ˆ
encia de subgrafo bipartite completo). Se A, B V s˜ao tais que cada
v´ertice em A ´e adjacente a cada v´ertice em B, ent˜ao i I : A X
i
ou B X
i
.
Prova.
1. Se |W | = 1 ou |W | = 2 ent˜ao a propriedade claramente vale como conseq¨uˆencia da
definic¸ ˜ao de decomposic¸ ˜ao em ´arvore, pelas restric¸ ˜oes [P1] e [P2], respectivamente.
29
3. Decomposic¸
˜
ao em
´
Arvore
Suponha ent˜ao inicialmente W = K
3
, e seja v W . Por hip´otese de induc¸ ˜ao, seja
i T tal que W v X
i
. Seja agora T
v
= (I
, F
) a sub-´arvore de T cujas partes
cont´em v. Suponha i ∈ I
, caso contr´ario W X
i
. Seja j o n´o em T
v
mais pr´oximo
de i em T . Tome um v´ertice qualquer w de W v, e seja j
I
tal que {v, w}
X
j
; tal parte deve existir, j´a que (v, w) W . Mas X
i
X
j
{v, w}, e, como j
est´a no caminho entre i e j
em T , por [P3] deve-se ter {v, w} X
i
X
j
X
j
.
Como X
j
cont´em qualquer v´ertice w W v e v, segue que W X
j
.
Uma prova mais curta pode ser obtida diretamente com base na propriedade Helly.
Seja T
W
= {T
w
i
= {i I : w
i
X
i
}}
1ir
. Basta perceber que, como sempre
existe uma aresta entre quaisquer dois v´ertices u e v de W, ent˜ao T
u
T
v
= . Pela
Propriedade 6, tem-se W X
, X
T
W
.
2. Sejam G, D, A e B como no enunciado, e suponha B ⊆ X
i
para todo i I.
Sejam a
i
, a
j
A, e b
i
, b
j
B tais que T
b
i
e T
b
j
sejam disjuntos em v´ertices.
A existˆencia de b
i
e b
j
´e garantida pela Propriedade 6. Pela existˆencia da aresta
(a
i
, b
i
), deve-se ter t
i
T
b
i
tal que a
i
X
t
i
, assim como, devido a (a
i
, b
j
), deve
existir t
j
T
b
j
tal que a
i
X
t
j
. Por [P3], todos os v´ertices no caminho entre t
i
e
t
j
em T cont´em a
i
, e logo, seja k t
i
T t
j
, e portanto a
i
X
k
. Suponha ainda, sem
perda de generalidade, que t
i
e t
j
s˜ao extremidades do caminho ınimo (´unico) em
T unindo T
b
i
e T
b
j
, como mostra a Figura 3.10.
k
k
t
i
t
i
t
j
t
j
T
b
j
T
b
i
BA
b
i
b
j
a
i
a
j
Figura 3.10. Se A, B V induzem um subgrafo bipartite completo em G = (V, E), ent˜ao ou A ou B
est˜ao contidos em alguma parte de uma DEA de G.
Seja agora a
j
A, e, de modo an´alogo a a
i
, sejam t
i
T
b
i
e t
j
T
b
j
tais que
a
j
X
t
i
e a
j
X
t
j
, e k
t
i
T t
j
. Mas k
T t
i
T
b
i
t
i
T kT t
j
T
b
j
t
j
T k
formam um
ciclo a menos que t
i
= t
i
e t
j
= t
j
. Logo, a
j
X
k
, e como todo v´ertice em A
deve pertencer a X
k
, segue que A X
k
.
A partir da Propriedade 7, uma outra propriedade, semelhante `a Propriedade 5, pode
ser encontrada:
Propriedade 8. Sejam v e w v´ertices n˜ao adjacentes em G = (V, E) com pelo menos
k + 1 vizinhos em comum. Se a largura em ´arvore de G ´e no m´aximo k, ent˜ao a largura
30
3.5. DEA para cliques
em ´arvore de G + (v, w) ´e tamb´em no m´aximo k. Al´em disso, qualquer decomposic¸˜ao
em ´arvore de G com largura no m´aximo k ´e tamb´em uma decomposic¸˜ao em ´arvore de
G + (v, w) com largura no m´aximo k, e vice-versa.
Prova. Seja D = (X , T ) uma decomposic¸˜ao em ´arvore de G com largura no m´aximo
k. Pela Propriedade 7, ou existe um i I com v, w X
i
e logo a propriedade segue
diretamente pela Propriedade 5 ou existe um i I com X
i
contendo o conjunto W
de todos os vizinhos em comum de v e w. Neste caso, poderiam ser adicionadas arestas
unindo todos os pares de v´ertices n˜ao adjacentes em W , resultando em pelo menos duas
cliques com k + 2 v´ertices, W + v e W + w. Novamente pela Propriedade 5, essa nova
decomposic¸˜ao em ´arvore D
deve ter a mesma largura de D, um absurdo j´a que nenhuma
decomposic¸˜ao em ´arvore com largura no m´aximo k pode conter uma clique com k + 2
v´ertices. Logo, por contradic¸˜ao, o primeiro caso vale, e a propriedade segue.
Com a ajuda da Propriedade 7, tem-se mais ferramentas para encontrar uma
caracterizac¸ ˜ao de uma nova classe de grafos de largura pequena e limitada.
Teorema 3.6. A classe dos grafos com largura em
´
arvore no m
´
aximo 2
´
e exatamente a
classe de grafos que tem K
4
como menor proibido, Proib
({K
4
}).
Prova. O teorema equivale a dizer que um grafo G tem largura em ´arvore no m´aximo
2 se e somente se G n˜ao possui K
4
como menor. A condic¸ ˜ao necess´aria ´e imediata, j´a que
se G tem largura em ´arvore no m´aximo 2 ent˜ao a maior clique de G tem tamanho 3, e
uma clique de tamanho 4 resultaria numa largura no m´ınimo 3 para G.
Suponha ent˜ao, s.p.d.g., que G = MK
4
e, no pior caso, ´e maximal em arestas. Pela
Proposic¸˜ao 2.7, se G = MK
4
ent˜ao G = T K
4
, j´a que ∆(K
4
) = 3, e logo, G n˜ao possuir
K
4
como menor ´e equivalente a G n˜ao possuir uma subdivis˜ao de K
4
como subgrafo. A
id´eia da prova ´e mostrar, por induc¸ ˜ao, que G pode ser montado por colagem de K
2
a partir
de triˆangulos, e logo, claramente LA(G) 2, j´a que desta forma a maior clique de G ´e
um K
3
.
Se G = K
3
, tem-se a base da induc¸ ˜ao, e suponha ent˜ao |G| 4 como passo. Como
G n˜ao ´e completo, sejam S um separador em G tal que |S| = κ(G), C
1
e C
2
componentes
de G S, e G
1
= G[C
1
S] e G
2
= G[C
2
S]. Como S ´e um separador minimal,
todo v´ertice em S possui um vizinho em C
1
e outro em C
2
. Se |S| 3, ent˜ao G possui
pelo menos 3 caminhos disjuntos em v´ertices entre v
1
C
1
e v
2
C
2
, P
1
, P
2
e P
3
. Como
κ(G) 3, existe um outro caminho P entre u e v em G\{v
1
, v
2
} tais que u e v pertencem
a caminhos diferentes entre P
1
, P
2
e P
3
e possam, desta forma, ter pelo menos 3 caminhos
independentes entre si. Na Figura 3.11, u P
1
e v P
2
, e logo P ´e um terceiro caminho
unindo u a v.
Mas P P
1
P
2
P
3
= T K
4
, um absurdo, e logo κ(G) 2. Logo, |S| 2 e, pela
maximalidade de G, G[S] = K
2
. Como G
1
G
2
= S e G
1
G
2
= G, G pode ser obtido
a partir de G
1
e G
2
por colagem ao longo de S = K
2
, o resultado segue por induc¸˜ao.
Como ilustrado pelos lemas sobre caracterizac¸ ˜ao de grafos com largura em ´arvore
limitada, uma boa abordagem ´e considerar sub-estruturas proibidas em um determinado
grafo e ent˜ao classific´a-lo. Infelizmente, esta abordagem pode n˜ao ser eficiente a medida
31
3. Decomposic¸
˜
ao em
´
Arvore
S
P
1
u
v
v
1
v
2
G
2
G
1
P
2
P
3
P
3
P
2
P
P
1
Figura 3.11. Um grafo G n˜ao tem K
4
como menor se e somente se tem largura em ´arvore no m´aximo 2.
em que se aumenta a largura m´axima permitida para uma decomposic¸˜ao em ´arvore, j´a que
os conjuntos de obstruc¸ ˜ao tamb´em crescem.
Uma id´eia atraente ´e ent˜ao procurar definir algoritmos de reconhecimento de classes
dos grafos com largura em ´arvore limitada de um modo geral, que n˜ao precisem de uma
definic¸ ˜ao expl´ıcita dos menores proibidos de cada classe, para cada largura. Tais algorit-
mos ser˜ao discutidos adiante, no pr´oximo cap´ıtulo; no entanto, ao longo deste cap´ıtulo,
novos conceitos ser˜ao apresentados e discutidos de modo a amadurecer teoricamente uma
abordagem algor´ıtmica.
3.6 DEA para grafos cordais
Prosseguindo com a busca de caracterizac¸ ˜oes para grafos de largura em ´arvore limitada,
pode-se ver que a largura em ´arvore de um grafo G ´e claramente limitada inferiormente
pelo tamanho da maior clique em G, ou seja, LA(G) ω(G) 1 como conseq¨uˆencia da
Propriedade 7. Uma classe de grafos interessante ´e ent˜ao a classe de grafos cordais, pelo
seguinte resultado:
Teorema 3.7. Um grafo G = (V, E)
´
e cordal se e somente se admite uma decomposic¸
˜
ao
em
´
arvore D = (X , T = (I, F )) onde X corresponde
`
a fam
´
ılia de cliques maximais de
G.
Prova.
() Suponha que G seja cordal. A prova da condic¸ ˜ao necess´aria ´e feita por induc¸ ˜ao no
tamanho de G. Assuma, portanto, que a condic¸ ˜ao ´e v´alida para todos os grafos com menos
v´ertices que G. Como base da induc¸˜ao, se G ´e completo ent˜ao T ´e composta de somente
um n´o; se G ´e desconexo com componentes C
1
, . . . , C
r
, ent˜ao, pela hip´otese de induc¸˜ao,
existe uma ´arvore T
i
para cada componente C
i
, e logo, pela adic¸˜ao de um n´o i
`a uni˜ao das
(sub-)´arvores T
i
, tal que X
i
seja igual a alguma clique maximal de alguma componente
de G, pode-se obter uma ´arvore T para G satisfazendo `a condic¸˜ao (de forma semelhante
`a construc¸˜ao abordada na prova da Propriedade 3).
Assuma portanto, que G ´e conexo e n˜ao completo, e seja w um v´ertice simplicial de
G. Defina agora W = {w} N
G
(w), claramente uma clique maximal de G. Sejam ainda
U = {u W : N
G
(u) W } e Y = W \ U. Considere agora o grafo G
= G[V \ U], que
32
3.6. DEA para grafos cordais
´e tamb´em cordal, e, como tem menos v´ertices que G e pela hip´otese de induc¸˜ao, admite
uma decomposic¸˜ao em ´arvore D
= (X
, T
= (I
, F
)) satisfazendo o teorema.
Seja ent˜ao K a clique maximal de G
contendo Y . Para construc¸˜ao de uma
decomposic¸˜ao D = (X , T = (I, F )) de G a partir de D
e G
, devem-se considerar
dois casos:
1. Y = K. Neste caso, seja i I
tal que X
i
= K. Logo, basta substituir X
i
por W em
D
:
D = (X = {X
j
: X
j
X
, j = i} {X
i
= W }, T = (I
, F
))
2. Y K. Como no caso anterior, seja novamente i I
tal que X
i
= K. A nova
decomposic¸˜ao ´e obtida acrescentando-se um novo v´ertice i
adjacente a i tal que
X
i
= W :
D = (X = X
{X
i
= W }, T = (I
{i
}, F
{(i, i
)}))
() Seja G = (V, E) um grafo com uma decomposic¸˜ao em ´arvore D = (X , T = (I, F ))
como no enunciado do teorema. Inicialmente, vale notar que se (u, v) E, ent˜ao as sub-
´arvores T
u
e T
v
se interceptam, j´a que a clique maximal que cont´em u e v deve estar em
T
u
e T
v
.
Suponha agora, por absurdo, que G contenha um ciclo sem cordas C =
v
0
, v
1
, . . . , v
k1
, v
0
, com k > 3, e com sub-´arvores correspondentes T
0
, T
1
, . . . , T
k1
em T . Seja P = {P
i
}
0ik1
uma fam´ılia de caminhos em T tal que cada P
i
T
i
,
P
i
P
(i1) mod k
= e P
i
P
(i+1) mod k
= . Como T
i
T
(i1) mod k
= e
T
i
T
(i+1) mod k
= , pelas arestas em C, tais caminhos sempre existem. Vale notar que
P
(i1) mod k
P
i
P
(i+1) mod k
= , para 0 i k1, j´a que, caso contr´ario, a intersec¸˜ao
entre os caminhos implicaria numa clique contendo v
(i1) mod k
, v
i
e v
(i+1) mod k
, o que
representa uma corda em C, violando a hip´otese de absurdo. Al´em disso, pelo Lema 2.3,
P deve satisfazer a propriedade Helly, e logo, para todo i, P
(i1) mod k
P
(i+1) mod k
= .
Basta agora notar que a uni˜ao dos P
i
representa um ciclo (n˜ao induzido) em T , um
absurdo, j´a que T ´e uma ´arvore.
A Figura 3.12 ilustra uma decomposic¸˜ao em ´arvore ınima D = (X , T ) para um
grafo cordal G onde todas as partes de D correspondem a cliques maximais em G; em (a)
pode-se ver o grafo G, em (b) a ´arvore T associada a D e G, em (c) as partes de D e em
(d) pode-se perceber melhor as cliques maximais de G.
Logo, a decomposic¸ ˜ao em ´arvore de um grafo cordal revela propriedades desej´aveis,
de modo que pode-se determinar prontamente a largura em ´arvore de um grafo cordal.
Corol
´
ario 3.8. Se G
´
e um grafo cordal, ent
˜
ao LA(G) = ω(G) 1.
Prova. O corol´ario segue diretamente do Teorema 3.7 e da Propriedade 7: basta ver
que qualquer decomposic¸˜ao em ´arvore m´ınima de um grafo G cordal tem apenas cliques
em suas partes, e logo a largura em ´arvore ´e realizada nas partes que cont´em as maiores
33
3. Decomposic¸
˜
ao em
´
Arvore
D = (T = (I, F ), X )
X
4
= {d, e, f}
(d)
X
2
= {b, c, e}
X
3
= {b, d, e}
(c)(b)
t
3
T
e
G
(a)
X
3
a
d
f
t
1
t
2
t
4
X
1
= {a, b, d}
b c
X
1
X
4
X
2
Figura 3.12. Exemplo de decomposic¸˜ao em ´arvore para um grafo cordal.
cliques. Portanto, pela definic¸ ˜ao de largura em ´arvore, LA(G) = ω(G) 1, o maior
tamanho de clique de G menos 1.
Como encontrar uma decomposic¸˜ao em ´arvore para um grafo cordal H depende da
identificac¸ ˜ao de todas as cliques maximais de H, o que pode ser feito em tempo linear
usando um esquema de eliminac¸˜ao perfeito para H, tem-se um limitante superior para a
largura em ´arvore de todos os subgrafos G de H.
Lema 3.9. Sejam G um grafo e H um grafo cordal obtido a partir de uma triangulac¸
˜
ao
qualquer de G. Ent
˜
ao LA(G) ω(H) 1.
Prova. Como G ´e um subgrafo de H, segue que LA(G) LA(H) pela Propriedade 2.
Mas pelo Lema 3.9 anterior, LA(H) = ω(G) 1, o que conclui a prova.
Um resultado ainda mais importante pode ser obtido se, para um grafo G, obt´em-se
uma triangulac¸˜ao de G onde cada aresta da triangulac¸˜ao satisfaz a Propriedade 5.
Lema 3.10. Para todo grafo G = (V, E), existe uma triangulac¸
˜
ao E
de G resultando
no grafo H = (V, E E
) tal que LA(G) = LA(H).
Prova. Seja D = (X , T = (I, F )) uma decomposic¸ ˜ao em ´arvore m´ınima de G. Con-
sidere o conjunto E
de arestas definido da seguinte forma: para cada par u, v de v´ertices
em G tais que (u, v) ∈ E e u X
i
, v X
i
, para algum i I, acrescente (u, v) a E
.
Claramente D ´e tamb´em uma decomposic¸˜ao em ´arvore de H = (V, E E
). Al´em disso,
34
3.6. DEA para grafos cordais
como cada parte de D em H corresponde a uma clique maximal, pelo Lema 3.7, H ´e
cordal, e logo E
´e a triangulac¸ ˜ao procurada. Pela minimalidade de D, segue tamb´em que
LA(H) = LA(G).
Uma conseq¨uˆencia direta do Lema 3.10 ´e a equivalˆencia entre os problemas (de
otimizac¸˜ao) de encontrar uma decomposic¸˜ao em ´arvore de largura m´ınima para um grafo
G e o de encontrar uma cordalizac¸ ˜ao de G que tenha uma clique de tamanho m´ınimo
dentre todas as cordalizac¸ ˜oes poss´ıveis de G. Tal equivalˆencia ´e aqui posta explicitamente
para uso posterior.
Corol
´
ario 3.11. Encontrar uma decomposic¸
˜
ao em
´
arvore m
´
ınima de um grafo G
´
e
equivalente a encontrar uma cordalizac¸
˜
ao H de G que minimiza ω(H).
Prova. A prova ´e direta, conseq¨uˆencia dos Lemas 3.9 e 3.10.
Outro resultado importante do Lema 3.10 ´e a possibilidade de relacionar um grafo
G com largura em ´arvore no m´aximo k a uma k-cordalizac¸ ˜ao de G. Para tanto, alguns
outros conceitos se fazem necess´arios.
Definic¸
˜
ao 14 (Aresta necess´aria). Seja G = (V, E) um grafo.
1. Um par (u, v) ´e uma aresta necess
´
aria para largura em
´
arvore k de G se, para toda
decomposic¸˜ao em ´arvore D = (X = {X
i
: i I}, T = (I, F )) com largura no
m´aximo k de G, existe um j tal que u, v X
j
.
2. Um par (u, v) ´e uma aresta necess
´
aria para k-cordalizac¸
˜
ao de G se, para toda
k-cordalizac¸ ˜ao H = (V, E
) de G, (u, v) E
.
Na verdade, os conceitos de aresta necess´aria est˜ao intimamente relacionados:
Lema 3.12. Sejam G = (V, E) um grafo de largura em
´
arvore no m
´
aximo k e u, v V .
As duas assertivas abaixo s
˜
ao equivalentes:
1. (u, v)
´
e uma aresta necess
´
aria para largura em
´
arvore k em G.
2. Toda k-cordalizac¸
˜
ao de G cont
´
em a aresta (u, v).
Prova. Para provar o lema, basta mostrar a relac¸ ˜ao direta entre uma decomposic¸˜ao em
´arvore de um grafo G e uma cordalizac¸ ˜ao de G. Seja ent˜ao D = (X = {X
i
}
iI
, T =
(I, F )) uma decomposic¸˜ao em ´arvore arbitr´aria de G. Seja E
= {(u, v) : u X
i
, v
X
i
, X
i
X , (u, v) E(G)}. Como a adic¸˜ao de E
a G resulta num novo grafo G
onde D ´e ainda uma decomposic¸˜ao em ´arvore (pela Propriedade 5). Como cada X
i
in-
duz uma clique maximal em G
, segue pelo Teorema 3.7 que G
´e cordal, e logo E
´e
uma triangulac¸ ˜ao. Al´em disso, se LA(D) k, ent˜ao G
´e uma k-cordalizac¸ ˜ao de G. O
sentido converso ´e tamb´em v´alido: se G
´e uma k-cordalizac¸ ˜ao de G, ent˜ao admite uma
decomposic¸˜ao em ´arvore de largura no m´aximo k, que ´e tamb´em v´alida e de mesma
largura — para G pela Propriedade 2. Logo, se (u, v) ´e uma aresta necess´aria para largura
em ´arvore k de G, ent˜ao u e v pertencem a alguma parte de qualquer decomposic¸˜ao em
´arvore D de G, LA(D) k, e pertencem tamb´em a qualquer k-cordalizac¸ ˜ao de G. O
mesmo vale se (u, v) pertence a toda k-cordalizac¸ ˜ao G
de G, j´a que, desta forma, u e v
devem pertencer a mesma parte da decomposic¸˜ao em ´arvore de G obtida atrav´es de G
.
35
3. Decomposic¸
˜
ao em
´
Arvore
A utilidade de uma aresta necess´aria (u, v) ´e evidente: se G ´e um grafo com largura
em ´arvore no m´aximo k, ent˜ao a adic¸ ˜ao de (u, v) a G n˜ao aumenta sua largura em ´arvore.
Desta forma, a adic¸˜ao de arestas necess´arias para largura em ´arvore k em um grafo G
resulta numa cordalizac¸ ˜ao de G satisfazendo o Lema 3.10, uma k-cordalizac¸ ˜ao. O lema
seguinte introduz uma condic¸˜ao suficiente para a existˆencia de uma aresta necess´aria:
Lema 3.13. Sejam G = (V, E) um grafo e u, v V . Se existem k+1 caminhos disjuntos
em v
´
ertices entre u e v em G, ent
˜
ao a aresta (u, v)
´
e necess
´
aria para largura em
´
arvore
k em G.
Prova. Se (u, v) E ent˜ao, claramente (u, v) ´e necess´aria. Considere ent˜ao que
(u, v) ∈ E. Seja D = (X = {X
i
: i I}, T = (I, F )) uma decomposic¸˜ao em ´arvore de
G com largura no m´aximo k. Suponha que existam k + 1 caminhos disjuntos em v´ertices
entre u e v, P
1
, . . . , P
i+1
, e identifique, para cada P
i
, todos os v´ertices internos, tanto em
G como em D, em um v´ertice v
i
, 1 i k+1. A decomposic¸˜ao em ´arvore D
= (X
, T
)
resultante ´e uma decomposic¸˜ao do grafo resultante G
com largura tamb´em no m´aximo k,
pela Propriedade 4. A necessariedade de (u, v) segue ent˜ao do fato de que u e v tˆem k + 1
vizinhos em G
e pela Propriedade 8.
O Lema 3.13 resulta numa importante ferramenta para encontrar uma decomposic¸˜ao
em ´arvore de um grafo. Se um par de v´ertices ´e separado por k + 1 caminhos disjuntos,
ent˜ao dois casos podem ocorrer: ou a aresta unindo o par ´e necess´aria e o grafo tem largura
em ´arvore no m´aximo k, ou os v´ertices internos a todos os k + 1 caminhos est˜ao em uma
mesma parte e a largura em ´arvore do grafo ´e estritamente maior que k.
Como Bodlaender (2000) aponta, ´e tamb´em poss´ıvel prover ainda uma condic¸˜ao
necess´aria e suficiente para a existˆencia de uma aresta necess´aria:
Lema 3.14. Seja G = (V, E) um grafo com largura em
´
arvore no m
´
aximo k, e sejam
ainda u e v v
´
ertices n
˜
ao adjacentes em G. Ent
˜
ao (u, v)
´
e uma aresta necess
´
aria se e
somente se n
˜
ao existe um subconjunto S V de v
´
ertices com |S| k +1, {u, v}S = ,
tal que S separa u e v em G e, para toda componente C de GS, o grafo G[CS]+K(S)
tem largura em
´
arvore k.
Prova.
() Sejam S um conjunto de v´ertices satisfazendo as condic¸ ˜oes do enunciado, e
C
1
, . . . , C
r
as componentes de G S. Sejam agora D
1
, . . . , D
r
as decomposic¸ ˜oes em
´arvore de largura no m´aximo k das respectivas componentes. De forma semelhante a
construc¸˜ao ilustrada na prova da Propriedade 3, seja D a decomposic¸ ˜ao em ´arvore de
G obtida pela uni˜ao disjunta das D
i
, 1 i r, e da adic¸ ˜ao de um novo n´o i
tal
que X
i
= S, que ´e feito adjacente aos n´os i
j
de cada D
j
tais que X
i
j
S. Como
cada decomposic¸˜ao tem largura no m´aximo k e |S| k + 1, segue que LA
G
(D) k.
Al´em disso, n˜ao existe em D uma parte X
tal que u, v X
, e logo (u, v) n˜ao ´e ne-
cess´aria. Como Bodlaender observa, essa construc¸˜ao, por sua vez, ´e semelhante a usada
por Arnborg, Corneil e Proskurowski para reconhecimento de grafos com largura em
´arvore k.
36
3.6. DEA para grafos cordais
() Suponha agora que (u, v) n˜ao ´e necess´aria, e seja D = (X = {X
i
}
iI
, T = (I, F ))
uma decomposic¸˜ao em ´arvore de G com largura no m´aximo k, onde, por hip´otese, u e
v pertencem a partes distintas. Sejam ainda T
u
e T
v
as sub-´arvores induzidas em T por
u e v, respectivamente, e sejam i
u
T
u
e i
v
T
v
os n´os que realizam o caminho P de
menor distˆancia entre algum n´o de T
u
e algum n´o de T
v
em T . Se i
u
e i
v
s˜ao adjacentes
em T , ent˜ao seja D
a decomposic¸˜ao em ´arvore obtida a partir de D pela subdivis˜ao de
(i
u
, i
v
) com o acr´escimo de um novo n´o i
tal que X
i
= X
i
u
X
i
v
. Se |P | > 1, ent˜ao
seja i
um n´o arbitr´ario em i
u
P i
v
. Em ambos os casos, pode-se ver que S = X
i
´e tal que
{u, v} S = , S ´e um uv-separador, |S| k + 1 e, para qualquer componente C de
G S, G[C S] + K(S) ´e um subgrafo de G, e logo, pela Propriedade 2, tem largura em
´arvore no m´aximo k.
Os Lemas 3.13 e 3.14 ser˜ao bastante utilizados na pr´oxima sec¸ ˜ao, quando uma
caracterizac¸ ˜ao para grafos com largura em ´arvore no m´aximo 3 ´e apresentada.
k-
´
arvores parciais
Grafos cordais, ou melhor, uma classe particular de grafos cordais, as k-´arvores, podem
ainda prover uma caracterizac¸ ˜ao interessante para grafos de largura limitada. Considere
inicialmente o seguinte resultado:
Teorema 3.15. Uma k-
´
arvore tem largura em
´
arvore k.
Prova. Uma k-´arvore ´e cordal, e, portanto, admite uma decomposic¸˜ao em ´arvore
m´ınima onde toda parte ´e uma clique. Todas as cliques da k-´arvore tem tamanho k + 1, e
logo a largura ´e tamb´em k.
A caracterizac¸ ˜ao segue do seguinte fato:
Lema 3.16. Um grafo G tem largura em
´
arvore no m
´
aximo k se e somente se G
´
e uma
k-
´
arvore parcial.
Prova. Se G ´e uma k-´arvore, ent˜ao a largura em ´arvore de G ´e k, pelo Teorema 3.15.
Se G ´e uma k-´arvore parcial ent˜ao deve ser subgrafo de alguma k-´arvore H, e logo, pela
Propriedade 2, LA(G) LA(H) = k.
Atrav´es da caracterizac¸ ˜ao sugerida no Lema 3.16, pode-se encontrar ainda uma
propriedade que limita o n´umero de arestas em um grafo com largura em ´arvore limitada:
Lema 3.17. Se a largura em
´
arvore de G = (V, E)
´
e no m
´
aximo k, ent
˜
ao |E| k|V |
1
2
k(k + 1).
Prova. Seja G = (V, E) uma k-´arvore. Pelo Teorema 3.15, G admite uma
decomposic¸˜ao em ´arvore D = (X = {X
i
}
iI
, T = (I, F )) onde cada X
i
cont´em uma
clique de tamanho k + 1.
´
E f´acil ver, usando induc¸ ˜ao, que |I| = |V | k, j´a que para
quaisquer X
i
e X
j
tais que X
i
X
j
= , tem-se |X
i
X
j
| = k. Se |V | = k + 1, ent˜ao
T tem somente um n´o e |E| =
1
2
k(k + 1). Se T tem |I| n´os, ent˜ao foram acrescentados
|I| 1 v´ertices a K
k+1
, feitos adjacentes a k v´ertices, de modo a obter G pela definic¸ ˜ao
de k-´arvore. Vale notar que, para cada v´ertice acrescentado, foram adicionadas k arestas.
37
3. Decomposic¸
˜
ao em
´
Arvore
Desta forma, todo v´ertice de G tem no m´ınimo k vizinhos — contribuindo com k · |V |/2
arestas e, considerando-se as novas arestas adicionadas ao longo da construc¸ ˜ao de G,
tem-se uma contribuic¸˜ao de k · (|V | k 1)/2 arestas. Logo,
|E| =
k · |V |
2
+
k · (|V | k 1)
2
= k · |V |
1
2
k(k + 1).
Se G ´e um subgrafo de uma k-´arvore, ou seja, uma k-´arvore parcial, ent˜ao clara-
mente E(G) k · |V |
1
2
k(k + 1). Al´em disso, pelo Lema 3.16, G tem largura em ´arvore
no m´aximo k, e o lema segue.
3.7 DEA para grafos com largura no m
´
aximo 3
Antes de iniciar uma discuss˜ao sobre uma caracterizac¸ ˜ao por menores proibidos para a
classe de grafos com largura em ´arvore no m´aximo 3, ´e importante considerar inicial-
mente o fato a seguir, de modo a perceber melhor, como nas caracterizac¸ ˜oes anteriores, a
dificuldade em se obter uma DEA D de um grafo G tal que LA(D) < LA(G).
Lema 3.18. Os grafos M
6
, M
8
e M
10
da Figura 3.13 t
ˆ
em largura em
´
arvore 4.
v
3
v
1
v
2
u
1
v
8
v
1
v
5
v
2
v
6
v
4
v
1
v
2
v
3
u
5
u
2
u
3
u
1
v
7
v
3
u
3
v
4
v
5
u
4
u
2
M
6
M
8
M
10
Figura 3.13. Os grafos M
6
, M
8
e M
10
tˆem largura em ´arvore 4.
Prova.
(M
6
) Sejam u
1
, u
2
e u
3
os v´ertices de M
6
pertencentes ao triˆangulo interno e v
1
, v
2
e v
3
pertencentes ao triˆangulo externo, como na Figura 3.13.
Como v
1
e u
1
tˆem 4 vizinhos em comum, v
2
, v
3
, u
2
e u
3
, ent˜ao, pela Propriedade 8,
ou M
6
tem largura em ´arvore no m´aximo 3 e (v
1
, u
1
) ´e necess´aria em M
6
, ou S
1
=
{v
2
, v
3
, u
2
, u
3
} est´a contida numa parte de uma decomposic¸˜ao em ´arvore D de M
6
.
Neste ´ultimo caso, pela Propriedade 7 (continˆencia de subgrafo bipartite completo),
tanto {v
1
}S
1
como {u
1
}S
1
pertencem a uma parte de D, e logo M
6
tem largura
em ´arvore 4. Suponha que n˜ao, e logo (u
1
, v
1
) ´e necess´aria.
Pelo mesmo racioc´ınio, considerando agora v
2
e u
2
, tem-se que (u
2
, v
2
) ´e necess´aria
para largura em ´arvore 3 em M
6
, ou tanto {u
2
} S
2
como {v
2
S
2
}, S
2
=
38
3.7. DEA para grafos com largura no m
´
aximo 3
{v
1
, v
3
, u
1
, u
3
}, forc¸am a largura em ´arvore de M
6
para 4. Mas, pela necessidade
de (u
1
, v
1
) e (u
2
, v
2
), tracejadas na Figura 3.14, tem-se que S
3
= {u
1
, v
1
, u
2
, v
2
}
deve pertencer a uma mesma parte de uma decomposic¸˜ao em ´arvore para M
6
, e
logo n˜ao h´a como impedir a largura em ´arvore de M
6
de ser 4, j´a que {v
3
} S
3
e
{u
3
} S
3
formariam uma clique de tamanho 5 em qualquer 4-cordalizac¸ ˜ao de M
6
.
A Figura 3.14 apresenta ainda uma decomposic¸ ˜ao em ´arvore de largura ınima 4
para M
6
.
X
2
X
1
Figura 3.14. Decomposic¸˜ao em ´arvore do grafo M
6
.
(M
8
) Sejam v
1
, . . . , v
8
os v´ertices de M
8
como na Figura 3.13. Contraindo-se as quatro
arestas (v
i
, v
i+4
), 1 i 4, obt´em-se um K
4
, e logo M
8
tem largura em ´arvore no
m´ınimo 3. Al´em disso, como cada v´ertice em M
8
tem trˆes vizInhos, basta aplicar
o resultado do Lema 3.14 fazendo S igual a N
M
8
(v) o conjunto de vizinhos de
qualquer v´ertice v e logo, como LA(M
8
[{v} S]) 3, n˜ao existem arestas
necess´arias para largura 3 em M
8
entre v´ertices n˜ao adjacentes.
No entanto, com a ajuda da simetria em M
8
, podem-se estabelecer relac¸ ˜oes en-
tre a presenc¸a de arestas em alguma 3-cordalizac¸ ˜ao de M
8
e a ausˆencia de outras.
Obviamente essas relac¸ ˜oes devem ser pesquisadas entre v´ertices n˜ao adjacentes.
Considere ent˜ao C = {v
5
, v
6
, v
7
, v
8
} composto pelos v´ertices em negrito na Fi-
gura 3.15, e os seguintes casos para construc¸˜ao de uma decomposic¸˜ao em ´arvore
em M
8
:
(1)
(2)
(3) (4)
(5)
Figura 3.15. Casos para construc¸˜ao de uma decomposic¸˜ao em ´arvore de M
8
baseada em cordalizac¸˜ao.
1. N
˜
ao existem arestas entre elementos de C. Neste caso, para an´alise de neces-
sariedade entre os pares de v´ertices n˜ao adjacentes de C
= {v
1
, v
2
, v
3
, v
4
},
deve-se encontrar, para cada par, um conjunto S satisfazendo o Lema 3.14 tal
que S n˜ao contenha dois elementos de C — caso contr´ario, seria obtida uma
decomposic¸˜ao em ´arvore cujas partes cont´em mais de dois elementos de C.
Mas M
8
´e 3-conexo, e logo |S| κ(M
8
) = 3 para que S seja um separador.
39
3. Decomposic¸
˜
ao em
´
Arvore
Al´em disso, |S| 4 pelas condic¸ ˜oes do Lema 3.14 para k = 3, de modo
que n˜ao ´e poss´ıvel encontrar tal S para qualquer par de v´ertices em C
, j´a
que pelo menos dois v´ertices de S devem estar em C. Logo, qualquer par de
v´ertices n˜ao adjacentes em C
deve ter uma aresta necess´aria, mostradas em
tracejado na Figura 3.15(1). N˜ao ´e dif´ıcil verificar que todas as decomposic¸ ˜oes
em ´arvore de uma cordalizac¸ ˜ao de M
8
satisfazendo a presenc¸a de arestas ne-
cess´arias C e ausˆencia de arestas em C
tˆem largura em ´arvore no ınimo 4.
A Figura 3.16 ilustra uma decomposic¸˜ao em ´arvore de largura m´ınima de uma
4-cordalizac¸˜ao de M
8
, e logo tamb´em de M
8
, respeitando C e C
.
X
2
X
3
X
4
X
5
X
1
Figura 3.16. Decomposic¸˜ao em ´arvore do grafo M
8
, caso 1.
2. Existe apenas uma aresta necess
´
aria em C. Seja (v
5
, v
8
) essa aresta, mos-
trada em estilo trac¸o-ponto na Figura 3.15(2). Mesmo com (v
5
, v
8
) sendo
necess´aria, n˜ao ´e poss´ıvel encontrar um conjunto S com no m´aximo quatro
v´ertices separando v
3
de v
2
e de v
4
e que n˜ao contenha dois v´ertices de C com
excec¸˜ao de v
5
e v
8
. Logo, (v
2
, v
3
) e (v
3
, v
4
) s˜ao necess´arias, sendo indicadas
por arestas tracejadas na Figura 3.15(2). Novamente todas as cordalizac¸ ˜oes
de M
8
obedecendo as condic¸ ˜oes deste caso com relac¸ ˜ao a C e C
s˜ao tais
que o tamanho da maior clique ´e 5, e logo todas as decomposic¸ ˜oes em ´arvore
m´ınimas tˆem largura 4. A Figura 3.17 ilustra uma destas decomposic¸ ˜oes; to-
das as outras resultam de simetria em M
8
, ou seja, de variac¸ ˜oes na escolha da
´unica aresta necess´aria em C.
3. Existem duas arestas necess
´
arias e adjacentes em C. Sejam (v
5
, v
8
) e (v
5
, v
6
)
tais arestas, ilustradas em trac¸o-ponto na Figura 3.15(3). Considere agora o
par (v
3
, v
4
). Qualquer v
3
v
4
-separador S deve conter v
7
, j´a que este ´e vizinho
comum do par. Mas S n˜ao pode conter v
5
, v
6
e v
8
, j´a que apenas as arestas
entre eles s˜ao necess´arias, e logo n˜ao existe S satisfazendo as condic¸ ˜oes do
Lema 3.14 o que resulta na necessariedade de (v
3
, v
4
) (em tracejado na Fi-
gura 3.15(3)). Basta agora ver que qualquer cordalizac¸ ˜ao obtida para esta caso
ser´a um supergrafo das cordalizac¸ ˜oes obtidas no caso 2 aqui s˜ao permitidas
arestas entre v
1
e v
2
, v
2
e v
3
, e v
1
e v
4
, ao contr´ario do caso 2, onde n˜ao existem
arestas entre v
5
e v
6
, v
6
e v
7
, e v
7
e v
8
— e logo toda decomposic¸˜ao em ´arvore
para M
8
obtida aqui tem largura no m´ınimo 4. A decomposic¸˜ao ilustrada na
Figura 3.17, por exemplo, satisfaz tamb´em as condic¸ ˜oes deste caso.
40
3.7. DEA para grafos com largura no m
´
aximo 3
X
3
X
1
X
4
X
2
Figura 3.17. Decomposic¸˜ao em ´arvore do grafo M
8
, caso 2.
4. Existem duas arestas necess
´
arias e n
˜
ao adjacentes em C. Sejam (v
5
, v
8
) e
(v
6
, v
7
) as arestas necess´arias em C, trac¸o-pontilhadas na Figura 3.15(4). Note
agora que C induz um subgrafo bipartite completo nestas cordalizac¸ ˜oes de
M
8
, e logo, pela Propriedade 7, ou v
5
e v
6
devem pertencer a uma mesma
parte em alguma decomposic¸˜ao em ´arvore de M
8
(satisfazendo as condic¸ ˜oes
de arestas necess´arias para este caso) ou v
7
e v
8
devem pertencer a uma mesma
parte. Logo, tem-se uma contradic¸˜ao, porque apenas v
5
e v
8
, e v
6
e v
7
podem
ser necess´arias pela hip´otese do caso, e logo este n˜ao ´e vi´avel.
5. Existem tr
ˆ
es arestas necess
´
arias em C. Considere as arestas trac¸o-pontilhadas
na Figura 3.15(5), (v
5
, v
8
), (v
5
, v
6
) e v
6
, v
7
), como sendo necess´arias em C. Se
(v
7
, v
8
) ´e necess´aria ent˜ao qualquer cordalizac¸˜ao de M
8
derivada ´e supergrafo
de uma cordalizac¸ ˜ao obtida no caso 1, tendo portanto largura em ´arvore no
m´ınimo 4. Neste caso, a decomposic¸˜ao em ´arvore da Figura 3.16 ´e valida
tamb´em para este caso.
Seja ent˜ao M
8
uma cordalizac¸˜ao de M
8
em que todos os v´ertices em C s˜ao
adjacentes entre si, com excec¸ ˜ao de v
7
e v
8
. Note que se existe uma aresta
entre v
4
e v
5
, ent˜ao as contrac¸ ˜oes de (v
1
, v
8
), (v
2
, v
6
) e (v
3
, v
7
) formam um
K
5
, e logo suponha ainda que v
4
e v
5
n˜ao s˜ao adjacentes em M
8
, assim como,
por simetria, v
4
e v
6
, v
2
e v
7
, e v
2
e v
8
. Mas isso n˜ao ´e poss´ıvel, pois desta
forma v
2
, v
4
, v
8
e v
5
formam um ciclo induzido, por exemplo, e M
8
n˜ao ´e uma
cordalizac¸˜ao. Portanto, (v
7
, v
8
) ´e necess´aria.
Pela simetria de M
8
, os casos acima resultam em todas as combinac¸ ˜oes poss´ıveis
para cordalizac¸ ˜oes m´ınimas de M
8
. Logo, como todas s˜ao 4-cordalizac¸ ˜oes, segue
pelo Corol´ario 3.11 que LA(M
8
) = 4.
(M
10
) Sejam v
i
, u
i
, 1 i 5, os v´ertices de M
10
, como mostrado na Figura 3.13. A
contrac¸ ˜ao de todos os u
i
e de uma aresta qualquer do ciclo externo resulta num
K
4
, e logo LA(M
10
) 3. Assim como no M
8
, todo v´ertice possui 3 vizinhos, e
logo, n˜ao ´e poss´ıvel encontrar, para qualquer par de v´ertices n˜ao adjacentes em M
10
,
um conjunto S satisfazendo as condic¸ ˜oes do Lema 3.14; desta forma, n˜ao existem
41
3. Decomposic¸
˜
ao em
´
Arvore
arestas necess´arias entre v´ertices n˜ao adjacentes. A estrat´egia ent˜ao ´e semelhante a
utilizada para o M
8
, mas como a enumerac¸ ˜ao dos casos seria mais longa, ela ser´a
aqui suprimida, e ser´a apenas assumido que LA(M
10
) 4.
Basta portanto encontrar uma decomposic¸˜ao em ´arvore de largura m´ınima 4 para
concluir a prova. Considere ent˜ao o par de v´ertices (v
1
, v
3
), e 3 caminhos disjuntos
P
1
= v
1
, v
5
, v
4
, v
3
, P
2
= v
1
, u
1
, u
2
, u
3
, v
3
e P
3
= v
1
, v
2
, v
3
em M
10
. Sejam
U
1
= {v
4
, v
5
}, U
2
= {u
1
, u
2
, u
3
} e U
3
= {v
2
} conjuntos contendo os v´ertices
internos de cada caminho, respectivamente. Ent˜ao, pelo Lema 3.13 e pelo fato de
que LA(M
10
) > 2, existe um menor M
10
de M
10
obtido pela contrac¸ ˜ao de cada
U
i
em novos v´ertices v
U
i
, 1 i 3, tal que os v
U
i
pertencem a uma mesma
parte de uma decomposic¸˜ao em ´arvore de M
10
. Na Figura 3.18(a), podem-se ver os
caminhos P
i
, os conjuntos U
i
e M
10
.
(b)(a)
W
1
W
3
W
2
W
4
v
U
2
v
3
v
U
3
u
5
u
4
v
1
v
U
1
U
3
P
3
U
2
P
1
P
2
U
1
Figura 3.18. Decomposic¸˜ao em ´arvore de um menor do grafo M
10
.
Como a contrac¸˜ao de {u
4
, u
5
, v
U
2
} resulta num K
4
, ent˜ao LA(M
10
) > 2. Na Fi-
gura 3.18(b), pode-se ver uma decomposic¸˜ao em ´arvore m´ınima D = (W =
{W
i
}
1i4
, T = (I, F )) de M
10
com largura 3, na qual {v
U
1
, v
U
2
, v
U
3
} est˜ao numa
mesma parte. Pela aplicac¸ ˜ao do Lema 3.2, pode-se derivar uma decomposic¸˜ao em
´arvore D
= (W
= {W
i
}
iI
, T = (I, F )) para M
10
onde cada parte W
i
corres-
ponde a uni˜ao dos f(v) para v W
i
, como definido no Lema. Claramente, a largura
de D
´e 6. A partir de D
, pode-se ainda derivar uma outra decomposic¸˜ao em ´arvore
D
para M
10
, eliminando o excesso de cada W
i
e procurando manter a estrutura
em ´arvore. As partes W
1
, W
2
e W
3
podem ser substitu´ıdas por X
1
, X
2
, X
3
e X
4
,
com menos v´ertices cada e cobrindo os mesmos v´ertices e arestas, como ilustra a
Figura 3.19. Al´em disso, W
4
pode ser substitu´ıdo por X
5
e X
6
, de onde se obt´em
uma decomposic¸˜ao em ´arvore de largura 4.
42
3.8. Conjuntos k-ligados, arbustos e novelos
X
1
X
6
X
5
X
3
X
4
X
2
Figura 3.19. Decomposic¸˜ao em ´arvore do grafo M
10
.
A seguinte caracterizac¸ ˜ao pode ser obtida, sendo aqui exposta sem prova:
Teorema 3.19 (Arnborg et al. [1993]). A classe dos grafos com largura em
´
arvore no
m
´
aximo 3
´
e exatamente a classe de grafos que tem K
5
, M
6
, M
8
e M
10
como menores
proibidos, Proib
({K
5
, M
6
, M
8
, M
10
}).
´
E importante notar que, ao contr´ario das classes de grafos com largura em ´arvore no
m´aximo k, k = 1, 2, n˜ao basta proibir K
k+2
como menor; ou seja, n˜ao ter um K
5
como
menor ´e uma condic¸ ˜ao necess´aria para que a largura de um grafo seja no m´aximo 4, mas
n˜ao suficiente. Os motivos dessa extens˜ao necess´aria no conjunto de obstruc¸˜ao que est´a
longe de ser t˜ao ´obvia como nas classes de grafos com largura limitada vistas at´e agora
apenas ser˜ao melhor compreendidos ao se analisar mais profundamente a estrutura dos
grafos com largura em ´arvore limitada, e n˜ao t˜ao pequena. Este ´e o objetivo do resto do
cap´ıtulo.
3.8 Conjuntos k-ligados, arbustos e novelos
Na Sec¸ ˜ao 2.4, foi apresentada a caracter´ıstica de um grafo ser k-ligado, e viu-se que
esta definic¸ ˜ao ´e mais forte que a de k-conectividade. Na verdade, a k-conectividade
em um grafo representa um parˆametro local do qu˜ao conexo um grafo ´e, baseado nas
regi˜oes menos conexas do grafo. Desta forma, pode-se aproveitar o conceito de k-ligado,
redefinindo-o de modo a refletir uma medida mais global de conectividade.
Definic¸
˜
ao 15 (Conjunto k-ligado e componente grande). Um subconjunto de v´ertices
S de um grafo G = (V, E) ´e dito k-ligado se, para qualquer conjunto X, |X| < k,
43
3. Decomposic¸
˜
ao em
´
Arvore
existe uma componente (´unica) de G X contendo mais da metade dos v´ertices de S,
chamada de componente grande (de G X).
Vale notar que para um conjunto S ser k-ligado, deve-se ter necessariamente |S|
2k caso contr´ario, basta tomar um subconjunto de S com mais de k v´ertices para que
n˜ao exista uma componente grande de S. Por outro lado, ´e f´acil ver que qualquer conjunto
S pode ser no m´aximo |S|/2-ligado.
Definic¸
˜
ao 16 (Ligac¸˜ao). A ligac¸
˜
ao de G, denotada por lig(G), ´e o maior inteiro para o
qual G cont´em um conjunto k-ligado.
Para perceber que a ligac¸˜ao de um grafo ´e uma medida mais global de conectividade,
considere uma grade r × s. Uma grade de ordem r × s ´e um grafo tendo como conjunto
de v´ertices {1, . . . , r} × {1, . . . , s} e conjunto de arestas definido por:
{((i, j), (i
, j
)) : |i i
| + |j j
| = 1}.
As cruzes da grade s˜ao os r · s conjuntos definidos por:
C
i,j
= {(i, l) : l = 1, . . . , s} {(l, j) : l = 1, . . . , r}
ou seja, cada cruz C
i,j
corresponde a uni˜ao, na grade, da i-´esima linha e da j-´esima co-
luna. Uma grade e duas de suas cruzes s˜ao exemplificadas na Figura 3.20. Pode-se ver
facilmente que toda grade ´e planar.
(1, 1)
(2, 1)
(1, 2)
(r 1, 2)
(r, 2)
(1, 3)
(r 1, 1)
(r, 1)
(2, 2) (2, 3)
(r, 3) (r, s 1)
(r 1, s 1)
(2, s 1)
(1, s 1)
(r 1, 3)
(1, s)
(2, s)
(r 1, s)
(r, s)
C
2,2
C
r1,s1
Figura 3.20. Uma grade r × s e as cruzes C
2,2
e C
r1,s1
.
Embora toda grade G de ordem r × s seja 2-conexa e de grau m´aximo 4, pode-se
ver que qualquer cruz C de G ´e um conjunto k-ligado, onde k = min{r, s}. Para tanto,
basta perceber que apenas a retirada de no ınimo k v´ertices pode separar C corres-
pondentes a uma linha, se r s, ou a uma coluna, caso contr´ario. Suponha que r s,
e logo, no pior caso, a retirada de r 1 v´ertices da linha completamente coberta por C
faz com que uma componente de G tenha pelo menos s 1 v´ertices, ou seja, mais do
44
3.8. Conjuntos k-ligados, arbustos e novelos
que (r + s 1)/2 = |C|/2. Desta forma, a ligac¸˜ao de uma grade pode ser arbitraria-
mente grande dependendo das dimens˜oes desta, em contraste ao conceito convencional
de conectividade.
Um outro conceito relacionado `a uma nova medida de conectividade ´e o de arbusto.
Definic¸
˜
ao 17 (Arbusto). Seja G = (V, E) um grafo. Dois subconjuntos X, Y de
v´ertices de V tocam-se se eles se interceptam (X Y = ) ou se existe uma aresta
e = (x, y) em G entre eles (x X e y Y ). Uma fam´ılia de subconjuntos de G que se
tocam dois a dois ´e chamada um arbusto.
Os dois conceitos est˜ao bastante relacionados. Se S ´e um conjunto k-ligado, ent˜ao
pode-se ver que, para cada par de conjuntos X e Y , |X|, |Y | < k, as componentes grandes
de G X e G Y se interceptam. Logo, a fam´ılia B de todas as componentes grandes
com relac¸ ˜ao a S em G ´e um arbusto. Como cada conjunto X V (G), |X| < k, gera uma
componente grande em B, n˜ao h´a como um conjunto com menos de k v´ertices interceptar
todos os elementos em B. Assim como um arbusto pode ser obtido a partir de um conjunto
k-ligado, a rec´ıproca tamb´em ´e verdadeira. Tal aspecto pode ser melhor explorado com a
introduc¸˜ao de mais um conceito:
Definic¸
˜
ao 18 (Conjunto de acerto). Um conjunto de v´ertices U cobre um arbusto B se
os v´ertices em U encontram cada elemento de B; neste caso, U ´e dito um conjunto de
acerto para B.
Atrav´es da definic¸ ˜ao de conjunto de acerto, pode-se ainda conferir um car´ater
quantitativo a um arbusto:
Definic¸
˜
ao 19 (N´umero de arbusto). A ordem de um arbusto B equivale a cardinalidade
do seu menor conjunto de acerto, sendo denotado por B. O n
´
umero de arbusto de um
grafo G, denotado por NA(G), ´e o m´aximo obtido dentre as ordens de seus arbustos.
Logo, pela definic¸˜ao de n´umero de arbusto, pode-se dar uma definic¸ ˜ao mais exata
para a relac¸˜ao entre arbusto e conjunto k-ligado. Como todo conjunto k-ligado gera um
arbusto B tal que este n˜ao pode ser coberto por nenhum conjunto X com menos de k
v´ertices, segue que B tem ordem no m´ınimo k.
Por outro lado, qualquer conjunto de acerto B
m´ınimo de um arbusto B pode gerar
um conjunto no m´aximo B/2-ligado. Basta ver que um conjunto X B
, X B/2,
gera uma componente de B que deve conter os v´ertices restantes de B
, sendo portanto
uma componente grande. Logo, todo arbusto gera um conjunto no ınimo k-ligado tal
que k ´e no m´aximo metade da ordem do arbusto. O lema seguinte vincula as relac¸ ˜oes para
todo o grafo, e segue como conseq¨uˆencia direta do que foi discutido nesta sec¸ ˜ao at´e agora.
Lema 3.20 (Reed [1997]). Para todo grafo G, lig(G) NA(G) 2lig(G).
Prova. Como conjunto S k-ligado gera um arbusto B de ordem no m´ınimo k, o maior
valor de poss´ıvel para a ordem de um arbusto em um grafo G depende do maior k para o
qual G admite um conjunto k-ligado, ou seja, NA(G) = max{B : B ´e um arbusto em
G} max{k : existe S k-ligado em G} =lig(G).
O outro lado da desigualdade ´e mostrado de modo semelhante. Seja B um arbusto
que realiza o n´umero de arbusto em G, ou seja, B = NA(G). Como todo arbusto gera
45
3. Decomposic¸
˜
ao em
´
Arvore
um conjunto k-ligado, B garante a existˆencia de um tal conjunto com k no m´ınimo B/2.
Logo, o maior valor de k depende de NA(G), lig(G) = max{k : existe S k-ligado em
G} NA(G)/2.
Um exemplo t´ıpico de arbusto ´e o conjunto de cruzes em uma grade. Claramente,
a uni˜ao das cruzes de uma grade forma um arbusto de ordem min{r, s}, onde qualquer
linha e qualquer coluna representa um conjunto de acerto. De forma a aproveitar o fato
de que a menor dimens˜ao de uma grade ´e a mais relevante, normalmente refere-se a uma
grade regular k × k. Claramente, uma grade k × k tem um arbusto de ordem k.
De maneira semelhante aos conceitos de arbusto e conjunto k-ligado, assim tamb´em
um arbusto em um grafo G e uma decomposic¸ ˜ao em ´arvore para G est˜ao intimamente
relacionados. O modo como essa relac¸ ˜ao se d´a ´e elucidado pelos dois lemas seguintes.
Lema 3.21 (Reed [1997]). Sejam G um grafo, B um arbusto de G e D = (X =
{X
i
}
iI
, T = (I, F )) uma decomposic¸
˜
ao em
´
arvore de G. Ent
˜
ao existe um n
´
o b em T
tal que X
b
´
e um conjunto de acerto para B.
Prova. Sejam G = (V, E), D e B = {B
j
}
jJ
como definidos no enunciado. Para cada
B
j
em B, seja T
B
j
= {t T : v B
j
e v X
t
, v V }. Claramente, cada T
B
j
induz uma
sub-´arvore de T , e logo, pelo Lema 2.2, T
=
jJ
T
B
j
= induz uma nova sub-´arvore
de T. Basta agora ver que qualquer n´o b de T
pertence a todas as sub-´arvores T
B
j
, e logo
X
b
encontra todos os elementos de B, sendo um conjunto de acerto para este.
Lema 3.22 (Diestel [2000]). Para todo arbusto B de um grafo G existe uma decomposi-
c¸
˜
ao em
´
arvore D = (X = {X
i
}
iI
, T = (I, F )) de G tal que se |X
i
| > B, X
i
X ,
ent
˜
ao X
i
n
˜
ao cobre B.
Uma decomposic¸˜ao em ´arvore satisfazendo o Lema 3.22 acima ´e dita B-admiss
´
ıvel.
A prova do lema acima ´e na verdade uma parte da prova de outro teorema central na
relac¸ ˜ao entre arbustos e DEAs; a vers˜ao da prova fornecida por Diestel ´e mais curta que
a prova original.
Teorema 3.23 (Seymour e Thomas [1993]). Seja k 0 um inteiro. Um grafo tem lar-
gura em
´
arvore no m
´
aximo k se e somente se cont
´
em um arbusto de ordem (estritamente)
maior que k.
O Teorema 3.23 ´e conhecido como Teorema da Dualidade para Largura em
´
Arvore
sendo tamb´em usualmente expresso sob outra forma:
Teorema 3.24 (Dualidade para Largura em
´
Arvore, Robertson e Seymour [1986]). Para
todo grafo G, LA(G) = NA(G) 1.
Prova. Seja G um grafo. Pelo Lema 3.21, a partir de uma decomposic¸ ˜ao em ´arvore D
de G ´e sempre poss´ıvel obter um arbusto B tal que existe uma parte de D contendo um
conjunto de acerto ınimo para B. Logo, LA(D) B1. Como a largura em ´arvore de
qualquer decomposic¸ ˜ao ´e limitada pela ordem do seu arbusto derivado, segue que o menor
valor para a largura ´e no ınimo o maior valor para ordem, e logo LA(G) NA(G) 1.
Por outro lado, pelo Lema 3.22, todo arbusto B gera uma decomposic¸˜ao em
´arvore B-admiss´ıvel D, e logo, como qualquer parte de D encontra todo elemento de
46
3.8. Conjuntos k-ligados, arbustos e novelos
B, LA(D) B 1. Pelo mesmo motivo, a largura em ´arvore de G deve estar limitada
pelo maior valor poss´ıvel de um conjunto de acerto para um arbusto B, e logo segue que
LA(G) NA(G) 1.
Embora a relac¸˜ao entre arbustos e DEAs seja bastante estreita, ela n˜ao permite uma
equivalˆencia entre os conceitos: um arbusto B pode gerar mais de uma decomposic¸˜ao em
´arvore de largura no m´aximo B1, enquanto que uma decomposic¸˜ao em ´arvore D pode
gerar mais de um arbusto de ordem no m´aximo LA(D) + 1. Para se obter uma relac¸ ˜ao
mais estreita ainda, ´e preciso acrescentar mais condic¸ ˜oes `a formac¸˜ao de um arbusto.
Definic¸
˜
ao 20 (Novelo). Um arbusto N ´e um novelo se, para qualquer tripla (N
1
, N
2
, N
3
)
de elementos de N , uma das duas situac¸ ˜oes abaixo ocorre:
1. N
1
N
2
N
3
´e n˜ao vazio;
2. existe uma aresta e tal que T
1
, T
2
e T
3
cont´em uma extremidade de e.
Dados um arbusto B e um grafo G, define-se a func¸ ˜ao f
B
: {X : X V (G), |X| <
B} → P(V (G)) como um mapeamento de um subconjunto X satisfazendo o dom´ınio
de f
B
`a ´unica componente de G X contendo um elemento de B . Diz-se ent˜ao que
dois arbustos B
1
e B
2
s˜ao distingu
´
ıveis em um grafo G se existe algum X V (G),
|X| < B
1
, |X| < B
2
, tal que f
B
1
(X) = f
B
2
(X) e, neste caso, X ´e chamado
(B
1
, B
2
)-distintor; caso contr´ario, B
1
e B
2
s˜ao ditos indistingu
´
ıveis.
Um arbusto ´e dito maximal se n˜ao existe nenhum outro indistingu´ıvel dele e que
tenha maior ordem. O mesmo conceito vale para novelos; de fato, vale notar que novelos
maximais indistingu´ıveis tˆem mesma ordem.
O teorema abaixo estabelece uma relac¸ ˜ao muito pr´oxima entre os novelos maximais
de um grafo G e uma decomposic¸˜ao em ´arvore especial de G.
Teorema 3.25 (Decomposic¸˜ao em ´arvore canˆonica, Robertson e Seymour [1995]). Para
qualquer grafo G, pode-se construir uma decomposic¸
˜
ao em
´
arvore D = (X , T ) que tenha
as seguintes propriedades:
1. Para cada novelo maximal N de G, existe exatamente um n
´
o t(N ) de T tal que
X
t(N )
forma um conjunto de acerto para N .
2. Se N
1
e N
2
s
˜
ao novelos maximais indistingu
´
ıveis ent
˜
ao t(N
1
) = t(N
2
).
3. Se N
1
e N
2
s
˜
ao novelos maximais distingu
´
ıveis ent
˜
ao t(N
1
) = t(N
2
) e existe uma
aresta st no caminho t(N
1
)T t(N
2
) tal que X
s
X
t
´
e um (N
1
, N
2
)-distintor de
ordem m
´
ınima.
4. Para cada n
´
o t de uma decomposic¸
˜
ao em
´
arvore, existe um novelo maximal tal que
t(N ) = t.
Como Reed (1997) observa, o Teorema 3.25 garante a existˆencia de uma
decomposic¸˜ao em ´arvore D para um grafo G que separa G em partes altamente cone-
xas, usando separadores que s˜ao os menores poss´ıveis. Para isto, basta ver que existe uma
relac¸ ˜ao de equivalˆencia entre D e um conjunto de novelos maximais distingu´ıveis N para
G onde, pelas restric¸ ˜oes (1) e (4) do teorema, cada parte de D ´e um conjunto de acerto
47
3. Decomposic¸
˜
ao em
´
Arvore
para algum novelo em N. Logo, n˜ao podem existir partes X
i
e X
j
em D tais que X
i
X
j
,
e conseq¨uentemente D ´e uma boa decomposic¸˜ao em ´arvore.
3.9 Grades
Como mostrado na sec¸ ˜ao anterior, as grades tornam-se interessantes por apresentarem
ligac¸˜ao e n´umero de arbusto arbitrariamente grandes. Tamb´em na sec¸ ˜ao anterior foi apre-
sentada a relac¸˜ao pr´oxima entre arbustos e decomposic¸ ˜oes em ´arvore, melhor explicitada
pelos Teoremas 3.23 e 3.23. Em particular, pode-se ver que uma grade k × k tem largura
em ´arvore no ınimo k1, j´a que apresenta um arbusto de ordem k. De fato, a largura em
´arvore de uma grade k×k ´e exatamente k (em (Reed 1997) ´e mostrada uma decomposic¸ ˜ao
em ´arvore de largura m´ınima).
Desta forma, uma grade k × k pode ter largura em ´arvore arbitrariamente grande,
e logo torna-se uma obstruc¸ ˜ao natural para classes de grafos com largura em ´arvore limi-
tada: se um grafo G possui uma grade k × k como menor, ent˜ao, pela Propriedade 4, a
largura em ´arvore de G ´e no ınimo k. Uma conseq¨uˆencia deste fato ´e que, ao se cons-
truir um conjunto de obstruc¸ ˜ao para uma classe de grafos com largura em ´arvore limitada,
as grades e seus menores tˆem importˆancia considerada. De fato, como toda grade e seus
menores s˜ao planares, qualquer classe Proib
(H), onde algum elemento H de H ´e n˜ao
planar, cont´em todas as grades, e logo n˜ao pode conter grafos com largura em ´arvore
limitada. O seguinte teorema estabelece uma equivalˆencia entre o que foi discutido:
Teorema 3.26 (Robertson e Seymour [1986]). Dado um grafo H, os grafos que n
˜
ao
cont
´
em H como menor t
ˆ
em largura em
´
arvore limitada se e somente se H
´
e planar.
Uma prova do Teorema 3.26 bem mais curta que a original pode ser encontrada em
(Diestel 2000). A id´eia da prova apresentada por Diestel ´e mostrar que a proibic¸˜ao de
qualquer grafo planar como menor limita a largura em ´arvore de um grafo. Al´em disso,
basta mostrar tal proibic¸˜ao para uma grade, j´a que todo grafo planar ´e menor de alguma
grade. Logo, basta mostrar que:
Teorema 3.27 (Robertson e Seymour [1986]). Para todo inteiro r, existe um inteiro k
tal que todo grafo com largura em
´
arvore no m
´
ınimo k tem um menor de uma grade
r × r.
Com base nestes resultados, torna-se mais claro agora o motivo da extens˜ao do
conjunto de menores proibidos para a classe de grafos G tais que LA(G) 3. N˜ao se
pode proibir apenas o K
5
, j´a que este ´e planar e logo Proib
({K
5
}) cont´em todas as
grades, tendo seus grafos largura em ´arvore ilimitada.
3.10 Conceitos relacionados
Uma decomposic¸
˜
ao em caminho de um grafo G ´e uma decomposic¸˜ao em ´arvore D =
(X = {X
i
}
iI
, T = (I, F )) onde T ´e um caminho. Analogamente `a definic¸˜ao de largura
em ´arvore, define-se a largura em caminho de uma decomposic¸˜ao em caminho D como a
48
3.10. Conceitos relacionados
maior cardinalidade de suas partes menos um, LC
G
(D) = max
iI
{|X
i
| 1}, e a largura
em caminho de um grafo G como sendo a largura m´ınima observada dentre todas as
larguras em caminho de G.
Decomposic¸ ˜oes em caminho s˜ao, em geral, de tratamento mais f´acil, dada a sim-
plicidade de sua estrutura. Como ´e de se esperar, v´arias propriedades que valem para
decomposic¸ ˜oes em ´arvore valem tamb´em para decomposic¸ ˜oes em caminho, como as Pro-
priedades 3, 2 e 4. Como se ver´a no pr´oximo cap´ıtulo, decomposic¸ ˜oes em caminho podem
inclusive ser usadas como base para o desenvolvimento de algoritmos para decomposic¸ ˜ao
em ´arvore, assim como a pesquisa para tais algoritmos ´e enriquecida com o desenvol-
vimento de t´ecnicas de decomposic¸ ˜oes em ´arvore m´ınimas para classes espec´ıficas de
grafos.
Um outro conceito interessante ´e o de decomposic¸˜ao em ´arvore ligada ou enxuta:
Definic¸
˜
ao 21 (Decomposic¸˜ao em ´arvore ligada). Uma decomposic¸˜ao em ´arvore D =
(X = {X
i
}
iI
, T = (I, F )) de um grafo G = (V, E) ´e dita ligada se, al´em das restric¸ ˜oes
usuais de uma decomposic¸ ˜ao em ´arvore, esta satisfaz:
[P4L] dados um n´umero s N e n´os i, j I de T , ou G cont´em s caminhos disjuntos
V
i
-V
j
ou existe um t iT j tal que |V
t
| < s.
A propriedade de ser ligada pode ser vista como um fortalecimento do conceito
de ser boa: al´em de n˜ao conter partes redundantes, os ramos de uma decomposic¸˜ao em
´arvore ligada de um grafo G cont´em v´ertices de modo somente a manter a conectivi-
dade m´ınima em G. Desta forma, G ser´a sempre minimalmente conexo ao longo de cada
ramo. Decomposic¸ ˜oes em ´arvore ligadas tamb´em constituem ferramentas importantes
para encontrar a largura em ´arvore de um grafo G, devido principalmente ao seguinte
resultado:
Teorema 3.28 (Thomas [1990]). Todo grafo G admite uma decomposic¸
˜
ao em
´
arvore
ligada de largura LA(G).
Intuitivamente, pode-se perceber que a busca por partes pequenas em uma
decomposic¸˜ao pode vantajosamente ser compatibilizada com a identificac¸˜ao de subgra-
fos altamente conexos em um grafo, e que comporiam um ramo numa decomposic¸˜ao em
´arvore ligada.
49
Cap´ıtulo 4
Algoritmos de Decomposic¸
˜
ao em
´
Arvore
4.1 Introduc¸
˜
ao
No cap´ıtulo anterior foram vistos conceitos e resultados te´oricos envolvendo decomposic¸ ˜oes
em ´arvore de grafos; o objetivo deste cap´ıtulo ´e complementar, e concentra-se em discutir
t´ecnicas e algoritmos para obtenc¸˜ao de decomposic¸ ˜oes em ´arvore. Em particular, um dos
grandes objetivos na pesquisa de decomposic¸ ˜oes em ´arvore envolve o desenvolvimento de
m´etodos para determinac¸ ˜ao da decomposic¸˜ao em ´arvore ınima de um grafo. Tal objetivo
pode ser alcanc¸ado com a resoluc¸˜ao do seguinte problema de otimizac¸ ˜ao:
Problema: MIN LARGURAEM
´
ARVORE
Inst
ˆ
ancia: Um grafo G = (V, E).
Encontrar: A largura em ´arvore de G, LA(G).
Um outro problema, mais simples, decide, dados um grafo G e um inteiro k, se a
largura em ´arvore de G ´e no m´aximo k. Este corresponde a vers˜ao de decis˜ao do problema
acima, sendo denotado por k-LARGURA EM
´
ARVOR E:
Problema: k-LARGURAEM
´
ARVORE
Inst
ˆ
ancia: Um grafo G = (V, E) e um inteiro k.
Decidir: A largura em ´arvore de G, LA(G), ´e no m´aximo k?
Conforme Arnborg et al. (1987) mostraram, k-LARGURAEM
´
ARVORE ´e NP-
completo, mesmo quando restrito a algumas classes de grafos, como grafos bipartite,
por exemplo. No entanto, existem ainda outras classes de grafos para as quais k-
LARGURAEM
´
ARVOR E admite complexidade em tempo polinomial, como para as classes
de grafos cordais. O objetivo de tratar o problema restrito a algumas classes de grafos
´e a obtenc¸˜ao de heur´ısticas para limitantes superiores, como se ver´a na Sec¸ ˜ao 4.2, onde
grafos cordais s˜ao o foco.
50
4.1. Introduc¸
˜
ao
Quando o parˆametro k ´e uma constante fixa, e logo n˜ao faz parte da entrada do
problema, tem-se um caso bem estudado. Neste caso, distinguem-se duas vers˜oes do pro-
blema: a vers˜ao de decis
˜
ao, quando se deve apenas decidir se a largura em ´arvore de um
grafo G ´e no m´aximo k, retornando verdadeiro em caso afirmativo e falso caso contr´ario;
e a vers˜ao de construc¸
˜
ao, quando tamb´em uma decomposic¸˜ao em ´arvore de largura no
m´aximo k deve compor a sa´ıda, em caso afirmativo.
O primeiro algoritmo em tempo polinomial para a vers˜ao construtiva de k-
LARGURAEM
´
ARVOR E se deve a Arnborg et al. (1987), tendo complexidade O(n
k+2
). A
partir dos resultados com menores de grafos, Robertson e Seymour fornecem uma prova
n˜ao construtiva da existˆencia de um algoritmo em tempo O(n
2
) para a vers˜ao de decis˜ao
(Robertson e Seymour 1995). Seu algoritmo tem uma estrutura em duas fases:
1. Na primeira fase, um algoritmo em tempo O(n
2
) decide se G admite uma
decomposic¸˜ao em ´arvore D com largura no m´aximo 4k + 3 ou, caso contr´ario,
se G tem largura em ´arvore maior que k. Como Bodlaender (1997) observa, na ver-
dade Robertson e Seymour usam um conceito semelhante a largura em ´arvore para
alcanc¸ar este resultado, mas a diferenc¸a ´e somente t´ecnica e n˜ao relevante.
2. A decomposic¸˜ao obtida na primeira fase ´e agora usada para verificar, em tempo
linear, se G contem algum menor pertencente ao conjunto de obstruc¸˜ao para a classe
de grafos com largura em ´arvore no m´aximo k.
Grande parte dos algoritmos empregados para o problema ainda seguem, de al-
guma forma, a estrutura em duas fases. Como a complexidade de um algoritmo deste
tipo depende da primeira fase, a grande maioria dos esforc¸os de melhoria foram orien-
tados para esta etapa. V´arios autores forneceram vers˜oes mais eficientes, incluindo um
algoritmo aleat´orio de Matousek e Thomas (1992), uma vers˜ao paralela de Lagergren
(1996), e uma vers˜ao utilizando separadores com caracter´ısticas especiais de Reed (1992),
de complexidade O(n log n). Este ´ultimo algoritmo ser´a visto em maiores detalhes na
Sec¸ ˜ao 4.3.
Cada um destes algoritmos de primeira fase determina se a largura em ´arvore de um
grafo G dado como entrada ´e maior que k ou, caso contr´ario, retorna uma decomposic¸˜ao
em ´arvore de G com largura no m´aximo f(k), onde f ´e uma func¸˜ao linear de k com
coeficientes pequenos. Para a segunda fase, Bodlaender e Kloks (1996) encontraram um
algoritmo em tempo linear para a vers˜ao de construc¸˜ao, ou seja, dada uma decomposic¸˜ao
em ´arvore de um grafo de entrada G com largura l > k, o algoritmo decide se G admite
uma nova decomposic¸˜ao em ´arvore de largura no m´aximo k, e a retorna. Usando este
resultado, Bodlaender (1996) encontrou uma algoritmo resolvendo as duas fases conjun-
tamente em tempo linear, para cada k constante, para a vers˜ao construtiva. Este ´e o melhor
resultado encontrado at´e agora, sendo discutido na Sec¸ ˜ao 4.4.
Uma outra abordagem interessante foi desenvolvida por Arnborg et al. (1993),
usando uma t´ecnica conhecida como reduc¸
˜
ao em grafos. Embora os algoritmos apre-
sentados por Arnborg et al. tenham complexidade em tempo linear, sua complexidade em
espac¸o ´e exponencial. V´arios outros autores adotaram abordagens semelhantes como pa-
radigma, como por exemplo Courcelle (1990), contribuindo para o refinamento da t´ecnica.
de Fluiter e Bodlaender (1996) modificaram alguns dos conceitos para obter um algo-
51
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
ritmo baseado em reduc¸˜ao e com complexidade linear tanto em tempo como em espac¸o.
A t´ecnica de reduc¸˜ao em grafos ´e apresentada na Sec¸ ˜ao 4.3.
Todos os algoritmos at´e agora apresentados tˆem uma constante escondida na ex-
press˜ao de complexidade que ´e, no m´ınimo, exponencial em k. Como Bodlaender (1997)
comenta, a medida em que k aumenta os algoritmos tornam-se cada vez mais inadequados
para aplicac¸ ˜oes pr´aticas. Nos casos em que k = 2, 3 ou 4, algoritmos espec´ıficos foram
encontrados, sendo de complexidade linear e baseados em reduc¸ ˜ao em grafos (Matousek
e Thomas 1991; Arnborg e Proskurowski 1986; Sanders 1996).
4.2 DEA em grafos cordais
Assim como no cap´ıtulo anterior uma ˆenfase especial foi dada aos grafos cordais, de
onde algumas caracterizac¸ ˜oes importantes foram obtidas, ´e interessante discutir aqui,
inicialmente, o problema de largura em ´arvore quando restrito a esta classe de grafos.
Antes de apresentar um algoritmo para discuss˜ao, ´e necess´ario introduzir a notac¸˜ao
seguinte. Se D = (X , T ) ´e uma decomposic¸ ˜ao em ´arvore de um grafo G, ent˜ao T (D)
retorna a ´arvore da decomposic¸˜ao, ou seja, T (D) = T ; de modo an´alogo, X (D) retorna
a fam´ılia de partes de D, X (D) = X . A func¸˜ao COMPONENTES (G) retorna uma lista
contendo os conjuntos de v´ertices que induzem cada componente no grafo G, respectiva-
mente (um conjunto em cada posic¸˜ao da lista). O algoritmo DEA
CORDAL da Figura 4.1
constr´oi uma decomposic¸˜ao em ´arvore m´ınima para um grafo cordal.
Algoritmo DEA CORDA L(G)
Entrada: Um grafo cordal G = (V, E).
Sa´ıda: Uma decomposic¸ ˜ao em ´arvore D = (X , T ) ınima de G.
1. in´ıcio
2. se G ´e completo ent
˜
ao
3. retorna ({V }, ({t}, ))
4. sen
˜
ao
5. selecione u, v : (u, v) ∈ E, u, v V
6. S SEP MIN IM AL(u, v, G)
7. D ({S}, ({t
S
}, ))
8. para cada C COM PO NE NT ES(G[V \ S]) fac¸a
9. D
DEA COR DAL(G[C S])
10. selecione t
: S X
t
, t
T (D
), X
t
X (D
)
11. X (D) X (D) X (D
)
12. T (D) T (D) T (D
)
13. E(T (D)) E(T (D)) {(t, t
)}
14. retorna D
15. fim
Figura 4.1. Algoritmo para decomposic¸˜ao em ´arvore de grafos cordais.
52
4.2. DEA em grafos cordais
Pelo Lema 2.9, todo separador minimal de um grafo cordal ´e uma clique. Logo,
dado um separador S de um grafo cordal G, cada componente C de G S ´e tamb´em
cordal, o que justifica a recurs˜ao na linha 9. Como a base da recurs˜ao ocorre nas linhas 2
e 3, pode-se ver claramente que toda parte da decomposic¸ ˜ao ´e uma clique. Logo, como
a maior clique de G est´a exatamente contida em alguma parte da decomposic¸˜ao obtida,
esta ´e m´ınima. Resta justificar a existˆencia de t
na linha 10; isto ´e imediato a partir do
Lema 2.10, j´a que um v´ertice v tal que {v} S induz uma clique em G S certamente
existe, e logo tamb´em existe um n´o t
em T
v
(D
) contendo {v} S.
Atrav´es do algoritmo DEA CORDAL , pode-se perceber que todo grafo cordal pode
ser obtido recursivamente pela colagem de grafos cordais ao longo de subgrafos com-
pletos. Tal caracter´ıstica pode ser extremamente vantajosa no projeto de algoritmos para
alguns problemas de otimizac¸ ˜ao, j´a que algumas caracter´ısticas de cada parte de uma
decomposic¸˜ao obtida pelo algoritmo DEA
CORDAL podem ser estendidas para todo o
grafo, como, por exemplo, a n˜ao continˆencia de algum menor K
r
, para algum r inteiro
constante. Tal fato motiva a definic¸˜ao de uma decomposic¸˜ao em ´arvore particular:
Definic¸
˜
ao 22 (Decomposic¸˜ao em ´arvore simplicial). Uma decomposic¸˜ao em ´arvore D =
(X = {X
i
}
iI
, T = (I, F )) de um grafo G = (V, E) ´e dita simplicial se, al´em das
restric¸ ˜oes usuais de uma decomposic¸˜ao em ´arvore, esta satisfaz:
[P4S] dados n´os i, j I de T , o separador X
i
X
j
forma uma clique em G.
Logo, a decomposic¸˜ao obtida pelo algoritmo DEA CORDAL ´e simplicial. De fato,
n˜ao ´e dif´ıcil perceber que todo grafo admite uma decomposic¸˜ao em ´arvore simplicial
embora n˜ao necessariamente ınima, como no caso dos grafos cordais bastando
para tanto aplicar recursivamente o mesmo procedimento usando separadores clique at´e
que somente partes irredut´ıveis sejam obtidas. Como Diestel (2000) observa, se todos
os separadores clique usados forem minimais, ent˜ao o conjunto de partes obtido ser´a at´e
mesmo ´unico.
Al´em de motivar uma abordagem mais abrangente para todos os grafos, o estudo
de grafos cordais pode ainda fornecer elementos para a obtenc¸ ˜ao de um limitante su-
perior para a largura em ´arvore de grafos em geral. Basta perceber, com a ajuda do
Lema 3.9, que a largura em ´arvore de um grafo ´e no m´aximo a largura em ´arvore de
qualquer cordalizac¸˜ao deste. Desta forma, o algoritmo DEA CORDAL pode ser modifi-
cado para encontrar uma cordalizac¸˜ao de um grafo G, e conseq¨uentemente, um limitante
para LA(G), como mostrado na Figura 4.2.
A corretude de DEA CORDAL LS segue diretamente da de DEA CORDAL . Vale
notar que, a rigor, a escolha de um v´ertice na linha 2 para construc¸˜ao de um separador
S pode ser feita arbitrariamente. A escolha de um v´ertice de grau ınimo ´e apenas uma
regra heur´ıstica para que as cliques na cordalizac¸˜ao resultante sejam menores.
Em (Koster et al. 2001) s˜ao mostrados outros algoritmos para limitantes inferio-
res e superiores da largura em ´arvore de um grafo G, baseados no maior grau ınimo
encontrado para todos os subgrafos de G, e em cordalizac¸ ˜oes de G, respectivamente.
53
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
Algoritmo DEA COR DAL LS(G)
Entrada: Um grafo G = (V, E).
Sa´ıda: Uma decomposic¸ ˜ao em ´arvore D = (X , T ) de G.
1. in´ıcio
2. selecione v : d(v) = δ(G), v V
3. S N
G
(v) {v}
4. G
G + K(S)
5. se G
´e completo ent
˜
ao
6. retorna ({V }, ({t}, ))
7. sen
˜
ao
8. D ({S}, ({t
S
}, ))
9. para cada C COM PO NE NT ES(G[V \ S]) fac¸a
10. D
DEA COR DAL LS(G
[C S])
11. selecione t
: S
X
t
, t
T (D
), X
t
X (D
)
12. X (D) X (D) X (D
)
13. T (D) T (D) T (D
)
14. E(T (D)) E(T (D)) {(t, t
)}
15. retorna D
16. fim
Figura 4.2. Algoritmo para decomposic¸˜ao em ´arvore baseado em cordalizac¸˜ao.
4.3 DEA usando separadores fortes
Na sec¸˜ao anterior viu-se como a noc¸˜ao de separadores pode ser extremamente ´util na
determinac¸˜ao de uma decomposic¸˜ao em ´arvore de um grafo. A introduc¸˜ao de um novo
conceito de separador permite a obtenc¸ ˜ao de uma decomposic¸˜ao em ´arvore de largura
limitada.
Definic¸
˜
ao 23 (Separador forte). Um separador forte em um grafo G = (V, E) ´e um
conjunto X de v´ertices, X V , tal que nenhuma componente de G X contem mais
de
2
3
|V (G X)| v´ertices. De modo semelhante, um S-separador forte para algum S V
´e um conjunto de v´ertices X tal que nenhuma componente de G X contem mais de
2
3
|S X| v´ertices de S. A ordem de um separador ´e a cardinalidade de X.
Vale observar que a definic¸ ˜ao encontrada em Reed (1992) refere-se apenas a um se-
parador como sendo um conjunto satisfazendo as condic¸ ˜oes da definic¸˜ao acima; de modo
a evitar confus˜ao com o conceito tradicional de separador, a definic¸ ˜ao aqui empregada foi
modificada para separador forte.
A primeira relac¸ ˜ao entre separadores fortes e largura em ´arvore ´e estabelecida pelo
seguinte lema:
Lema 4.1 (Reed [1992]). Seja G = (V, E) um grafo. Se G tem largura em
´
arvore no
m
´
aximo k, ent
˜
ao para todo conjunto S V , G cont
´
em um S-separador forte de ordem
no m
´
aximo k + 1.
54
4.3. DEA usando separadores fortes
Prova. Claramente, todo conjunto S com no m´aximo k +1 v´ertices admite a si mesmo
como separador forte, e logo apenas conjuntos S com |S| > k + 1 ser˜ao considerados.
O objetivo da prova ´e mostrar que ou G tem um S-separador forte de ordem no m´aximo
k +1 ou G tem um arbusto de ordem no m´ınimo k +2, e logo, pelo Teorema da dualidade,
G tem largura em ´arvore no m´ınimo k + 1.
Considere ent˜ao a fam´ılia B
S
de subgrafos conexos de G tais que B B
S
se e
somente se |N
G
(B)| k + 1 e |B S| >
2
3
|S N
G
(B)|. Suponha agora que existam
dois elementos B
1
e B
2
de B
S
que n˜ao se tocam. Logo, como B
1
B
2
= e n˜ao existem
arestas entre B
1
e B
2
, tem-se que B
1
G N
G
(B
1
) B
2
N
G
(B
2
) e B
2
G
N
G
(B
2
) B
1
N
G
(B
1
). Da´ı segue que (B
1
S) (B
2
S) S N
G
(B
1
) N
G
(B
2
),
e logo |B
1
S| + |B
2
S| |S N
G
(B
1
) N
G
(B
2
)|. Por outro lado, como |B
1
S| >
2
3
|S N
G
(B
1
)| e |B
2
S| >
2
3
|S N
G
(B
2
)| pela presenc¸a de ambos em B
S
,
e como |S N
G
(B
1
)| + |S N
G
(B
2
)| 2 · |S N
G
(B
1
) N
G
(B
2
)|, tem-se que
|B
1
S| + |B
2
S| >
4
3
|S N
G
(B
1
) N
G
(B
2
)|. Da contradic¸˜ao encontrada, conclui-
se que quaisquer dois elementos de B
S
se tocam, e logo B
S
´e um arbusto. Mas se um
conjunto de acerto X para B
S
tem ordem no m´aximo k + 1 ent˜ao nenhuma componente
de G X cont´em mais de
2
3
|S X| v´ertices, caso contr´ario tal componente estaria em
S pois X seria a vizinhanc¸a desta componente contradizendo o fato de X ser um
conjunto de acerto. Logo, ou X ´e um S-separador forte ou B
S
tem ordem no m´ınimo
k + 2, o que conclui a prova.
A relac¸ ˜ao rec´ıproca a do Lema 4.1 garante uma condic¸˜ao suficiente mais relaxada
para a largura em ´arvore m´axima de um grafo:
Lema 4.2 (Reed [1992]). Seja G = (V, E) um grafo. Se, para todo S V , G cont
´
em
um S-separador forte de ordem k + 1, ent
˜
ao G tem largura em
´
arvore no m
´
aximo 4k + 1.
Com base no Lema 4.2, pode-se ver que se um grafo G n˜ao possui S-separadores
fortes, para todo S V , ent˜ao a largura em ´arvore de G ´e no m´aximo 4k + 1. A prova
do Lema 4.2 ´e imediata se uma rotina recursiva ´e executada com base neste fato: basta
encontrar um S-separador forte X e aplicar a rotina em cada componente de G X.
Como |X| k + 1, tem-se que |S| 3k + 1 o que ficar´a mais claro ap´os a prova do
Lema 4.3 — e logo segue que |X S| 4k + 1. O argumento deste esboc¸o de prova fica
mais claro se a rotina recursiva ´e posta em forma de um algoritmo, como proposto por
Reed (1992):
1. Encontre um S-separador forte X de ordem no m´aximo k+1. Se tal separador forte
n˜ao existe, ent˜ao pare, e retorne S. Caso contr´ario, sejam U
1
, . . . , U
l
as componentes
de G X, G
i
= X U
i
e S
i
= (U
i
S) X, 1 i l.
2. Como X ´e um S-separador forte, |S| 3k + 1, e como |X| k + 1, tem-se que
|S
i
| 3k +1, 1 i l, e logo pode-se aplicar a rotina recursivamente em cada G
i
procurando um S
i
-separador forte. Caso n˜ao seja encontrado um separador forte de
ordem no m´aximo k + 1 em algum G
i
, pare: G tamb´em n˜ao cont´em um separador
forte de ordem no m´aximo k + 1.
3. Neste passo as rotinas recursivas para cada G
i
foram bem sucedidas, retornando
uma decomposic¸˜ao em ´arvore D
i
= (X
i
, T
i
), onde existe um n´o destacado t
i
em
55
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
cada T
i
tal que S
i
X
t
i
. Uma decomposic¸˜ao em ´arvore D = (X , T ) para G pode
ent˜ao ser encontrada com base nas D
i
, onde:
(a) V (T ) =
l
i=1
V (T
i
)
{t};
(b) E(T ) =
l
i=1
E(T
i
)
{(t, t
i
) : 1 i l};
(c) X =
l
i=1
X
i
X
t
, X
t
= X S.
ou seja, D ´e uma decomposic¸˜ao formada pela uni˜ao entre as l decomposic¸ ˜oes D
i
pela adic¸˜ao de um n´o t que ´e feito adjacente a cada n´o destacado t
i
, sendo a parte
correspondente a t igual a uni˜ao entre X e S, X
t
(Figura 4.3). Retorne D.
t
S
i
S
U
i
U
j
t
j
S
j
X
t
i
T
j
T
i
Figura 4.3. Decomposic¸˜ao em ´arvore obtida pelo algoritmo de Reed: os ramos correspondentes a duas
componentes, U
i
e U
j
s˜ao mostrados, assim como os novos separadores fortes para cada componente, S
i
e
S
j
, respectivamente, em cinza, e os n´os destacados de cada ´arvore T
i
e T
j
.
Vale notar que a construc¸ ˜ao para obtenc¸˜ao de D no passo 3 j´a ´e familiar, sendo
encontrada uma forma semelhante na prova da Propriedade 3. N˜ao ´e dif´ıcil verificar que
D ´e realmente uma decomposic¸˜ao em ´arvore, j´a que X
t
sempre cont´em a intersec¸˜ao entre
quaisquer duas partes correspondentes a dois n´os destacados. Al´em disso, como a maior
parte de uma decomposic¸˜ao D
i
cont´em no m´aximo a uni˜ao entre seu S
i
-separador forte
e S
i
, segue que LA(D
i
) 4k + 1. De fato, a rotina apresentada acima ´e uma prova
algor´ıtmica do Lema 4.2. O algoritmo de Reed ´e formalizado na Figura 4.4
A an´alise de complexidade segue com a ajuda do seguinte lema:
Lema 4.3 (Reed [1997]). Dado um conjunto S V de um grafo G = (V, E), com
|S| 3k + 1, existe uma rotina k-SEPARADOR que retorna um S-separador forte de
ordem no m
´
aximo k + 1, se este existe, com complexidade de tempo O(k · 3
3k+1
· |E|).
56
4.3. DEA usando separadores fortes
Algoritmo k-DEA REE D(G, S)
Entrada: Um grafo G = (V, E) e S V tal que |S| 3k + 1.
Sa´ıda: Se LA(G) k, uma decomposic¸ ˜ao em ´arvore D = (X , T ) de G
com largura no m´aximo 4k + 1; caso contr´ario, um subconjunto S de v´ertices
tal que G n˜ao cont´em um S-separador forte de ordem no m´aximo k + 1.
1. in´ıcio
2. se |V | 4k + 1 ent
˜
ao
3. retorna ({V }, ({t}, ))
4. sen
˜
ao
5. X k-SEPAR AD OR(S, G)
6. se X = ent
˜
ao
7. retorna S
8. sen
˜
ao
9. D ({X S}, ({t}, ))
10. para cada C COM PO NE NT ES(G[V \ X]) fac¸a
11. G
G[C X]
12. S
(C S) X
13. D
k-DEA RE ED(G
, S
)
14. se D
´e um conjunto de v´ertices ent
˜
ao
15. retorna S
16. sen
˜
ao
17. selecione t
: S
X
t
, t
T (D
), X
t
X (D
)
18. X (D) X (D) X (D
)
19. T (D) T (D) T (D
)
20. E(T (D)) E(T (D)) {(t, t
)}
21. retorna D
22. fim
Figura 4.4. Algoritmo proposto em Reed (1992).
Prova. Considere um conjunto S de v´ertices de um grafo G = (V, E), |S| 3k + 1,
como no enunciado. Inicialmente, deve-se mostrar que G admite um S-separador forte se
e somente se V pode ser particionado em 3 conjuntos A, B e X tais que cada componente
de G X est´a contida em A ou B, |X| k + 1, |A S|
2
3
|S X| e |B S|
2
3
|S X|. A implicac¸ ˜ao contr´aria ´e imediata: basta tomar X como S-separador forte, e
logo, como toda componente C de G X ´e tal que |C|
2
3
|S X|, e como A B =
j´a que (A, B, X) ´e uma partic¸ ˜ao de V , segue que C A ou C B. Para o sentido
inverso, seja X tamb´em o S-separador forte, e sejam U
1
, . . . , U
l
as componentes de GX
ordenadas decrescentemente de acordo com a cardinalidade da intersec¸˜ao com S, ou seja,
|U
i
S| |U
i+1
S|. Basta agora definir A =
j
i=1
U
j
, onde j ´e o menor ´ındice tal que
|
j+1
i=1
(S U
i
)|
2
3
|S X|; e B = V \ A \ X.
A id´eia da prova agora ´e encontrar uma partic¸ ˜ao (A, B, X) de V de modo que X
seja um S-separador forte. Para tanto, podem-se considerar as combinac¸ ˜oes de v´ertices
57
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
de S nos conjuntos de uma partic¸˜ao (S
A
, S
B
, S
X
) ou seja, S
A
, S
B
e S
X
s˜ao disjuntos
e S
A
= S A, S
B
= S tal que S
A
= S A, S
B
= S B e S
X
= S X. Desta
forma, a id´eia ´e encontrar uma partic¸˜ao em S e estendˆe-la de modo a obter uma partic¸˜ao
correspondente em G contendo um S-separador forte.
Como para cada v´ertice em S existem trˆes opc¸ ˜oes estar em S
A
, S
B
ou S
X
e
S tem no m´aximo 3k + 1, tem-se um total de no m´aximo 3
3k+1
combinac¸ ˜oes poss´ıveis
para uma partic¸˜ao de S. Este total de combinac¸ ˜oes fica reduzido se as restric¸ ˜oes para a
partic¸˜ao em V forem aplicadas para S: como |X| k + 1, deve-se ter |S
X
| k + 1, e
como |A S|
2
3
|S X| e |B S|
2
3
|S X|, deve-se ter tamb´em |S
A
| 2|S
B
| e
|S
B
| 2|S
A
|. Note agora que, assim como A e B s˜ao separados por no m´aximo k + 1
caminhos disjuntos em G j´a que X ´e um separador de ordem no m´aximo k + 1, e
portanto cont´em pelo menos um v´ertice de cada um destes caminhos assim tamb´em
S
A
e S
B
devem ser separados por, no m´aximo, k+1|S
X
| caminhos disjuntos em GS
X
.
Se existem mais de k + 1 |S
X
| caminhos disjuntos entre S
A
e S
B
em G S
X
, ent˜ao
existem mais de k + 1 caminhos disjuntos entre A e B em G e logo X n˜ao pode ser um
separador forte com no m´aximo k + 1 v´ertices. A Figura 4.5 facilita a compreens˜ao da
relac¸ ˜ao entre as partic¸ ˜oes.
S
S
X
A B
S
B
S
A
X
Figura 4.5. Construc¸˜ao de um S-separador forte de ordem no m´aximo k + 1.
Suponha ent˜ao que G admite um S-separador de ordem no m´aximo k + 1, e logo S
admite uma partic¸˜ao tal que existem no m´aximo k+1|S
X
| caminhos disjuntos entre S
A
e
S
B
em GS
X
. Tais caminhos podem ser encontrados, aplicando-se t´ecnicas de caminhos
alternados baseadas no Teorema de Menger, em tempo O(k|E|). Seja P = {v
1
, . . . , v
r
},
r k + 1 |S
X
|, um conjunto contendo um v´ertice interno em cada caminho disjunto
encontrado entre S
A
e S
B
. Basta ver agora que X pode ent˜ao ser definido como P S
X
,
A como a uni˜ao das componentes de G X que cont´em pelo menos um v´ertice em S
A
e B = V \ A \ X. Como para cada combinac¸˜ao de uma partic¸ ˜ao os caminhos disjuntos
devem ser avaliados, a complexidade total da rotina ´e O(k · 3
3k+1
· |E|).
Como pelo Lema 3.17 tem-se E(G) < k|V (G)| para qualquer grafo G com largura
em ´arvore no m´aximo k, segue que O(|E(G)|) = O(|V (G)|), e logo a complexidade de
58
4.4. DEA em tempo linear
k-SEPARADO R ´e O(|V |). Vale notar que, embora k seja uma constante, contribui com um
grande fator exponencial que fica escondido na notac¸ ˜ao assint´otica de complexidade.
N˜ao ´e dif´ıcil perceber que, para cada passo da recurs˜ao, a rotina ´e executada para
cada componente de G X, ou seja, em l = O(|V |) sub-problemas disjuntos, e logo a
complexidade global de k-DEA REED ´e O(|V |
2
). Acrescentando a noc¸ ˜ao de S-separador
forte aproximado, Reed (1992) consegue dividir os sub-problemas de maneira que cada
um tenha tamanho no m´aximo (1 ) · |V |), > 0, e logo pode-se concluir que a comple-
xidade ap´os a modificac¸˜ao torna-se O(|V | log |V |). O prec¸o deste ganho em desempenho
´e a obtenc¸˜ao de decomposic¸ ˜oes em ´arvore com largura no m´aximo 5k + 1, a partir de
separadores fortes de ordem no m´aximo 4k + 1.
4.4 DEA em tempo linear
Um dos principais resultados para decomposic¸ ˜oes em ´arvore ´e a obtenc¸˜ao de um algoritmo
linear para resoluc¸ ˜ao de k-LARGURAEM
´
ARVORE com k constante. Tal resultado pode ser
encontrado em (Bodlaender 1996), e resumido pelo seguinte teorema:
Teorema 4.4 (Bodlaender [1996]). Para todo k N, existe um algoritmo em tempo
linear que testa se um dado grafo G = (V, E) tem largura em
´
arvore no m
´
aximo k, e,
em caso positivo, retorna uma decomposic¸
˜
ao em
´
arvore de G com largura em
´
arvore no
m
´
aximo k.
A id´eia principal do algoritmo ´e a partic¸
˜
ao dos v´ertices em dois conjuntos: v´ertices
de baixo grau e v´ertices de alto grau. Pode ser mostrado que, para grafos com largura em
´arvore limitada por uma constante k, existem apenas “poucos” v´ertices de alto grau. Dois
casos s˜ao ent˜ao poss´ıveis:
1. Um n´umero “suficiente” de v´ertices de baixo grau ´e adjacente a um ou mais
v´ertices de baixo grau. Neste caso, pode ser mostrado que qualquer emparelha-
mento maximal em G cont´em Ω(n) arestas. Computa-se ent˜ao o grafo G
obtido
pela contrac¸˜ao de todas as arestas no emparelhamento maximal. Recursivamente,
pode-se computar uma decomposic¸ ˜ao em ´arvore de largura no m´aximo k de G
, ou
concluir que a largura em ´arvore de G
´e maior que k e logo tamb´em a de G.
Desta decomposic¸˜ao em ´arvore, pode-se facilmente construir uma decomposic¸˜ao
em ´arvore de G com largura no m´aximo 2k + 1. Esta ´ultima decomposic¸˜ao ´e usada
para resolver o problema, usando o algoritmo de Bodlaender e Kloks (1996).
2. Um n´umero “pequeno” de v´ertice de baixo grau ´e adjacente a um ou mais v´ertices
de baixo grau. Pode ser mostrado que uma certa quantidade de arestas pode ser
adicionada a G sem tornar a sua largura em ´arvore maior que k, caso esta n˜ao
seja maior que k. Pode ser mostrado que G
, o grafo melhorado de G G acres-
cido do novo conjunto de arestas tem um n´umero suficiente de v´ertices que s˜ao
I-simpliciais: seus vizinhos formam uma clique no grafo melhorado, e algumas
outras condic¸ ˜oes s˜ao satisfeitas. Recursivamente, uma decomposic¸˜ao em ´arvore de
largura no m´aximo k ´e calculada de G
, obtida pela remoc¸ ˜ao de todos os v´ertices
I-simpliciais do grafo melhorado de G, ou pode-se concluir que a largura em ´arvore
59
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
de G
, e logo tamb´em de G, ´e maior que k. A partir de tal decomposic¸˜ao em ´arvore
de G
, pode-se facilmente construir uma decomposic¸˜ao em ´arvore de G com largura
no m´aximo k.
Alguns resultados auxiliares s˜ao necess´arios para compreens˜ao do algoritmo.
Definic¸
˜
ao 24 (Decomposic¸˜ao em ´arvore suave). Uma decomposic¸˜ao em ´arvore D =
(X = {X
i
: i I}, T = (I, F )) de largura k ´e dita suave, se para todo i I :
|X
i
| = k + 1, e para toda (i, j) F : |X
i
X
j
| = k.
Bodlaender (1996) mostra que qualquer decomposic¸˜ao em ´arvore pode ser trans-
formada numa decomposic¸˜ao suave de mesma largura, aplicando o seguinte conjunto de
operac¸ ˜oes at´e que nenhuma seja mais poss´ıvel:
Se para (i, j) F , X
i
X
j
, ent˜ao contraia a aresta (i, j) em T e tome como novo
n´o X
j
= X
j
;
Se para (i, j) F , X
i
⊆ X
j
e |X
j
| < k + 1, ent˜ao escolha um v´ertice v X
i
\ X
j
,
e adicione v a X
j
;
Se para (i, j) F , |X
i
| = |X
j
| = k + 1, e |X
i
\ X
j
| > 1, ent˜ao subdivida a aresta
(i, j) em T , e seja i
o novo n´o. Escolha agora um v´ertice v X
i
\ X
j
e um v´ertice
w X
j
\ X
i
, e fac¸a X
i
= X
i
\ {v} {w}.
Pelas propriedades de uma decomposic¸˜ao em ´arvore suave, pode-se estabelecer
uma relac¸ ˜ao direta entre o n´umero de v´ertices de um grafo, o n´umero de partes de uma
decomposic¸˜ao suave e a largura desta.
Lema 4.5. Se D = (X , T )
´
e uma decomposic¸
˜
ao em
´
arvore suave de G = (V, E) com
largura k, ent
˜
ao |I| = |V | k.
Prova. Por induc¸˜ao em |I|.
Seja c
1
uma constante denotando o limite superior da frac¸ ˜ao de v´ertices que s˜ao de
“alto” grau. Ent˜ao uma outra constante c
2
pode ser definida por:
c
2
=
1
4k
2
+ 12k + 16
c
1
· k
2
(k + 1)
2
> 0
As definic¸ ˜oes de v´ertices de baixo e alto grau podem agora ser estabelecidas:
Definic¸
˜
ao 25 (V´ertices de baixo e alto grau). Seja d = max(k
2
+ 4k +4, 2k/c
1
). Um
v´ertice v ´e dito de baixo grau se o grau de v ´e no m
´
aximo d, e ´e dito de alto grau se o grau
de v ´e maior que d.
Definic¸
˜
ao 26 (V´ertice amig´avel). Um v´ertice v ´e dito amig
´
avel se ´e de baixo grau e
adjacente a pelo menos um outro v´ertice de baixo grau.
Primeira parte
A id´eia da primeira parte do algoritmo ´e realizar um emparelhamento maximal nas arestas,
contrai-las e ent˜ao aplicar um novo algoritmo de decomposic¸˜ao com base no novo grafo
obtido.
60
4.4. DEA em tempo linear
Inicialmente, deve-se garantir a condic¸˜ao de que se um n´umero suficiente de v´ertices
´e de baixo grau, uma boa decomposic¸˜ao pode ser obtida a partir do emparelhamento. O
primeiro resultado usa os v´ertices amig´aveis do grafo.
Lema 4.6. Se existem n
f
v
´
ertices amig
´
aveis em G = (V, E), ent
˜
ao qualquer
emparelhamento maximal de G cont
´
em pelo menos n
f
/(2d) arestas.
Prova. Considere um emparelhamento maximal M. Qualquer v´ertice amig´avel v deve
ser uma extremidade de uma aresta em M, ou adjacente a um outro v´ertice amig´avel que ´e
extremidade de uma aresta em M. Para cada aresta e em M, pode-se associar no m´aximo
2d v´ertices amig´aveis que s˜ao extremidades de e ou adjacentes a um v´ertice amig´avel
de e. Se um v´ertice amig´avel n˜ao est´a associado a alguma aresta em M, ent˜ao M n˜ao ´e
maximal. Conseq¨uentemente |M| n
f
/(2d).
A partir da contrac¸ ˜ao das arestas em M, pode-se obter um novo grafo, e, a partir
deste, proceder recursivamente na construc¸˜ao de uma decomposic¸˜ao em ´arvore. A relac¸ ˜ao
entre as duas decomposic¸ ˜oes a do grafo original e do obtido pela contrac¸˜ao das ares-
tas no emparelhamento maximal ´e estabelecida por uma func¸ ˜ao de correspondˆencia.
Formalmente, sejam M um emparelhamento maximal em G = (V, E) e G
= (V
, E
) o
grafo obtido pela contrac¸˜ao das arestas de M em G. Define-se ent˜ao f
M
: V → V
como
f
M
(v) = v se v n˜ao ´e uma extremidade de uma aresta em M, e seja f
M
(v) = f
M
(w)
o v´ertice resultante da contrac¸ ˜ao de (v, w) M. A decomposic¸˜ao em ´arvore de G pode
ent˜ao ser obtida a partir de G
:
Lema 4.7. Sejam M, G, G
, f
M
como acima. Se (W, T )
´
e uma decomposic¸
˜
ao em
´
arvore
de G
com largura k, ent
˜
ao (X , T ), onde X
i
= {v V : f
M
(v) W
i
},
´
e uma
decomposic¸
˜
ao em
´
arvore de G com largura no m
´
aximo 2k + 1.
Lema 4.8. Sejam G e G
como definidos acima. A largura em
´
arvore de G
´
e no m
´
aximo
a largura em
´
arvore de G.
Prova. Basta observar que G
´e um menor de G, e logo, pela Propriedade 4, LA(G
)
LA(G).
Os Lemas 4.7 e 4.8 sugerem ent˜ao uma boa estrat´egia: encontrar, inicialmente, uma
decomposic¸˜ao em ´arvore D a partir da contrac¸ ˜ao das arestas de um emparelhamento ma-
ximal e, em seguida, uma nova decomposic¸˜ao D
a partir da func¸˜ao f
M
. Como a largura
de D
´e limitada — no m´aximo 2 · LA(D) + 1 — basta encontrar um algoritmo para en-
contrar uma nova decomposic¸ ˜ao D

a partir de D
, tendo esta largura no m´aximo LA(D).
Bodlaender e Kloks (1996) sugeriram tal algoritmo, encontrando o seguinte resultado:
Teorema 4.9. Para todo k, l, existe um algoritmo em tempo linear que, dados um grafo
G = (V, E) e uma decomposic¸
˜
ao em
´
arvore (X , T ) de G com largura no m
´
aximo l,
determina se a largura em
´
arvore de G
´
e no m
´
aximo k, e, caso positivo, encontra uma
decomposic¸
˜
ao em
´
arvore de G com largura no m
´
aximo k.
61
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
Segunda parte
Na segunda parte do algoritmo, um n´umero pequeno de v´ertices ´e de baixo grau; neste
caso, novos conceitos s˜ao necess´arios. Assim como na primeira parte um novo grafo ´e
obtido a partir do grafo original, tamb´em na segunda parte busca-se uma operac¸ ˜ao que
simplifique a busca de uma decomposic¸˜ao em ´arvore limitada.
A id´eia da primeira parte ´e aproveitar o fato de que a maioria dos v´ertices s˜ao de
baixo grau e contrair arestas para obtenc¸ ˜ao de um novo grafo com largura em ´arvore
limitada, controlada. A segunda parte, no entanto, implementa uma abordagem de certa
forma contr´aria: se uma pequena parte dos v´ertices for de baixo grau, pode-se usar esta
caracter´ıstica para acrescentar arestas e manter a largura em ´arvore do grafo, enquanto a
busca de decomposic¸ ˜oes ´e facilitada. Considere ent˜ao o seguinte conceito:
Definic¸
˜
ao 27 (Grafo melhorado). Dado um grafo G = (V, E), o grafo G
= (V, E
) ´e
dito melhorado de G, sendo obtido pela adic¸˜ao de arestas (v, w) a E para todos os pares
v, w V tais que v e w tem pelo menos k + 1 vizinhos em comum de baixo grau em G.
A relac¸ ˜ao entre G e seu grafo melhorado G
´e mostrada no seguinte lema:
Lema 4.10. Se a largura em
´
arvore de G
´
e no m
´
aximo k, ent
˜
ao a largura em
´
arvore do
grafo melhorado de G
´
e tamb
´
em no m
´
aximo k. Al
´
em disso, qualquer decomposic¸
˜
ao em
´
arvore de G com largura no m
´
aximo k
´
e tamb
´
em uma decomposic¸
˜
ao em
´
arvore do grafo
melhorado com largura no m
´
aximo k, e vice-versa.
Prova. A prova ´e trivial, e segue diretamente da Propriedade 8.
A partir do grafo melhorado de G pode-se acrescentar uma nova definic¸ ˜ao:
Definic¸
˜
ao 28 (V´ertice I-simplicial). Um v´ertice de um grafo G ´e dito I-simplicial se ´e
simplicial no grafo melhorado de G, de baixo grau e n˜ao amig´avel em G.
Os lemas que se seguem mostram que, se G tem poucos v´ertices de alto grau e
poucos v´ertices amig´aveis, ent˜ao G tem muitos v´ertices I-simpliciais. Antes, no entanto,
um outro conceito se faz necess´ario:
Definic¸
˜
ao 29 (V´ertice ´util). Um v´ertice v de um grafo G ´e dito
´
util com respeito a al-
guma decomposic¸˜ao em ´arvore (X , T ) se ´e de baixo grau, n˜ao amig´avel, e existe um n´o
i I tal que todos os viznhos de v pertencem a X
i
.
O pr´oximo resultado comp˜oe a base do algoritmo da segunda parte. Os le-
mas restantes procuram apenas estabelecer uma abordagem algor´ıtmica a partir da sua
interpretac¸ ˜ao.
Lema 4.11. Seja (X , T ) uma decomposic¸
˜
ao em
´
arvore suave de G = (V, E) com
largura em
´
arvore k.
1. Para toda folha i de T , pode-se associar um v
´
ertice de baixo grau v X
i
tal que
este seja amig
´
avel ou
´
util com respeito a (X , T), e n
˜
ao exista um j I, j = i, tal
que v X
j
.
2. Para cada caminho i
0
, i
1
, . . . , i
k
2
+3k+3
em T com i
1
, . . . , i
k
2
+3k+2
n
´
os de grau 2
em T , pode-se associar pelo menos um v
´
ertice v X
i
1
· · · X
i
k
2
+3k+2
que seja
62
4.4. DEA em tempo linear
amig
´
avel ou
´
util com respeito a (X , T ), e tal que v n
˜
ao pertenc¸a a um conjunto X
j
com j I um n
´
o n
˜
ao pertencente ao caminho.
Prova.
1. Seja j o vizinho da folha i em T . Seja v o ´unico v´ertice em X
i
\ X
j
, e logo v ´e
adjacente somente a v´ertices em X
i
. Dois casos podem ocorrer: ou todos os vizinhos
de v s˜ao de alto grau, onde neste caso v ´e ´util com respeito a (X , T ); ou um vizinho
de v ´e de baixo grau, e neste caso v ´e amig´avel.
2. Note que |X
i
0
· · · X
i
k
2
+3k+3
| = k
2
+ 4k + 4 d. Conseq¨uentemente, todos
os v´ertices em X
i
1
· · · X
i
k
2
+3k+2
\ (X
i
0
X
i
k
2
+3k+3
) s˜ao de baixo grau. Supo-
nha que nenhum deles ´e amig´avel, isto ´e, eles s˜ao adjacentes somente a v´ertices
de alto grau em X
i
0
X
i
k
2
+3k+3
. Suponha que X
i
0
cont´em r v´ertices de alto
grau, w
1
, . . . , w
r
. Claramente r |X
i
0
| = k + 1. Cada um destes w
s
pertencem
a conjuntos sucessivos X
i
0
, X
i
1
, . . . , X
i
w
s
. Suponha, sem perda de generalidade,
i
w
1
i
w
2
· · · i
w
r
. Se algum v´ertice v de baixo grau pertence a exata-
mente um conjunto X
i
j
, 1 j k
2
+ 3k + 2, ent˜ao este deve ser ´util com
respeito a (X , T ). Se algum v´ertice v de baixo grau pertence apenas aos conjun-
tos X
i
w
j
+1
, . . . , X
i
w
j+1
(ou aos subconjuntos destes), ent˜ao todos os vizinhos de v
pertencem a X
i
w
j+1
, e logo v ´e ´util com respeito a (X , T ). Todos os v´ertices em
X
i
1
· · · X
i
k
2
+3k+2
que n˜ao sejam de nenhum destes dois tipos devem pertencer a
pelo menos um dos conjuntos X
i
0
, X
i
w
1
, . . . , X
i
w
r
, X
i
k
2
+3k+3
. Estes s˜ao no total no
m´aximo (k + 1)(k + 3) = k
2
+ 4k + 3 v´ertices. Logo, pelo menos um v´ertice em
X
i
1
· · · X
i
k
2
+3k+2
\ (X
i
0
X
i
k
2
+3k+3
) deve ser ´util com respeito a (X , T ).
Definic¸
˜
ao 30 (Colec¸ ˜ao folha-caminho). Uma colec¸
˜
ao folha-caminho de uma ´arvore T
´e uma colec¸˜ao de folhas em T , mais uma colec¸ ˜ao de caminhos de comprimento k
2
+3k+3
em T , onde todos os n´os em um caminho que n˜ao sejam extremidades do caminho tˆem
grau 2 em T e n˜ao pertencem a nenhum outro caminho na colec¸ ˜ao. O tamanho da colec¸ ˜ao
´e o n´umero total de folhas mais o n´umero total de caminhos na colec¸ ˜ao.
Lema 4.12. Cada
´
arvore com r n
´
os cont
´
em uma colec¸
˜
ao folha-caminho de tamanho no
m
´
ınimo r/(2k
2
+ 6k + 8).
Prova. Sejam r
b
o n´umero de n´os com grau no m´ınimo 3, r
f
o n´umero de folhas, e
r
2
o n´umero de n´os com grau 2. Claramente, r
b
< r
f
. Todos os n´os de grau 2 pertencem
a menos de r
f
+ r
b
componentes conectadas da floresta obtida pela remoc¸˜ao de todas
as folhas e todos os n´os com grau 3 ou maior da ´arvore. Cada componente cont´em no
m´aximo k
2
+ 3k + 3 n´os que n˜ao s˜ao parte de uma colec¸ ˜ao folha-caminho de tamanho
m´aximo. Logo, existem menos que (r
f
+ r
b
)(k
2
+ 3k + 3) n´os de grau 2 que n˜ao estejam
em algum caminho da colec¸ ˜ao. Conseq¨uentemente, existem no m´aximo
r
2
(r
b
+ r
f
)(k
2
+ 3k + 3)
k
2
+ 3k + 4
63
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
caminhos numa colec¸ ˜ao folha-caminho de tamanho m´aximo. Segue que o tamanho
m´aximo de uma colec¸˜ao folha-caminho ´e no m´ınimo
max
r
f
,
r
2
(r
b
+ r
f
)(k
2
+ 3k + 3)
k
2
+ 3k + 4
+ r
f
1
2
·
r
k
2
+ 3k + 4
Corol
´
ario 4.13. Se (X , T )
´
e uma decomposic¸
˜
ao em
´
arvore suave de G = (V, E) com
largura k, ent
˜
ao G cont
´
em pelo menos |V |/(2k
2
+ 6k + 8) 1 v
´
ertices que s
˜
ao amig
´
aveis
ou
´
uteis com respeito a (X , T ).
Prova. T cont´em |V | k n´os. Agora basta aplicar os dois ´ultimos lemas, 4.11 e 4.12.
Definic¸
˜
ao 31 (Conjunto semi-importante e importante). Um conjunto Y V de
v´ertices de alto grau ´e dito semi-importante com respeito a uma decomposic¸˜ao em ´arvore
(X , T ) de G = (V, E), se existe um i I com Y X
i
. Um conjunto Y ´e dito impor-
tante se ele ´e semi-importante maximal com respeito a (X , T ), ou seja, n˜ao est´a contido
em nenhum conjunto semi-importante maior com respeito a (X , T ).
Lema 4.14. Seja (X , T ) uma decomposic¸
˜
ao em
´
arvore de G = (V, E) com largura k. O
n
´
umero de conjuntos importantes diferentes com respeito a (X , T )
´
e no m
´
aximo o n
´
umero
de v
´
ertices de alto grau em G.
Prova. Seja L o conjunto de v´ertices de alto grau em G. ({X
i
L : i I}, T ) ´e uma
decomposic¸˜ao em ´arvore de G[L]. Cada conjunto importante Y ´e um conjunto X
i
L
que n˜ao est´a contido em outro conjunto X
i
L. A partir da contrac¸ ˜ao repetitiva das
arestas (i, i
) em T com X
i
L X
i
L, de modo que o novo n´o formado contenha
todos os v´ertices em X
i
, obt´em-se uma nova decomposic¸˜ao. Tal decomposic¸ ˜ao em ´arvore
resultante de G[L] cont´em os mesmos conjuntos maximais X
i
e ter´a no m´aximo |L| n´os.
Definic¸
˜
ao 32 (Func¸ ˜ao UI). Uma func¸ ˜ao f que mapeia cada v´ertice ´util v (com respeito
a alguma decomposic¸˜ao em ´arvore (X , T )) a um conjunto importante Y (tamb´em com
respeito a (X , T )) com N
G
(v) Y , ´e chamada func¸
˜
ao UI para (X , T ). Por definic¸ ˜ao,
uma func¸˜ao UI sempre existe.
Lema 4.15. Seja f uma func¸
˜
ao UI para uma decomposic¸
˜
ao em
´
arvore suave (X , T )
de G = (V, E) com largura k. Seja Y um conjunto importante com respeito a (X , T ).
Ent
˜
ao no m
´
aximo
1
2
k
2
(k + 1) v
´
ertices
´
uteis com respeito a (X , T ) em f
1
(Y ) n
˜
ao s
˜
ao
I-simpliciais.
Prova. Atribua, inicialmente, cada v´ertice ´util v que n˜ao seja I-simplicial a um par de
vizinhos de v que n˜ao sejam adjacentes no grafo melhorado de G. Pode-se ver que n˜ao se
pode atribuir mais de k v´ertices para cada par de v´ertices em G, porque, caso contr´ario,
estes teriam pelo menos k +1 vizinhos de baixo grau em comum, o que acrescentaria uma
64
4.4. DEA em tempo linear
aresta entre eles no grafo melhorado. Segue ent˜ao que o n´umero de v´ertices ´uteis e n˜ao
I-simpliciais v com f(v) = Y ´e no m´aximo
1
2
|Y |(|Y | + 1)
1
2
k
2
(k + 1).
Corol
´
ario 4.16. Se G = (V, E) tem largura em
´
arvore no m
´
aximo k, e cont
´
em n
f
v
´
ertices amig
´
aveis e n
a
v
´
ertices de alto grau, ent
˜
ao existem pelo menos
|V |
2k
2
+ 6k + 8
1 n
f
1
2
k
2
(k + 1)n
a
v
´
ertices I-simpliciais em G.
Lema 4.17. Seja (X , T ) uma decomposic¸
˜
ao em
´
arvore de largura no m
´
aximo k do grafo
G
obtido pela remoc¸
˜
ao de todos os v
´
ertices I-simpliciais do grafo melhorado de G =
(V, E). Para todo v
´
ertice I-simplicial v, existe um i I com N
G
(v) X
i
.
Prova. Basta ver que, por definic¸ ˜ao, v´ertices I-simpliciais n˜ao s˜ao adjacentes em G,
e que sua vizinhanc¸a forma uma clique no grafo melhorado de G. Logo, basta aplicar a
Propriedade 7 para concluir a prova.
Algoritmo principal
O algoritmo apresentado por Bodlaender (1996) ´e recursivo, tendo como entrada um grafo
G e uma constante k e como sa´ıda uma decomposic¸˜ao em ´arvore de G com largura no
m´aximo k, se poss´ıvel.
A base da recurs˜ao, ou seja o resultado para grafos com no m´aximo um n´umero
constante de v´ertices, pode ser implementada a partir de qualquer outro algoritmo forc¸a
bruta, por exemplo. Caso G seja suficientemente grande, o algoritmo principal pode ser
aplicado:
1. Verifique se |E| k|V |
1
2
k(k+1). Caso contr´ario, pelo Lema 3.17, G tem largura
em ´arvore maior que k: pare.
2. Conte o n´umero de v´ertices amig´aveis n
f
em G. Se existem pelo menos |V |/(4k
2
+
12k + 16) v´ertices amig´aveis, ent˜ao o algoritmo segue o primeiro caso:
(a) Encontre um emparelhamento maximal M em G.
(b) Obtenha o grafo G
pela contrac¸ ˜ao das arestas em M de G.
(c) Aplique o algoritmo recursivamente a G
.
(d) Se G
tem largura em ´arvore maior que k, ent˜ao pare, j´a que, pelo Lema 4.8, a
largura em ´arvore de G deve tamb´em ser maior que k.
(e) Suponha que a chamada recursiva tenha retornado uma decomposic¸ ˜ao em
´arvore D
= (W, T ) de G
com largura em ´arvore k. Construa, com aux´ılio
do Lema 4.7, uma nova decomposic¸˜ao D
= (X , T ) de G com largura no
m´aximo 2k + 1.
(f) Use o algoritmo proposto no Teorema 4.9 para encontrar uma nova decomposic¸˜ao
D a partir de D
, k e l = LA(D
) 2k + 1.
65
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
3. Neste passo, existem menos de |V |/(4k
2
+ 12k + 16) v´ertices amig´aveis, e logo
deve-se seguir o segundo caso:
(a) Encontre o grafo melhorado de G, G
.
(b) Se existe um v´ertice I-simplicial de grau no m´ınimo k + 1 ent˜ao pare: G
cont´em uma clique de tamanho k + 2, e logo, pelo Lema 4.10, a largura em
´arvore de G ´e tamb´em maior que k.
(c) Ponha todos os v´ertices I-simpliciais no conjunto S. Encontre o grafo G
obtido pela remoc¸ ˜ao de todos os v´ertices I-simpliciais (em S) de G.
(d) Se |S| < c
2
|V |, ent˜ao pare, j´a que a largura em ´arvore de G ´e maior que k.
Pode-se chegar a esta conclus˜ao a partir da definic¸ ˜ao de c
1
e do Corol´ario 4.16,
onde, j´a que existem menos de |V |/(4k
2
+12k+16) v´ertices amig´aveis, deve-
se ter pelo menos |V |/(4k
2
+12k+16)
1
2
k
2
(k+1)c
1
|V | v´ertices I-simpliciais
em G
— supondo que a largura em ´arvore de G seja no m´aximo k.
(e) Como |S| c
2
|V |, aplique o algoritmo recursivamente a G
.
(f) Se a largura em ´arvore de G
´e maior que k, ent˜ao pare, j´a que, como G
´e um
subgrafo de G, LA(G) LA(G
) (Propriedade 2).
(g) Suponha que a chamada recursiva tenha retornado uma decomposic¸˜ao em
´arvore D
= (W, T
) de G
com largura em ´arvore k. Encontre uma nova
decomposic¸˜ao em ´arvore D = (X , T
) de G da seguinte forma:
i. Inicialmente, fac¸a D uma c´opia de D
, ou seja, acrescente a X todas as
partes em W, com T = T
.
ii. Para cada v´ertice v em S, encontre i
v
I tal que N
G
(v) X
i
v
. Pelo
Lema 4.17, i
v
sempre existe.
iii. Para cada i
v
, adicione um novo n´o j
v
a T adjacente a i
v
, e uma parte
X
j
v
= {v} N
G
(v) a X .
4. Retorne D, uma decomposic¸˜ao em ´arvore de largura no m´aximo k.
Teorema 4.18. O algoritmo proposto por Bodlaender (1996) tem complexidade de
tempo linear.
Prova. O tempo de execuc¸ ˜ao do algoritmo pode ser estimado da seguinte forma: como
um dos casos deve ser executado a partir da decis˜ao no passo 2, o algoritmo executa
recursivamente em um grafo G = (V, E) com (1 1/(2d(4k
2
+ 12k + 16))) · |V | v´ertices
primeiro caso, descrito ao longo do passo 2 ou em um grafo com (1 c
2
) · |V |
v´ertices. Logo, seja 0 c
3
< 1 uma constante:
c
3
= max
1 c
2
, 1
1
2d · (4k
2
+ 12k + 16)
Como todos os passos n˜ao recursivos executam em tempo linear, tem-se que, se o
algoritmo toma tempo T (n) em um grafo com n v´ertices no pior caso, ent˜ao T (n)
T (c
3
· n) + O(n), e logo, usando t´ecnicas convencionais de an´alise de complexidade,
conclui-se que T (n) = O(n).
66
4.5. DEA usando reduc¸
˜
ao
4.5 DEA usando reduc¸
˜
ao
Enquanto que as abordagens apresentadas at´e agora baseiam-se em t´ecnicas “tradicionais”
de algoritmos em grafos pesquisa de caminhos, separadores, busca em vizinhanc¸a e
adic¸ ˜ao de arestas, por exemplo — a t´ecnica de reduc¸
˜
ao baseia-se fortemente em ´algebra
de grafos, como definida em (Arnborg et al. 1993), e em L´ogica Mon´adica de Segunda
Ordem, como em (Courcelle 1990). Uma revis˜ao dos conceitos b´asicos na Sec¸ ˜ao 2.8 ´e
recomendada para maior familiaridade com os novos conceitos a seguir introduzidos. A
primeira definic¸˜ao merece um destaque por se tratar da base da t´ecnica:
Definic¸
˜
ao 33 (Regra de reduc¸ ˜ao). Uma regra de reduc¸
˜
ao r ´e um par ordenado (H
1
, H
2
),
onde H
1
e H
2
s˜ao grafos l-terminais, l 0.
Um encaixe para uma regra de reduc¸ ˜ao r = (H
1
, H
2
) em um grafo G ´e um grafo l-
terminal G
1
isomorfo a H
1
e tal que existe um outro grafo l-terminal G
2
com G = G
1
G
2
para algum l 0. Se G cont´em um encaixe G
1
para r, ent˜ao uma aplicac¸
˜
ao de r em G
usando G
1
´e uma operac¸ ˜ao que mapeia G a um grafo G
tal que se G = G
1
G
3
, com G
1
isomorfo a H
1
, ent˜ao G
= G
2
G
3
, com G
2
isomorfo a H
2
. Diz-se tamb´em que G
1
foi
trocado por G
2
em G, obtendo-se G
.
A aplicac¸ ˜ao de uma regra de reduc¸ ˜ao pode ser simplesmente chamada de reduc¸
˜
ao.
A aplicac¸˜ao de r em G usando G
1
´e tamb´em chamada de reduc¸ ˜ao correspondente ao
encaixe G
1
, sendo denotada por G
r
G
1
G
. De um modo geral, as reduc¸ ˜oes em um grafo s˜ao
executadas para algum encaixe, sem uma especificac¸ ˜ao deste, e logo denota-se a reduc¸ ˜ao
de G por r obtendo-se G
simplesmente por G
r
G
. Obviamente, grafos diferentes
podem ser obtidos a partir de G por reduc¸ ˜ao por r, dependendo dos encaixes escolhidos.
Se R ´e um conjunto {r
1
, . . . , r
s
} de regras de reduc¸ ˜ao, ent˜ao denota-se por G
R
G
a
reduc¸ ˜ao de G por alguma regra r R obtendo-se G
, ou seja, G
r
G
para algum r R.
Dado um conjunto de regras de reduc¸ ˜ao R, diz-se que G ´e redut
´
ıvel para R se e somente
se existe um encaixe G
1
para alguma regra r R em G; caso contr´ario, diz-se que G ´e
irredut
´
ıvel para R.
A Figura 4.6 (a) ilustra a aplicac¸ ˜ao das regras de reduc¸ ˜ao do conjunto R = {r, r
}.
Normalmente representa-se graficamente cada regra de reduc¸˜ao por seus grafos terminais
unidos por uma seta. Neste caso, se r = (H
1
, H
2
), diz-se que H
1
´e o lado esquerdo de r,
enquanto que H
2
´e o lado direito de r. Na Figura 4.6(b), G
´e obtido da reduc¸ ˜ao de G por
r, G
r
G
, enquanto G

´e uma reduc¸˜ao de G
por r
, e logo G
r
G
r
G

. Como ambas
as regras r e r
de R n˜ao podem mais ser aplicadas a G

, este ´e claramente irredut´ıvel
para R.
De modo a se obter uma caracterizac¸ ˜ao de uma propriedade de grafos por reduc¸ ˜ao,
deve-se levar em considerac¸˜ao as seguintes definic¸ ˜oes para conjuntos de regras de
reduc¸ ˜ao:
Definic¸
˜
ao 34. Seja P uma propriedade de grafos e R um conjunto de regras de reduc¸˜ao.
R ´e seguro para P se, sempre que G
R
G
, ent˜ao P (G) P (G
).
67
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
(b)(a)
H
2
r
r
H
1
H
2
G
G
G

r
r
R = {r, r
}
H
1
Figura 4.6. Exemplo de aplicac¸˜ao de regras de reduc¸˜ao.
R ´e completo para P se o conjunto I de grafos irredut´ıveis para R para os quais P
vale ´e finito.
R ´e convergente se n˜ao existe uma seq¨uˆencia infinita G
1
R
G
2
R
· · · .
R ´e decrescente se, sempre que G
R
G
, ent˜ao G
cont´em menos v´ertices que G.
Definic¸
˜
ao 35 (Sistema de reduc¸ ˜ao). Um sistema de reduc¸
˜
ao para uma propriedade de
grafos P ´e um par (R, I), onde R ´e um conjunto finito de regras de reduc¸˜ao seguro,
completo e convergente para P , e I ´e o conjunto de grafos irredut´ıveis para R tal que
P (G) vale para todo G I, ou seja, I = {G : P (G) ¬∃G
: G
R
G
}. Diz-se ainda
que um sistema de reduc¸ ˜ao (R, I) para P ´e decrescente se R ´e decrescente.
O conceito de sistema de reduc¸ ˜ao decrescente sugere prontamente um algoritmo
para caracterizac¸ ˜ao de uma propriedade de grafos. Considere (R, I) um tal sistema, P
uma propriedade e G um grafo a ser avaliado com relac¸ ˜ao a P : aplique as regras em R
em G at´e que seja obtido um grafo G
irredut´ıvel; verifique se G
pertence a I e ent˜ao
decida pela satisfac¸˜ao de P por G, ou seja, em caso afirmativo, G
I e logo G satisfaz
P , caso contr´ario, P n˜ao vale para G.
O primeiro problema desta abordagem est´a na definic¸ ˜ao do sistema de reduc¸ ˜ao,
que, de modo geral, n˜ao ´e de f´acil obtenc¸ ˜ao. Como exemplo, para uma caracterizac¸ ˜ao
dos grafos que s˜ao k-´arvore parciais, com 0 k 3 e logo de largura em ´arvore
no m´aximo k Arnborg et al. (1993) sugerem conjuntos (R
k
, I) seguros, completos,
convergentes e decrescentes contendo as regras de reduc¸ ˜ao mostradas na Figura 4.7. Nos
quatro sistemas, os conjuntos de grafos irredut´ıveis s˜ao iguais e cont´em somente o grafo
vazio, G
vazio
. Os conjuntos de regras de reduc¸˜ao s˜ao os seguintes: R
0
= {r
1
}, R
1
=
{r
1
, r
2
}, R
2
= {r
1
, r
2
, r
3
, r
4
} e R
3
= {r
1
, r
2
, r
3
, r
4
, r
5
, r
6
, r
7
}.
68
4.5. DEA usando reduc¸
˜
ao
r
2
r
3
G
vazio
r
1
r
4
r
5
(Isolado)
(Folha)
(Triˆangulo)
(S´erie)
(Paralelo)
(Companheiro)
r
6
(Cubo)
r
7
Figura 4.7. Regras de reduc¸˜ao para conjuntos seguros, completos, convergentes e decrescentes para
propriedade de ser uma k-´arvore parcial, 0 k 3.
Como resultado mais importante, Arnborg et al. (1993) mostraram que, para cada
propriedade de grafos de ´ındice finito e para cada k inteiro, existe um sistema de reduc¸ ˜ao
seguro, completo e convergente para os grafos com largura em ´arvore no m´aximo k. Em
(de Fluiter e Bodlaender 1995) ´e encontrada uma lista de problemas relacionados `a pro-
priedades de ´ındice finito em grafos com largura em ´arvore limitada. Em (Arnborg et al.
1991) ´e mostrado que o problema de determinar se a largura em ´arvore de um grafo ´e no
m´aximo k, para k constante, refere-se a uma propriedade MS-defin´ıvel, e logo de ´ındice
finito.
Supondo ent˜ao que um sistema de reduc¸ ˜ao seja conhecido para uma dada proprie-
dade, o problema agora est´a em encontrar um encaixe para as regras do sistema de reduc¸ ˜ao
no grafo G de entrada. Uma rotina forc¸a bruta pode fazer uma verificac¸˜ao para conjunto
de c v´ertices em G, onde c ´e o tamanho do maior grafo terminal nos lados esquerdos das
regras, tendo portanto complexidade em tempo O(n
c
), n = |V (G)|.
Usando o fato de que propriedades de grafos de ´ındice finito incluem todas as pro-
priedades que podem ser expressas em LMSO, Arnborg et al. (1993) apresentam um
algoritmo em tempo linear, mas de espac¸o polinomial O(n
p
) p sendo o maior n´umero
de terminais dentre todos os lados esquerdos das regras — para decidir se uma dada pro-
priedade P vale para um grafo G com largura em ´arvore limitada. O algoritmo de Arnborg
et al. n˜ao depende da estrutura das regras de reduc¸ ˜ao do sistema, podendo ser aplicado
em qualquer conjunto de regras que seja finito, seguro, completo e decrescente (e logo,
convergente).
Uma maneira de tornar um algoritmo mais eficiente ´e encontrar um conjunto de
regras que tenha uma estrutura especial, de modo que o algoritmo possa tomar vantagem
de tal estrutura sob a forma de ganho de desempenho e espac¸o em mem´oria ao determinar
se alguma regra de reduc¸ ˜ao do sistema deve ser aplicada, e qual. Em (Bodlaender e Ha-
gerup 1995) ´e apresentado um algoritmo paralelo baseado nesta id´eia, usando um m´etodo
chamado busca limitada em listas de adjac
ˆ
encia. de Fluiter e Bodlaender (1995) adap-
tam uma vers˜ao seq¨uencial deste algoritmo, estendendo os resultados em Arnborg et al.
(1993) de duas formas: encontrando um algoritmo construtivo para resolver o problema
69
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
de decis˜ao associado `a propriedade, e um m´etodo para resoluc¸˜ao de certos problemas de
otimizac¸˜ao em grafos com largura em ´arvore limitada. Al´em disso, ´e mostrado que uma
combinac¸˜ao destes resultados ´e ainda poss´ıvel, resultando portanto numa vers˜ao constru-
tiva de um algoritmo para resoluc¸˜ao de certos problemas de otimizac¸˜ao para grafos com
largura em ´arvore limitada.
A discuss˜ao destes ´ultimos algoritmos envolve conceitos mais t´ecnicos, tanto de
LMSO quanto de ´algebra de grafos, e n˜ao ser´a realizada aqui, dadas as limitac¸ ˜oes de
escopo e n´ıvel pretendido do texto. No entanto, a vers˜ao inicial de decis˜ao de uma propri-
edade ser´a abordada, sendo apresentado o algoritmo de reduc¸˜ao encontrado em (de Fluiter
1997). Mais conceitos s˜ao necess´arios:
Definic¸
˜
ao 36 (Grafo terminal d-descobr´ıvel). Sejam d um inteiro positivo, G um grafo
dado, representado por listas de adjacˆencia, e G
1
um grafo l-terminal. Diz-se ent˜ao que
G
1
´e d-descobr
´
ıvel em G se
1. G
1
´e aberto e conexo, e o m´aximo grau de qualquer v´ertice de G
1
´e no m´aximo d,
ou seja, ∆(G
1
) d;
2. existe um grafo l-terminal G
2
tal que G = G
1
G
2
;
3. G
1
cont´em um v´ertice interno v tal que, para todos os v´ertices w V (G
1
), existe
uma trilha W em G
1
com W = u
1
, . . . , u
s
, com u
1
= v e u
s
= w, e, para cada i,
1 < i < s, na lista de adjacˆencia de u
i
em G, as arestas (u
i1
, u
i
) e (u
i
, u
i+1
) tˆem
distˆancia no m´aximo d.
Um candidato a encaixe d-descobr´ıvel possui estrutura especial que lhe garante uma
vantagem algor´ıtmica:
Lema 4.19 (de Fluiter [1997]). Se um grafo terminal G
1
´
e d-descobr
´
ıvel em um grafo G
para algum d 1, ent
˜
ao, para qualquer v
´
ertice interno de G
1
, todos os v
´
ertices e arestas
de G
1
podem ser encontrados a partir de v em complexidade de tempo que depende
apenas de d e do tamanho de G
1
, mas n
˜
ao do tamanho do grafo G.
Prova. Sejam G um grafo, d um inteiro positivo, G
1
um grafo terminal d-descobr´ıvel
em G, e v um v´ertice interno qualquer de G
1
. Para provar o lema, basta mostrar que, para
qualquer outro v´ertice w de G
1
, pode-se encontrar uma trilha W satisfazendo a condic¸ ˜ao
3 da Definic¸˜ao 36 para G
1
e G e tal que o tamanho de W dependa apenas de d e G
1
, e
logo qualquer v´ertice de G
1
pode ser encontrado em tempo tamb´em dependente apenas
de d e G
1
.
Se W ´e uma trilha como acima, ´e sempre poss´ıvel encontrar uma trilha W
de-
rivada de W , e logo tamb´em entre v e w em G
1
, tal que qualquer aresta e = (x, y)
aparece no m´aximo duas vezes em W
. Suponha ent˜ao que exista uma aresta e = (x, y)
que aparece no m´ınimo trˆes vezes em W ; logo, como e aparece pelo menos duas ve-
zes em W no mesmo sentido, W cont´em uma sub-trilha W

da forma x, y, . . . , x, y
(ou y, x, . . . , y, x) e W
pode ser obtida pela remoc¸˜ao da sub-trilha y, . . . , x (ou
x, . . . , y) em W

de W . N˜ao ´e dif´ıcil perceber que W
= u
1
, . . . , u
p
´e tal que u
1
= v,
u
p
= w e, para cada i, 1 < i < p, as arestas (u
i1
, u
i
) e (u
i
, u
i+1
) tˆem distˆancia no
m´aximo d na lista de adjacˆencia de G, e logo, W
tamb´em satisfaz a condic¸˜ao 3.
70
4.5. DEA usando reduc¸
˜
ao
Desta forma, sempre pode-se obter uma trilha W entre um v´ertice interno v e w em
G
1
tal que qualquer aresta em W aparec¸a no m´aximo duas vezes. O resultado do lema —
W poder ser encontrada em tempo dependente apenas de d e G
1
segue agora do fato
de que G
1
´e aberto, e logo todo terminal ´e adjacente a um v´ertice interno.
Considere agora a seguinte definic¸ ˜ao:
Definic¸
˜
ao 37 (Sistema de reduc¸ ˜ao especial). Sejam P uma propriedade de grafos e
(R, I) um sistema de reduc¸ ˜ao decrescente para P . Seja n
max
o n´umero m´aximo de v´ertices
em qualquer lado esquerdo das regras em R. (R, I) ´e um sistema de reduc¸
˜
ao especial para
P se existem inteiros positivos n
min
e d, n
min
n
max
d, tais que as seguintes condic¸ ˜oes
valem:
1. Para toda regra de reduc¸ ˜ao (H
1
, H
2
) R:
(a) se H
1
tem pelo menos um terminal, ent˜ao H
1
´e conexo e H
1
e H
2
s˜ao abertos;
(b) se H
1
´e um grafo zero-terminal, ent˜ao |V (H
2
)| < n
min
.
2. Para todos os grafos G tais que P (G) vale, e todas as representac¸ ˜oes de G em lista
de adjacˆencias:
(a) cada componente de G com pelo menos n
min
v´ertices tem um encaixe
d-descobr´ıvel;
(b) se todas as componentes de G tˆem menos que n
min
, ent˜ao ou G I ou G
cont´em um encaixe que ´e um grafo zero-terminal.
As condic¸ ˜oes 1(a) e 2(a) garantem que cada componente H de um grafo G, com
|V (H)| n
min
e P (G) valendo, cont´em pelo menos um encaixe d-descobr´ıvel para
uma regra de reduc¸˜ao, e este pode ser aplicado sem remoc¸˜ao de aresta m´ultiplas, j´a que
ambos os lados da regra s˜ao abertos. As condic¸ ˜oes 1(b) e 2(b), por sua vez, s˜ao somente
necess´arias para propriedades de grafos que n˜ao consideram o grafo de entrada como
conexo, e garantem que, se nenhuma outra regra de reduc¸ ˜ao ´e aplic´avel, ent˜ao encaixes
para regras com lado esquerdo contendo um grafo zero-terminal e desconexo podem ser
encontrados eficientemente.
Com base na definic¸˜ao de sistema de reduc¸ ˜ao especial, pode-se projetar um algo-
ritmo em tempo e espac¸o lineares. O algoritmo consiste de duas fases, ilustradas nas
Figuras 4.8 e 4.9, respectivamente, cada uma tomando vantagem de cada condic¸˜ao do
sistema de reduc¸˜ao especial.
Na primeira fase, o algoritmo encontra encaixes d-descobr´ıveis (linha 6) e executa
as reduc¸ ˜oes correspondentes (linhas 8 a 8) at´e que o grafo de entrada G torne-se irredut´ıvel
com relac¸ ˜ao a encaixes d-descobr´ıveis, ou seja, com relac¸ ˜ao a regras de reduc¸ ˜ao com lados
esquerdos possuindo terminais. A irredutibilidade de G ´e verificada com base no conjunto
S de v´ertices de grau no m´aximo d, sendo este atualizado a partir das listas de adjacˆencia
de G, no lac¸o da linha 18. Vale notar que a func¸ ˜ao d-DESCOBR
´
IVEL , que tem como
objetivo encontrar um encaixe d-descobr´ıvel G
1
dentre as regras de R tal que v ´e interno
em G
1
, retorna r e tem complexidade de tempo estabelecida pelo Lema 4.19.
Na linha 23, G pode ser testado para pertinˆencia em I, e o algoritmo retorna ver-
dadeiro em caso positivo. Caso contr´ario, o algoritmo segue para a segunda fase, na
71
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
Algoritmo RED UC¸
˜
AO(G, R, I) — Fase 1
Entrada: Um grafo G = (V, E) e um sistema de reduc¸ ˜ao especial (R, I)
para uma propriedade de grafos P e com parˆametros n
min
e d.
Sa´ıda: Avaliac¸ ˜ao de P em G, P (G).
1. in´ıcio
2. n
max
max
r∈R
{|V (H
1
)| : r = (H
1
, H
2
)}
3. S {v V : d(v) d}
4. enquanto S = fac¸a
5. selecione v : v S
6. r d-DE SC OB R
´
IV EL(v, G, R)
7. se r = ent
˜
ao // Aplique r
8. selecione G
1
: G
1
G, v G
1
, G
1
H
1
, r = (H
1
, H
2
)
9. selecione G
2
: G
2
H
2
, r = (H
1
, H
2
)
10. // Remoc¸
˜
ao de v
´
ertices internos e arestas de G
1
11. V V \ {u V (G
1
) : u Int(G
1
)}
12. E E \ E(G
1
)
13. S S \ {u V (G
1
) : u Int(G
1
)}
14. // Adic¸
˜
ao de v
´
ertices internos e arestas de G
2
15. V V {u V (G
2
) : u Int(G
2
)}
16. E E E(G
2
)
17. S S {u V (G
1
) : d(u) d
18. para cada t Term(G
2
) fac¸a
19. L LI STAADJ(t)
20. para cada (t, w) L : L mudou dentro da distˆancia d fac¸a
21. se d(w) d ent
˜
ao S S {w}
22. S S \ {v}
23. se G I ent
˜
ao retorna verdadeiro
Figura 4.8. Algoritmo para decis˜ao de uma propriedade de grafos P dado um sistema de reduc¸˜ao especial
para P , Fase 1.
Figura 4.9. O primeiro passo ´e verificar a condic¸˜ao 2(a) da Definic¸˜ao 37 para G, na li-
nha 25. Se a condic¸ ˜ao ´e satisfeita, ent˜ao novas regras de reduc¸ ˜ao s˜ao aplicadas a G. Ao
final da segunda fase, G ´e realmente irredut´ıvel, j´a que todas as regras em R foram veri-
ficadas nas duas fases, e, como R ´e completo para G, pode-se decidir pela satisfac¸˜ao de
P para G na linha 48.
Vale notar que o conjunto de regras de reduc¸ ˜ao aplic´aveis a G na segunda fase s˜ao
tais que todos os lados esquerdos destas s˜ao grafos zero-terminais (linha 26), j´a que as
outras regras j´a foram testadas na Fase 1. Para tanto, s˜ao constru´ıdas trˆes estruturas de
dados especiais, L
r
(linhas 29 a 31), i
r
(linha 33) e I
r
(linha 34).
A lista L
r
corresponde ao conjunto de grafos isomorfos `as componentes do lado
esquerdo de r, sem repetic¸ ˜oes. Posto de outra forma, L
r
corresponde ao sistema de
representantes distintos para as classes de equivalˆencia definidas por isomorfismo nas
72
4.5. DEA usando reduc¸
˜
ao
Algoritmo RED UC¸
˜
AO(G, R, I) — Fase 2
Entrada: Um grafo G = (V, E) e um sistema de reduc¸ ˜ao especial (R, I)
para uma propriedade de grafos P e com parˆametros n
min
e d.
Sa´ıda: Avaliac¸˜ao de P em G, P (G).
24. S
COM PO NENTES(G)
25. se C S
: |V (C)| n
min
ent
˜
ao retorna falso
26. R
0
{r = (H
1
, H
2
) R : Term(H
1
) = ∅}
27. para cada r = (H
1
, H
2
) R
0
fac¸a
28. C COM PO NE NT ES(H
1
)
29. L
r
30. para cada C C fac¸a
31. se C
L
r
: C C
ent
˜
ao L
r
L
r
{C}
32. para cada H L
r
fac¸a
33. i
r
(H) |{C C : C H}|
34. I
r
(H)
35. enquanto S
= fac¸a
36. selecione C : C S
37. para cada r R
0
fac¸a
38. se H L
r
: H C ent
˜
ao I
r
(H) I
r
(H) {C}
39. se r = (H
1
, H
2
) R
0
: H
L
r
: |I
r
(H
)| i
r
(H
) ent
˜
ao // Aplique r
40. para cada H
L
r
fac¸a
41. selecione L(H
) : L(H
) I
r
(H
), |L(H
)| = i
r
(H
)
42. G G \
L(H
)
43. para cada r
R
0
fac¸a
44. I
r
(H
) I
r
(H
) \
L(H
)
45. G G H
2
46. S
S
COM PO NENTES(H
2
)
47. S
S
\ {C}
48. se G I ent
˜
ao retorna verdadeiro sen
˜
ao retorna falso
49. fim
Figura 4.9. Algoritmo para decis˜ao de uma propriedade de grafos P dado um sistema de reduc¸˜ao especial
para P , Fase 2.
componentes do lado esquerdo de r. Ainda considerando isomorfismo como uma relac¸ ˜ao
de equivalˆencia, pode-se definir uma extens˜ao ao operador de diferenc¸a entre conjuntos
para grafos, \
: denota-se por G \
H, G e H grafos desconexos, a retirada de G, para
cada componente C de H, de uma componente C
isomorfa `a C. O operador \
´e utili-
zado nas linhas 42 e 44. Vale notar que ambos os operandos podem conter componentes
isomorfas, e que a operac¸˜ao pode ser aplicada tamb´em para conjuntos ou listas de grafos.
As listas i
r
e I
r
s˜ao relacionadas a cada elemento H em L
r
: i
r
(H) armazena o
n´umero de componentes isomorfas a H no lado esquerdo de r, enquanto que I
r
(H) tem
como objetivo guardar as componentes de G que s˜ao isomorfas a H, sendo inicialmente
vazia.
73
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
A complexidade de REDUC¸
˜
AO, assim como a corretude, ´e definida pelo seguinte
teorema, cuja prova encontra-se em (de Fluiter 1997):
Teorema 4.20 (de Fluiter [1997]). Dados uma propriedade de grafos P e um sistema
de reduc¸
˜
ao especial (R, I) para P , o algoritmo REDUC¸
˜
AO reconhece corretamente gra-
fos para os quais P vale e usa complexidade de tempo e espac¸o O(|V (G)|), onde G
´
e
qualquer grafo dado como entrada.
4.6 Algoritmos para problemas em grafos com largura
em
´
arvore limitada
Pode-se demonstrar que uma decomposic¸˜ao em ´arvore de um grafo G = (V, E) pode ser
facilmente convertida ou seja, em tempo linear em uma decomposic¸˜ao em ´arvore
agrad
´
avel D = (X = {X
i
}
iI
, T = (I, F)) onde a ´arvore T ´e enraizada e bin´aria e os
n´os de T s˜ao de quatro tipos:
folha: n´os i do tipo folha s˜ao folhas em T e tais que |X
i
| = 1.
introduc¸
˜
ao: n´os i de introduc¸˜ao tˆem um filho j e satisfazem X
i
= X
j
{v}, para algum
v´ertice v V .
sa
´
ıda: n´os i de sa´ıda tˆem um filho j e satisfazem X
i
= X
j
\ {v}, para algum v´ertice
v V .
junc¸
˜
ao: n´os de junc¸˜ao i tˆem dois filhos j
1
e j
2
e tais que X
i
= X
j
1
= X
j
2
.
Como Bodlaender (1997) observa, a considerac¸˜ao de decomposic¸ ˜oes em ´arvore
agradav´eis geralmente n˜ao implica em novas possibilidades algor´ıtmicas quando com-
parado com decomposic¸ ˜oes normais; no entanto, facilita enormemente o projeto de
algoritmos, por se tratar de uma ´arvore bin´aria. Al´em disso, pode-se esperar a obtenc¸˜ao
de melhores fatores constantes escondidos nas complexidades dos algoritmos.
Em (Bodlaender 1997) ´e apresentada uma t´ecnica para tratamento de problemas
em grafos com largura em ´arvore limitada, baseada em tabelas de caracterizac¸
˜
oes de
soluc¸
˜
oes parciais. Dada uma decomposic¸˜ao em ´arvore enraizada D = (X , T ) de um
grafo G, para cada n´o i de T calcula-se uma caracterizac¸
˜
ao, numa ordem de baixo para
cima, ou seja, iniciando nas folhas e percorrendo os pais at´e atingir a raiz de T . Esta
estrat´egia foi inicialmente apresentada em (Arnborg e Proskurowski 1989), e consiste de
uma abordagem semelhante `a programac¸ ˜ao dinˆamica.
De um modo geral, um algoritmo baseado nesta t´ecnica possui a seguinte estrutura,
onde k ´e uma constante e limitante superior da largura em ´arvore do grafo de entrada
G = (V, E):
1. Encontre uma decomposic¸˜ao em ´arvore D de G de largura no m´aximo k.
2. Transforme D numa decomposic¸˜ao em ´arvore agrad´avel D
= (X = {X
i
}
iI
, T =
(I, F )) de largura no m´aximo k e onde r ´e a raiz de T .
74
4.6. Algoritmos para problemas em grafos com largura em
´
arvore limitada
3. Calcule para cada n´o i I uma certa tabela. Para a obtenc¸˜ao de cada tabela deve-se
usar somente as tabelas j´a calculadas para os filhos de i, o tipo de n´o de i folha,
introduc¸˜ao, sa´ıda e junc¸ ˜ao — e a informac¸˜ao sobre G restrita a X
i
.
4. A soluc¸˜ao do problema encontra-se na tabela de r, a raiz de T .
Como Bodlaender (1997) observa, esta estrat´egia pode ainda ser usada para vers˜oes
construtivas do problema, onde uma soluc¸˜ao ´e constru´ıda na medida em que a ´arvore ´e
percorrida de baixo para cima, juntamente com as tabelas, ou uma outra fase ´e necess´aria
para construir a soluc¸˜ao a partir das tabelas j´a prontas.
Para construc¸ ˜ao das tabelas, suponha que se queira resolver um certo problema P,
onde se pode assumir que P ´e uma propriedade de grafos. O projeto do algoritmo segue
os seguintes passos:
1. Defina a noc¸˜ao de soluc¸
˜
ao. Para alguns problemas esta pode ser bem clara, como
no caso de MAX CONJUNTO INDEPENDENTE: um conjunto S de v´ertices n˜ao ad-
jacentes entre si em um grafo G tal que S tem cardinalidade m´axima dentre todos
os outros conjuntos independentes em G.
2. Defina a noc¸ ˜ao de soluc¸
˜
ao parcial. A id´eia de soluc¸˜ao parcial ´e intimamente relaci-
onada a de grafo terminal, ou seja, assim como uma soluc¸˜ao parcial deve contribuir
para a formac¸ ˜ao de uma soluc¸˜ao (geral), a operac¸ ˜ao de uni˜ao entre grafos terminais
deve construir o grafo de entrada G. Desta forma, uma soluc¸˜ao parcial corresponde
a uma soluc¸˜ao particular do problema quando restrita a um subgrafo terminal de G.
Como exemplo, uma soluc¸˜ao parcial para MAX CONJUNTO INDEPENDENTE seria
um conjunto independente m´aximo em H, um subgrafo terminal de G.
3. Defina a noc¸˜ao de extens
˜
ao de uma soluc¸
˜
ao parcial. A extens˜ao deve descrever um
modo de como obter uma soluc¸˜ao a partir de soluc¸ ˜oes parciais. Para MAX CON-
JUNTO INDEPENDENTE, um conjunto S ´e uma soluc¸ ˜ao para G e uma extens˜ao
de um conjunto S
para um subgrafo terminal H de G se e somente se S
´e uma
restric¸˜ao de S em H.
4. Defina a noc¸˜ao de caracter
´
ıstica de uma soluc¸
˜
ao parcial. Como Bodlaender des-
creve, equivale ao que se deve saber sobre uma soluc¸˜ao parcial de modo a julgar a
sua capacidade de extender para uma soluc¸ ˜ao.
5. Um conjunto completo de caracter
´
ısticas para um grafo terminal H ´e o conjunto de
todas as caracter´ısticas das soluc¸ ˜oes parciais em H. O conjunto completo de carac-
ter´ısticas de um grafo G
i
para um n´o i de uma decomposic¸˜ao em ´arvore agrad´avel
´e tamb´em chamado conjunto completo para i.
Mostre agora, para cada um dos quatro tipos de n´os para i, o conjunto completo para
i pode ser calculado eficientemente (em tempo polinomial ou constante), dados os
conjuntos completos para todos os filhos de i e assumindo que existem no m´aximo
k + 1 terminais em cada um dos grafos terminais envolvidos.
6. Mostre que o problema pode ser decidido eficientemente dado um conjunto
completo para a raiz r da decomposic¸˜ao em ´arvore agrad´avel.
75
4. Algoritmos de Decomposic¸
˜
ao em
´
Arvore
Bodlaender (1997) fornece ainda definic¸ ˜oes mais formais, denotando por sol
P
,
solp
P
, ex
P
as relac¸ ˜oes para os conceitos de soluc¸˜ao, soluc¸ ˜ao parcial, e extens˜ao, res-
pectivamente e por car
P
uma func¸ ˜ao correspondente ao conceito de caracter´ıstica. Desta
forma, sol
P
´e uma relac¸ ˜ao que tem como argumentos um grafo G e uma soluc¸˜ao s
que pode ser representada como um vetor ou uma cadeia de caracteres, por exemplo
de modo que, para todo grafo G, P(G) equivale a s : sol
P
(G, s). De modo an´alogo,
solp
P
admite dois argumentos, um grafo terminal H e uma soluc¸˜ao parcial s
. A extens˜ao
ex
P
vincula os dois conceitos anteriores, sendo uma relac¸ ˜ao com os quatro argumentos de
sol
P
e solp
P
: G um grafo, s uma soluc¸˜ao, H um grafo terminal e s
uma soluc¸˜ao parcial.
Uma extens˜ao deve satisfazer:
G, s, H, s
: ex
P
(G, s, H, s
) = H
: G = H H
sol
P
(G, s) solp
P
(H, s
)
e tamb´em
G, s, H, s
: (sol
P
(G, s) (G = H H
)) = s
: solp
P
(H, s
) ex
P
(G, s, H, s
)
expressando que toda soluc¸˜ao admite uma soluc¸˜ao parcial em qualquer subgrafo terminal.
A func¸˜ao car
P
tem como argumentos H, um subgrafo terminal, e s uma soluc¸ ˜ao
parcial, definidos quando solp
P
(H, s) ´e verdadeiro. A caracter´ıstica car
P
deve satisfazer,
para todos os grafos terminais H, H
e H

, e todas as soluc¸ ˜oes parciais s e s
:
car
P
(H, s) = car
P
(H
, s
) =
(s

: ex
P
(H H

, s

, H, s)) (s

: ex
P
(H
H

, s

, H
, s
))
O conjunto completo de caracter´ısticas de um grafo terminal H ´e definido como
comp
P
(H) = {car
P
(H, s) : solp
P
(H, s)}.
Como exemplo de aplicac¸ ˜ao mais not´oria, o algoritmo apresentado em (Bodlaender
e Kloks 1996) ´e baseado nesta estrutura, com especificac¸ ˜ao de soluc¸˜ao, soluc¸ ˜ao parcial,
extens˜ao, caracter´ıstica e conjunto completo de caracter´ısticas para, inicialmente, o pro-
blema de k-LARGURAEMCAMINHO, sendo os conceitos estendidos para o problema
de k-LARGURAEM
´
ARVORE. Os conjuntos completos de caracter´ısticas foram definidos
para n´os de uma decomposic¸˜ao em ´arvore agrad´avel de um grafo de entrada G. Em (Bo-
dlaender 1997) ´e apresentado um exemplo de aplicac¸˜ao para o problema de 3-partic¸ ˜ao do
conjunto de v´ertices de um grafo G.
Assim como na t´ecnica de reduc¸ ˜ao a dificuldade maior ´e a obtenc¸˜ao das regras
de reduc¸ ˜ao e de um sistema de reduc¸ ˜ao especial, aqui tamb´em a dificuldade est´a na
especificac¸ ˜ao de conceitos adequados para a aplicac¸˜ao da t´ecnica.
76
Cap´ıtulo 5
Conclus
˜
oes e Recomendac¸
˜
oes
A proposta deste texto ´e realizar uma pesquisa do estado da arte em decomposic¸ ˜oes em
´arvore, e em algoritmos para sua obtenc¸ ˜ao. Al´em disso, o texto prop˜oe-se a abordar tais
aspectos em tom introdut´orio, de modo a facilitar a sua familiarizac¸ ˜ao pelo leitor. De fato,
pretende-se que o texto sirva como fonte de referˆencia altamente recomendada, atuando
como ponto de partida para v´arios pesquisadores. A partir do que foi discutido princi-
palmente nos Cap´ıtulos 3 e 4, pode-se julgar que tais objetivos foram satisfatoriamente
alcanc¸ados.
Embora todo o texto tenha favorecido uma abordagem simples e eficiente de
tal forma que o leitor possa assimilar mais rapidamente os conceitos e resultados no
Cap´ıtulo 3, em particular, procurou-se contribuir com provas mais refinadas, facilitadas,
sendo portanto de grande valia para iniciantes pelo seu car´ater did´atico. Optou-se por uma
abordagem gradativa, partindo de casos espec´ıficos e culminando com resultados mais
profundos, no sentido em que permitem ao pesquisador perceber, em ˆambito mais geral,
as caracter´ısticas estruturais de grafos com largura em ´arvore limitada. Al´em de contribuir
com essa vis˜ao mais abrangente, as ´ultimas sec¸ ˜oes do Cap´ıtulo 3 retratam o estado da arte
em termos de resultados te´oricos para decomposic¸˜ao em ´arvore, n˜ao deixando de realc¸ar
os principais teoremas, suas relac¸ ˜oes e conseq¨uˆencias.
No Cap´ıtulo 4 foram considerados os aspectos mais pr´aticos, sendo apresentados
algoritmos eficientes para obtenc¸˜ao de decomposic¸ ˜oes em ´arvore. Seguindo uma aborda-
gem semelhante a do Cap´ıtulo 3, os algoritmos s˜ao discutidos gradativamente, partindo
de casos particulares e prosseguindo para t´ecnicas mais refinadas. Os algoritmos mais
importantes atualmente retratando tamb´em o estado da arte em termos de t´ecnicas e re-
sultados foram divididos em dois paradigmas: o construtivo e o redutivo. No primeiro,
t´ecnicas tradicionais de algoritmos em grafos s˜ao empregadas com base em recurs˜ao, en-
quanto que no segundo ´e usada uma t´ecnica de reduc¸˜ao, baseada em l´ogica de segunda
ordem e ´algebra de grafos. Embora os algoritmos tenham sido assim divididos de modo a
favorecer uma abordagem did´atica, eles n˜ao s˜ao de forma alguma independentes; de fato,
77
5. Conclus
˜
oes e Recomendac¸
˜
oes
´e at´e poss´ıvel estabelecer uma relac¸ ˜ao de eq¨uivalˆencia entre eles. Vale observar que tais
algoritmos foram desenvolvidos com base em resultados obtidos para uma vasta gama de
aplicac¸ ˜oes, sendo generalizados com base, principalmente, nestes dois paradigmas.
A maioria dos algoritmos conta com uma vers˜ao formalizada, apresentada numa
pseudo-linguagem de programac¸ ˜ao. A id´eia de tal representac¸ ˜ao visa facilitar uma
vis˜ao algor´ıtmica voltada para implementac¸˜ao. Assim como a vis˜ao algor´ıtmica de
decomposic¸˜ao em ´arvore veio enriquecer ainda mais a percepc¸ ˜ao dos conceitos e resul-
tados te´oricos principalmente nos casos em que provas algor´ıtmicas s˜ao fornecidas
um esforc¸o de implementac¸˜ao dos algoritmos aqui discutidos tem grande efeito es-
clarecedor e did´atico. De fato, um produto secund´ario deste trabalho de pesquisa foi o
desenvolvimento de um ambiente interativo para e com implementac¸˜ao dos principais al-
goritmos encontrados no texto, ou seja, al´em da implementac¸˜ao de rotinas e algoritmos,
foram disponibilizadas ferramentas para construc¸˜ao de decomposic¸ ˜oes em ´arvore.
Uma das principais recomendac¸ ˜oes para trabalhos futuros contempla, ent˜ao, o
prosseguimento do trabalho de implementac¸˜ao de modo a acrescentar mais ferramen-
tas, rotinas e algoritmos. Desta forma, este texto pretende ser tamb´em uma referˆencia
inicial para pesquisa de novos algoritmos. Outras recomendac¸ ˜oes podem sugerir ainda
o desenvolvimento de novas referˆencias para decomposic¸˜ao em ´arvore em ıngua
portuguesa.
78
Refer
ˆ
encias Bibliogr
´
aficas
ABRAHAMSON, K. R. E FELLOWS, M. R. (1993). “Finite automata, bounded
treewidth and wellquasiordering”. In: Graph Structure Theory, Contemporary
Mathematics, Volume 147, pp. 539–564. Providence, EUA: Am. Math. Soc.
ALON, N., SEYMOUR, P., E THOMAS, R. (1990). A separator theorem for graphs
with an excluded minor and its applications”. In: Proceedings of the 22nd annual
ACM Symposium on Theory of Computing, pp. 293–299. ACM.
ARNBORG, S. (1985). “Efficient algorithms for combinatorial problems on graphs
with bounded decomposability — a survey”. BIT (25): 2–23.
ARNBORG, S., CORNEIL, D. G., E PROSKUROWSKI, A. (1987). “Complexity of
finding embeddings in a k-tree”. SIAM J. Alg. Discrete Math. (8): 277–284.
ARNBORG, S., COURCELLE, B., PROSKUROWS KI, A., E SEESE, D. (1993). An
algebraic theory of graph reduction”. J. Assoc. Comput. Mach. 40(5): 1134–1164.
ARNBORG, S., LAGERGREN, J., E SEESE, D. (1991). “Easy problems for
tree-decomposable graphs”. J. Algorithms (12): 308–340.
ARNBORG, S. E PROSKUROWSKI, A. (1986). “Characterization and recognition of
partial 3-trees”. SIAM J. Alg. Discrete Math. (7): 305–314.
ARNBORG, S. E PROSKUROWS KI, A. (1989). “Linear time algorithms for np-hard
problems restricted to partial k-trees”. Discrete Applied Math. (23): 11–24.
ARNBORG, S. E PROSKUROWS KI, A. (1990). “Canonical representation of partial 2-
and 3-trees”. In: Scandinavian Workshop on Algorithm Theory, pp. 310–319.
BERGE, C. (1973). Graph and Hypergraphs. Amsterdam, Holanda: North Holland.
BODLAENDER, H. L. (1986). Classes of Graphs with Bounded Treewidth. Relat´orio
t´ecnico, Department of Computer Science, Utrecht University, Utrecht, Holanda.
79
Refer
ˆ
encias Bibliogr
´
aficas
BODLAENDER, H. L. (1988). “Dynamic programming algorithms on graphs with
bounded tree-width”. In: Proceedings of the 15th International Colloquium on Au-
tomata, Languages and Programming, Volume 317 de Lecture Notes in Computer
Science, Berlin, Alemanha, pp. 105–119. Springer-Verlag.
BODLAENDER, H. L. (1993a). “Complexity of path-forming games”. Theoret.
Comput. Sci. (110): 215–245.
BODLAENDER, H. L. (1993b). A linear time algorithm for finding tree-
decompositions of small treewidth”. In: Proceedings of the 25th annual ACM
Symposium on Theory of Computing, San Diego, California, EUA, pp. 226–234.
ACM Press.
BODLAENDER, H. L. (1993c). A tourist guide through treewidth”. Acta Cybern. (11):
1–23.
BODLAENDER, H. L. (1994). “Improved self-reduction algorithms for graphs with
bounded treewidth”. Discrete Appl. Math. (54): 101–115.
BODLAENDER, H. L. (1996). A linear time algorithm for finding tree-decompositions
of small treewidth”. SIAM Journal on Computing 25: 1305–1317.
BODLAENDER, H. L. (1997). “Treewidth: Algorithmic techniques and results”. In:
I. Privara e P. Ruzicka (Eds.), Proceedings 22nd International Symposium on
Mathematical Foundations of Computer Science, MFCS’97, Lecture Notes in
Computer Science, Volume 1295, Berlin, Alemanha, pp. 29–36. Springer Verlag.
BODLAENDER, H. L. (2000). Necessary edges in k-chordalizations of graphs.
BODLAENDER, H. L., GILBERT, J. R., HAFSTEINSS ON, H., E KLOKS, T. (1995a).
Approximating treewidth, pathwidth, and minimum elimination tree height”. J.
Algorithms (18): 238–255.
BODLAENDER, H. L. E HAGERUP, T. (1995). “Parallel algorithms with optimal spee-
dup for bounded treewidth”. In: Proceedings of the 22nd International Colloquium
on Automata, Languages and Programming, Volume 944, Berlin, Alemanha, pp.
268–279. Springer Verlag.
BODLAENDER, H. L. E KLOKS, T. (1996). “Efficient and constructive algorithms for
the pathwidth and treewidth of graphs”. J. Algorithms (21): 358–402.
BODLAENDER, H. L., KLOKS, T., E KRATSCH, D. (1995b). “Treewidth and
pathwidth of permutation graphs”. SIAM J. Discrete Math. (8): 606–616.
BODLAENDER, H. L. E M
¨
OHRING, R. H. (1993). “The pathwidth and treewidth of
cographs”. SIAM J. Discrete Math. (6): 181–188.
BODLAENDER, H. L. E THILIKOS, D. M. (1999). “Graphs with branchwidth at most
three”. J. Algorithms (32): 167–194.
BONDY, J. A. E MURTY, U. S. R. (1976). Graph Theory with Applications. Londres,
Inglaterra: McMillan.
80
Refer
ˆ
encias Bibliogr
´
aficas
BORIE, R. B., PARKER, R. G., E TOVEY, C. A. (1992). Automatic generation
of linear-time algorithms from predicate calculus descriptions of problems on
recursively constructed graph families”. Algorithmica (7): 555–582.
COURCELLE, B. (1990). “The Monadic Second-order Logic of graphs I: Recognizable
sets of finite graphs”. Information and Computation 85.
DE FLUITER, B. (1997). Algorithms for Graphs of Small Treewidth. Ph. D. thesis,
Department of Computer Science, Universiteit Utrecht, Utrecht, Holanda.
DE FLUITER, B. E BODLAENDER, H. L. (1995). Reduction Algorithms for
Graphs with Small Treewidth. Relat´orio T´ecnico UU-CS-1995-37, Department of
Computer Science, Universiteit Utrecht, Utrecht, Holanda.
DE FLUITER, B. E BODLAENDER, H. L. (1996). “Reduction algorithms for graphs
with small treewidth”. In: Proceedings of the 2nd Annual International Conference
on Computing and Combinatorics, COCOON’96, Volume 1090, pp. 199–208.
Springer Verlag, Lecture Notes in Computer Science.
DIESTEL, R. (2000). Graph Theory. New York, NY, EUA: Springer Verlag.
DIMITRIOU, T. E IMPAGLIAZZO, R. (1996). “Towards an analysis of local optimiza-
tion algorithms”. In: Proceedings of the 28th annual ACM Symposium on Theory
of Computing, Philadelphia, Pennsylvania, EUA, pp. 304–313. ACM Press.
DJIDJEV, H. E REIF, J. (1991). “An efficient algorithm for the genus problem with ex-
plicit construction of forbidden subgraphs”. In: Proceedings of the 23rd annual
ACM Symposium on Theory of Computing, New Orleans, Louisiana, EUA, pp.
337–347. ACM Press.
ELLIS, J. A., SUDBOROUGH, I. H., E TURNER, J. (1994). “The vertex separation and
search number of a graph”. Inform. and Comput. (113): 50–79.
EVANS, J. R. E MINIEKA, E. (1992). Optimization Algorithms for Networks and
Graphs. E.U.A.: Marcel Dekker Inc.
FELLOWS, M. R. E LANGSTON, M. A. (1989). “On search decision and the efficiency
of polynomial-time algorithms (extended abstract)”. In: Proceedings of the 21st
annual ACM Symposium on Theory of Computing, Seattle, Washington, EUA, pp.
501–512. ACM Press.
FELLOWS, M. R. E LANGSTON, M. A. (1994). “On search, decision and the efficiency
of polynomial-time algorithms”. J. Comput. System. Sci. (49): 769–779.
FREDERICKSON, G. N. (1991). “Planar graph decomposition and all pairs shortest
paths”. Journal of the ACM 38(1): 162–204.
GAVOILLE, C., PELEG, D., P
´
ERENNES, S., E RAZ, R. (2001). “Distance labeling
in graphs”. In: Proceedings of the 12th annual ACM Symposium on Discrete
Algorithms, Washington, D.C., EUA, pp. 210–219. ACM Press.
GOLUMBIC, M. C. (1980). Algorithmic Graph Theory and Perfect Graphs. Nova
York, E.U.A.: Academic Press.
81
Refer
ˆ
encias Bibliogr
´
aficas
HABIB, M. E M
¨
OHRING, R. H. (1994). “Treewidth of cocomparibility graphs and a
new order-theoretic parameter”. ORDER (1): 47–60.
KLOKS, T. (1993). Treewidth of Circle Graphs. Relat´orio t´ecnico, Department of
Computer Science, Utrecht University, Utrecht, Holanda.
KLOKS, T. (1994). “Treewidth computations and approximations”. In: Lecture
Notes in Computer Science, Volume 842. Springer-Verlag.
KLOKS, T. E KRATSCH, D. (1994). “Finding all minimal separators of a graph”. In:
Proceedings of the 11th Annual Symposium on Theoretical Aspects of Computer
Science, Volume 775 de Lecture Notes in Computer Science, Berlin / Nova York,
pp. 759–768. Springer-Verlag.
KLOKS, T. E KRATSCH, D. (1995). “Treewidth of chordal bipartite graphs”. J.
Algorithms (19): 266–281.
KOBLER, D. E ROTICS, U. (2001). “Polynomial algorithms for partitioning problems
on graphs with fixed clique-width (extended abstract)”. In: Proceedings of the 12th
annual ACM Symposium on Discrete Algorithms, Washington, D.C., EUA, pp.
468–490. ACM Press.
KOSTER, A. M., BODLAENDER, H. L., E VAN HOESEL, S. P. (2001). “Treewidth:
Computational experiments”. Electronic Notes in Discrete Mathematics 8.
LAGERGREN , J. (1996). “Efficient parallel algorithms for graphs of bounded tree-
width”. J. Algorithms (20): 20–44.
LAGERGREN , J. E ARNBORG, S. (1991). “Finding minimal forbidden minors using
a finite congruence”. In: Proceedings of the 18th International Colloquium on Au-
tomata, Languages and Programming, Volume 510 de Lecture Notes in Computer
Science, Berlin / Nova York, pp. 533–543. Springer-Verlag.
MAHESHWARI, A. E ZEH, N. (2001). “I/o-efficient algorithms for graphs of boun-
ded treewidth”. In: Proceedings of the 12th annual ACM Symposium on Discrete
Algorithms, Washington, D.C., EUA, pp. 89–90. ACM Press.
MATOUSEK, J. E THOMAS, R. (1991). Algorithms finding tree-decompositions of
graphs”. J. Algorithms (12): 1–22.
MATOUSEK, J. E THOMAS, R. (1992). “On the complexity of finding iso- and other
morphisms for partial k-trees”. Discrete Mathematics (108): 343–364.
PAPADIMITRIOU, C. H. E STEIGLITZ, K. (1983). Combinatorial Optimization:
Algorithms and Complexity. New Jersey, E.U.A.: Prentice Hall, Englewood Cliffs.
PERKOVIC, L. E REED, B. (2000). An improved algorithm for finding tree de-
compositions of small width”. International Journal of Foundations of Computer
Science 11(3): 365–371.
REED, B. A. (1992). “Finding approximate separators and computing tree width quic-
kly”. In: Proceedings of the 24th annual ACM Symposium on Theory of Computing,
Victoria, British Columbia, Canada, pp. 221–228. ACM Press.
82
Refer
ˆ
encias Bibliogr
´
aficas
REED, B. A. (1997). Surveys in Combinatorics, Volume 315, Cap´ıtulo Tree Width and
Tangles: A New Conectivity Measure and Some Applications, R. Bailey (ed.), pp.
87–162. Cambridge University Press.
ROBERTSON, N. E SEYMOUR, P. D. (1983). “Graph minors. I. Excluding a forest”. J.
Combin. Theory Ser. B. (35): 39–61.
ROBERTSON, N. E SEYMOUR, P. D. (1985). Surveys in Combinatorics, Cap´ıtulo
Graph Minors — A Survey, pp. 153–171. Cambridge, RU: Cambridge Univ. Press.
ROBERTSON, N. E SEYMOUR, P. D. (1986). “Graph minors. II. Algorithmic aspects
of tree-width”. J. Algorithms (7): 309–322.
ROBERTSON, N. E SEYMOUR, P. D. (1991). “Graph minors. X. Obstructions to tree-
decomposition”. J. Combin. Theory Ser. B. (52): 153–190.
ROBERTSON, N. E SEYMOUR, P. D. (1995). “Graph minors. XIII. The disjoint paths
problem”. J. Combin. Theory Ser. B. (63): 65–110.
SANDERS, D. P. (1996). “On linear recognition of tree-width at most four”. SIAM J.
Discrete Math. (9): 101–117.
WILSON, R. J. (1985). Introduction to Graph Theory. Nova York, E.U.A.: Longman
Scientific & Technical.
83
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo