particionamento e extensao loana tito nogueira tese ... · loana tito nogueira advisors: sulamita...

136
PARTICIONAMENTO E EXTENSAO DE GRAFOS CORDAIS EM CONJUNTOS INDEPENDENTES E CLIQUES Loana Tito Nogueira TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÁO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTACÃO. Aprovada por: Di. Pavol Hell, P1i.D Prof3. Célia &ciiliil de Mello, D.Sc. h I Prof. Jayine Luiz Szwarcfiter, Pl1.D. RIO DE JANEIRO, RJ - BRASIL NOVEMBRO DE 2003

Upload: doxuyen

Post on 09-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

PARTICIONAMENTO E EXTENSAO DE GRAFOS CORDAIS EM CONJUNTOS INDEPENDENTES E CLIQUES

Loana Tito Nogueira

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÁO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTACÃO.

Aprovada por:

Di. Pavol Hell, P1i.D

Prof3. Célia &ciiliil de Mello, D.Sc.

h I Prof. Jayine Luiz Szwarcfiter, Pl1.D.

RIO DE JANEIRO, RJ - BRASIL NOVEMBRO DE 2003

Page 2: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

NOGUEIRA, LOANA TITO Particionarnento e extensão de grafos cor-

dais em conjuntos independentes e cliques [Rio de Janeiro] 2003

IX, 124 p., 29,7 cm (COPPE/UFRJ,

M.Sc., Engenharia de Sistemas e Computa- ção, 2003)

Tese - Universidade Federal do Rio de Ja-

neiro, COPPE

1 - Grafos Cordais

3 - Ad-partição

I. COPPEJUFRJ 11. Título (série)

Page 3: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos

necessários para a obtenção do grau de Doutor em Ciências (D.Sc.)

PARTICIONAMENTO E EXTENSÃO DE GRAFOS CORDAIS EM CONJUNTOS INDEPENDENTES E CLIQUES

Loana Tito Nogueira

Orientadores: Sulamita Klein

Fábio Prottj

Programa: Engenharia de Sistemas e Computação

Este trabalho descreve um estudo sobre particionamento em grafos. Estu-

dainos os grafos-(lc, L ) , grafos cujo conjunto de vértices pode ser particionado

em k conjuntos independentes e 1 cliques. Este problema é uma generalização

natural do problema de reconhecer grafos split, e é NP-completo para grafos

em geral, a menos que lc 5 2 e 1 5 2. Apresentamos um teorema de caracte-

rização de grafos cordais-(k, 1) por subgrafos induzidos e algoritmos eficientes

para reconhecimento desta classe de grafos. Além disso, consideramos

partições gerais para a classe dos grafos cordais. Para cada matriz simétrica

h!! definida sobre 0,1, *, o problema da M-partição procura por uma partição

do grafo de entrada em conjuntos independentes, cliques, ou conjuntos arbi-

trários, com algumas exigências entre alguns pares de conjuntos, por exemplo,

que sejam completamente adjacentes ou que não possuam nenhuma aresta entre eles, tal como especificado na matriz M. Tais partições generalizam

o problema da coloração de grafos e o problema do homomorfismo, e apa-

recem frequentemente na teoria de grafos perfeitos. Mostramos que muitos

problemas de Ad-partição que são NP-completos em geral tornam-se poli-

nomiais quando restritos à classe dos grafos cordais, mesmo na presença de

listas. Por outro lado, mostramos que existem problemas de M-partição que

permanecem NP-completos mesmo para grafos cordais.

Page 4: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Abstract of Thesis presented to COPPE/UFRJ as a partia1 fulfillment of the requirements for the degree of Doctor of Science (D.Sc.)

PARTITION AND EXTENSION OF CHORDAL GRAPHS INTO

INDEPENDENT SETS AND CLIQUES

Loana Tito Nogueira

Advisors: Sulamita Klein

Fábio Protti

Department : Computing and Systems Engineering

This worlt describes a study on graphs partitions. We study the (k, 1)-

graphs, graphs whose set of vertices can be partitioned into k independent

sets and 1 cliques. This is a natural generalization of the problem of recogni-

zing split graphs, and it is NP-complete for graphs in general, unless k 5 2

and 1 < 2. We present a theorem of characterization of chordal (k, 1)-graphs

by forbidden subgraphs and efficient algorithms for recognizing chordal (k, 1)- graphs. Moreover, we consider general M-partitions for the class of chordal

graphs. For each symmetric matrix M over 0,1, *, the M-partition problem

seelts a partition of the input graph into independent sets, cliques, or arbi-

trary sets, with some pairs of sets being required to have no edges, or to have a11 edges joining them, as encoded in the matrix M . Such partitions

generalize graph colorings and homomorphisms, and arise frequently in the theory of perfect graphs. We show that many M-partition problems that

are NP-complete in general become polynomial time solvable for chordal

graphs, even in the presence of lists. On the other hand, we show that there

are Ad-partition problems that remain NP-complete even for chordal graphs.

Page 5: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

A quem tudo devo, os meus pais

"Foi O tempo que dedicaste a tua rosa que fez tua rosa tão importante."

(Saint-Exupéry, em O Pequeno Príncipe)

Page 6: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Agradecimentos Além do Criador de tudo, são muitas as pessoas às quais devo agradecer,

pois nenhuma atividade científica é isolada. Ao longo do caminho, tive o apoio e a orientação de todas as pessoas que depositaram sua confiança em

mim. Gostaria de agradecer, em particular, ao meu querido Cacau (Carlos

Henrique), pelo amor e amizade; aos meus pais, por terem me ensinado

a confiar em minha intuição; aos meus irmãos, Alex, Léo e Aninha, por todo o carinho; ao meu querido Filipe, pelo prazer em ouvi-lo dizer titia

nos momentos tensos; à minha querida Jajá (in memoriam), pelo carinho e

orgulho que sempre demonstrou ter por mim.

Tenho também uma enorme dívida de gratidão para com:

Sula e Fábio, meus orientadores, cujo compromisso, sabedoria e ami- zade me ajudaram e me inspiraram na execução deste trabalho.

O professor Pavol, pelas discussões que contribuíram para a conclusão

desta tese e cujas idéias sempre foram bem vindas.

O professor Jayme, que me acolheu nesta área de pesquisa, pelo seu

apoio em todos os sentidos.

O professor e amigo Luérbio, pela amizade e pelo incentivo acadêmico.

As professoras Célia e Yoshiko, cuja atenção aos detalhes melhoraram

a versão final deste trabalho.

Os meus verdadeiros amigos, que são como irmãos, compartilhando

tristezas e alegrias comigo. Em particular, Carlile, um amigo com muitas

afinidades; Renata, sua esposa, por sua amizade e por ter conseguido manter

o Carlile no Rio. Debs e Rosa, duas amigas super poderosas, pelas ajudas

prestativas, além das brincadeiras descontraídas que sempre me tiravam do

eixo e do trabalho.

Page 7: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

O amigo Mitre, pela paciente ajuda, pois as dúvidas e problemas de Latex eram inesgotáveis.

Todos os colegas de pós-graduação, pelo espírito de coleguismo.

Os professores do Programa de Engenharia de Sistemas e Computação

da COPPE-Sistemas/UFRJ.

As secretárias Cláudia, Solange, Sueli, Lúcia, Mercedes.

A CAPES, pelo suporte financeiro durante todo o tempo de pós-

graduação.

Page 8: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes
Page 9: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 M-partição 40

. . . . . . . . . . . . . . . . . . . . . . . 3.2 Partições com Listas 45

3.3 Matrizes M com 0. 1 na diagonal principal . . . . . . . . . . . 48

3.3.1 Matriz M com apenas O na diagonal principal . . . . . 49

3.3.2 Matriz M com apenas 1 na diagonal principal . . . . . 51

3.4 Matrizes M com 1 na diagonal principal e JF fora da diagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . principal 54

3.4.1 Partição.(O, 1) com listas em Grafos Cordais . . . . . . 55

3.5 Matrizes M cuja diagonal principal é composta por um único

O e o restante dos elementos desta são 1. e que possui JF fora . . . . . . . . . . . . . . . . . . . . . . . da diagonal principal 62

. . . . . . 3.5.1 Partição-(1, 1) com listas em Grafos Cordais 63

. . . . 3.5.2 Extensão de Grafos Split

. . . . . . . . . . . . . . . . . . . . 3.6 Matrizes de bloco.A, B. C 73

. . . . . . . . . . . . . . . . . . . . . . 3.7 Um caso NP-completo 76

4 Versão com Pesos 78

4.1 Encontrando um conjunto de KT 's independentes com peso . . . . . . . . . . . . . . . . . . . . . . . . . . . total máximo 79

. . . . . . . 4.2 Primeiro dgoritmo . aplicado a um grafo derivado 80

. . . . . . . . . . . . . . . . . . . . . . . 4.3 Um algoritmo direto 87

. . . 4.3.1 Implicações para a versão sem pesos do problema 92

Page 10: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

5 Conclusão 96

5.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.2 Produção Acadêmica Durante o Doutorado . . . . . . . . . . . 99

5.2.1 Artigos completos publicados em periódicos . . . . . . 99

5.2.2 Trabalhos completos publicados em anais de evento . . 99

5.2.3 Resumos publicados em anais de evento . . . . . . . . 100

5.2.4 Resumos expandidos publicados em anais de evento . . 100

A Apêndice do Capítulo 3 101

A.1 Decomposição em Árvore . . . . . . . . . . . . . . . . . . . . . 102

A.2 Utilização de Programação Dinâmica para resolver problemas

NP-difíceis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

A.3 Resolvendo o problema da coloração com listas para grafos

com largura limitada . . . . . . . . . . . . . . . . . . . . . . . 112

Page 11: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Lista de Figuras

. . . . . . . . . . . . . . . . . . . . . 2.1 Exemplo para o Lema 1 25

. . . . . . . . . . . . . . . . . 2.2 Subgrafo isomorfo a ( I + l)Kk+l 27

. . . . . . . . . . . . . . . . . . . . . . . . 2.3 Exemplo de x3 (G) 28

. . . . . . . . . . . . . . . . 3.2 Três problemas típicos de partição 4 2

. . . . . . . . . . 3.3 Um grafo-(k, 1 ) e sua representação matricial 4 3

. . . . . . . . . . . . 3.4 Outros problemas conhecidos de partição 4 4

. . . . . . . . 3.5 Os vizinhos vi de vi. j > i. induzem uma clique 59

3.6 Subgrafos proibidos. com o vértice a pré-colorido com a cor c . . . . . . . . . . . . . . e o vértice b pré-colorido com a cor s 70

. . . . . . . . . . . . . . . . . . . . . 3.7 Matriz de b1ocoA.B. C 73

. . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Matriz Horizontal 75

. . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Matriz Vertical 7 5

Page 12: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

A.l Um grafo e uma de suas decomposições em árvore . . . . . . . 104

A.2 Boa decomposição em árvore para o grafo da Figura A . l . . . 106

xii

Page 13: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Capítulo 1

Introdução

Este trabalho descreve um estudo em problemas de partição de grafos, es-

tudo esse que tem despertado muito interesse devido às pesquisas em grafos

perfeitos (291 e também pela procura de algoritmos eficientes de reconhe-

cimento de determinadas classes de grafos. Muitos desses problemas (de

partição de grafos) podem ser descritos como tendo por objetivo particio-

nar o conjunto dos vértices de um grafo em subconjuntos VI, h,. . . , Vk onde

T/,üKU . . . UVk = V e V,nV, = @ , i # j, 1 _< i , j < k , exigindo-se,porém, al-

gumas propriedades sobre estes subconjuntos de vértices. Estas propriedades

podem ser internas, como por exemplo exigir que os vértices de cada sub-

conjunto V, sejam completamente adjacentes (neste caso, V, é uma clique) ou

completamente não-adjacentes (neste caso, V, é um conjunto independente),

ou externas, onde as exigências são feitas sobre os pares (V,, V,), isto é, I/', e

V, podem ser completamente adjacentes ou não-adjacentes entre si. Como

exemplo, citamos um dos problemas mais famosos que se insere neste con-

Page 14: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

texto, o problema da k-coloração, onde desejamos particionar os vértices de

um grafo em k conjuntos independentes K, . . . , (sem restrições externas).

Sabe-se que esse problema é polinomial para k < 2 e NP-completo para

tk 2 3.

Outro problema bastante conhecido de particionamento de grafos é veri-

ficar se um dado grafo G é split, ou equivalentemente, verificar se o conjunto

dos vértices de G pode ser particionado em dois subconjuntos, dos quais um

é independente e o outro é uma clique. Provou-se que o reconhecimento de

grafos split pode ser realizado em tempo linear (veja por exemplo [29]).

Recentemente, uma generalização de grafos split foi proposta por

Brandstadt, que definiu uma nova classe de grafos, a classe dos grafos-(k, I ) ,

a qual também chamamos grafos split generalizados, como sendo aquela for-

mada pelos grafos cujo conjunto de vértices pode ser particionado em k con-

juntos independentes e L cliques. Brandstadt considerou em particular as

classes grafos- (2, I ) , grafos-(l,2) e grafos- (2,2), apresentando algoritmos po-

linomiais para reconhecer estas classes [ l I , 121. Feder et al. [25] também

apresentaram algoritmos polinomiais para o reconhecimento destas classes

que surgiram como sub-produto de algoritmos de partição em subgrafos den-

sos e esparsos. Por outro lado, sabe-se que reconhecer grafos-(k, L ) para

k > 3 ou I _> 3 é NP-completo [ll]. Como exemplo, podemos considerar a

classe dos grafos-(k, O), que corresponde ao problema de reconhecer se um

dado grafo é k-colorível (já mencionado anteriormente, cujo reconhecimento

Page 15: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

é NP-completo para k > 3).

Sendo NP-completo o reconhecimento de grafos-(k, L), para k >_ 3 ou

1 2 3, restringimos este problema à classe dos grafos cordais. Um grafo é dito

cordal se todo ciclo induzido de tamanho pelo menos 4 possui uma corda, que

é uma aresta ligando dois vértices não consecutivos no ciclo. Apresentamos

uma caracterização por subgrafos proibidos para a classe dos grafos cordais-

(k, L ) , assim como um algoritmo polinomial de complexidade O(n(m + n))

para o reconhecimento desta classe de grafos. Mais especificamente, prova-

mos o seguinte teorema:

Teorema 1.1 (Caracterização) U m grafo cordal é grafo-(k, 1) se e so-

men te se não con tém ( 1 + l ) cópias independentes de Kk+l. ( U m conjunto de

subgrafos de um grafo G é dito independente se eles são dois a dois dis juntos

e não-adjacentes e m G, i.e., não exis tem e m G arestas en tre eles.)

Um caso especial deste resultado, para grafos cordais-(2,l) foi inicial-

mente tratado em [36].

Nosso algoritmo de reconhecimento encontra, na verdade, o menor valor

de 1 para o qual G é um grafo-(k, 1 ) . O algoritmo se torna mais eficiente, pos-

suindo complexidade O(m + n), quando k = 1, i.e., quando procuramos uma

partição do grafo em um conjunto independente e um conjunto de cliques.

Quando ambos k e 1 são iguais a um, adaptamos o algoritmo para gerar um

algoritmo mais simples e eficiente para grafos split. (Observe que neste caso

3

Page 16: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

não precisamos da restrição de o grafo de entrada ser um grafo cordal, pois

grafos split são cordais).

Uma forma alternativa de enunciar nosso resultado baseia-se no seguinte

fato: o número máximo de Kis independentes num grafo cordal é igual ao

número mínimo de cliques necessárias que interceptam todos os K:s de G.

Em outras palavras, se denotarmos por a (G, r) o número máximo de cópias

independentes de Kis em G, e por K(G, r ) O número mínimo de cliques que

interceptam todos os K:s de G, então podemos mostrar que para um grafo

cordal a (G , r ) = n(G,r) . Observe que quando r = 1, a ( G , r ) é o número

de independência de G, e K(G, r) é O número de cobertura por cliques de G.

Portanto, este resultado generaliza o resultado de que a ( G ) = K(G), para

G cordal, i.e., o resultado de que grafos cordais são perfeitos. Chamaremos

a igualdade a (G , r) = K(G, r) de r-perfeição. Nosso algoritmo de complexi-

dade O(n(m + n)) identifica a(G, r ) cópias independentes de Kis e o mesmo

número de cliques que interceptam todos os Kis de G.

Independentemente do teorema de caracterização e do algoritmo de reco-

nhecimento de grafos cordais-(k, I ) , acima mencionados, formulamos o pro-

blema de reconhecer grafos cordais-(k, l) em termos de programação linear.

Além disso, apresentamos o problema na versão com pesos, formulado da se-

guinte maneira: é dado um grafo cordal G = (V, E), tal que cada vértice de

G possui um peso a ele associado. Nosso objetivo é encontrar um conjunto

de KT's independentes de peso total máximo. Esse problema corresponde

Page 17: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

exatamente ao problema anterior quando resolvido para grafos onde todos

os vértices possuem o mesmo peso. Fornecemos dois algoritmos para re-

solver o problema, ambos baseados no princípio da complementaridade de

folga, que resolvem esse problema, assim como o seu dual. O primeiro opera

diretamente sobre o grafo G, e o segundo opera numa extensão de G, e é

uma adaptação de um algoritmo de Farber 1221. Quando os algoritmos são

adaptados para a situação em que todos os vértices possuem o mesmo peso,

obtemos métodos mais simples para resolver'o problema original, embora não

sejam tão eficientes.

Ainda neste trabalho, estendemos o nosso foco e consideramos M-

partições em grafos cordais. O problema da M-partição foi introduzido em

[25]. Para cada matriz simétrica M definida sobre 0,1, *, o problema da M-

partição tem como objetivo encontrar uma partição de um grafo de entrada

em conjuntos independentes, cliques, ou conjuntos arbitrários, exigindo-se

algumas restrições entre esses conjuntos; por exemplo, pode-se exigir que

dois desses conjuntos tenham todas as arestas entre eles, ou que não tenham

nenliuma aresta entre eles, conforme indicado na matriz M. Tais partições

generalizam grafos- ( k , I ) e portanto, coloração em grafos. Outro problema

também abordado, e ainda mais geral, é o problema da M-partição com

listas, uma instância deste problema é um grafo G e uma coleção de listas

L(x), x E V(G), cada lista sendo um conjunto de partes (uma parte é um dos

subconjuntos de vértices da partição). Uma solução para a instância da M-

partição com listas é uma solução para a M-partição correspondente, tal que

Page 18: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

cada vértice z pertence a uma das partes Ai E L(x) . M-partições com listas

generalizam coloração com listas e homomorfismos [24], e são de bastante

interesse na teoria de grafos perfeitos [13, 191. Muitos problemas conhecidos:

corte dique, conjunto homogêneo, corte 'skew', etc., podem ser formulados

como problemas de M-partição com listas [25]. Além disso, o estudo de

problemas de M-partição pode nos conduzir a soluções eficienles de alguns

desses problemas [19]. Mostramos que muitos problemas de M-partição que

são NP-completos em geral tornam-se polinomiais quando restritos à classe

dos grafos cordais (os grafos cordais-(k, L ) podem ser vistos como um desses

exemplos), mesmo na presença de listas. Por outro lado, mostramos que

existem problemas de M-partição que permanecem NP-completos mesmo

para grafos cordais.

1.1 Organização do Trabalho

Este trabalho está dividido em cinco capítulos. No primeiro capítulo apre-

sentamos os objetivos, as definições e notações utilizadas no decorrer da tese.

No capítulo seguinte introduzimos inicialmente os grafos-(k, L), e apresenta-

mos uma caracterização para os grafos cordais-(k, L), assim como um algo-

ritmo com complexidade polinomial para reconhecer esta classe. No Capítulo

3 generalizamos o conceito de grafos-(k, i), mais especificamente, apresenta-

mos alguns resultados para os problemas de M-partição e M-partição com

listas para grafos cordais. No Capítulo 4 apresentamos a versão com pesos

Page 19: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

do problema apresentado no Capítulo 2 e investigamos maneiras de como a

dualidade da programação linear pode ser utilizada como ferramenta na solu-

ção desses problemas. Finalmente, no Capítulo 5, fornecemos as conclusões

deste trabalho e algumas propostas para continuidade do trabalho. Pode-se

ainda encontrar neste trabalho (Apêndice A) uma pequena abordagem so-

bre decomposições em árvore que serve como base para parte dos resultados

apresentados no Capítulo 3.

Vamos agora estabelecer algumas definições e notações que serão utiliza-

das ao longo da tese.

Grafos

U m grafo é um par ordenado G = (V, E) onde V é um conjunto finito

não-vazio de vértices e E é um conjunto de pares não-ordenados de vértices

distintos, chamados arestas. Denotamos os conjuntos de vértices e arestas de

G por V(G) e E(G), respectivamente. Utilizaremos a notação n = (V(G) ( e

in = (E(G) I para denotar a cardinalidade de V(G) e E(G), respectivamente.

Embora arestas sejam pares não-ordenados, estas serão indicadas como pares

ordenados: (v, w) em vez de {v, w).

Um grafo G é dito trivial se (V(G)( = 1.

Um vértice v é adjacente a outro vértice w em G se (v, w) E E(G).

Neste caso, dizemos também que v e w são vizinhos ou estão ligados em G,

Page 20: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

e que a aresta e = (v , w) é incidente a v e w, ou que tem extremos v e w.

Denotamos por N(v) o conjunto dos vértices adjacentes a v em G, e por

N[v] o conjunto N(v) U {v); tais conjuntos são chamados vizinhança aberta

e vizinhança fechada de v, respectivamente. Um vértice v é dito universal

quando N (v) = V(G) - {v).

O grau de um vértice v é a cardinalidade do conjunto N(v).

O tamanho de um grafo G é igual a JV(G) I i- 1 E (G) I .

O complemento de um grafo G, denotado por c, é o grafo que tem o

mesmo conjunto de vértices que G e tal que dois vértices são vizinhos em

se e somente se não são vizinhos em G.

Um grafo H é um subgrafo de um grafo G se V(H) V(G) e

E (H) C E(G). Dado um conjunto de vértices X 5 V(G), X # @, o subgrafo

induzido por X , denotado por G[X] é o subgrafo H de G tal que V(H) = X

e E (H) é o conjunto das arestas de G que têm ambos os extremos em X.

Dois grafos G e H são isomorfos quando existe uma bijeção entre V(G)

e V(H) que preserva adjacências e não-adjacências. Nesse caso, escrevemos

G e H.

Um grafo G é dito bipartido quando seu conjunto de vértices pode ser

particionado em dois subconjuntos Vi, K, tais que toda aresta de G une

uni vértice de VI a outro de h. Um tal grafo é dito bipartido completo se

Page 21: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

possui uma aresta para cada par de vértices vl, v2, sendo v1 E VI e v2 E V2.

Denotamos por Kn,,,, o grafo bipartido completo, onde IKJ = nl e 11/21 = na.

Um caminho num grafo G é uma sequência P = vl, 212, . . . , vk onde os vi's

são vértices (dois a dois distintos), e (vi, vi+l) E E(G), 1 5 i _< k - I. Uma

corcla em P é uma aresta que liga dois vértices não-consecutivos de P. Um

caminho induzido é um caminho sem cordas. Denotamos por Pk o caminho

induzido por k vértices.

Um ciclo num grafo G é uma sequência C = ~ 1 ~ ~ 2 , . . . , v~vk+l onde

v1,v2,. . . ,vk é um caminho, vl = vk+l e k 2 3. O número k é o compri-

mento de C. Um ciclo é dito par se tem comprimento par, caso contrário é

dito {mpar. Uma corda em C é qualquer corda do caminho vl, 212,. . . , vk Um

ciclo é um ciclo induzido se não possui cordas. Denotamos por Ck o ciclo

induzido por k vértices. O grafo C3 é também chamado triângulo.

Um conjunto S é maximal (minimal) em relação a uma determinada pro-

priedade P se S satisfaz P, e todo conjunto S' que contém propriamente S

(que está contido propriamente em S ) não satisfaz P.

Um grafo G é conexo se para todo par de vértices distintos v e w de

G existe um caminho de v a w. Caso contrário, G é dito desconexo. Um

componente conexo de G é um subgrafo maximal conexo de G. Se Hl e H2

são componentes conexos distintos de um grafo desconexo G, dizemos que os

grafos formados por Hl e H2 são isolados um do outro. Em princípio, todos

Page 22: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

os grafos desta tese são conexos, a menos de menção explícita em contrário

quando for o caso.

Uma árvore geradora de um grafo G é um subgrafo de G onde existe

exatamente um caminho entre cada par de vértices em V(G).

Um grafo G é completo se quaisquer dois vértices distintos de G são ad-

jacentes. Denotamos por Kn o grafo completo com n vértices. Denotaremos

p K n o grafo correspondente a p cópias disjuntas e não-adjacentes de Kn.

Dado um grafo G, um corte de vértices de G é um subconjunto minimal

de vértices S C V(G) cuja remoção de G o desconecta ou o transforma num

grafo trivial. Isto é, G - S é desconexo ou trivial, e para todo subconjunto

próprio S' C S, G - S' é conexo e não-trivial.

Um conjunto de vértices M de um grafo G é uma clique se G[M] é um

grafo completo. Uma clique M é maximal se para qualquer clique M' tal

que A 4 C M', temos M = M'. Duas cliques M e M' são disjuntas se

A l n A4' = 0. Se M n M' # 0, diremos que M intercepta M', e vice-versa. Se

uma aresta e = (v , w) é tal que v e w pertencem a uma clique M, dizemos

que e está contida em M. Um parâmetro bastante estudado de um grafo G

é o seu t amanho de clique m á x i m a w(G), definido como a cardinalidade de

uma clique de tamanho máximo em G.

Um conjunto de vértices I de um grafo G é um conjunto independente ou

um conjunto estável se G[I] é um grafo sem arestas, o qual chamamos grafo

Page 23: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

nulo. Um conjunto independente I é maximal se para qualquer conjunto

independente I' tal que I C I', temos I = I'. Outro parâmetro bastante

estudado de um grafo G é o seu número de estabilidade a(G) , definido como

a cardinalidade de um conjunto independente de tamanho máximo em G.

Uma coloração de um grafo G é uma partição de V(G) onde cada classe

da partição é um conjunto independente. Uma k-coloração é uma partição

de V(G) em k classes. O número cromático de G, denotado por x(G), é o

menor k para o qual existe uma k-coloração de G. Neste caso, dizemos que

o grafo G é k c r o m á t i c o ou k-colorivel.

Um grafo G é dito perfeito se G e cada um de seus subgrafos induzidos

tiver a propriedade de que o número cromático x é igual ao tamanho de sua

maior clique w .

Um grafo G é dito corda1 se todo ciclo de comprimento estritamente maior

do que três possui uma corda (isto é, uma aresta unindo dois vértices não con-

secutivos). Equivalentemente, G não contém um subgrafo induzido isomorfo

a C, para n > 3. Na literatura, os grafos cordais são também chamados

grafos triangulados, de circuito rígido e de eliminação perfeita. Uma propri-

edade importante dos grafos cordais é que estes são perfeitos. Este resultado

foi provado por Berge [5], Hajnal e Surànyi [30].

Um vértice x de G é dito simplicial se seu conjunto de adjacência N(x)

induz um subgrafo completo de G, isto é, N(x) é uma clique.

Page 24: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Seja G = (V, E) um grafo e seja a = [vl, va, . . . , v,] uma ordenação de

seus vértices. Nós dizemos que a é um esquema de eliminação perfeita (ou

esquema perfeito) se cada vi for um vértice simplicial do subgrafo induzido

G[{vi, ..., v,)]. Em outras palavras, cada conjunto Xi = {vj E N(vn)Ij > i) é

completo. O termo EEP será usado daqui para frente para abreviar esquema

de eliminação perfeita. Além disso, quando escrevemos vi < vj queremos

dizer que vi aparece antes de vj no EEP.

Seja 3 = (SI, S2, . . . , S,) uma família de conjuntos não-vazios. O grafo de

interseção de 3 é obtido representando cada conjunto Si E F por um vértice

i e conectando dois vértices i, j por uma aresta e = (i, j ) se e somente se,

para seus conjuntos correspondentes Si, Sj E 3, Si n Sj # 0.

Seja G um grafo. Se S, S' 2 V(G), denotamos por Ns(S1) a vizinhança

de S' em S, i.e., o conjunto dos vértices de S que estão em S' ou que são ad-

jacentes a algum vértice de S'. Além disso, se Ns(S1) # a, então dizemos que

S e S' são adjacentes, caso contrário, dizemos que S e S' são independentes.

Escreveremos Ns(v) em vez de Ns({v)). Observe que esta vizinhança de

v em S contém v se v E S.

1.3 Programação Linear

A programação linear visa encontrar a melhor solução para problemas

representados por expressões lineares. Isto consiste na maximização ou mi-

Page 25: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

nimização de uma função linear, denominada função objetivo, respeitando-se

um sistema linear de igualdades ou desigualdades que recebem o nome de

restrições do modelo. Essas restrições do modelo determinam uma região

à qual denominamos conjunto das soluções viáveis. Se existe um ponto que

satisfaz todas as restrições do problema de programação linear, denominamos

tal ponto de solução viável. Caso contrário, dizemos que o problema de

programação linear é inviável. A melhor das soluções viáveis, isto é, aquela

que maximiza ou minimiza a função objetivo denomina-se solução ótima.

O termo programação da expressão "programação linearffrefere-se ao uso

e a alocação eficiente de recursos escassos (como capital, bens e serviços) e

não ao conceito usual de programação utilizado em programação de compu-

tadores.

O problema de programação linear será chamado daqui por diante de

PPL.

Para o desenvolvimento de um método (ou algoritmo), que determine uma

solução de um P P L , torna-se necessário a redução do problema a uma forma

tal que permita a aplicação direta deste algoritmo. No caso da programação

linear, podemos utlizar algoritmos como o simplex e o método dos pontos

interiores.

Um P P L é um problema que pode ser expresso da seguinte forma:

Page 26: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Maximizar z = cjxj

suje i to a : C:=l a ~ x j 5 b,, i = 1,2, . . .m

X j 2 0, j = l , 2 , ..n

Caso o algoritmo utilizado na resolução do modelo seja o simplex, é con-

veniente alterar o modelo para o formato padrão, onde cj, a, e bi são dados

(números reais) e xj representa uma variável de decisão, para j = 1 ,2 , ..n.

A função linear a ser maximizada em 1.1 é denominada função objetivo. As

restrições 1.3 são conhecidas como restrições de positividade.

Cada restrição i de 1.2 pode ser substituída por uma igualdade

acrescentando-se uma variável de folga xn+i L O . Ou seja:

Sendo dado um PPL com restrições de igualdades e desigualdades, pode-

remos acrescentar variáveis de folga às desigualdades não-triviais, passando

dessa maneira a trabalhar com restrições de igualdades e desigualdades trivi-

ais. Isto é, as desigualdades podem ser transformadas em igualdades através

da introdução de variáves de folga. Temos então:

Page 27: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

(PPL) Maximizar z = c j y

sujeito a : Cy=la,xj = bi, i = 1,2, ... rn

X j > o, j = l , 2 , ..n.

que poderá ser ainda apresentado sob a forma abaixo:

T (PPL) Maximixar x = c x

sujeito a : Ax = b

x > o

Onde C* = (ele2.. .C,), xT = (x1x2.. .xn) , bT = (blb2.. . b,) e A =

(a la2 . . . an) , isto é, c E Rn, x E Rn, b E Rm e a j E Rm e A E RmXn.

Este é o formato padrão da programação linear: qualquer problema de

programação linear pode ser formulado como acima.

1.3.1 D ualidade

Os problemas de programação linear estão casados em pares: a cada pro-

blema corresponde um problema dual (se D é o dual de P , P é o dual de

D). Um problema e o seu dual estão intimamente relacionados: ou ambos

são inviáveis, ou um é inviável e o outro é ilimitado, ou ambos têm solução.

Esse fato é a essência do teorema da dualidade.

Page 28: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Considerando o P P L (1.1), associaremos a cada restrição de (1.2) a va-

riável u, 2 O, i = 1,2 , . . . n . Segue a formulação do dual:

( D ) M i n i m i x a r d = xE"=,iui

su je i to a : aijui > cj, j = 1,2 , ..., n

ui > o, i = l , 2 ,..., m.

Um problema de programação linear, onde algumas ou todas as suas va-

riáveis estão restritas a valores inteiros, denominamos de problema de progra-

mação linear inteira (PPLI) . No caso em que algumas variáveis são inteiras

mas não todas, podemos chamar este problema de problema de programação

inteira mis ta ( P P I M ) .

U m P P L I pode ser formulado da seguinte maneira:

T ( P P L I ) M a x i m i x a r z = c x

su je i to a : Ax = b

x 2 o

x inteiro

Onde C E R", x E R", b E Rm, aj E Rm e A E Rmxn.

Quando as variáveis estão restritas aos valores inteiros O ou 1 em um

problema de programação linear, dizemos que temos um problema de progra-

mação linear binário.

Page 29: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Os problemas primal e dual têm certas propriedades interessantes. Mos-

tramos a seguir, dois teoremas importantes em programação linear que ilus-

tram a relação entre os problemas primal e dual.

Teorema 1.2 Toda solução viável x para ( P ) e toda solução viável u para

( D ) satisfazem a desigualdade cTx 5 bTu.

A partir do Teorema 1.2 podemos fazer algumas afirmações. No caso de

o problema (P) não ter solução ótima finita, temos que (D) é vazio. No

caso de ( D ) não possuir solução ótima finita, ( P ) é vazio. Podemos dizer,

portanto, que se (P) e (D) são não-vazios, ambos possuem soluções ótimas

finitas. Veremos que, neste caso, vale o seguinte resultado, geralmente citado

como o teorema de dualidade forte:

Teorema 1.3 Se x* é solução ótima de ( P ) , então existe u* solução ótima

de ( D ) e cTx* = Fu*.

Os Teoremas 1.2 e 1.3 são teoremas básicos em programação linear e estão

provados nos textos clássicos, como Bazaraa et al. [4], Chvátal [15] e Dantzig

P71.

Existe uma associação direta entre as variáveis do problema primal e

as restrições do problema dual, assim como as variáveis do problema dual

estão diretamente associadas às restrições do problema primal. Como se

Page 30: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

pode perceber nas formulações de (P) e ( D ) , o lado das restrições de um dos

problemas é o vetor de coeficientes da função objetivo do outro problema e

vice-versa.

Os teoremas 1.2 e 1.3 implicam vários resultados fundamentais relaciona-

dos com os problemas primal e dual. O seguinte princípio de complementa-

ridade de folga, que é outra maneira de relacionar os dois problemas, torna

essas relações mais explícitas.

Propriedade 1.1 (Principio da Complementaridade de Folga) Dizemos que

o par ( x , u ) das soluções viáveis primal e dual sat is faz o principio da com-

plementaridade de folga se

O princípio da complementaridade de folga afirma que para toda restrição

primal ou dual, o produto da folga na restrição e de sua variável primal ou

dual associada é zero. Em outras palavras, se uma restrição tem uma folga

positiva, a variável primal ou dual associada deve ter valor zero, da mesma

forma, se uma variável primal ou dual tem um valor positivo, a solução dual

deve satisfazer as igualdades das restrições correspondentes.

Page 31: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Teorema 1.4 [i71 (Condições de Otimalidade da Complementaridade de

Folga) Uma solução primal viável x e uma solução dual viável u são soluções

ótimas dos problemas primal e dual se e somente se satisfazem o principio

da complementaridade de folga.

Classes de complexidade

Um problema algorítmico n consiste de um conjunto D de todas as pos-

síveis entradas para o problema, chamado conjunto de instâncias, e de uma

questão Q sobre estas instâncias. Resolver um problema algorítmico é desen-

volver um algoritmo cuja entrada é uma instância do problema e cuja saída

é uma resposta à questão do problema.

Um problema é dito de decisão quando a questão exige uma resposta do

tipo SIM ou NÃO. Como exemplo, seja n o seguinte problema: "Dado um

grafo G, reconhecer se G é um grafo cordal."O conjunto de instâncias de n

é obviamente o conjunto de todos os grafos. O problema 7r pode ser assim

esquematizado:

Instância genérica de T : um grafo G.

Questão: G é cordal?

Fica evidente que o problema n acima é um problema de decisão, em

particular, um problema de reconhecimento. Resolver n significa elaborar um

algoritmo de reconhecimento de grafos cordais.

Page 32: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Dizemos que um algoritmo é polinomial quando sua complexidade de

tempo (medida do número de passos que o algoritmo efetua) é uma função

polinomial no tamanho da sua entrada. Os problemas de decisão para os

quais existem algoritmos polinomiais constituem a classe P. Tais problemas

são chamados polinomiais.

Um problema de decisão é não-determinz'stico polinomial quando qual-

quer instância que produz resposta SIM possui um certificado sucinto, isto

é, uma comprovação de que a resposta é de fato SIM verificável em tempo

polinornial no tamanho da instância. Esta classe de problemas de decisão é

a classe NP.

A classe Co-NP é formada pelos problemas que possuem um certificado

sucinto para as instâncias que produzem resposta NÃO.

Sejam rl(D1, Q1) e 7r2(D2, Q2) dois problemas de decisão. Uma transfor-

mação ou redução polinomial de nl em é uma função f : D1 + Dz tal que

as seguintes condições são satisfeitas:

f pode ser computada em tempo polinomial;

para toda instância I E Dl, tem-se que I produz resposta SIM para 7rl

se e somente se f (I) produz resposta SIM para n2.

Page 33: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Um problema de decisão n pertence à classe NP-completo quando as se-

guintes condições são satisfeitas:

n E NP;

0 para todo problema r' E NP existe uma transformação polinomial de

r' em n .

Um problema pertencente à classe NP-completo é chamado NP-completo.

Para provar que um certo problema n é NP-completo, basta mostrar que

r E NP e que existe uma transformação de um problema NP-completo n' em

n.

Analogamente, prova-se que um problema de decisão n pertence a classe

Co-NP-completo (e, neste caso, n é dito Co-NP-completo) quando n E Co-NP

e existe um problema r' (Co-)NP-completo tal que:

0 se n' é NP-completo, existe uma função f computável em tempo poli-

nomial tal que para toda instância I' de r', tem-se que I' produz SIM

para ?r' se e somente se I = f (I') produz NÃO para n ;

se n' é Co-NP-completo, existe uma função f computável em tempo

polinomial tal que para toda instância I' de n/ , tem-se que I' produz

NÃO para n' se e somente se I = f (I') produz NÃO para n.

Como fonte de referências para esta seção, indicamos 1281

2 1

Page 34: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Capítulo 2

Grafos Cordais- (k , 1)

Muitos problemas combinatórios consistem em encontrar uma partição

dos vértices de um dado grafo em subconjuntos S I , . . . , Sk que satisfazem

certas propriedades. Pode-se exigir, por exemplo, que cada Si seja uma

clique ou um conjunto independente. Pode-se ainda exigir que pares Si, Sj

sejam completamente adjacentes ou não-adjacentes.

Na Seção 2.1 definimos uma classe de grafos que se insere nesse contexto,

os grafos-(k, I), e apresentamos alguns resultados presentes na literatura so-

bre esta classe. Na Seção 2.2 apresentamos uma caracterização dos grafos

cordais-(k, I ) , i.e., uma subclasse dos grafos cordais. Na Seção 2.3 apre-

sentamos um algoritmo polinomial para reconhecer esta classe, assim como

algoritinos para reconhecer subclasses, como por exemplo, reconhecer gra-

fos cordais-(k, 1) quando k = 1. Fornecemos também um novo algoritmo

para reconhecer grafos split, que implica a famosa caracterização de grafos

split [29].

Page 35: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

2.1 Grafos- ( k , 1)

Definição 2.1 U m grafo G é dito grafo-(k, L ) , ou equivalentemente, G ad-

mite u m a (k, 1)-partição, quando seu conjunto de vértices pode ser particio-

nado e m k conjuntos independentes e 1 cliques.

Pela definição acima, podemos ver que os grafos-(k, I ) representam uma

generalização dos grafos split [29], que correspondem aos grafos- (1 , l ) . Grafos

split podem ser eficientemente reconhecidos [29]. Além disso, os problemas

clássicos de otimização combinatória são também resolvidos eficientemente

nessa classe. Quando k > 1 ou 1 2 1, os grafos-(k, 1 ) não são em geral cor-

dais. Em [ll, 121, algoritmos polinomiais de reconhecimento para as classes

(2, I), (1,2) e (2,Z) foram propostos. Feder et al. [25] também propuseram

algoritmos polinomiais de reconhecimento para essas classes, que surgiram

como sub-produto de algoritmos de partição em subgrafos densos e esparsos.

Além disso, Hoang e Le [32] mostraram que essas classes de grafos satisfazem

o teorema Forte dos Grafos Perfeitos. Por outro lado, sabe-se que reconhecer

grafos-(k, 1 ) para k > 3 ou 1 > 3 é NP-completo [ll]. A prova consiste de

uma redução de grafos- (k, 0) para grafos-(k, I ) . (A classe dos grafos- ( k , 0)

corresponde ao problema de reconhecer se um dado grafo é k-colorível.)

Page 36: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Grafos Cordais- (k, I )

Como foi mencionado anteriormente, reconhecer grafos-(k, 1 ) ) para k 2 3

ou I 2 3 é NP-completo. Por isso, propomos resolver o problema restrito a

classe dos grafos cordais e caracterizar os grafos cordais-(k, 1). Assim sendo,

esta seção se destina a caracterizar os grafos cordais-(k, 1 ) . Tal caracterização

é dada em termos de subgrafos induzidos.

2.2.1 Caracterizando Grafos Cordais- (lc, I)

Com o objetivo de caracterizar os grafos cordais-(k, l ) , precisamos dos

seguintes lemas:

Lema 2.1 Se jam C e C' duas diques n u m grafo corda1 G. En tão algum

vértice de C' é adjacente a todos os vértices de Nc(C1).

Prova: Vamos provar que, na verdade, os vizinhos dos vértices de C' em C

são linearmente ordenados por inclusão. Suponha que dois vértices distintos

V I , v2 E C' têm vizinhos incomparáveis em C, i.e., nenhum dos conjuntos

&(vl), Nc(v2) contém o outro. Então existem dois vértices distintos ul, uz E

C tal que ul é adjacente a vl mas não o é a vz, e uz é adjacente a vz mas

não o é a VI . Isto é impossível, já que ul, u2, vz, vl induziriam um ciclo de

tamanho 4 sem corda, como mostra a Figura 2.1. Para concluir o lema basta

considerarmos o vértice v E C' com INc(v)l máximo. 0

Page 37: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Figura 2.1: Exemplo para o Lema 1

Lema 2.2 Se jam C e K duas cliques disjuntas de um grafo corda1 G. Então

existe u m a clique C' com a seguinte propriedade: C' intercepta K , e também

intercepta todas as cliques adjacentes a K que são interceptadas por C.

Prova: Seja L = Nc(K). Pelo Lema 2.1 algum vértice de K é adjacente a

todos os vértices de L, e portanto pode ser adicionado a L para obtermos

uma clique que intercepta K, assim como todas as cliques de G interceptadas

por L. Considere agora uma clique K' de G que intercepta C mas é disjunta

de L. Segue da definição de L que tal clique não intercepta K. Precisamos

considerar tal K' se ela contiver um vértice a adjacente a algum vértice de

K. Denote por A o conjunto de tais vértices, i.e., vértices que são adjacentes

a K e pertencem a alguma clique que intercepta C mas não L. Afirmamos

que cada a E A é adjacente a todos os vértices de L. De fato, se b E L não

é adjacente a a, então existem vértices c E C \ L , e s , t E K (possivelmente

s = t ) tais que b, c, a , s , t , b é um ciclo sem cordas. Similarmente, provamos

que A é uma clique, i.e., para quaisquer a, a' E A, a e a' são adjacentes em

G. Caso contrário, existem vértices c, c' E C \ L (possivelmente c = c'), e

Page 38: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

s, s' E I í (possivelmente s = s'), tais que a, c, c', a', s', s'a é um ciclo sem

cordas. Logo, o conjunto L U A induz uma clique, e o Lema ?? garante que

existe um vértice u E K adjacente a todos os vértices de L U A. Agora a

clique induzida por LUAU{u) intercepta K, e por definição de A, intercepta

também todas as cliques interceptadas por C que são adjacentes a K.

Observe que o lema acima também é válido quando C e K não são dis-

juntas (basta tomar C' = C).

Lema 2.3 Seja {Cl, C2,. . . , C,) u m a coleção de cliques duas a duas adja-

centes num grafo corda1 G. Então existe u m a clique C e m G que intercepta

cada Ci, i = 1,2, . . . , p .

Prova: O resultado segue facilmente quando p 5 2. Assuma agora que

p > 2. Por indução, existe uma clique C que intercepta Ci para cada i E

(1,. . . , p - 1). Se C intercepta C,, nada resta a provar. Caso contrário,

aplique o Lema 2.2 a C e C,. O

Uma condição simples e necessária para que um grafo G seja um grafo-

(I;, 1) é que ele não contenha 1+1 cópias independentes de Kk+1 (veja a Figura

2.2). De fato, considere qualquer partição de G em k conjuntos independentes

e 1 cliques. Qualquer Kk+, em G teria de conter um vértice de uma das cliques

na partição, e portanto, dentre as (1 + 1) cópias dos Kk+1 duas delas deveriam

26

Page 39: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

interceptar a mesma clique, e logo possuiriam uma aresta ligando-as (o que

significa que não eram independentes). Verifica-se que para grafos cordais

a condição acima é também suficiente. (Observe que a condição diz apenas

que (1 + l)Kk+l não é um subgrafo induzido de G). Veremos mais adiante

que esta condição pode ser testada em tempo polinomial.

Figura 2.2: Subgrafo isomorfo a ( I + 1)Kk+1

Denotemos por a (G, r ) o número máximo de K;s independentes num

grafo G e por K(G, r) o número mínimo de cliques que interceptam todos os

I<:s de G. Vamos mostrar que para um grafo cordal G, a (G , r) = K(G, r ) .

Este fato nos fornece uma forma alternativa de enunciar nosso resultado

principal. Observe que quando r = 1, a (G, r ) é o número de independência

de G, e K(G, r ) é o número de cobertura por cliques de G. Nosso algoritino

de tempo O(n(m + n)), onde n = IV(G)I e m = IE(G)J identifica a(G, r)

cópias independentes de Kis e o mesmo número de cliques que interceptam

todos os KLs.

Teorema 2.1 Seja G um grafo cordal, e seja r > 1 um inteiro. Então

a(G, r ) = n(G, r).

Page 40: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

É claro que rr(G, r) < K(G, r), para qualquer G e qualquer r > 1. Para

provarmos a igualdade para grafos cordais, vamos proceder como segue:

Seja G um grafo. Vamos definir XT(G) como o grafo com um vértice

correspondendo a cada KT em G, sendo que dois vértices são adjacentes em

XT(G) se e somente se os KT's correspondentes são adjacentes em G. Veja

um exemplo na Figura 2.3.

I G K m

Figura 2.3: Exemplo de X3 (G)

Lema 2.4 Para qualquer grafo G, cr(G,r) é o número de independência de

XT(G). Para um grafo corda1 G, R(G, r ) é o número de cobertura por cliques

de XT(G).

Prova: A primeira asserção segue das definições de a(G, r ) e XT(G). A

segunda segue da observação de que podemos transformar qualquer cobertura

por cliques (3 de X' (G) em um conjunto com l(3l cliques em G que interceptam

todos os KT's de G. Para isto, basta aplicar em G o Lema 2.3 a cada coleção

de cliques de G correspondente a uma clique em (3. O

Page 41: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Lema 2.5 Se G é cordal então KT(G) também o é.

Prova: Assuma que Wl, W2, . . . , Wq, Wl (q > 4) é um ciclo sem cordas em

Kr(G). Isto significa que Wi e Wj são consecutivos no ciclo se e somente se

os Kr's correspondentes em G são adjacentes. Considere uma sequência S

de vértices de G, S = (ul, wl, U Z , w2,. . . , uq, wq) tal que ui, wi E Wi, ui é

adjacente ao Kr correspondente a e wi é adjacente ao KT correspon-

dente a T/Vi+l, para todo i E {I , . . . , q) (índices são tomados circularmente no

intervalo I . . . q). É claro que se i e j são índices não-consecutivos, então os

subconjuntos {ui, wi) e {uj, wj) são não-adjacentes. Ocasionalmente, pode

ocorrer ui = wi ou wi = u i + ~ para algum i, mas estas igualdades não podem

ocorrer simultaneamente. Isto significa que todo vértice ocorrendo em S apa-

rece no máximo duas vezes, e duas ocorrências de um mesmo vértice usam

necessariamente posições consecutivas em S. Estas observações mostram que

podemos construir um ciclo C. em G a partir de S removendo ocorrências

repetidas de vértices. Esta construção assegura que pelo menos um vértice de

{ui, wi) é escolhido, para todo i E {I , . . . , q). Logo, C. contém pelo menos 4

vértices. Além disso, C. é claramente um ciclo sem cordas, uma contradição.

O Teorema 2.1 segue naturalmente dos Lemas 2.4 e 2.5.

Prova do Teorema 2.1: Pelo Lema 2.5 KT (G) é cordal, e logo perfeito. Por-

tanto o número de independência de Kr(G) é igual ao número de cobertura

por cliques. O Lema 2.4 completa a prova. O

29

Page 42: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

A caracterização de grafos cordais-(k, 1) por subgrafos proibidos segue

como uma consequência do teorema anterior.

Teorema 2.2 Um grafo cordal é um grafo-(k, I) se e somente se não contém

(L + l)Kk+l como um subgrafo induzido.

Prova: Mostramos que um grafo chordal-(lc, I) não pode conter 1 + I cópias

independentes de Kktl, i.e., não pode conter (I + l)Kk+l como um subgrafo

induzido. Por outro lado, o Teorema 2.1 implica que se um grafo cordal G

não contém 1 + 1 cópias independentes de Kk+1, então K(G, k + 1) 5 1. Isto

significa que G contém I cliques cuja remoção resulta em um subgrafo G' sem

Ick+l. Como G é perfeito, G' é k-colorível, portanto G admite uma partição

em k conjuntos independentes e em I diques. 0

2 .2 .2 Algoritmo para reconhecer Grafos Cordais- ( k , 1 )

Para k e 1 fixos, existe um número polinomial de subgrafos de G com

(1 + 1)(k + 1) vértices, e portanto o Teorema 2.2 nos fornece um algoritmo

polinomial para reconhecer grafos cordais-(k, I ) . Existem, contudo, algorit-

mos mais eficientes. O algoritmo que apresentamos aqui possui complexidade

O(n(m + n)) e nos fornece uma segunda prova para o Teorema 2.1.

Inicialmente revisamos o algoritmo padrão de coloração para grafos cor-

dais, denominado Algoritmo Guloso Reverso. (Observe que testar a existên-

3 0

Page 43: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

cia de uma k-coloração é equivalente a reconhecer grafos-(k, 0)). Suponha

que os vértices de G obedecem a um esquema de eliminação perfeita (EEP)

[I, 2, . . . , n]. Observamos que encontrar um EEP pode ser feito em tempo po-

liiiomial [29]. O Algoritmo Guloso Reverso procede na ordem n , n - 1, . . . ,1,

associando a cada vértice a menor cor disponível. Em outras palavras, para

colorir G com as cores si, s 2 , . . . , colorimos o vértice n com a cor SI, e tendo

colorido os vértices n , n - 1, . . . , i + 1, colorimos o vértice i com a cor s d onde

d é o menor índice tal que nenhum vizinho de i dentre i + 1, i + 2, . . . , n foi

colorido com a cor sd . Observe que até este ponto, i faz parte de um Kd, já

que i tem um vizinho de cada uma das cores SI, ~ 2 , . . . , sd-1, que são mutu-

amente adjacentes, (Quaisquer dois vizinhos de i dentre i + 1, i + 2, . . . , n

são adjacentes, já que [I , 2 , . . . , n] é um EEP). Podemos concluir, então, que

dado um EEP, o Algoritmo Guloso Reverso fornece, em tempo O(m + n) ,

uma coloração mínima e uma clique máxima.

Estamos prontos para descrever nosso algoritmo. Seja k > O um inteiro.

O algoritmo encontra o menor valor de I (possivelmente 1 = 0) para o qual

G é um grafo-(k, 1). E importante ressaltar aqui que estaremos usando o

termo colorir não no sentido usual, mas para especificar em que partição

um dado vértice foi alocado. Desejamos particionar o conjunto dos vértices

{1,2,. . . , n) de um grafo corda1 de entrada G em k conjuntos independentes,

SI, 3 2 , . . . , s k e em I cliques, cl, c2,. . . , CL. Assim, por exemplo, se dois vértices,

a e b forem "coloridos"si, i = 1, . . . , k , isto significa que (a , b) E(G) , uma

Page 44: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

vez que si representa um dos k conjuntos independentes. Da mesma forma,

se dois vértices c e d forem colori dos"^^, j = 1, . . . , I , isto significa que

(a, b) E E (G) , já que cj representa uma das I diques. Em resumo, através da

execução do algoritmo, os vértices coloridos com uma mesma cor si formarão

um conjunto independente, e os vértices coloridos com uma mesma cor cj

formarão uma clique. Denotaremos por Si o conjunto que consiste de i , e

mais todos os vértices dentre 1 , 2 , . . . , i - 1 coloridos com SI, ~ 2 , . . . , sk

O seguinte resultado é facilmente obtido das seguintes definições, usando

as propriedades do esquema de eliminação perfeita:

Lema 2.6 Seja [l, 2, . . . , n] é u m EEP de G. Se o vértice i é adjacente ao

primeiro vértice j colorido com a cor c,, e j < i, então i é adjacente a todos

os vértices x < i coloridos com a cor c,.

Prova: De fato, seja j o primeiro vértice colorido com a cor c,, com i, j E

E(G), e j < i. Como j é adjacente a todos os vértices k coloridos com a cor

c,, onde j < k < i , então, pelo EEP, i é adjacente a todos esses vértices.

Este Lema nos permitirá facilmente testar se um dado vértice i pode ser

adicionado ou não à clique formada pelos vértices coloridos com a cor c,.

Page 45: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Algoritmo 2.1 Algoritmo para reconhecer grafos cordais-(k, 1 )

Assuma que G é u m grafo corda1 com u m EEP [I, 2, . . . , n]

0 Atribua ao vértice 1 a cor s i .

Tendo colorido os vértices 1 , 2 , . . . , i - I sem usar a cor c l :

- remova as cores dos vértices 1 , 2 , . . . , i -1 e faça u m a coloração dos

vértices 1,2, . . . , i com as cores S I , s2, . . . , sk (usando o Algoritmo

Guloso Reverso), se possivel, ou

- mantenha a coloração dos vértices 1 , 2 , . . . ,i - 1, e atribua ao

vértice i a cor c l .

Tendo colorido os vértices 1 , 2 , . . . , i - 1 e tendo usado as cores

C 1 , C 2 , . . . , c,:

- Atribua ao vértice i a cor cb, onde b 5 a é o menor indice tal que i

é adjacente ao primeiro vértice colorido com a cor cb, se tal indice

existe, ou

- remova as cores dos vértices de Si\i e faça uma coloração dos vér-

tices e m Si com as cores s l , sz , . . . , sk (usando o Algoritmo Guloso

Reverso), se possivel, ou

- mantenha a coloração de 1 , 2 , . . . ,i - 1, e atribua ao vértice i a

cor Ca+l .

Page 46: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

No algoritmo acima, 1 é o maior valor de a tal que existe um vértice colo-

rido c,, ou 1 = O se todos os vértices estão coloridos com as cores sl , s2 , . . . , sk.

Como o funcionamento do algoritmo é dominado por no máximo n apli-

cações do Algoritmo Guloso Reverso, segue que o tempo de execução é

O(n(m + n)) . Para provarmos a corretude do algoritmo precisaremos do

seguinte resultado.

Proposição 2.1 Seja G um grafo cordal. Aplique em G o Algoritmo 2.1. Se

o algoritmo usa a cor c,, então G contém um pKk+l como subgrafo induzido.

Prova: Seja v, o primeiro vértice (no EEP) colorido com a cor c,. O subgrafo

de G induzido por Sv,-l é k-colorível, mas nosso algoritmo não conseguiu adi-

cionar v, de forma que Sva continuasse I%-colorível. Logo existe um subgrafo

X, isomorfo a Kk+l contendo v, e k vértices de Sv,-l. Resta apenas mostrar

que os subgrafos X1, X2, . . . , X, são independentes. Suponha que um vértice

x do subgrafo IY, seja adjacente ou igual a um vértice x' de um subgrafo X,,.

Assuma que a < a'.

Se x' 5 x, então devido ao fato de que x' é adjacente ou igual a v,,, con-

cluímos que x é adjacente ou igual a v,,. Agora v, e v,, devem ser adjacentes,

já que x 5 v, e x 5 v,,. Isto significa que v,, é adjacente ao primeiro vértice

colorido com a cor c,, e portanto nosso algoritmo deveria ter colorido v,! com

a cor c,.

Page 47: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Se x' > x, então x' é adjacente ou igual a v, por um argumento similar.

Se x' 5 v, então v,! e v, devem ser adjacentes, e v,/ deveria ter sido colorido

com a cor c,, como no caso anterior. Por outro lado, se x' > v,, então x' é

adjacente ao primeiro vértice colorido com a cor c,. Portanto nosso algoritmo

deveria ter colorido x' com a cor c,, contradizendo o fato dele ter sido colorido

com alguma cor cd ( no caso de x ser um elemento de SVdFi) ou com a cor

C ~ I (no caso x' = vd!). O

Corolário 2.1 Se G é um grafo cordal então as seguintes afirmações são

equivalentes:

1 - O Algoritmo 2.1 particiona G em k conjuntos independentes e 1 diques;

2 - o grafo G é um grafo-(k, 1);

3 - o grafo G não contém (1 + l)Kk+l como subgrafo induxido.

Prova: As implicações 1 j 2, e 2 j 3 são óbvias, e Proposição 2.1 prova

que 3 + 1.

Observe que a equivalência entre 1 e 2 prova a corretude do algoritmo,

enquanto que a equivalência entre 1 e 3 nos fornece uma segunda prova do

Teorema 2.2.

Encerramos esta seção observando que o algoritmo encontra, para qual-

quer k e para qualquer grafo cordal G, o menor valor 1 tal que G é um

grafo- ( k , 1).

Page 48: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

2.2.3 Algoritmo para reconhecer Grafos Cordais- (1,l) , enfat izando Grafos Split

Quando k = I , podemos de alguma forma simplificar o algoritmo, já

que não precisamos do Algoritmo Guloso Reverso para testar se u m vértice

pode ser adicionado a u m conjunto independente, mantendo a propriedade

de independência.

Algoritmo 2.2 (Algoritmo para reconhecer grafos cordais-(1 ,L))

Assuma que G é u m grafo corda1 com u m EEP [l , 2 , . . . , n]

Atribua ao vértice 1 a cor s l ,

e continue colorindo os vértices i = 2 , 3 , . . . com a cor sl enquanto for

possível (i não t e m aresta para 1,2,. . . ,i - I ) ,

e então atribua a cor cl ao primeiro j que não pode ser colorido com a

cor S I .

Tendo colorido os vértices 1 , 2 , . . . , i -1 usando as cores s l , c l , ca, . . . ,ca ,

- atribua ao vértice i a cor cb, onde b < a é o primeiro índice tal

que i é adjacente ao primeiro vértice colorido com a cor cb, se tal

índice existir, ou

- atribua ao vértice i a cor sl se i é não-adjacente a todos os vértices

coloridos com a cor s i , ou

- atribua ao vértice i a cor ca+l.

3 6

Page 49: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

É claro que este algoritmo pode ser implementado em tempo O(m + n).

A situação é mais simples quando k = 1 = 1. Os grafo-(1, 1) são de-

nominados grafos split. Neste caso não precisamos explicitamente assumir

cordalidade. (Grafos split são cordais.) Como grafos split são de grande inte-

resse 129, 261, nós alteramos o algoritmo uma vez mais, de forma a reconhecer

grafos split:

Algori tmo 2.3 (Algoritmo para Reconhecer Grafos Split)

Seja G u m grafo qualquer.

e Encontre um E E P [l, 2, . . . , n] de G [29].

e Atribua ao vértice 1 a cor s , e continue colorindo i = 2 ,3 , . . . c o m a

cor s enquanto for possz'vel (i é não-adjacente aos vértices já coloridos),

então atribua ao próximo vértice j a cor c.

S e todos os vértices 1,2, . . . , i - 1 t iverem sido coloridos, e ambas as

cores s e c já tiverem sido usadas, então atribua ao vértice i a cor c se

for adjacente ao primeiro vértice j colorido com a cor c; caso contrário,

atribua ao vértice i a cor s se for não-adjacente a todos os vértices já

coloridos com a cor S .

Se o algoritmo falhar devido à não-existência de um EEP, então o algo-

ritmo dado em [29] exibe um subgrafo induzido isomorfo a C4, C5, OU Ck,

37

Page 50: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

k 2 6. Se ele falhar colorindo todos os vértices, então de acordo com a

Proposição 9 e [29], G contém um subgrafo induzido isomorfo a 2K2. Apre-

sentamos abaixo um pequena versão da prova, que será usada mais adiante,

no Capítulo 4.

Se num certo momento um vértice i não pode ser colorido com a cor s ou

com a cor c, então ele é não-adjacente ao primeiro vértice j colorido com a

cor c, e é adjacente a algum vértice k que foi anteriormente colorido com a

cor S. Afirmamos que j e k não podem ser adjacentes. Se k < j , segue das

propriedades do EEP. Se k > j, então se k fosse adjacente a j o algoritmo

teria colorido o vértice k com a cor c.

O vértice j foi colorido com a cor c, porque ele era adjacente a um vértice

1 previamente colorido com a cor S. Como 1 < j < i, e i, j são não-adjacentes,

1 deve ser não-adjacente a i. Além disso, os vértices k , I são não-adjacentes,

já que eles foram ambos coloridos com a cor S. Portanto, i, j , I c , 1 formam um

subgrafo induzido isomorfo a 2K2 em G.

Como cada Ck, k 2 6, também contém um subgrafo induzido isomorfo a

2 K 2 , obtivemos a seguinte caracterização já conhecida de grafos split 1291:

Corolário 2.2 Um grafo G é um grafo split se e somente se não contém

2K2, C4 OU C5 como subgrafos induzidos.

Page 51: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Capítulo 3

Partição

No capítulo anterior apresentamos algoritmos eficientes para particionar

grafos cordais em k conjuntos independentes e 1 cliques. Como mencionado

anteriormente, esta é uma generalização natural do problema de reconheci-

mento de grafos split, e NP-completo para grafos em geral, a menos que

k 5 2 e 1 5 2. Neste capítulo estendemos o nosso foco e consideramos &I-

partições gerais para a classe dos grafos cordais. Para cada matriz simétrica

A4 definida sobre 0,1, *, o problema da M-partição procura por uma partição

do conjunto de vértices de um grafo em conjuntos independentes, cliques, ou

conjuntos arbitrários, exigindo-se que alguns pares de conjuntos não tenham

arestas entre eles, ou que tenham todas as arestas, tal como codificado na

matriz Ad. Tais partições generalizam colorações em grafos e homomorfis-

mos, e surgem frequentemente na teoria de grafos perfeitos. Mostramos que

muitos problemas de M-partição que são NP-completos em geral tornam-se

polinomiais quando restritos à classe dos grafos cordais, mesmo na presença

Page 52: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

de listas. Por outro lado, mostramos que existem problemas de M-partição

que permanecem NP-completos mesmo para grafos cordais.

Em [25] Feder et al. formularam uma generalização do problema de

grafos-(k, I ) como segue: particionar o conjunto de vértices de um dado grafo

em m partes AI, A2,. . . , A, com certas exigências para cada Ai, i = 1, . . . , m,

tais como: os vértices em Ai devem ser completamente adjacentes ou com-

pletamente não-adjacentes (exigências internas) ou para cada par Ai, Aj, os

vértices em Ai e A j são completamente adjacentes ou não-adjacentes entre si

(exigências externas). Com o objetivo de capturar essas exigências de uma

maneira bem simples, Feder et al. [25] definiram uma matriz simétrica de

ordem 772 x m em que cada elemento Mi,+ representa a restrição interna no

conjunto Ai, e um elemento fora da diagonal principal Mi $, i # j , representa

uma restrição externa entre Ai e Aj.

Mais especificamente, seja M um matriz simétrica de ordem m x m onde

cada elemento Milj é igual a O, 1, ou *. Uma partição M de um grafo G,

ou uma &I-partição, é uma partição do conjunto de vértices V ( G ) em m

partes AI, A2, . . . , A,, tal que Ai é estável (isto é, independente) se Mi,i = 0,

completo (isto é, uma clique) se M+,+ = 1 ou sem nenhuma restrição interna se

MiIi = *, e tal que Ai e Aj são completamente não-adjacentes se Milj = O, ou

completamente adjacentes se Mi,j = 1, ou sem restrição externa se Mij = *.

Page 53: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Na Figura 3.1 damos um exemplo de um grafo-(2, I) seguido de sua matriz

M. Nesta figura, também utilizamos uma representação simbólica (utilizada

em [25]) mostrando uma M-partição geral. O círculo vazio representa um

conjunto independente (O na diagonal principal de M), um círculo cruzado

representa uma clique (1 na diagonal principal de M); similarmente, dois

conjuntos serão ligados por uma linha dupla se eles são completamente adja-

centes (1 fora da diagonal principal de M) , ou sem nenhuma linha ligando-os

se eles são completamente não-adjacentes (O fora da diagonal principal de

114). Além disso, representamos ausência de restrição interna por um círculo

listrado (* na diagonal principal de M) , enquanto ausência de restrição ex-

terna é representada por uma linha simples unindo dois conjuntos (* fora da

diagonal principal de M).

*1

A 2

Figura 3.1: (2,l)-partição

Muitos conceitos conhecidos de grafos podem ser modelados por M-

partições. Na Figura 3.2, ilustramos três desses conceitos, desde a noção

bem conhecida de coloração de grafos e de grafos split [29], até a idéia mais

recente de uma partição clique-cross [21].

Page 54: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Figura 3.2: Três problemas típicos de partição

Todos os três conceitos possuem uma generalização bem natural e podem

ser modelados como problemas de M-partição:

Uma k-coloração de um grafo G é uma M-partição de G onde a matriz A4

possui O's na diagonal principal e asteriscos fora da diagonal principal. Sabe-

se que o problema da k-coloração é polinomial quando k _< 2 e NP-completo

caso contrário [28].

Como já foi mencionado aqui, um grafo split é um grafo que admite uma

partição num conjunto independente e numa clique [29], i.e., uma M-partição

onde A4 é a matriz dada na Figura 3.2, com asterisco fora da diagonal prin-

cipal, e exatamente um O e um 1 na diagonal principal. A matriz correspon-

dente Ad a um grafo-(k, 1) é uma matriz quadrada de ordem (k + I ) tendo

asteriscos fora da diagonal principal e k O's e 1 1's na diagonal principal, como

pode ser visto na Figura 3.3.

Uma partição clique-cross [21] de um grafo G é uma partição dos vértices

de G em quatro cliques A, B, C, D tal que A, C assim como B, D são com-

Page 55: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Figura 3.3: Um grafo-(k, 1) e sua representação matricial

pletamente não-adjacentes. Esta é uma M-partição, onde M é a matriz mais

à direita dada na Figura 3.2. Esta matriz é obtida da matriz de adjacência

do ciclo induzido de tamanho 4, trocando cada 1 por asteriscos e onde cada

elemento da diagonal principal é 1. Uma generalização deste conceito é a

partição H-dique, que é um problema de M-partição onde M pode ser ob-

tida da mesma forma a partir da matriz de adjacência de um grafo arbitrário

H. Uma partição clique-cross pode ser encontrada em tempo linear [21]. O

conceito mais geral de partição H-clique pode ser resolvido em tempo poli-

nomial quando H é um grafo livre de triângulos; caso contrário o problema

é NP-completo 1341.

Muitos outros conceitos conhecidos de grafos correspondem a &I-partições

com propriedades adicionais. A Figura 3.4 ilustra alguns desses conceitos.

Um corte clique [41,44] de um grafo conexo G é um subgrafo completo C

cuja remoção desconecta G. Claramente G tem um corte clique se e somente

se G admite uma partição em três subconjuntos não vazios A, B, C tal que C

é uma clique e A e B são completamente não-adjacentes (tal que a remoção

Page 56: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Corte Clique Cone Estavel Conjunto ~ o m o ~ & e o

Figura 3.4: Outros problemas conhecidos de partição

de C desconecta A de B), i.e., se e somente se G admite uma M-partição,

onde &i é a matriz dada na Figura 3.4, tal que todas as partes são não-

vazias. É possível encontrar um corte clique em tempo polinomial[41, 44, 451

através de um algoritmo de decomposição[41], que permite encontrar soluções

eficientes de muitos outros problemas de otimização. Um corte estável [42]

é definido analogamente (B é estável), e também corresponde a uma matriz

ii4 com todas as partes não vazias. O problema de cortes estáveis é um

problema muito interessante devido ao resultado de Tuclter [42] que afirma

que um grafo minimalmente perfeito diferente de um ciclo ímpar não pode

conter cortes estáveis; mostrou-se que este problema é NP-completo em [18].

Um conjunto homogêneo [16] num grafo G é um conjunto de vértices C

de G tal que cada vértice fora de C ou é adjacente a todos os vértices em C

ou a nenhum vértice em C. Novamente, é fácil ver que este é um problema

de partição que consiste em verificar se G admite uma partição em três con-

juntos A, B, C tal que A e C são completamente adjacentes e B, C são

Page 57: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

completamente não-adjacentes. Para evitar conjuntos homogêneos triviais

consistindo de um único vértice ou de todo o conjunto de vértices, também

exigimos que C tenha pelo menos dois vértices e A U B seja não-vazio. Por-

tanto, temos uma M-partição (onde M pode ser visto na Figura 3.4) onde

temos algumas restrições a mais: o tamanho das partes. Conjuntos homogê-

neos definem uma decomposição (a 'decomposição modular') que facilita o

reconhecimento de grafos de comparabilidade (e outras classes similares de

p-afos) [l6, 351. Conjuntos homogêneos (e decomposições modulares) podem

ser encontradas eficientemente [35].

Partições com Listas

Com o objetivo de capturar exigências adicionais (i.e. de que certas partes

sejam não-vazias, ou que tenham pelo menos um número fixo de vértices, ou

que tenham pelo menos algumas arestas entre elas, etc.), vamos introduzir o

conceito de listas. Na versão com listas de um problema de partição, cada

vértice do grafo de entrada tem uma lista das partes onde podem ser alocados.

Isto nos dá uma enorme variedade de opções ao restringir o conteúdo de cada

uma das partes ou de suas adjacências. Por exemplo, no caso de conjuntos

homogêneos, podemos assegurar que C tem pelo menos dois vértices e A u B é

não-vazio escolhendo três vértices x, y, z do grafo de entrada e especificando

que as listas de x, y consistam apenas de C e que a lista de z consista de A, B.

Portanto, o problema de encontrar um conjunto homogêneo num grafo com

Page 58: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

n vértices é reduzido a n3 problemas de partição com listas. (Um conjunto

homogêneo existe se e somente se pelo menos uma das n3 escolhas de x, y , x

admite uma partição com a lista desejada).

Uma instância do problema da M-partição com listas é um grafo G, junto

com uma coleção de listas L(v) , v E V(G) , cada lista sendo um conjunto

de partes. Uma solução para a instância da M-partição com listas é uma

solução para a M-partição correspondente, tal que cada vértice v pertence a

uma parte Ai, i E L(v).

44-partições com listas generalizam colorações com listas, homomorfismos

com listas [24], e são de interesse na teoria de grafos perfeitos [14, 191. Além

disso, o estudo de problemas de M-partição com listas podem nos conduzir

a soluções eficientes de alguns desses problemas [19].

Um caso particular da M-partição com listas é o caso em que cada lista

possui tamanho 1 ou q, onde q representa o tamanho da matriz M de partição.

Ta1 problema é conhecido como extensão de uma M-partição.

Em [25] foram apresentados algoritmos polinomiais para muitos proble-

mas de M-partição com listas, e algoritmos quase-polinomiais (O(n'09")) para

alguns outros. Em [23], mostrou-se que todos problemas de M-partição com

listas podem ser resolvidos em tempo quase-polinomial ou são NP-completos.

Tal resultado foi chamado de "quase-dicotomia". Muitos desses algoritmos

quase-polinomiais apresentados em [25] foram melhorados e resolvidos em

Page 59: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

tempo polinomial em [13, 191, mas ainda não se sabe se todos os problemas

de M-partição com listas são polinomiais ou NP-completos; este problema

é conhecido como o problema da dicotomia para M-partições com listas.

Nas próxima.^ seções consideramos as restrições de ambos os problemas da

M-partição e da M-partição com listas para instâncias G que sejam grafos

cordais. Os dois problemas correspondentes serão chamados problema da

h?-partição cordal e problema da M-partição cordal com listas.

Existem vários problemas clássicos que sugerem que &I-partições de gra-

fos cordais possam ser encontrados em tempo polinomial. Por exemplo, o

problema da k-coloração em grafos cordais (M é a matriz k x k com O na

diagonal principal e * fora da diagonal principal) pode ser decidido eficiente-

mente usando o esquema de eliminação perfeita 1291; na verdade, o algoritmo

encontra uma k-coloração do grafo de entrada ou produz um único subgrafo

proibido Kk+l. Um resultado similar é conhecido para cobertura por cliques

(A4 é a matriz 1 x 1 com 1 na diagonal principal e O fora desta). Em [31] e

no capítulo anterior mostramos um resultado mais geral: que existe um al-

goritmo polinomial de reconhecimento, assim como uma caracterização por

subgrafos proibidos, de grafos que podem ser particionados em k conjuntos

independentes e 1 cliques (A4 tem k O's e 1 1's na diagonal principal, * fora

da diagonal ~rincipal).

Page 60: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

No que segue, estendemos estes resultados para o problema da M-partição

com listas.

3.3 Matrizes M com 0 , l na diagonal principal

Se a diagonal da matriz M não contém *, temos várias classes de M-

partição que podem ser resolvidas em tempo polinomial, incluindo as versões

com listas do problema acima de particionamento de G em k conjuntos in-

dependentes e 1 cliques.

Para enunciarmos os resultados desta seção, precisamos de algumas defi-

nições.

Uma decomposição e m árvore de um grafo G é um par (X, U) onde U

é uma árvore e X = (Xi)iEv(u) é uma coleção de subconjuntos de V(G)

cuja união é igual a V(G), tal que cada aresta (x, y) de G pertence a algum

Xi, e tal que para cada vértice x de G, o conjunto de todos i& contendo x

forma uma subárvore de G. A largura de uma decomposição em árvore é

max{].&l - 1, i E V(U)}, e a largura de um grafo G é a largura mínima de

uma decomposição em árvore de G.

Consideremos primeiro o caso onde a diagonal da matriz Mkxk consiste

apenas de O's.

Page 61: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3.3.1 Matriz M com apenas O na diagonal principal

Teorema 3.1 S e cada elemento da diagonal principal de A4 de ordem k x k

é 0, então o problema cordal da M-part ição c o m listas pode ser resolvido e m

tempo polinomial.

Prova: Um grafo cordal G que admite uma M partição com tal matriz M

de ordem k x k não pode conter uma clique com k + 1 vértices; portanto

eleve possuir largura no máximo k - 1. A existência de uma M-partição

com listas de um grafo de largura limitada pode ser testada por técnicas de

progranlação dinâmica padrão [9, 20, 371.

Uma decomposição em árvore (X, U ) em que U tem uma raiz fixa r é

chamada boa [9] se cada nó da árvore enraizada U tem no máximo dois

filhos, e as seguintes condições são satisfeitas: Se i tem dois filhos j , h (neste

caso i é dito um nó junção) então Xi = Xj = Xh; se i tem um filho j então

Xi é obtido a partir de X j acrescentando um único vértice de G (neste caso

i é dito um nó introdução) ou apagando um único vértice de G (neste caso i

é chamado um nó saida ou remoção), e se i é folha então (Xi( = I. Sabe-se

que uma boa decomposição em árvore de um grafo cordal de largura limitada

pode ser obtida em tempo linear [9].

Dada uma boa árvore de decomposição (X, U ) de G com raiz r , denotamos

por Gi o subgrafo de G induzido pela união de Xi e todos os Xj onde j é

um descendente de i. Seja F( i ) o conjunto de todos os pares (./r, S ) , onde

Page 62: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

.rr é uma atribuição dos vértices em Xi às partes, obtida restringindo uma

M-partição com listas C a Gi, e S é o conjunto daquelas partes na partição

C que contém vértices de Gi - X;. Observe que F(i) tem no máximo k"k

elementos.

Podemos calcular o conjunto F(i) para cada nó, uma vez que os valores

F(j) de seus descendentes j já tenham sido calculados. Isso não é difícil

de ver, considere separadamente as folhas, os nós introdução, remoção e

junção. Por exemplo, suponha que i é um nó remoção, com o único filho j ,

e Xi = IYj - x. Para cada (r, S) E F(j) adicionamos a F ( i ) o par (d, SI),

onde r' corresponde a n- restrito a X; e S' é igual a S, se a parte a a qual x

foi atribuido em n já estiver presente em S, ou igual a S U a. Por outro lado,

se i é um nó introdução, com o único filho j e Xj = & - x, então para cada

(r, S) E F ( j ) consideramos todos os possíveis valores que x pode assumir

com a atribuição T atual, por causa das adjacências de x em &, e também

devido às não adjacências de x em Gi - Xi.

A prova acima nos fornece um algoritmo para o problema da &I-partição

com listas restrito a grafos cordais de largura no máximo k - 1 (e portanto

para todos os grafos cordais), de complexidade O(n(21c)"; a análise da com-

plexidade é facilmente adaptada da apresentada em [ZO].

Page 63: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Uma abordagem sobre decomposição em árvore pode ser encontrada no

Apêndice A deste trabalho, explicando melhor a técnica aqui utilizada.

Vale a pena ressaltarmos que o problema tratado acima resolve o problema

usual da I%-coloração com listas para grafos cordais.

No que segue, consideramos o caso onde a matriz M de ordem 1 x 1 possui

1 em todas as posições da diagonal principal. Observe que este problema

corresponde ao problema da cobertura dos vértices de um grafo por cliques,

mais precisamente, por 1 cliques.

3.3.2 Matriz M com apenas 1 na diagonal principal

Seja G com listas L(x) uma instância do problema da M-partição cordal

com listas. Um retângulo em G é uma coleção de sublistas L, C L ( x ) ,

x E V(G) , tal que qualquer escolha arbitrária das partes de L, para cada x

constitui uma solução.

Teorema 3.2 S e todos os elementos da diagonal principal de M são iguais

a 1, então o problema da M-part ição cordal c o m listas pode se r resolvido e m

tempo polinomial e m nl. O conjunto de soluções para u m a ins tânc ia é a un ião

de n o máx imo n2l retângulos, e pode ser encontrado e m t e m p o polinomial.

Page 64: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Prova: Considere um esquema de eliminação perfeita do grafo. Se e-

xistem I partes AI, Az, . . . , Al, então escolha os pares (xi, yi) de vértices no

grafo de entrada G, onde xi é o primeiro vértice no esquema de eliminação

perfeita a ir para a parte Ai, e yi é o último vértice do esquema de eliminação

perfeita a ir para a parte Ai. Isto envolve nZ1 possíveis escolhas. Para cada

escolha, remova a parte Ai da lista de qualquer vértice que ocorra antes de

xi ou após yi no esquema de eliminação perfeita.

Remova de todas as listas de vértices x as partes proibidas Ai dadas pelas

adjacências ou não-adjacências dos vértices xi, yi que vão para a parte Ai de

acordo com as exigências codificadas em M. Ou seja, o vértice z não pode

ir para uma parte Aj se existe uma aresta (x, xi) ou uma aresta (x, y i ) em G

e a entrada M(i, j) = O. Da mesma forma, o vértice x não pode ir para a

parte Aj se não existe aresta (x, xi) ou (x,yi) em G e a entrada M(i , j) = 1.

Finalmente, atribua partes aos vértices de suas listas resultantes L, ar-

bitrariamente. Suponha que xi, xj tenham sido alocados nas partes Ai, Aj

respectivamente e que sejam adjacentes, mas M(i , j) = O. Digamos que

zi tenha sido considerado antes de zj. Então xi é adjacente a yi, já que

M(i , i) = 1. Logo yi e zj são ambos vizinhos de xi, e ambos foram consi-

derados após z;, portanto yi é adjacente a z j pela definição do esquema de

eliminação perfeita. Como M(i , j) = O, a parte Aj teria sido removida da

lista de zj.

Page 65: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Por outro lado, suponha que G, 9 tenham sido alocados em partes Ai, Aj

respectivamente e que sejam não-adjacentes, mas M(i , j) = I. Digamos que

zi foi considerado antes de zj. Então xi é adjacente a zi já que M(i , i) = 1.

Além disso, xi é adjacente a xj já que M(i, j) = I. Logo xi é adjacente a

ambos zi e zj, e ambos foram considerados após xi, logo zi é adjacente a zj

pela definição do esquema de eliminação perfeita, uma contradição.

Assim, terminamos com n2' famílias de soluções, onde cada família é um

retângulo, e é dada apenas pelas restrições nas partes possíveis para cada

vértice. O

Vale a pena mencionarmos que no caso em que não termos restrições

externas, isto é M corresponde a uma matriz de ordem 1 x I, onde todos

os elementos da diagonal principal são O's e cada um dos elementos fora da

cliagonal principal é *, o problema cordal da M-partição com listas pode ser

resolvido em tempo O(nl) em vez de 0(n2'), uma vez que não precisamos do

vértice yi (que corresponde ao último elemento a ir para a parte i, conforme

definido acima), já que pela propriedade do esquema de eliminação perfeita,

uma vez fixado o primeiro vértice (xi) a ir para a parte i , todos os seus

vizinhos que possuam a parte i em sua lista podem ir para esta parte.

Na seção a seguir apresentamos um novo algoritmo para resolver este

problema (o problema da M-partição cordal com listas em que Ad é uma

matriz apenas com 1 na diagonal principal e * fora da diagonal principal)

Page 66: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

independente do mencionado anteriormente. Mostramos que este novo algo-

ritmo possui complexidade linear a menos de um fator constante l!. Além

disso, resolvemos o problema cordal da M-partical com listas, onde M é uma

matriz apenas com 1 na diagonal principal, exceto em um dos elementos que

é igual a O, e * fora da diagonal principal.

3.4 Matrizes M com 1 na diagonal principal e * fora da diagonal principal

O problema que será tratado aqui corresponde ao problema de particionar

um grafo cordal G com listas L(v), 'v'v E V ( G ) , em 1 partes, Cl, C2, . . . , Cl,

onde cada Ci induz uma clique, sem restrições entre as cliques Ci, Cj, i #

j . Tal problema será chamado problema da partição-(0, L ) com listas, ou

equivalentemente, o problema da M-partição cordal com listas onde M é

uma matriz de ordem 1 x I com 1 na diagonal principal e ;i: fora da diagonal

principal.

Assim, pelo que foi dito anteriormente, cada vértice vi E V ( G ) possui

uma lista das partições admissíveis, ou seja, das quais vi pode fazer parte. O

objetivo é verificar se podemos particionar os vértices de G em I cliques de

forma que vi só esteja numa partição Cj da qual ele podia fazer parte, isto

é, se vi E Cj então j E L(vi).

Page 67: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Se G admitir uma partição-(0, I) com listas diremos que G é (O, 1)-partido

com listas.

Seja I um inteiro fixo, vamos apresentar um algoritmo para verificar se

um dado grafo cordal G é (0,l)-partido com listas.

3.4.1 Partição- (O, I ) com listas em Grafos Cordais

O algoritmo que utilizaremos aqui, para particionar um grafo cordal G

com uma lista associada a cada vértice de G, utilizará cores para definir de

que partição um dado vértice vi fará parte. Assim sendo, o nosso objetivo

é particionar G em 1 diques, onde cada uma das 1 partições clique será

representada por uma cor dentre cl, c2,. . . , q. Vamos colorir os vértices de G

de forma que todos os vértices coloridos com uma mesma cor ci, i = 1,2, . . . ,1

sejam completamente adjacentes, isto é, cada ci induz uma clique. (A idéia

da utilização de cores para particionar um grafo G é a mesma que a utilizada

no Capítulo 2.)

Vamos denotar por L(v) o conjunto das cores admissíveis do vértice v.

Utilizamos no algoritmo uma variável A(v) associada a cada vértice v E

V ( G ) , que representará a cor dada ao vértice v pelo algoritmo. Observe

que JL(v)J pode ser igual a um; neste caso, diremos que v é pré-colorido e

poderemos fazer A(v) t L(v).

Page 68: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Podemos dizer que o nosso objetivo é colorir os vértices não pré-coloridos

de G com as cores cl, cz, . . . , cl de tal forma que os vértices coloridos com

uma mesma cor ci, i = 1,2 , . . . , 1 sejam completamente adjacentes, i.e., cada

ci induz uma dique, e tal que A(vi) E L(vi), Vi = 1 , 2 , . . . , n.

A notação u v empregada no algoritmo denota que os vértices u e v

são adjacentes.

Em termos gerais, o algoritmo funciona da seguinte maneira:

O algoritmo fixa uma dada ordem das cores a serem utilizadas, por exem-

plo, CI, C Z , . . . , cl, e colore os vértices de G segundo esta ordem, caso seja

possível. Ao dizer que o algoritmo colore os vértices de G segundo esta or-

dem, queremos dizer que quando a cor ci é utilizada pela primeira vez as

cores cl, . . . , ci-1, i = 2, ..., n já deverão ter sido utilizadas. Além disso, toda

vez que uma cor ci é utilizada pela primeira vez para colorir um vértice v,

colorimos todos os vizinhos w de v, tal que w > v (isto é, w aparece após v

no EEP) e tal que w não é um vértice pré-colorido. Caso não seja possível

colorir todos os vértices de G utilizando esta ordem das cores, então exe-

cutamos este mesmo procedimento descrito utilizando uma nova ordenação

das cores (observe que temos l! possíveis ordenações). Se o algoritmo colorir

todos os vértices do grafo utihzando alguma dessas ordens então diremos que

G admite uma partição-(O,l) com listas.

Page 69: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Algoritmo 3.1 Algoritmo Partição-(O, I) com listas em grafos cordais

1 Encontre um esquema de eliminação perfeita VI, v2, . . . , v, de V(G).

2 Resposta t Não

3 P a r a cada permutação cl, ~ 2 , . . . , CI das cores faça

P a r a cada i = 1,. . . , n faça

Se I L(vi) 1 = 1 então A(vi) t L(v;)

senão A(vi) t @

Fim-para

i t 1 ; j t l

Repi ta

Colore-(j, i)

Se A(vi) # 0 então Find-next (i)

senão i t n + l

a t é que (i > n) ou ( j > 1)

Fim-repita

Se A(vi) # 0 para todo vi E V(G) então

Resposta t Sim

Abandone o laço

Fim-para

4 Se Resposta = Sim então G é (0, 1)-partido com listas

senão G não é (0, 1)-partido com listas

Fim-se

Fim-algoritmo

Page 70: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Procedimento 3.1 Procedimento Colore ( j , i)

Se (i 5 n ) e ( j 5 L) então

Se A(vi) = 0 e vi - vk, para todo vk tal que A(vk) = cj então A(vi) t cj

Fim-se

Se A(vi) = cj então

Para todo p > i tal que cj E L(vp) e vp vi faça A(vp) t cj

Fim-para

j t j + l

senão j t l + l

Fim-se

Fim-se

Fim-Procedimento

Procedimento 3.2 Procedimento Find-next (i)

Se i 5 n então

Enquanto A(vi) E {cl, cz, . . . , cj-l) faça i t i + 1

Fim-enquanto

Fim-se

Fim-Procedimento

Page 71: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Antes de provarmos que o Algoritmo acima está correto, apresentamos o

seguinte lema que será útil para a prova do mesmo.

Lema 3.1 Se uma cor clique c é usada pela primeira vez pelo Algoritmo S. i

para colorir um vértice vi, então todos os vixinhos vj de vi tais que j > i e

c E L(vj) podem ser coloridos com c.

Prova: A prova segue da propriedade de esquema de eliminação perfeita dos

vértices de G. Se vi é o vértice com o menor índice tal que vi foi colorido

com c, então todos os vizinhos vj de vi, tais que j > i induzem uma clique

(veja Figura 3.5. Portanto, todos os vértices vj tal que c E A(vj) podem ser

coloridos com a cor c. 0

Clique

Figura 3.5: Os vizinhos vj de vi, j > i, induzem uma clique

Passemos à prova do Algoritmo, que é muito simples. Tentamos usar

uma das I! possíveis ordens das cores. Se o algoritmo não funcionar para

nenhuma das ordens então provamos que o grafo não é (0,l)-partido com

listas. Observe que como 1 é um inteiro fixo, l ! é uma constante.

Page 72: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Teorema 3.3 Um grafo corda1 G admite uma partição-(0, I) com listas se,

e somente se o Algoritmo 3.1 retornar a resposta 'Sim".

Prova:

(e) É claro que se o algoritmo 3.1 retornar "Sim"então G admite uma

partição- (0, I) com listas.

(3) Suponhamos que G seja (0, 1)-partido com listas. Vamos mostrar que

o Algoritmo 3.1 responde "Siml'para alguma das l! ordenações das 1 cliques.

Os vértices de G estão ordenados segundo um esquema de eliminação perfeita:

VI , . . . ,v,. Tome uma partição P = C1,. . . , Cl de V(G). Esta partição existe,

já que estamos assumindo que G é (0,l)-partido com listas.

Vamos modificar a partição P de forma a obter uma partição que o Al-

goritmo 3.1 teria fornecido, procedendo da seguinte maneira:

1. Encontre a partição a qual o vértice vl pertence. Suponha, sem perda

de generalidade, que vl está em Cl. Esta é a primeira vez que a cor c1

é usada. Pelo Lema 3.1, podemos colocar em C1 todos os vizinhos vj

de vl, tais que cl E L(vj). Observe que estamos modificando a partição

P e construindo uma que seria fornecida pelo Algoritmo 3.1.

2. No passo geral, encontramos a partição à qual o vértice vi pertence,

onde i é o menor índice tal que uma cor de clique c é usada pela

primeira vez. Uma vez encontrado este vértice, aplicamos o Lema 3.1

60

Page 73: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

e repetimos esta operação até que não haja nenhum vértice vj tal que

uma nova cor clique tenha sido utilizada pela primeira vez para colorir

vj .

3. No fim deste processo teremos a partição que o Algoritmo 3.1 teria

fornecido.

Teorema 3.4 O reconhecimento de grafos cordais-(0, 1 ) com listas pode ser

feito e m tempo O (n + m) .

Prova: O passo 1 do algoritmo acima pode ser executado em tempo linear

[29]. O passo 3 é executado 0(1!) vezes, que é constante, uma vez que I

é fixo. Basta, portanto, calcularmos o tempo de execução de cada passo

do algoritmo dentro do passo 3. Observe que o procedimento Colore pode

ser executado em tempo O(m). O mesmo ocorre para o procedimento Find-

next. Portanto o algoritmo pode ser executado em tempo O(n+m) a menos

de um fator constante l ! . O

Page 74: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3.5 Matrizes M cuja diagonal principal é com- posta por um único O e o restante dos ele- mentos desta são 1, e que possui * fora da diagonal principal

O problema que será tratado aqui corresponde ao problema de parti-

cionar um grafo cordal G com listas L(v),Yv E V(G), em 1 + 1 partes,

SI C1, C2, . . . , Cl, onde S induz um conjunto independente e tal que cada

Ci induz uma clique, sem restrições entre as cliques Ci, Cj, i # j e Ci, S ,

Vi = 1, . . . , 1 (tal problema será chamado problema da partição-(1, I) com lis-

tas), ou equivalentemente, o problema da M-partição cordal com listas onde

Ad é uma matriz de ordem (1 + 1) x (1 + 1) cuja diagonal principal é composta

por um único O e os demais valores desta são 1, e, além disso, os elementos

fora da diagonal principal são todos * .

Assim, pelo que foi dito anteriormente, cada vértice vi E V(G) possui

uma lista das partições admissíveis, ou seja, de quais partições vi pode fazer

parte. O objetivo é verificar se podemos particionar os vértices de G em I

cliques e 1 conjunto independente de forma que vi não esteja numa partição

da qual não era permitido que fizesse parte.

Se G admitir uma partição-(1, 1) com listas diremos que G é (1, 1)-partido

com listas.

Seja 1 um inteiro fixo. Apresentamos um algoritmo para verificar se um

dado grafo cordal G é (1, 1)-partido com listas.

Page 75: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3.5.1 Partição-(1, I ) com listas em Grafos Cordais

Da mesma forma que apresentamos um algoritmo para reconhecer

partição-(0, 1) com listas em grafos cordais, apresentaremos nesta seção um

algoritmo para reconhecer partição-(1, 1) com listas em grafos cordais.

A única diferença entre o algoritmo que será apresentado (Algoritmo 3.2)

aqui e o Algoritmo 3.1 é que temos uma cor a mais a ser usada, a cor S. Além

disso, sempre tentamos usar esta cor s antes de usar uma cor de clique pela

primeira vez. No entanto, uma vez tendo usado uma cor de clique c j pela

primeira vez para colorir um vértice vi, aplicamos o Lema 3.1 e colorimos

todos os vértices v, tais que p > i e v, - vi (Procedimento Colore ( j , i)).

No passo geral, procuramos pelo próximo vértice (o de menor índice) que

não seja pré-colorido ou colorido por alguma das cores já utilizadas pelo

algoritino até o momento (Procedimento Find-next (i)), e tentamos colorir

este vértice com a cor s novamente (Procedimento Colore (i)), ou usamos

uma nova cor de clique (caso não seja possível utilizar a cor s), aplicando

o Lema 3.1 (Procedimento Colore (j , i )) . Repetimos este processo até que

todos os vértices estejam coloridos, ou até que constatemos que 1 cores de

clique não são suficientes. Caso exista alguma permutação de cores de clique

tal que todos os vértices do grafo sejam coloridos, então o grafo é (I, 1)-partido

com listas, caso contrário, se não conseguirmos colorir todos os vértices para

nenhuma das I ! permutações de cores de clique então o grafo não é (1,l)-

partido com listas.

Page 76: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Algoritmo 3.2 Algoritmo Partição-(1, 1) com listas em grafos cordais

1 Encontre um esquema de eliminação perfeita vl, vz, . . . , v, de V(G).

2 Resposta t Não

3 Pa ra cada permutação s, cl, . . . , c, das cores faça

Se IL(vi) I = I então A(vi) t L(vi)

senão A(vi) t 0

Fim-se

i t 1 ; j t l

Repi ta

Colore (i)

Colore (j,i)

Se A(vi) # 0 então Find-next (i)

s e n ã o i t n f l

Fim-se

a t é que (i > n) ou ( j > 1)

Fim-repita

Se A(vi) # 0 para todo vi E V(G) então

Resposta t Sim

Abandone o laço

Fim-para

4 Se Resposta = Sim então G é (1, 1)-partido com listas

senão G não é (1, 1)-partido com listas

Fim-Algoritmo

Page 77: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Procedimento 3.3 Procedimento Colore ( i )

Enquanto (i 5 n ) e s E L(vi) e 13vj - vi tal que s E A(v j ) faça

A(vi) t s

i t i S 1

Fim-Enquanto

Fim-Procedimento

Procedimento 3.4 Procedimento Colore ( j , i )

Se (i < n) e ( j 5 L) então

Se A(vi) = fl e vi - vk, para todo vk tal que A(vk) = cj então

A(vi) t ~j

Fim-se

Se A(vi) = cj então

Para todo p > i tal que cj E L(v,) e v, - vi faça

A(%) + cj

Fim-para

j t j - t l

senão j t 1 -i- I

Fim-se

Fim-se

Fim-Procedimento

Page 78: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Procedimento 3.5 Procedimento Find-next (i)

Se (i 5 n) então

Enquanto A(vi) E {s, cl, c2,. . . , cj-1) faça i t i + 1

Fim-enquant o

Fim-se

Fim-Procedimento

O teorema descrito a seguir garante a corretude do Algoritmo3.2.

Teorema 3.5 Um grafo corda1 G é (1, 1)-partido com listas se e somente se

o Algoritmo 3.2 responde (3im".

Prova:

(e) Se o Algoritmo 3.2 responde '<Sim1', então é claro que G é (1,l)-

partido com listas.

(3) Suponhamos que G seja (1,l)-partido com listas. Vamos mostrar

que o Algoritmo 3.2 responde "Siml1para alguma das I ! ordens. Os vértices

de G estão ordenados segundo um esquema de eliminação perfeita. Tomemos

uma partição PS, C1, . . . , Cl de V ( G ) . Esta partição existe, já que estamos

assumindo que G é (1, 1)-partido com listas.

Vamos modificar a partição P de forma a obter uma partição P' que o

Algoritmo 3.2 teria fornecido.

66

Page 79: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Executamos o Algoritmo 3.2 em G e localizamos o vértice vi, de menor

índice, tal que o algoritmo colocou vi num conjunto diferente daquele do qual

vi faz parte em P. Temos as seguintes possibilidades:

Caso 1: vi pertence a Cj em P, mas o algoritmo colocou vi em S .

Caso 2: vi pertence a S em P, mas o algoritmo colocou vi em algum Cj,

j = 1, . . . , 1.

Caso 3: v; pertence a Cj em P, mas o algoritmo colocou vi em Ck, k # j.

Abaixo, analisamos cada um destes casos e mostramos como realizar as

modificações para obter a partição desejada.

Caso 1: Se o algoritmo colocou vi em S em vez de colocá-10 em Cj é porque

até este momento nenhuma cor de clique havia sido usada em algum vértice

vh vizinho de vi tal que h < i, caso contrário o algoritmo manteria vi em

Cj. Além disso, vi foi colocado em S pelo algoritmo por ser não-adjacente

a todos os vértices v, tais que q < i e A(v,) = S. Logo, vi era o vértice de

menor índice em Cj na partição P. Transferimos vi para S . Ao fazer isso,

podemos criar uma adjacência (no máximo uma) em S, digamos a adjacência

(vi, v,) E E para vi, v, E S. Devemos portanto, transferir v, de conjunto.

Colocamos v, no mesmo conjunto Cj do qual vi fazia parte em P. Isso é

possível pelo esquema de eliminação dos vértices de G: vi pertencia a Cj em

P e, portanto, C, induzia uma clique. Como v, é adjacente a v, (i < q) e Vi

é adjacente a todos os vértices v, (r > i e v, E Cj), então vj é adjacente a

todos os vértices v,,e portanto podemos transferi-lo para Cj.

Page 80: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Caso 2: Se o algoritmo colocou vi em Ck em vez de colocá-lo em S é porque a

cor de clique cj já havia sido utilizada, i.e., existe algum vértice vh, h mínimo,

tal que h < i e vh está em Cj. Pelo Lema 3.1, todos os vizinhos de vh podem

fazer parte da mesma clique que vh. Assim sendo, em P, podemos transferir

vi para Cj.

Caso 3: Se vi E Cj em P e o algoritmo colocou vi em Ck é porque a cor ck foi

usada antes da cor cj ter sido usada. O Lema 3.1 nos garante que (vi) U Ck

induz uma clique e, portanto, podemos transferir vi para Ck em P .

E fácil ver que com as operações de troca descritas acima, somos capazes

de gerar uma partição P' a partir de P , onde P' corresponde a uma partição

gerada pelo Algoritmo 3.2. 0

Teorema 3.6 O reconhecimento de grafos cordais-(1,l) com listas pode ser

feito em tempo O (n + m).

Prova: O passo 1 do algoritmo acima pode ser executado em tempo linear

[29]. O passo 3 é executado 0(1!) vezes, que é constante, uma vez que I é

fixo. Basta, portanto, calcularmos o tempo de execução de cada passo do

algoritmo dentro do passo 3. Observe que os procedimentos Colore (i) e

Colore ( j , i) podem ser executados em tempo O(m) . O mesmo ocorre para

o procedimento Find-next (i). Portanto o algoritmo pode ser executado em

tempo O(n + m) a menos de um fator constante I!. 0

Page 81: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3.5.2 Extensão de Grafos Split

Como caso particular do problema de partição acima, apresentamos um

algoritmo para resolver o problema da extensão de grafos split ou equivalen-

temente o problema da partição-(1, 1) com listas. Neste caso, observe que não

precisamos assumir a cordalidade do grafo pois grafos split são cordais. Como

consequência do algoritmo, apresentamos um teorema de caracterização de

extensão split por subgrafos proibidos.

Uma extensão split de um grafo G com alguns vértices pré-coloridos s ou

c é uma partição de V ( G ) em um conjunto independente contendo todos os

vértices pié-coloridos com a cor s , e uma clique contendo todos os pré-vértices

coloridos com a cor c.

Considere um grafo A pré-colorido consistindo de três vértices a, a', a" e

duas arestas (a, a'), (a, a") E E(G) , com o vértice a pré-colorido com a cor S.

É claro que A não admite uma extensão split neste caso, já que os vértices

não-adjacentes a' e a" deveriam pertencer ambos à clique. Da mesma forma,

u m grafo B pré-colorido com três vértices b, b', b" e uma aresta (b', b") E E(G)

em que b esteja pré-colorido com a cor c, não admite uma extensão split.

Page 82: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Teorema 3.7 U m grafo pré-colorido G admite u m a extensão split se e so-

men te se não contém 2K2, C4, C5, A, ou B como subgrafo induzido.

Figura 3.6: Subgrafos proibidos, com o vértice a pré-colorido com a cor c e o vértice b pré-colorido com a cor s

Prova: A prova do teorema acima segue de uma pequena transformação

do algoritmo anteriormente apresentado.

Algoritmo 3.3 Algori tmo Extensão Split

e Encontre um EEP 1 ,2 , . . . , n de G, e então colora i = 1,2,3 , . . . com a

cor s enquanto for possível. Seja j o primeiro vértice para o qual foi

impossível tal coloração. Isso ocorreu devido a:

- j é adjacente a algum vértice previamente colorido com a cor s,

OU

- j é adjacente a um vértice (que ocorreu antes na ordenação) que

foi previamente colorido com a cor s , ou

- j estava pré-colorido com a cor c.

Em todos esses casos, colora j com a cor c.

Page 83: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

No passo geral, se todos os vértices 1 ,2 , . . . , i - 1 já tiverem sido colo-

ridos, e a cor c já tiver sido utilizada, então

- colora i com a cor c se i é adjacente a j e não está pré-colorido

com a cor s, ou se i é pré-colorido com a cor c, caso contrário

- colora i com a cor s se i não é adjacente a todos os vértices colo-

ridos ou pré-coloridos com a cor s e não é pré-colorido com a cor

c, ou se i é pré-colorido com a cor S.

O algoritmo modificado é analisado da mesma forma que o anterior:

Se o algoritmo falhar ao encontrar um esquema de eliminação perfeita

então G contém um C4, C5 u 2K2 como subgrafo induzido. Caso contrário,

ele só falha ao encontrar um vértice i que não pode ser colorido com a cor s

ou com a cor c. (Portanto, i não estava pré-colorido).

Se i não pode ser colorido com a cor c por ser não-adjacente ao primeiro

vértice j colorido com a cor c, e não pode ser colorido com a cor s por ser

adjacente a algum vértice k previamente colorido com a cor s, então, como

já foi verificado anteriormente, j e k devem ser não-adjacentes.

Se j foi colorido com a cor c por ser adjacente a um vértice p previamente

colorido com a cor s, concluímos, da mesma forma que anteriormente, que

i, j , h , p formam um 2K2 em G. Se j foi colorido com a cor c por ser adjacente

a um vértice p pré-colorido com a cor s, então p e k são ainda não-adjacentes.

Se p for também não-adjacente a i, temos um 2K2 como antes. Caso contrá-

71

Page 84: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

rio, temos uma cópia induzida de A, com a = p, a' = j, a" = i. Finalmente,

se j for pré-colorido com a cor c, então temos uma cópia induzida de B, com

b = j, b' = i, b" = k .

Se i não pode ser colorido com a cor c devido ser não-adjacente ao primeiro

vértice j colorido com a cor c, e não pode ser colorido com a cor s por ser

adjacente a algum vértice k pré-colorido com a cor s, então k , i, j formam uma

cópia de A se j for adjacente a k . Caso contrário ( j e k não são adjacentes),

argumentamos como no caso anterior. Por outro lado, se i não pode ser

coloriclo com a cor s por ser adjacente a um vértice k previamente colorido

com a cor s, e não pode ser colorido com a cor c por ser não-adjacente a

um vértice j pré-colorido com a cor c, então devemos assumir que j > i,

caso contrário a prova estaria concluida. Neste caso, j , k não podem ser

adjacentes, e portanto, j, i, k formam uma cópia de B.

Finalmente, se i é adjacente a um vértice k pré-colorido com a cor s e

não-adjacente a um vértice j pré-colorido com a cor c, então temos uma cópia

de A se j, k são adjacentes, ou uma cópia de B se j , k são não-adjacentes.

Teorema 3.8 Verificar se um dado grafo G pré-colorido s e c admite uma

extensão split pode ser feito em tempo linear.

Page 85: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3.6 Matrizes de bloco-A, B, C

Nesta seção vamos considerar frequentemente matrizes M de ordem (k + 1) x ( k $ I ) que consistem de uma matriz diagonal A de ordem k x k e uma

matriz diagonal B de ordem l x I , com uma matriz fora da diagonal C de

ordem l x k (e sua transposta k x 1). Vamos chamar tais matrizes de matrizes

de bloco-A, B, C. Uma figura representativa da matriz de bloco-A, B, C pode

ser vista abaixo na Figura 3.7

Figura 3.7: Matriz de bloco A, B , C

Assuma agora que todos os elementos da diagonal principal de A são O, e

que todos os elementos da diagonal principal de B são 1. Vamos considerar

também restrições sobre a matriz C.

Feder et al. [25] mostraram o seguinte fato. Sejam A, 23 duas classes de

grafos que são fechadas por subgrafos induzidos, e para as quais um mem-

bro pode ser testado em tempo polinomial. Suponha ainda que existe uma

constante c tal que qualquer grafo que esteja tanto em A como em 23 tem

no máximo c vértices. Considere a questão de particionar os vértices de um

grafo G em dois conjuntos SA e SB tal que o subgrafo GA induzido por SA

Page 86: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

está em A, e o subgrafo GB induzido por SB está em 23. Mostrou-se que exis-

tem no máximo n2' partições desse tipo, e que todas essas partições podem

ser encontradas em tempo polinomial.

Na nossa aplicação, consideramos JI como sendo a classe dos grafos sem

uma clique de tamanho k + 1, e 23 a classe do grafos sem um conjunto

independente de tamanho 1 + 1. Um grafo corda1 sem uma clique com k + 1

vértices e sem um conjunto independente com 1 + 1 vértices tem no máximo

c = kl vértices, já que é h-colorível, e portanto uma união de k conjuntos

independentes.

Dada uma instância G, seja SA O conjunto de vértices que são colocados

nas partes correspondentes à matriz Akxk, e seja SB O conjunto de vértices

que vão para as partes correspondentes à matriz Blxl. Segue que SA E A,

SB E 23.

Suponha inicialmente que todos os elementos da matriz Ckxl são *. Então

para cada uma das n2" partições válidas em dois grafos GA e GB, podemos

restringir as listas para GA às partes em A e resolver o problema para a

matriz A em GA com O algoritmo do Teorema 3.1. Similarmente, podemos

restringir as listas para GB às partes em B e resolver o problema para a

matriz B em GB com o algoritmo do Teorema 3.2.

De maneira mais geral, chamamos uma matriz C de horizontal se todos

os elementos de C correspondente às partes i em A são iguais (Figura 3.8),

Page 87: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

e vertical se todos os elementos de C correspondentes a uma parte j em B

são iguais (Figura 3.9). Finalmente, chamamos C de cruzada se todos os

elementos de C são O ou * (ou então, 1 ou JF) e todo O (respectivamente todo

1) pertence ou a uma linha ou a uma coluna toda de O (respectivamente toda

de 1.)

I .................. I .................

.. .................. !.X X...X..X..

A i kxk I

onde x = O x = 1 ou x = *

onde a aresta- pode significar completamente adjacentes, sem arestas entre as partes ou sem nenhuma restii&o externa

Figura 3.8: Matriz Horizontal

onde x = O x = l o u X = *

onde a aresta - pode significar completamente adjacentes, sem arestas entre as partes Ou sem nenhuma res t r i io externa

Figura 3.9: Matriz Vertical

Page 88: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Teorema 3.9 Suponha que M é u m a ma t r i z de bloco-A, B , C . S e todos os

elementos da diagonal principal de A são O , e todos e lementos da diagonal

principal de B são 1 , e se C é horizontal, vertical ou cruzada, en tão o pro-

blema corda1 da M-par t ição com listas pode ser resolvido e m t empo polinomial

e m O(nM).

Prova: Para cada escolha de GA e GB, se todos os elementos de C cor-

respondentes a uma parte i em A são O (respectivamente 1) então basta

remover a parte i da lista de qualque vértice v de GA que tem um vizinho

em GB (respectivamente para o qual algum vértice de GB não é um vizinho).

Similarmente, se todos os elementos de C correspondentes a uma parte j

em B são O (respectivamente 1) então basta remover a parte j da lista de

qualquer vértice v de GB que tem um vizinho em GA (respectivamente para

o qual algum vértice de GA não é um vizinho). Uma vez que as condições

dadas por C são satisfeitas, podemos substituir todos os elementos de C por

* e resolver o problema para GA e GB usando os Teoremas 3.1 e 3.2. 0

Um caso NP-completo

Considere um grafo bipartido fixo H . O problema da H-coloração c o m

listas é definido como segue: Uma instância do problema é um grafo bipartido

G com listas (vértices brancos de G tem listas consistindo de vétices brancos

de H e da mesma forma para vértices pretos), e uma solução é uma função

que mapeia vértices de G a vértices de H tal que as adjacências dos vértices

76

Page 89: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

são preservadas e cada vértice de G é mapeado num membro de sua lista. (Tal

associação é chamada uma H-coloração com listas de H ) . Feder, Hell e Huang

1241 mostraram que o problema da H-coloração com listas é polinomial se o

grafo bipartido H é o complemento de um grafo arco-circular (um grafo co-

circular), e é NP-completo caso contrário. Baseado neste fato, será possível

encontrar problemas NP-completos para o problema da M-partição com

listas em grafos cordais.

Dado um grafo bipartido H com k vértices brancos (formando o conjunto

VA) e 1 vértices pretos (formando o conjunto V*), a matriz correspondente

H é a matriz CkXl com C(i, j) = * se ( i , j) é uma aresta em H (Com i E

TIA,j E VB), e com C(i, j) = O caso contrário.

Teorema 3.10 Seja M u m a matrix de bloco-A, B , C. Suponha que A n ã o

contenha n e n h u m elemento igual a 1, e B n ã o contenha n e n h u m e lemento

igual a O . S e C é u m a matr ix correspondente a um grafo bipartido H que

não é um grafo co-circular, então o problema da M-par t ição cordal é NP-

completo.

Prova: Considere uma instância G do problema H-coloração com listas,

e defina o grafo G' obtido adicionando todas as arestas entre os pares de

vértices pretos. (As listas de G' permanecem as mesmas que em G.) É fácil

ver que G tem uma H-coloração com listas se e somente se G' admite uma

M-partição com listas. Como G' é um grafo split, também é cordal. 0

Page 90: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Capítulo 4

Versão com Pesos

O objetivo principal do problema de ernpacotarnento de conjuntos (veja

(331) é encontrar o número máximo de conjuntos mutuamente disjuntos de

uma dada coleção C. Ressaltamos que muitos problemas interessantes de

empacotamento podem surgir considerando outros tipos de relações envol-

vendo os conjuntos (aqui, por exemplo, trocamos "mutuamente disjuntos"

por "independentes", onde C é a coleção de KT's de um grafo cordal G).

No Capítulo 2 estudamos o problema de particionar um dado grafo cordal

G em k conjuntos independentes e 1 cliques, ou equivalentemente, verificar

se um dado grafo cordal G é um grafo-(k, I ) .

Neste capítulo consideramos a versão com pesos do problema de otimiza-

ção relacionado com o Teorema 2.2. Dado um grafo cordal G com um peso

associado a cada KT em G, procuramos por um conjunto de KT's indepen-

dentes em G com peso total máximo.

Page 91: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Apresentamos dois algoritmos baseados em programação linear (e no prin-

cípio da complementaridade de folga) que resolvem o problema e os proble-

mas duais correspondentes. O primeiro é uma adaptação de um algoritmo

de Farber [22], e consiste em aplicar este algoritmo não no grafo G, mas

num grafo derivado de G. O segundo melhora a eficiência deste aplicando a

técnica diretamente ao grafo G. Quando os algoritmos são particularizados

à situação em que todos os KT's possuem o mesmo peso, simplificamos as

provas e os algoritmos apresentados no Capítulo 2, embora estes algoritmos

não sejam tão eficientes quanto aos apresentados no Capítulo 2.

4.1 Encontrando um conjunto de KT7s indepen- dentes com peso total máximo

Seja G um grafo corda1 com um peso real não-negativo associado a cada

vértice de G. Assumimos que os vértices de G estão ordenados segundo um

esquema de eliminação perfeita [I, 2,. . . , n]. Denotamos por wi o peso do

vértice i, 1 < i < n.

Denotamos por R o conjunto de todos os subgrafos de G isomorfos a KT.

Observe que o tamanho de R é limitado superiormente por n7' (e r está fixo).

Para S t R, definimos ws = CiES wi.

Page 92: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Consideramos nesta seção o problema de encontrar um conjunto de Kr's

independentes em G de peso total máximo.

4.2 Primeiro algoritmo - aplicado a um grafo derivado

Seja G um grafo, e r um inteiro positivo. Recordemos da seção 2.2 que

o grafo derivado Xr(G) é definido como segue: Os vértices de Xr(G) são

os Kr's de G, e dois vértices são adjacentes em XT(G) sempre que os dois

Kr's correspondentes se interceptarem ou possuírem uma aresta unindo-os.

Observamos também que o tamanho de XT(G) é limitado por (nT).

No Capítulo 2 provamos que, se G é um grafo cordal então, para cada

inteiro positivo r , o grafo derivado Xr(G) também é cordal. Já que vamos

resolver nosso problema em G manipulando Xr(G), vamos apresentar uma

prova mais efetiva deste fato, explicando como obter um esquema de elimi-

nação perfeita de XT(G) a partir de um esquema de eliminação perfeita de

Considere um grafo cordal fixo G, com um esquema de eliminação perfeita

[I, 2, . . . , n] de seus vértices, e fixe um inteiro positivo r . Seja R o conjunto de

vértices do grafo derivado XT(G), isto é, o conjunto de todos os subgrafos de G

isomorfos a Kr. Os elementos de R são totalmente ordenados pela seguinte

ordem lexicográfica: para S, S' E R, consideremos S < SI se m a x S <

max SI, ou se max S = max S' = m1 e max(S - ml) < max(S1 - ml) ,

Page 93: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

ou se maxS = maxS1 = ml e max(S - ml) = max(S1 - ml) = m:! e

max(S - ml - m2) < max(S1 - ml - mz), etc. Em outras palvras, S < S'

se e somente se s < s', onde s é o maior elemento de S - S' e s' é o maior

elemento de S' - S.

Lema 4.1 Suponha que S,S1 sejam dois vértices adjacentes de XT(G), e

S < S'. Então maxS é adjacente a algum elemento de S' e m G.

Prova: De acordo com a definição de XT(G), sabemos que algum vértice

a E S é adjacente a algum vértice b E SI. Podemos assumir que a < max S,

caso contrário teríamos provado o Lema 4.1. Se além disso a < b, então rnax S

e b são adjacentes pela propriedade do esquema de eliminação perfeita. Caso

contrário temos b < a < rnax S 2 maxS1. Se max S = maxS1, então rnax S

é adjacente a b. Portanto, podemos assumir que m a x S < maxS1, e então

rnax S é adjacente a max S' pela última aplicação da propriedade do esquema

de eliminação perfeita. 0

Teorema 4.1 A ordem total < sobre R define um esquema de eliminação

perfeita sobre XT(G).

Prova: Suponha que S é adjacente em XT(G) a ambos S' e S", e S < S I ,

S < S". Devemos mostrar que S' é adjacente a 2'. Como S < S' então,

pelo Lema 4.1, maxS é adjacente a algum vértice, digamos ao vértice a,

8 1

Page 94: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

de 5''; e analogamente, como S < S", maxS é adjacente a algum vértice,

digamos b, de 9'. Podemos assumir que rnax S não pertence a S' e a S" , caso

contrário teríamos provado o Teorema 4.1; em particular, rnax S é diferente

de a e b. Se maxS < a e maxS < b então, pela propriedade do esquema de

eliminação perfeita, a e b são adjacentes e portanto S' é adjacente a S " . Logo,

podemos assumir, sem perda de generalidade, que a < maxS. Portanto,

maxS é adjacente a rnax S', ou devido ao fato de a = rnax S', ou usando

a propriedade do esquema de eliminação perfeita. Se m a x S < b então,

novamente, pela propriedade do esquema de eliminação perfeita, maxS' é

adjacente a b E S" , e portanto rnax S é adjacente a rnax S I . Caso contrário,

devemos ter maxS > b, e portanto rnax 5"'' e rnax S são adjacentes. A

conclusão segue aplicando, pela última vez, a propriedade do esquema de

eliminação perfeita aos vértices max S, max S' e max S" . O

Os pesos nos Kr's em G induzem pesos nos vértices de Xr(G), e encontrar

um conjuntos de Kr's independentes de peso máximo em G corresponde exa-

tamente a encontrar um conjunto de vértices de peso máximo em XT(G). Os

algoritmos de Frank e Farber [27, 221 podem ser usados com este propósito.

Estes algoritmos formulam o problema como um problema de programação

linear e resolvemos ambos o prima1 e o dual por uma técnica combinatória,

que produz uma solução ótima inteira.

Page 95: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

> Aseguir, vamos escrever U ~ V ( U N V ) s e u w v e u < v ( u m v e u > v).

Para aplicar estes algoritmos a Xr(G) , associamos uma variável xs a cada

S E R e formulamos o seguinte programa linear:

(P) maximizar c wsxs SER

sujeito a C x s l < 1, VS E R,

O dual D é formulado como segue:

(D) minimizar SER

Os algoritmos procedem como segue:

Algoritmo 4.1 [22]

Inicialização

Para todo S E R faça

ys := O e xs := 2.

Page 96: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

e Primeiro Passo

Para todo S E R, na ordem do esquema de eliminação perfeita, faça

Se ws > C ysl então

O Segundo Passo

Para S E R, na ordem reversa do esquema de eliminação perfeita, faça

Se xs = 2 e ys > O então

Para cada S' adjacente a S faça xsl := 0.

Como exemplo, tomemos o grafo G da Figura 4.1. Sejam wl = 1, w2 = 1,

wg = 1, wq = 2, w5 = 1, w6 = 0, w7 = 2 OS pesos dos vértices 1,2,. . . ,7

de G, respectivamente. Considere o problema de encontrar em G o conjunto

de K3's independentes de peso máximo. Os pesos dos K3's de G serão,

respectivamente, Wsl = 4, WS2 = 2, e WS3 = 5, onde SI, S 2 e S3 estão

indicados na figura e correspondem a cada K3 em G. [SI, S 2 , S3], é um

esquema de eliminação perfeita para os K3's em G. Observe que Sl < S:! <

S3, já que max(S1 -S2) = 5 < 6 = max(S2-SI) e max(S2-S3) = 6 <

7 = max (S3 - S2).

Page 97: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Figura 4.1: G e XT(G)

Indicamos abaixo o programa linear correspondente a este grafo da Figura

4.1. No que segue, em vez de xsi escrevemos xi; e em vez de ysi escrevemos

maximixar 4x1 + 2x2 + 5x3

sujeito a xl + x3 _< 1

x2 + 2 3 I 1

x3 I 1

xl,X2,x3 2 0

O dual do programa anterior está representado abaixo:

maximixar y1 + y2 + y3

sujeito a Y I > 4

> 2 Y 2 -

Y l + Y2 + Y3 2 5

91, Y z , Y 3 > 0

Page 98: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Para o grafo da Figura 4.1, no início do Algoritmo 4.1 fazemos yl = y2 =

y3 = O e xl = x2 = x3 = 2. Depois, no primeiro passo do Algoritmo obtemos

o valor das variáveis yl, y2, y3, verificando, para cada S = SI, Ss, S3, nesta

ordem, se ws é maior que a soma das variáveis ys e ys, onde S' corresponde a

um K3 adjacente a S, e S' aparece antes que S na ordem dada pelo esquema

de eliminação perfeita. Assim, para S1 temos que wsl = 4 > y~ + yg =

O . Neste caso, como 4 > 0, atualizamos ysl com o valor 4. O mesmo

procedimento é realizado para os demais S E R. Obtemos os seguintes

valores para as variáveis duais yl = 4, y2 = 2, y3 = 0.

Executando o segundo passo do algoritmo obtemos os valores das variáveis

x1>x2,x3, verificando, para cada S = S3, S2, S1, nesta ordem, se x~ = 2 e

ys > O. Em caso afirmativo, atualizamos xs com o valor 1. Como exemplo,

executamos este procedimento para o primeiro S = S3 da ordem. Observe

que x3 = 2 e y3 = 0; neste caso, não atualizaremos o valor da variável x3.

Por outro lado, para S2, verificamos que x2 = 2 e y2 = 2 > 0; portanto,

o algoritino atualiza 2 2 com o valor 1 e faz com que todos os xs , S E R

adjacentes a S2 sejam atualizados com o valor 0. No fim deste processo,

obtemos os valores xl = 1, x2 = 1 e x3 = 0.

Observe que como x1 = 1 e x2 = 1, S1 e S2 foram os K3's escolhidos,

correspondendo ao conjunto de K3's que maximizam o peso total de K3's

independentes, para o grafo da Figura 4.1.

Page 99: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

4.3 Um algoritmo direto

Observe que o algoritmo acima pode ser facilmente implementado sem

ter que explicitamente gerar o grafo Xr(G) - já que sabemos como ir de um

S E R ao próximo (como explicado acima), para decidir se S < S' ou S' < S ,

e para testar se S, S' são adjacentes (veja o Lema 4.1).

No entanto, podemos poupar algum trabalho na execução do algoritmo

acima, e simplificar os programas lineares P, D, considerando uma outra

formulação. Para isso, vamos introduzir algumas notações.

Para i = 1,2, . . . , n, definimos o conjunto F; como sendo o conjunto de

todos OS vértices j , com j 2 i e j adjacente ou igual a i. Devido à propriedade

do esquema de eliminação perfeita, cada Fi é uma clique do subgrafo Gi

induzido pelos vértices i, i + 1, . . . , n. E fácil ver que cada Fi é uma clique

maximal de G;, e portanto, toda clique maximal de G pertence a coleção

{Fl, F2,. . . , Fn). Para cada S E R, seja Is o conjunto de todos os índices i

tal que Fi intercepta S, i.e., Is = {i(F, n S # 0).

Seja 3 um conjunto de Kr's independentes, e seja w(3) = CsET ws. Defi-

nimos

fl(G, r ) = max(w(3) 1 3 é um conjunto de Kr's independentes}

Nosso objetivo aqui é maximizar o peso total de um conjunto de Kr's

independentes, ou seja, estamos interessados em encontrar o valor de f '(G, r).

87

Page 100: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Temos agora, os seguintes programas:

(Pl) maximizar SER

sujeito a xs < 1, Vi = 1,2 , . . . ,n, (4.5) si E I s

xs 2 O, VS E R. (4.6)

Observe que este novo programa Pl tem, em geral, menos restrições, já

que temos uma restrição para cada vértice de G, em vez de termos uma

para cada KT de G. Além disso, qualquer solução inteira (xs : S E R), tem

os KT)s escolhidos (aquelas S E R para as quais xs = I) independentes,

já que nenhuma clique maximal de G contém vértices de mais do que um

S. Portanto Pl calcula a relaxação fracionária do correspondente programa

inteiro.

Observe que a restrição (4.2) foi substituída pela restrição (4.5), que serve

para garantir que se dois KT's são adjacentes então apenas um deles pode ser

escolhido. Para verificar isso, considere as cliques F, = { j l j 2 i), i = 1 . . . n.

É claro que quaisquer dois KT's adjacentes são interceptados por um mesmo

Fi. A restrição (4.5) portanto diz que podemos selecionar no máximo um KT

da coleção de KT's mutuamente adjacentes interceptados por Fi.

O dual tem agora menos variáveis:

Page 101: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

(D1) minimizar c Yi sujeito a C yi 2 ws, VS E R, (4.7)

i € I s

yi>0, ~ i = 1 , 2 , . . . , n. (4.8)

Uma análise cuidadosa do algoritmo anterior revela que podemos subs-

tituir todas as variáveis ys com o mesmo max S por uma variável yi, onde

i = max S , executando o seguinte algoritmo:

Algoritmo 4.2

o Inicialização

Para todo S E R faça

Para todo i = 1,. . . , n faça

o Primeiro Passo

Para todo i = 1,. . . , n faça

Seja Mi := max {ws - C ~ j } SER, i=maxS

j€Is,j<i

Se Mi > O então yi := Mi

Page 102: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Segundo Passo

Para i = n, . . . , 1 faça

Se i = m a x S , xs = 2 e yi > O então

xs := 1, onde S é um KT que fez com que yi > O

Para cada S' adjacente a S faça xsl := 0.

Antes de provarmos nossas afirmações, fazemos as seguintes observações:

Lema 4.2 S e yi > O então xs = 1 para algum S c o m F, í l S # 0.

Prova: Suponha que tenha sido S E R com i = maxS o KT que ocasionou

a atualização de yi = M > 0. Ou xs = 1 quando percorremos i (e Fi

intercepta S), ou já havíamos atualizado xs = O devido a algum X ~ I = 1 com

i' = max S' 2 i . Argumentamos agora que algum vértice de S' é adjacente a

i, e portanto F; n S' # 0. Na verdade, sabemos que algum vértice a de S' é

adjacente a algum vértice b de S . Se a 5 b, então b é adjacente a i' devido

ao EEP, e portanto i é adjacente a i' pela mesma razão. Se a > b então a é

adjacente a i por um argumento similar. O

Corolário 4.1 O Segundo Passo do Algoritmo associa um valor O ou 1 para

cada xs, com S E R.

Page 103: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Prova: A restrição para S, i.e., CiEiS yi > ws, implica que algum i E Is tem

yi > O. De acordo com o lema acima, isto quer dizer que X ~ I = 1 para algum

S I que intercepta Fi. Se S = S' então xs = 1, senão X S J = 1, já que S I é

adjacente a S e xs = 0. O

Teorema 4.2 O s inteiros yi correspondem a u m a solução ó t ima de Pl, e os

inteiros xs correspondem a u m a solução ótima de D1.

Prova: Ambos xs e yi são soluções viáveis para Pl, respectivamente D1.

Além disso, satisfazem as condições do princípio da complementaridade de

folga:

se xs > O então yi > 1 onde i = maxS, pela escolha de xs , e portanto

CiEISiii y j = WS, pela escolha de xs.

se yi > O então o Lema 4.2 implica que CiEIs xs > 1, e então CiGIs xs =

1 (pelo fato da solução prima1 ser viável).

O teorema agora segue do princípio da complementaridade de folga.

Os algoritmos descritos acima são aplicados para um dado grafo cordal

G. No primeiro algoritmo usamos o fato que se G é cordal, então Xr(G)

91

Page 104: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

é também cordal. Mas observamos que o algoritmo também funciona para

um grafo G (possivelmente que não seja cordal) cujo grafo derivado F ( G ) é

cordal.

4.3.1 Implicações para a versão sem pesos do problema

Nesta seção propomos um novo algoritmo para calcular a (G , r ) e K(G, r),

basados nas restrições (4.5)) (4.6), (4.7) e (4.8).

O algoritmo não é tão eficiente quanto o apresentado no Capítulo 2, mas

é mais simples de descrever, e gera uma nova prova do Teorema 2.1.

E fácil ver que quando todos os pesos dos Kr's são 1, (4.5) e (4.6) cal-

culam a relaxação de a(G, r ) , e (4.7) e (4.8) calculam relaxação de K(G, r).

Logo o Teorema 2.1 segue do Teorema 4.2 e do Teorema da Dualidade de pro-

gramação linear. Para tornar esta seção independente e para fornecer uma

prova elementar e própria do Teorema 2.1 apresentamos uma prova direta.

O algoritmo abaixo calcula ambos a(G, r) e K(G, r) para um inteiro fixo r,

r > 1 e qualquer grafo cordal G. Isto é realizado construindo um conjunto

de s cliques que cobrem todos os Kr's, e um conjunto de s KT's que são

independentes. Como a (G, r) < K(G, r ) , isto prova o resultado.

Page 105: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

As cliques que cobrem todos os KT's serão do tipo Fi = { j l i 5 j } . Iremos

escolher um conjunto A de vértices de G tal que a coleção de cliques Fi,

i E A, cobrirão todos os Kr's. Nós também selecionaremos um conjunto B

de KT's que são independentes. O algoritmo é apresentado a seguir.

Algoritmo 4.3

Assuma que G é um grafo corda1 com um esquema de eliminação perfeita

[I, 2 , . . . ,n].

Inicialize A = 0 e B = 0.

Para i = 1 , 2 , . . . , n,

0 Se i = max S para algum S E R tal que A não contém nenhum vértice

j 5 k , para algum k E S, então

- adicione i a A, e

- adicione S a B.

(Se houver várias possibilidades para S escolhemos qualquer uma

delas).

Lema 4.3 As cliques Fi, i E A, cobrem todos os KT L; de G, e os KT 's no

conjunto B são independentes. Além disso, JAJ = IBI.

Page 106: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Prova: É claro que IA1 = IBI, e que as cliques Fi correspondentes a A

cobrem todos os KT's em G. Resta mostrar apenas que os KT's em B são

independentes. Suponha que algum S que foi selecionado seja adjacente a al-

gum S' selecionado previamente. Seja s = max S e s' = max S'. Logo ambos

s e s' estão em A, e s' < S. Mostramos agora que, usando as propriedades do

esquema de eliminação perfeita, se algum j' E S' é adjacente a algum j E S ,

então Fsf contém um vértice de S, contradizendo o foto de que s foi escolhido

para A.

Temos que considerar os seguintes casos:

Caso I. j > s'.

Neste caso ambos j e s' são adjacentes em Fjl e portanto devem ser

adjacentes. Logo F,I contém um vértice j de S.

Caso 11. j' < j < s'.

Ainda estamos no caso em que ambos j e s' estão em Fj, e portanto são

adjacentes. Contudo, neste caso Fj contém s' ao invés da situação do Caso

I. Ainda assim, Fj contém s e portanto F,, também contém s E S.

Caso 111. j < j'.

Os vértices j' e s são adjacentes, já que Fj contém ambos. Logos os

vértices s e s' são adjacentes, já que Fj/ contém ambos. Logo F,I contém

s E S. O

Page 107: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

O Teorema 2.1 segue diretamente do Lema 4.3. Basta calcularmos

a(G, k + 1) e verificarmos se a (G, k + I) > 1. Em caso afirmativo G não

um grafo-(k, I ) , caso contrário, o grafo G' obtido de G removendo todos os

vértices nas cliques Fi, i E A, é k-colorível, e portanto podemos particionar

os vértices de G em 1 cliques e em k conjuntos independentes, desde de que

esses k conjuntos induzam um k coloração de G'.

Page 108: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Capítulo 5

Lonclusao

Neste trabalho apresentamos novos resultados de partições em grafos cor-

dais. No Capítulo 2 deste trabalho, apresentamos uma caracterização para

os grafos cordais-(k, 1) através de subgrafos proibidos, mais especificamente,

provamos que um grafo corda1 é (k, 1) se e somente se não possui um subgrafo

induzido isomorfo a (1 + 1) Kk+l. Além disso, apresentamos um algoritmo para

reconhecer tal classe de grafos. Apresentamos ainda, um algoritmo para re-

conhecer grafos cordais-(k, 1) para k = 1. Particularizamos este último para

o caso em que 1 = 1, apresentando um novo algoritmo para reconhecer grafos

split, que implica a conhecida caracterização de grafos split. No Capítulo 3

apresentamos alguns resultados obtidos para os problemas da M-partição e

da M-partição com listas para grafos cordais. Mais especificamente, mostra-

mos que se a diagonal principal da matriz M consistir apenas de O então o

problema da M-partição com listas em grafos cordais pode ser resolvido em

tempo polinomial, da mesma forma, mostramos que se todos os elementos

Page 109: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

da diagonal principal da matriz &f consiste de 1 então este mesmo problema

também pode ser resolvido em tempo polinomial. Apresentamos também

algoritmos polinomiais com complexidade O(m + m) para resolver o último

problema anteriormente citado, no caso em que os elementos fora da diagonal

principal são todos *. Além disso, consideramos o problema da matriz M

onde a diagonal principal consiste de I 1's e um único valor 0, e ta1 que os

elementos fora da diagonal principal são todos *, e apresentamos um algo-

ritmo com complexidade O(m + m) para resolver tal problema. Como caso

particular deste último, consideramos o caso em que 1 = 1, o que corresponde

ao caso de reconhecer grafos split com listas. Apresentamos um algoritmo

para tal problema, seguido de um teorema de caracterização para tal classe

de grafos por subgrafos proibidos. Ainda neste capítulo, mostramos um pro-

blema de M-partição cujo reconhecimento permanece NP-completo mesmo

para grafos cordais. No Capítulo 4, descrevemos o problema de encontrar

um conjunto de KT's independentes de peso total máximo num grafo corda1

como um problema de programação linear. Apresentamos um algoritmo para

resolver tal formulação provando que a solução obtida por esse algoritmo é

ótima. Quando os pesos de todos os vértices são iguais a um, tal problema

consiste em encontrar o conjunto de KT's independentes de cardinalidade

máxima, ou equivalentemente, a(G, r), definido no Capítulo 2. O dual deste

último problema mencionado consiste em encontrar um conjunto de cliques

que interceptem todos os KT's de cardinalidade mínima, o que equivale a

K(G, r) , também definido no Capítulo 2. Mencionamos que a versão com pe-

Page 110: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

sos deste último problema aparece no contexto de dominação em grafos, e é

NP-completo para certas classes de grafos, como por exemplo, grafos cordais.

Trabalhos Futuros

Caracterizar grafos cordais-(k,l) com listas de tamanho 1 ou kt-1 através

de uma família subgrafos induzidos.

Resolver o problema da M-partição com listas para matrizes consis-

tindo de * na diagonal principal e restrições do tipo 0, 1 ou ;i: fora da

diagonal principal.

Reconhecer grafos-(k, 1) para outras classes de grafos, como por exem-

plo, para grafos de comparabilidade.

No Capítulo 4 formulamos o problema de reconhecer grafos cordais-

(k, 1) através de programação linear. Mostramos como resolver este

problema de duas formas, uma delas utilizava o grafo XT(G) derivado

de G. Observamos que neste caso não necessitávamos da cordalidade de

G mas de X' (G) . Portanto, seria interessante caracterizarmos grafos H

tais que XT(G) seja cordal, já que o nosso algoritmo também se aplicaria

a estes grafos, resolvendo assim o problema de grafos-(k, I) para uma

classe ainda maior de grafos a qual inclui a dos grafos cordais.

e Construção de um algoritmo linear para o reconhecimento de grafos

cordais- (k , 1) .

Page 111: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

5 . 2 Produção Acadêmica Durante o Doutorado

5.2.1 Artigos completos publicados em periódicos

1. E. S. LABER, L. T. NOGUEIRA. On the Hardness of the Minimum

Height Decision Tree Problem. Discrete Applied Mathematics, 2003.

2. P. HELL, S. KLEIN, L. T. NOGUEIRA, F. PROTTI. Partitioning

Chordal Graphs into Independent Sets and Cliques. Discrete Applied

Mathematics. Aceito: 2003

3. P. HELL, S. KLEIN, L. T. NOGUEIRA, F. PROTTI. Packing Kr's in

Weighted Chordal Graphs. Annals of Operational Research. Submit-

ted: 2002.

4. P. HELL, S. KLEIN, L. T . NOGUEIRA, F. PROTTI. Particionamento

de Grafos Cordais em Conjuntos Independentes e Cliques. Tendências

em Matemática Aplicada e Computacional. Brasil: v.3, n.1, p.147 -

155, 2002.

5.2.2 Trabalhos completos publicados em anais de evento

1. P. HELL, S. KLEIN, L. T. NOGUEIRA, F. PROTTI. Independent Kr's

in Chordal Graphs In: Latin-Iberian American Congress of Operations

Research, 2002, Concepción. Proceedings of the XI CLAIO. ALIO

Page 112: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Asociación Latino-Iberoamericana de Investigación Operativa. v.A23-

03. p.1 - 11

5.2.3 Resumos publicados em anais de evento

1. P. HELL, S. KLEIN, L. T. NOGUEIRA, F. PROTTI. Independent

Kr's in Chordal Graphs (abstract) In: Latin American Workshop on

Cliques of Graphs, Rio de Janeiro, 2002. Proceedings. v.1. p.17.

2. P. HELL, S. KLEIN, L. T. NOGUEIRA, F. PROTTI. Particionamento

de Grafos Cordais em Conjuntos Independentes e Cliques In: XXIV

CNMAC, Belo Horizonte, 2001. Anais. v.1. p.66.

3. E. S. LABER, L. T. NOGUEIRA. Fast Searching in Trees In: GRACO

2001, 2001, Fortaleza. Eletronic Notes on Discrete Mathematics. 2001.

4. E. S. LABER, L. T. NOGUEIRA. On the Hardness of the Minimum

Height Decision Tree Problem In: COSSAC, 2001, Ischia. Proceedings

o f COSSA C.

5.2.4 Resumos expandidos publicados em anais de evento

1. P. HELL, S. KLEIN, L. S. NOGUEIRA, F. PROTTI. On generalized

split graphs In: GRAC0'2001, Fortaleza. Eletronic Notes in Discrete

Mathematics. Amsterdam: Elsevier, 2001. v.7. p.1 - 4.

Page 113: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Apêndice A

Apêndice do Capítulo 3

Para determinadas classes de grafos, algoritmos específicos podem ser de-

senvolvidos de modo a resolver o problema com complexidade computacional

bem menor do que a esperada para grafos em geral. As árvores constituem

uma classe de especial de grafos onde isso ocorre. Observemos que uma

árvore não possui ciclos, e logo tal característica mostra-se extremamente

favorável para aplicação de algoritmos recursivos, por exemplo. Basta notar

que diversas estratégias gerais de resolução buscam o espaço viável de so-

luções através de uma árvore, como no caso da programação dinâmica e da

divisão-e-conquista; além disso, algoritmos comuns de busca em grafos, como

busca em largura e busca em profundidade, percorrem o grafo formando uma

árvore.

Infelizmente, a maior parte dos problemas não são modelados em árvores,

o que inviabiliza tal abordagem. Uma estratégia interessante seria então

estender o tratamento natural dado às árvores para outras classes de grafos,

Page 114: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

e, finalmente, para todos os grafos. Claramente, é esperado que, na medida

em que o grafo seja menos "semelhante" a uma árvore, a complexidade de

um algoritmo para este grafo seja maior, mais próxima da exponencial; por

outro lado, a complexidade poderá ser polinomial, ou mesmo linear, quanto

mais "similar" a uma árvore o grafo for.

A decomposição em árvore de um grafo G tem a finalidade de estabelecer

relações estruturais num grafo de forma que este se assemelhe a uma árvore.

Constitui-se da relação entre subgrafos de um grafo G e nós de uma árvore

de modo que o conjunto de arestas de G seja particionado numa estrutura

em árvore.

A.1 Decomposição em Árvore

Como foi mencionado anteriormente, a decomposição em árvore tem a

finalidade de estabelecer relações estruturais num grafo de forma que este se

assemelhe a uma árvore. O conceito formal de decomposição em árvore foi

apresentado por Robertson e Seymour [38]:

Page 115: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Definição A . l (Decomposição e m árvore). Uma decomposição e m árvore

(DEA) D de u m grafo G = (V, E ) é u m par ( X , T ) , onde T = ( I , F ) é u m a

árvore, e X = {Xi : i E I ) , é uma familia de subconjuntos de V , um para

cada n ó de T , tais que:

2. para toda aresta (u, v ) E E, existe u m i E I tal que u E Xi e v E Xi;

3. para todo i, j , k E I , se j está no caminho entre i e k e m T , então

xi n xk ç xj.

A terceira condição da definição de decomposição em árvore é equivalente

a seguinte condição:

1. Para todo v E V , o conjunto de nós { i E I : v E Xi) é conexo em T ,

i.e. induz uma subárvore.

Para diferenciar os vértices do grafo G e vértices de T numa D E A de G,

vamos chamar os vértices de T de nós e seus correspondentes Xi de bolsas. O

tamanho máximo de uma bolsa numa D E A de G menos um é chamada lar-

gura (treewidth) dessa decomposição. A largura da árvore, ou simplesmente

largura, de um grafo G é a menor largura dentre todas as possíveis decompo-

sições em árvore de G. A Figura A.1 mostra um grafo G e sua decomposição

em árvore de largura 3.

Page 116: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Figura A.l : Um grafo e uma de suas decomposições em árvore

Um problema importante é determinar, dados um grafo G e um inteiro

k , se a largura de G é no máximo k. Este problema é NP-completo [3]

mesmo para grafos de grau máximo nove, grafos bipartidos e grafos de co-

comparabilidade [10]. Para grafos cordais é conhecida a seguinte caracteri-

zação:

Lema A.1 G é cordal se e somente se G tem uma decomposição em árvore

cujas bolsas são cliques. 0

Vale deixar claro que a largura de um grafo cordal é o tamanho de sua

maior clique menos um. Portanto, determinar a largura de um grafo cordal

pode ser feito em tempo linear, já que encontrar a sua maior clique também

o pode ser.

Um grafo G é dito uma k-árvore [39] se G é uma k-clique ou se G tem um

vértice u de grau k tal que u é adjacente a uma k-clique, e o grafo obtido pela

104

Page 117: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

remoção de u é novamente uma k-árvore. Um grafo G é dito uma k-árvore

parcial se G é subgrafo de uma k-árvore.

Lema A.2 (Van Leewuvwen [43]) G é u m a k-árvore parcial se e somente se

G t e m largura n o máximo k . O

Muitos problemas intratáveis são resolvidos em tempo polinomial para

k-árvores parciais. O problema do número cromático é um deles.

Usamos um tipo especial de decomposição em árvore para representar k-

árvores parciais. Vale a pena deixar claro que o termo k utilizado na definição

de k-árvores não corresponde ao mesmo k utilizado na definição de grafos-

(k, I ) . Mantivemos tal termo para não alterar a forma como tais classes de

grafos são apresentadas na literatura. Para não haver confusão de notação,

todas as vezes que nos referimos à classe dos grafos-(k, l ) , os valores k e 1

serão referenciados por letras maiúsculas, ou seja grafos-(K, L).

Definição A.2 Uma boa decomposição em árvore de largura k para u m

grafo G = (V, E) é u m par (T, X ) onde T é u m a árvore orientada com n o

máximo dois filhos por n ó e X = {Xt : Xt C V, t E V(T)) tais que:

i. UiFIIXi = v;

2. para toda aresta (u, v ) E E, existe u m i E I tal que u E Xi e v E Xi;

105

Page 118: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

3. para todo i , j , k E I , se j está no caminho entre i e k e m T , então

xi n X,$ c xj;

4. IXtl 5 k + 1 para todo t E V(T);

5. Xi = Xk = Xj se i E T t e m dois filhos j e k (i é chamado u m n ó

junção) e

6. Se j é o único filho de i e m T então existe u m vértice v E V ( G ) tal que

,% = Xj U {v) (i é chamado u m n ó introdução) ou Xj = Xi U {v} (i

é chamado u m n ó saída ou remoção).

Uma boa decomposição em árvore para o grafo da Figura A . l pode ser

vista na Figura A.2.

D P G *

Figura A.2: Boa decomposição em árvore para o grafo da Figura A . l

Este tipo de decomposição em árvore é muito útil para lidar com k-árvores

parciais eficientemente.

O seguinte fato é fácil de ser provado [40]:

Page 119: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Lema A.3 Dada u m a decomposição e m árvore de largura k para u m grafo G,

então u m a boa decomposição e m árvore de mesma largura pode ser construida

e m tempo linear. Esta decomposição e m árvore t e m n o máximo O(IV(G) I)

nós. O

Em [7] Bodlaender mostrou que uma decomposição em árvore de largura

constante k pode ser construida em tempo linear para um grafo, caso exista.

Portanto, dado um grafo que tem largura de árvore no máximo k , obtemos

uma boa árvore de decomposição com largura k em tempo linear. Tal boa

decomposição em árvore nos dá um método de reconstruir o grafo consecu-

tivamente através de operações simples, começando por grafos pequenos de

tamanho no máximo I% + 1.

Sejam TI, T2, . . . , T, as subárvores de uma decomposição em árvore de G

formada pela remoção de um nó z da decomposição em árvore e sejam V,,

1 5 i 5 p, os conjuntos dos vértices de G que pertencem às bolsas dos nós de

Ti excetuando-se aqueles que aparecem em X,. Temos a seguinte propriedade

da decomposição em árvore de G:

Lema A.4 O conjunto X, é u m separador para G. Mais precisamente, após

a remoção de IY, de G, não existe nenhuma aresta entre V , e V,, i # j .

Page 120: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

A.2 Utilização de Programação Dinâmica para resolver problemas N P-difíceis

Muitos problemas NP-completos possuem algoritmos com complexidade

linear ou polinomial quando restritos a grafos de largura limitada. Existem

várias técnicas para se obter tais algoritmos. A técnica principal é chamada

computação de tabelas de caracterizações de soluções parciais. Esta técnica

é uma abordagem da programação dinâmica, inicialmente introduzida por

Arnborg e Proslturowski [37], que a utilizaram para resolver problemas NP-

difíceis. Esta técnica também apareceu num artigo escrito por Bern et al.

[G] . Bodlaender [8] apresentou uma descrição mais detalhada desta técnica.

Nesta seção, damos uma visão geral da descrição de Bodlaender do mé-

todo de Arnborg e Proskurowslti que pode ser resolvido por esta abordagem.

O leitor pode verificar o artigo original [8] para mais detalhes e para outros

artigos [I, 371 para mais exemplos.

Usando uma boa decomposição em árvore, o algoritmo pode ser descrito

em termos gerais. Calculamos para cada nó x de uma DEA de G uma

certa tabela. Para calcular tal tabela para o nó z, usamos apenas as tabelas

construídas para seus filhos (caso existam) e a estrutura de G restrita as

bolsas de x (1%). Realizamos este cálculo na ordem reversa, isto é, das folhas

para a raiz. Para resolver o problema original, analisamos as tabelas na raiz

r da DEA de G.

Page 121: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Para explicar que tipo de tabelas devem ser calculadas, precisamos de

mais algumas definições. Definimos o subgrafo terminal G[,] para um nó x de

DEA de G como sendo o subgrafo de G induzido pelos vértices de X, e as

bolsas dos descendentes de x em DEA(G). Por exemplo, o subgrafo terminal

G[,] para um nó z pode ser visto na Figura A.2. Uma propriedade importante

de um subgrafo terminal GIZ] é que como X, é um separador para G (Lema

A.4) não existe nenhuma aresta entre V(G) - V(Giz1) e V(GlzI) - X,.

Estamos prontos para apresentar de maneira mais precisa o restante do

algoritmo descrito no artigo de Bodlaender [8]. Assumimos que seja dado um

problema P em grafos. Demonstramos o significado de cada passo quando

P é o problema da k-coloração, em que desejamos determinar se é possível

colorir os vértices de um grafo G com k cores tal que vértices adjacentes

possuam cores diferentes.

Passo 1: Defina uma forma geral da solução do problema P.

Por exemplo, no problema da k-coloração, a solução é uma função

f : V(G) + {1,2,. . . , k), tal que V(u,v) E E(G) : f (u) # f (v).

Passo 2: Defina uma solução parcial. Uma solução parcial é uma restrição

da solução a um subgrafo terminal GIZl Intuitivamente, a solução parcial

descreve a possível estrutura de uma solução para G, quando consideramos

apenas o que ocorre em G,,]. No problema da k-coloração, a solução parcial

é uma k-coloração dos vértices do subgrafo terminal G[,], i.e. uma função

Page 122: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Passo 3: Defina uma extensão de u m a solução parcial. Demonstramos a

relação entre um solução parcial e uma solução. Este passo é geralmente

muito simples. Por exemplo, para o caso da k-coloração, uma função f de

G é uma extensão de uma solução parcial f' para o subgrafo termina1 G,,]

se e somente se f' é a restrição de f a V(GIzl).

Passo 4: Defina uma caracteristica de uma solução parcial. Uma caracte-

rística é parte crucial de uma solução parcial necessária para determinar se

a solução parcial pode ser ou não estendida a uma solução. Se duas soluções

parciais possuem a mesma característica então uma delas pode ser estendida

a uma solução se e somente se a outra também pode. Na k-coloração a

caracteristica de uma solução parcial f' : V(G[,]) -+ {1,2, . . . , k) de um

subgrafo terminal Gfz1 é a restrição de f' a X,. A atribuição de cores aos

vértices de X, é tudo o que precisamos para determinar como uma solução

parcial do subgrafo terminal G[,] pode ser estendido a uma solução. A

corretude desta característica segue do fato de que como X, é um separador

em G, não existem arestas de E(G) entre um vértice em V(G[,]) - X, e um

vértice em V(G) - V(G[,]).

Passo 5: Mostre que para cada um dos três tipos de nós da DEA de G, po-

110

Page 123: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

demos eficientemente construir em tempo polinomial o conjunto completo de

caracteristicas para um subgrafo terminal GIZ] a partir de um conjunto com-

pleto de características para seus filhos (caso existam). O conjunto completo

de caracter2sticas para um subgrafo terminal G[,] é o conjunto de todas as ca-

racterísticas de soluções parciais de G. Intuitivamente, o conjunto completo

de características para um subgrafo terminal GIZ] é o que precisamos saber

sobrc G[,] quando resolvermos o problema P. Uma tarefa importante neste

passo é mostrar que a cardinalidade do conjunto completo de características

para cada subgrafo terminal é polinomial. Na k-coloração de uma k-árvore

parcial G, para cada nó z, IX,I 5 k + 1 e portanto o conjunto completo de

características tem no máximo kk+l elementos, que é uma constante quando

tk é constante. Para construir o conjunto completo de características para

um nó separador z temos o seguinte lema:

Lema A.5 Seja z u m n ó separador e z' seu filho. U m função caractenls-

tica f : IY, 4 (1,2, . . . , t k ) pertence a um conjunto completo de caracteris-

ticas para z se e somente se existe u m a função caracterz'stica f' : X,I -i\

{1,2, . . . , k) pertencente ao conjunto completo de caracteristicas para 2' tal

que f é a restrição de f' a X,. (81

A prova segue do fato de que como x é um nó separador, X, C X,I, e por-

tanto Gkl = GIZlI. Usando este lema, pode-se construir o conjunto completo

de características para um nó separador a partir do conjunto completo de

características de seus filhos. Logo, podemos construir o conjunto completo

11 1

Page 124: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

de características para qualquer nó na DEA de G.

Passo 6: Mostre que usando o conjunto completo de características para

a raiz r de DEA de G, podemos resolver o problema eficientemente. Por

exemplo, no caso particular da k-coloração, G é k-colorível se e somente se

o conjunto completo de características para a raiz é não-vazio (a solução

parcial correspondente a esta característica é na verdade uma solução). Esta

condição pode ser verificada eficientemente.

Abordagens similares a esta que utilizamos para resolver a k-coloração po-

dem ser usadas para muitos problemas combinatórios, por exemplo, conjunto

independente máximo, conjunto dominante mínimo e cobertura mínima de

vértices [2, 7, 81. Os passos mais importantes destes algoritmos são encon-

trar a escolha certa de características e mostrar que a cardinalidade de cada

conjunto completo de características é polinomial.

A.3 Resolvendo o problema da coloração com listas para grafos com largura limitada

Uma coloração de um grafo G com m cores é uma partição C =

(C1,. . . ,C,) de seu conjunto de vértices V(G) em m conjuntos indepen-

dentes. Os conjuntos C; contêm exatamente os vértices que foram coloridos

com a cor i. Se um subconjunto de vértices Wi está pré-colorido com a cor

i, temos que completar a condição adicional Wi 5 Ci (para 1 < i < m).

Toda coloração C = (Ci, . . . , C,) de um grafo H induz uma coloração em

112

Page 125: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

qualquer um de seus subgrafos H' de uma forma bem natural. Esta é sim-

plesmente a partição em conjuntos independentes C' = (C;, . . . , C,), onde

C: = Ci í l V(H1) para todo i. Observe que isso independe do conjunto de

arestas E(H1) do subgrafo. Claramente, a coloração induzida é própria se

a coloração original de H é própria. Além disso, a coloração é respeitada

no subgrafo se também o for no grafo todo. Uma coloração C é dita viável

se ela é própria e se estende à pré-coloração dada. Consideramos todas as

possíveis colorações dos subgrafos Gt C G que correspondem aos nós da de-

composição em árvore de G. Como cada conjunto X; é um separador, temos

a seguinte propriedade que nos permite definir uma relação de equivalência

sobre o conjunto das colorações:

Lema A.6 Uma coloração viável C = (C1,. . . ,Cm) de Gt é estendivel a G,

se e somente se a coloração H = (H1,. . . , Hm) induzida p o ~ C nos terminais

St é estendivel a u m a coloração viável de G\(V(Gt)\Xt).

Definição A.3 Dizemos que a coloração H = (Hi , . . . ,Hm) induxida e m

& por uma coloração C = (Cl, . . . ,C,) de (Gt, Xt) é a cabeça de C , onde

Hi = C; n IY, é a restrição da classe de cor ao conjunto de terminais para

todo i .

Duas colorações C = (Cl,. . . ,Cm) e C' = (C:, . . . , C,) de u m grafo

terminal (Gt, Xt) são equivalentes se suas cabeças H = (Hl, . . . , H,) e I?' =

(H:, . . . , H,) são iguais, isto é, para todo i, H; = H,'.

Page 126: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Lema A.7 O nlimero de classes de equivalência de m-colorações de um grafo

terminal (Gt , Xt) é n o máximo mkf l .

O algoritmo de decisão para o problema da coloração com listas segue

uma abordagem da programação dinâmica e colore os subgrafos Gt na ordem

contrária, isto é, das folhas para a raiz. A eficiência deste algoritmo se deve ao

fato do número de classes de equivalência ser limitado. Definimos a seguinte

função para colorações de Xt:

Definição A.4 F~(H) = verdadeiro (V) se existe u m a coloração viável de

Gt com cabeça H , F~(H) = falso (F) caso contrário.

Claramente, esta definição faz com que o grafo G tenha um coloração

viável, se e somente existir uma coloração H do conjunto terminal X, corres-

pondendo a raiz r tal que F,(H)=v. Calculamos as funções ft para todos os

nós t da decomposição em árvore. Isto é feito recursivamente de baixo para

cima, isto é, começando pelas folhas até a raiz. Graças ao Lema A.6 o valor

I ; ~ ( H ) é determinado localmente pelos valores F~(H) (e F,/ (H)) para o(s) fi-

l ho ( ~ ) de t e pela viabilidade de H no conjunto terminal Xt. Portanto, apenas

um número limitado de passos é necessário em cada nó t da decomposição

em árvore. Na verdade, temos o seguinte teorema:

Teorema A.l O problema da coloração com listas pode ser resolvido e m

tempo linear e m k-árvores parciais, se o número de cores é limitado por u m a

constante m.

Page 127: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Prova: Mostramos que o algoritmo a seguir resolve o problema considerado

corretamente.

Algoritmo A . l Coloração com listas para grafos c o m largura limitada

Entrada: U m grafo G com u m a boa decomposição e m árvore (T, X ) de

largura k , u m inteiro m, u m a pré-coloração própria de W C V .

Saida: Sim, se e somente se a pré-coloração pode ser estendida propria-

mente a V .

para todos os nós t E V(T) das folhas até a raiz faça

para todas as colorações H de Xt faça

caso folha: Se H é viável e m Xt então ft(H) := V;

caso saída: s := filho de t; v := único vértice E Xs\Xt;

para i = 1 a m faça se fs(Hl,. . . , Hi U {v), . . . , H,) = V

então ft(H) := V; fim-para;

caso introdução: s := filho de t ; v := único vértice E Xt\Xs;

se H é viável e m Xt então ft(N) := fs(H\{v));

caso junção: s e s' := filhos de t; ft(H) := f S ( H ) ~ fsl (H);

fim-para; fim-para;

para todas as colorações H de X, faça {para a raiz r de T)

se L(H) = V então retorne SIM; Pare; fim-para;

retorne NÃO.

Page 128: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

O algoritmo percorre todos os nós da decomposição em árvore das folhas

para a raiz. Logo, a função f, já está calculada no(s) filho(s) antes do cálculo

em um nó t começar. Em todo nó t o valor ft é calculado para todas as

possíveis colorações H de Xt. Logo o loop(2) é executado no máximo mk+l

vezes para cada nó t. Observe que este limite se reduz a mk, se t é um nó

saída. Dentro do loop (2) um dos quatro casos (linhas (3), (4), (5) ou (6)) é

executado dependendo da estrutura local na decomposição em árvore:

Nó Folha: Numa folha, Gt tem no máximo k + 1 vértices. Portanto,

a viabilidade de H é testada em tempo constante. f t (H) = V, se e

somente se vértices adjacentes a Xt estão em classes de cor diferentes

H; e Hj e a pré-coloração de Xt é respeitada, isto é, Wi n Xt c Hi para

todo i. Isto pode ser verificado em O(k2) para grafos com no máximo

k + 1 vértices. Este caso corresponde à linha (3) do algoritmo.

Nó Saída: Linha (4) correspondente ao caso quando o grafo Gt é

igual ao grafo G, no seu filho, mas um vértice já não faz mais parte

do conjunto terminal. Aqui ft(l?) = V, se e somente se existe no

mínimo uma extensão possível de H a X, com f,(H) = V, onde s é o

filho de t. Tomamos uma possível extensão para X, colorindo o único

vértice v E X,\Xt com qualquer cor. Portanto, f t (Hl , . . . ,H,) =

Um Z=I f s (Hl , . . . , Hi U {v), . . . , H,). Temos que procurar por no máximo

m valores f, (H') para calcular um ft (H).

Page 129: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Nó Introdução: Este caso é semelhante ao anterior. Mas agora temos

um novo vértice v no conjunto pai que não está contido no subgrafo

G,. Temos então que verificar se a coloroção é própria em Xt. Temos

que f t ( ~ ) = V, se e somente se H é viável em Xt e f , (H1) = V para

a restrição para X,, onde H: = Hi n X , = Hi\{v) para todo i. Logo,

temos que procurar um valor f,(H') e verificar a pré-coloração de v e

se v tem uma outra cor diferente da dos seus vizinhos, onde v é o único

vértice com v E Xt\X,. Este cálculo necessita de O ( k ) operações por

coloração de Xt na linha (5) do algoritmo.

Nó Junção: Se o nó t tem dois filhos s e s', o conjunto terminal Xt

separa o grafo Gt nas partes Gt\Xt e G,,\Xt. Observe que s e s' não são

conectados por arestas. Consequentemente, f t (H) = f , (H) A f s ) ( H ) .

Claramente, uma operação por coloração é suficiente na linha (6) do

algoritmo.

A complexidade do Algoritmo A.1 é determinada pelo número de nós

da decomposição em árvore. Para cada nó t E V ( T ) , um número

constante de no máximo c.mk+'.k2 operações é realizado. No total, o

algoritmo necessita de tempo linear O ( JVI ) .

Page 130: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Referências Bibliográficas

[I] J. ALBER, H. L. BODLAENDER, H. FERNAU, and R. NIEDER-

MEIER. Fixed parameter algorithms for planar dominating set and re-

lated problems. In Bergen, editor, Algorithm Theory, 7th Scandinavian

Workshop on Algorithm Theory (SWAT 2000), pages 97-110. Springer,

Berlin, 2000.

[2] S. ARNBORG. Efficient algorithms for combinatorial problems on

graphs with bounded decomposability- a survey. BIT, 25 (1) : 2-23, 1985.

[3] S. ARNBORG, D. G. CORNEIL, and A. PROSKUROWSKI. Com-

plexity of finding embeddings in a k-tree. SIAM J. Algebraic Discrete

Methods, 8(2):277-284, 1987.

[4] M. S. BAZARAA, J. J. JARVIS, and H. D. SHERALI. Linear program-

ming and network flows. John Wiley & Sons Inc, New York, 1990.

[5] C. BERGE. Les problèmes de coloration en théorie de graphes. Publ.

Inst. Statist. Univ. Paris, 9: 123-160, 1960.

Page 131: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

[6] M. W. BERN, E. L. LAWLER, and A. L. WONG. Linear-time com-

putation of optirnal subgraphs of decomposable graphs. J. Algorithms,

78(2):216-235, 1987.

[7] H. L. BODLAENDER. A linear-time algorithm for finding tree-

decompositions of small treewidth. SIAM J. Comput., 25(6):1305-1317,

1996.

[8] H. L. BODLAENDER. Treewidth: algorithrnic techniques and results.

In Igor Privara and Peter RuzicIta, editors, 22nd International Sympo-

sium on Mathematical foundations of computer science, Lecture Notes

in Computer Science, volume 1295, pages 19-36, Berlin, 1997. Springer,

Berlin.

[9] H. L. BODLAENDER and T. KLOKS. Efficient and constructive al-

gorithms for the pathwidth and treewidth of graphs. J. Algorithms,

2:358-402, 1996.

[10] H. L. BODLAENDER and D. M. THILIKOS. Treewidth for graphs with

small chordality. Discrete Applied Mathematics, 79(1-3):45-61, 1997.

[ll] A. BRANDSTADT. Partitions of graphs into one or two independent

sets and cliques. Discrete Mathematics, l52(1-3) :47-54, 1996.

1121 A. BRANDSTADT. Corrigendum. Discrete Mathematics, 186:295,

1998.

Page 132: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

[13] K. CAMERON, E. M. ESCHER, C. T. HOANG, and R. SRITHARAN.

The complexity of the list partition problem for graphs. Manuscript,

2003.

[14] M. CHUDNOVSKY, N. ROBERTSON, P. SEYMOUR, and R. THO-

MAS. The strong perfect graph theorem. Manuscript, 2002.

1151 V. CHVATAL. Linear Programming. W. H. Freeman, New York, 1983.

[16] A. COURNIER and M. HABIB. A new linear algorithm for modular

decomposition. In Sophie Tison, editor, CAAP '94: International Col-

loquium, Lectures Notes in Computer Science, pages 68-82. Edinburgh,

UK, 1994.

[17] G. DANTZIG. Linear Programming and Extensions. Princeton Univer-

sity Press, Princeton, New Jersey, 1963.

1181 C. M. H. de FIGUEIREDO and S. KLEIN. The np-completeness of

multi-partite cutset testing. Congressus Numerantium, 119:217-222,

1996.

[19] C. M. H. de FIGUEIREDO, S. KLEIN, Y. KOHAYAKAWA, and B. A.

REED. Finding sltew partitions efficiently. J. Algorithms, 37:505-521,

2000.

[20] J. DIAZ, M. SERNA, and D. M. THILIKOS. The complexity of parame-

terized h-colorings: A survey. Dimacs Series in Discrete Mathematics,

2003.

120

Page 133: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

[21] H. EVERETT, S. KLEIN, and B. REED. An algorithm for finding

clique-cross partititons. Congressus Numerantium, 135: 17l-l77, 1998.

[22] M. FARBER. Applications of linear programming duality to problems

involving independence and domination. Ph. D. Thesis, Rutgers Univer-

sity, Canada, 1982.

[23] T. FEDER and P. HELL. List constraint satisfaction and list partition.

Submitted to SIAM J. Comput., 2003.

(241 T. FEDER, P. HELL, and J. HUANG. List homomorphisms and circular

aic graphs. Combinatorica, 19(4):487-505, 1999.

1251 T. FEDER, P. HELL, S. KLEIN, and R. MOTWANI. Complexity of

graph partition problems. In F. W. Thatcher R. E. Miller, editor, Pro-

ceedings of The 3ist Annual ACM Symposium on Theory of Computing

STOC'99, pages 464-472. Plenum Press, New York, 1999.

[2G] S. FOLDES and P. L. HAMMER. Split graphs. In F. Hoffrnan, cdi-

tor, Proceedings of the 8th Southeastern Conference on Combinatorics,

Graph Theory, and Computing, pages 311-315, Baton Rouge, Louisiana,

1977. Lousiana State University.

1271 A. FRANK. Some polynomial algorithms for certain graphs and hyper-

graphs. In C. Nash-Williams and J. Sheehan, editors, Proceedings of

the Fifth British Combinatorial Conference, pages 211-226. Congressus

Numerantium XV, 1975.

Page 134: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

[28] M. R. GAREY and D. S. JOHNSON. Computers and Intractability: A

Guide to the Theory of NP-Completeness. W. H. Freeman, New Yorli,

1979.

[29] M. C. GOLUMBIC. Algorithmic Graph Theory and Perfect Graphs.

Academic Press, New York, 1980.

1301 A. HAJNAL and J . SURANYI. Über die Auflosung von Graphen in

vollstandige Teilgraphen. Ann. Uniu. Sci. Budapest Eotvos. Sect. Math.,

1:113-121, 1958.

[31] P. HELL, S. KLEIN, L. T. NOGUEIRA, and F. PROTTI. Partitio-

ning chordal graphs into independent sets and cliques. Discrete Applied

Mathematics, to appear.

[32] C. T. HOANG and V. B. LE. Recognizing perfect 2-split graphs. SIAM

J. on Discrete Math., 13:48-55, 1998.

[33] R. M. KARP. Reducibility among combinatorial problems. In

J. W. Thatcher. R. E. Miller, editor, Complexity of Computer Com-

putations, pages 85-103, New York, 1972. Plenum Press.

[34] G. MACGILLIVRAY and M. L. YU. Generalized partitions of graphs.

Discrete Applied Mathematics, 91:143-153, 1999.

[35] R. M. McCONNEL and J. P. SPINRAD. Linear-time modular decom-

position and efficient transitive orientation of comparability graphs. In

Page 135: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

Proceedings of the fifth annual ACM-SIAM symposium on Discrete algo-

rithms, pages 536-545, Arlington, Virginia, United States, 1994. Society

for Industrial and Applied Mathematics.

[36] L. T . NOGUEIRA. Grafos Split e Grafos Split Generalizados. Tese de

Mestrado, COPPE/UFRJ, Rio de Janeiro, 1999.

[37] A. PROSKUROWSKI and S. ARNBORG. Linear time algorithms for

NP-hard problems restricted to partia1 k-trees. Discrete Applied Mathe-

matics, 23(1):11-24, 1989.

[38] N. ROBERTSON and P. D. SEYMOUR. Graph minors. ii. algorithmic

aspects of tree-width. J. Algorithms, 7:309-322, 1986.

[39] D. J. ROSE. On simple characterizations of k-trees. Discrete Mathema-

tics, 7:317-322, 1974.

1401 P. SCHEFFLER. Die Baumweite von Graphen als ein Map fur die Kom-

pliziertheit algorithmischer Probleme. Dissertation A, Report RMATH-

04/89, K.-Weierstrap-Institut fur Mathematik, Berlin, 1989.

[41] R. E. TARJAN. Decomposition by clique separators. Discrete Mathe-

matics, 55(2) :221-232, 1985.

[42] A. TUCKER. Coloring graphs with stable sets. Journal of Combinato-

ria2 Theory, Series B, 34:258-267, 1983.

Page 136: PARTICIONAMENTO E EXTENSAO Loana Tito Nogueira TESE ... · Loana Tito Nogueira Advisors: Sulamita Klein Fábio Protti Department : Computing and Systems Engineering This worlt describes

[43] J. van LEEWUVWEN. Graph algorithms. In Elsevier, editor, Handbook

of Theoretical Computer Science - Vol A, pages 525-631. The MIT Press,

1990.

1441 S. WHITESIDES. An algorithm for finding clique cutsets. Information

Processing Letters, 12:31-32, 1981.

[45] S. WHITESIDES. A method for solving cetain graph recognition and

optimization problems, with applications to perfect graphs. Annals of

Discrete Mathematics, 21:281-297, 1984.