Вы находитесь на странице: 1из 165

Uma Introduo Su

inta a
Algoritmos de Aproximao
Mar elo Henriques de Carvalho
Universidade Federal do Mato Grosso do Sul

Mr ia Rosana Cerioli

Universidade Federal do Rio de Janeiro

Ri ardo Dahab

Universidade Estadual de Campinas

Paulo Feolo
Cristina Gomes Fernandes
Carlos Eduardo Ferreira
Universidade de So Paulo

Katia Silva Guimares

Universidade Federal de Pernambu o

Flvio Keidi Miyazawa

Universidade Estadual de Campinas

Jos Coelho de Pina Jr.


Jos Augusto R. Soares
Yoshiko Wakabayashi
Universidade de So Paulo

maio de 2001

ii

Pref io
O desenvolvimento de algoritmos de aproximao e de provas de
inaproximabilidade uma das linhas de pesquisa que mais tm res ido
na rea de otimizao ombinatria e teoria da omputao. O objetivo
deste texto apresentar su intamente uma viso sistemti a das t ni as
utilizadas no projeto de algoritmos de aproximao e dar uma idia dos
limites intrnse os da aproximabilidade.
Ainda que os tpi os obertos neste texto possam ser en ontrados

em outros livros [Ho 97, MPS98, ACG 99, Vaz01, o presente texto se
justi a pela es assez de material em lngua portuguesa.

Alm disso,

a seleo de tpi os e a profundidade om que ertos assuntos foram


tratados aqui so, para nosso onhe imento, inditas.
Este texto su into no sentido de que se limita a apresentar os algoritmos e suas anlises, sem se alongar om omentrios e exemplos. Mas
ada aptulo ontm notas bibliogr as e uma variedade de exer ios
que omplementam o texto.

Esperamos que apesar de su into, o livro

tenha um arter didti o e seja til tanto aos que pro uram uma introduo rea quanto aos que queiram estudar esse fas inante tema mais
profundamente.
O assunto tem muitos pr-requisitos (teoria dos grafos, programao linear, teoria das probabilidades, omplexidade omputa ional), que
pro uramos obrir ompa tamente em apndi es.

Re omendamos que

o leitor re orra aos apndi es somente na medida do ne essrio, om a


ajuda do ndi e.
Os aptulos 1 e 2 apresentam as denies bsi as, um histri o da
rea e os primeiros algoritmos de aproximao para alguns problemas
lssi os de otimizao ombinatria. Isoladamente, esses dois aptulos
formam uma introduo ao assunto.

iii

Pref io

iv

Os aptulos de 3 a 5 apresentam os mtodos baseados em programao linear. A seo 3.1 e o aptulo 4 tratam de algoritmos simples,
uja anlise depende apenas de on eitos e resultados bsi os de programao linear. Ao leitor que tenha onhe imento super ial no assunto,
re omendamos a leitura do apndi e C. A seo 3.2 des reve um algoritmo no-trivial uja anlise longa e elaborada, ainda que no envolva
on eitos avanados. O aptulo 5 apresenta uma t ni a elegante e sosti ada, derivada do mtodo primal-dual de programao linear, que se
apia no on eito de folgas omplementares.
O aptulo 6 dis ute algoritmos probabilsti os por meio de um exemplo simples mas instrutivo. Um dos algoritmos apresentados neste aptulo utiliza programao linear. A reditamos que o ontedo do aptulo
seja a essvel a qualquer leitor que onhea os on eitos de varivel aleatria e esperana, e tenha noes bsi as de programao linear.
No aptulo 7, sobre programao semidenida, des revemos uma
t ni a sosti ada e relativamente re ente que tem sido apli ada om
su esso a diversos problemas.

Este aptulo usa todas as ferramentas

apresentadas nos aptulos anteriores: generaliza a t ni a de relaxaes


lineares e usa um tipo de arredondamento probabilsti o bem mais sosti ado que os vistos no aptulo 6.

O aptulo requer maturidade e

familiaridade om os vrios on eitos envolvidos.


O aptulo 8 des reve a lassi ao geral de problemas de otimizao do ponto de vista da aproximabilidade. Tambm dis ute a posio
que os diversos problemas tratados no texto o upam nesta lassi ao.
Este aptulo pode ser lido parte pelos interessados em teoria da omputao.
Este livro pode ser adotado em dis iplinas de nal da graduao ou
de ps-graduao.

Alguns dos problemas no aptulo 2, e talvez uma

ou duas demonstraes de inaproximabilidade do aptulo 8, podem ser


usados omo um tpi o em uma dis iplina de graduao de anlise de
algoritmos.

As denies bsi as e dois ou trs exemplos devem ser

su ientes para dar uma idia dos objetivos da rea.

Uma dis iplina

dedi ada ex lusivamente a algoritmos de aproximao tem omo prrequisitos noes de teoria dos grafos, programao linear e teoria de
omplexidade de algoritmos. O ontedo ompleto do livro adequado
para uma dis iplina de ps-graduao om durao de um semestre. Na
graduao, pode-se optar, dependendo da maturidade e interesse dos
alunos, por no obrir o material da seo 3.2 e do aptulo 7, e obrir
apenas par ialmente o aptulo 8.

Uma verso preliminar do livro foi

utilizada, durante o primeiro semestre de 2001, em uma dis iplina de

Pref io

graduao na UFRJ e em dis iplinas de ps-graduao na USP e na


UNICAMP.
O livro tem 11 autores, provenientes de in o universidades espalhadas por trs regies do pas:

UFMS (1 autor), UFPE (1 autora),

UFRJ (1 autora), UNICAMP (2 autores) e USP (6 autores).


parti ipam do Projeto ProNEx

Todos

Complexidade de Estruturas Dis retas

(http://www.ime.usp.br/yoshi/pronex/), oordenado por Yoshiharu

Kohayakawa, e a elaborao do livro fez parte das atividades do Projeto.


Quatro dos autores atuaram omo editores, uidando da oordenao e
dos detalhes de edio. Com tantos envolvidos, quase impossvel hegar
a um onsenso sobre qualquer questo espe  a. Pode-se dizer que ada
pargrafo do texto desagrada algum dos autores; esperamos, ao menos,
que no desagrade a todos os leitores! Os autores reuniram-se algumas
vezes para dis utir o texto, mas boa parte da interao e da redao
a onte eu via internet. Foi um perodo de trabalho oletivo intenso.
Manteremos em

http://www.ime.usp.br/d /livros/aprox/ uma

errata do livro e um endereo eletrni o para onde podem ser enviadas


as omuni aes de erros, dvidas e sugestes.
Este no o primeiro texto em lngua portuguesa sobre o assunto:
Katia S. Guimares, uma das autoras desse livro, apresentou um urso
sobre o assunto [Gui98 na

XVII Jornada de Atualizao em Informti a,

em 1997. Aquele material serviu omo verso ini ial para duas sees do
presente livro.
Agrade emos a Celina M. H. Figueiredo (UFRJ), Sulamita Klein
(UFRJ) e Luerbio Faria (UERJ) pela sua ontribuio om uma primeira verso da seo 2.3.

Agrade emos aos alunos que leram e riti-

aram verses preliminares de alguns aptulos. Somos gratos tambm


ao Projeto ProNEx

Complexidade de Estruturas Dis retas

nan eiro para os en ontros que se zeram ne essrios.

pelo suporte
Em espe ial,

agrade emos ao oordenador do projeto pelo in entivo e pela disposio


em responder questes t ni as sobre algoritmos probabilsti os. Agra-

de emos tambm Comisso Organizadora do 23o


Colquio Brasileiro
de Matemti a pela oportunidade.

Esperamos que os leitores se divirtam e aprendam tanto quanto os


autores enquanto es reviam o livro!

Rio de Janeiro, So Paulo e Campinas, maio de 2001


M.R.C., P.F., C.G.F e F.K.M.
editores

vi

Pref io

Sumrio
1 Introduo

1.1

Problemas de otimizao . . . . . . . . . . . . . . . . . . .

1.2

Algoritmos de aproximao

. . . . . . . . . . . . . . . . .

1.3

Notao bsi a

. . . . . . . . . . . . . . . . . . . . . . . .

2 Algoritmos Clssi os

2.1

Es alonamento

. . . . . . . . . . . . . . . . . . . . . . . .

2.2

Cobertura por onjuntos . . . . . . . . . . . . . . . . . . .

2.3

Mo hila

2.4

Caixeiro viajante

. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .

3 Mtodo Primal

10
14

23

3.1

T ni a do arredondamento

. . . . . . . . . . . . . . . . .

23

3.2

T ni a mtri a . . . . . . . . . . . . . . . . . . . . . . . .

25

4 Mtodo Dual
4.1

35

Cobertura por vrti es . . . . . . . . . . . . . . . . . . . .

5 Mtodo Primal-Dual

35

41

5.1

Mtodo primal-dual lssi o . . . . . . . . . . . . . . . . .

41

5.2

Mtodo de aproximao primal-dual

. . . . . . . . . . . .

44

5.3

Transversal mnima . . . . . . . . . . . . . . . . . . . . . .

46

5.4

Floresta de Steiner

49

. . . . . . . . . . . . . . . . . . . . . .

vii

SUMRIO

viii

6 Algoritmos Probabilsti os

63

6.1

Satisfatibilidade mxima . . . . . . . . . . . . . . . . . . .

64

6.2

Desaleatorizao

69

6.3

Geradores de nmeros aleatrios

. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .

7 Programao Semidenida

72

77

7.1

Corte mximo . . . . . . . . . . . . . . . . . . . . . . . . .

77

7.2

Programas semidenidos . . . . . . . . . . . . . . . . . . .

82

7.3

Consideraes prti as . . . . . . . . . . . . . . . . . . . .

83

8 Inaproximabilidade

87

8.1

Classes de problemas de otimizao . . . . . . . . . . . . .

88

8.2

NP- ompletude e inaproximabilidade . . . . . . . . . . . .

90

8.3

Completude para problemas de otimizao . . . . . . . . .

93

8.4

Limiares de aproximao . . . . . . . . . . . . . . . . . . .

96

A Teoria dos Grafos

101

B Vetores e Matrizes

107

C Programao Linear

113

D Teoria das Probabilidades

121

E Complexidade Computa ional

125

Bibliograa

133

ndi e

149

Captulo 1

Introduo
Problemas de otimizao tm o objetivo de en ontrar um ponto timo (mnimo ou mximo) de uma funo denida sobre um erto domnio.
Os problemas de otimizao ombinatria tm domnio nito. Embora
os elementos do domnio possam, em geral, ser fa ilmente enumerados, a
idia ingnua de testar todos os elementos na bus a pelo melhor mostrase invivel na prti a pois o domnio tipi amente muito grande.
Como exemplos lssi os de problemas de otimizao ombinatria
podemos itar o problema do aixeiro viajante, o problema da mo hila,
o problema da obertura mnima por onjuntos, o problema da oresta de Steiner e o problema da satisfatibilidade mxima. Todos surgem
naturalmente em apli aes prti as, tais omo o projeto de redes de
tele omuni ao e de ir uitos VLSI, o empa otamento de objetos em

ontainers,

a lo alizao de entros distribuidores, o es alonamento e

roteamento de ve ulos, et . Outras reas de apli ao in luem a estatsti a (anlise de dados), a e onomia (matrizes de entrada/sada), a fsi a
(estados de energia mnima), a biologia mole ular (alinhamento de DNA
e protenas, infern ia de padres), et .
O desenvolvimento de algoritmos de aproximao surgiu em resposta di uldade omputa ional de muitos dos problemas de otimizao
ombinatria: em termos t ni os, muitos so NP-dif eis. Nessa situao, razovel sa ri ar a otimalidade em tro a de uma aproximao
de boa qualidade que possa ser e ientemente al ulada. Esse ompromisso entre perda de otimalidade e ganho em e in ia o paradigma
dos algoritmos de aproximao. Convm observar que um algoritmo de
aproximao no simplesmente uma heursti a: ele garante en ontrar,
e ientemente, um elemento do domnio ujo valor guarda uma relao
pr-estabele ida om o valor timo.

Introduo

No in io da d ada de 70, Garey, Graham e Ullman [GGU72,


bem omo

Johnson [Joh74,

de aproximao.

formalizaram

o on eito

de algoritmo

O on eito j estava impl ito em um trabalho de

Graham [Gra66 sobre um problema de es alonamento em mquinas paralelas e em um trabalho de Erds [Erd67 sobre grafos bipartidos. Na
d ada de 90, o estudo de algoritmos de aproximao passou a re eber
um tratamento mais sistemti o, om a formalizao e o uso de t ni as
e ferramentas apli veis a toda uma gama de problemas.
importante men ionar tambm o apare imento de ertos

dos negativos

resulta-

de aproximabilidade: para alguns problemas, aproximar

to dif il quanto resolver. Em termos mais t ni os, alguns problemas


no admitem algoritmos de aproximao om razo melhor que um erto
limiar, a menos que P

NP. As teorias nessa direo foram impulsiona-

das na d ada de 90 pelas des obertas de Arora

et al. [ALM+ 92, Aro95,

que provaram resultados desse tipo para vrios problemas usando ara terizaes probabilsti as da lasse NP.
O desenvolvimento de algoritmos de aproximao e de provas de
inaproximabilidade uma das linhas de pesquisa que mais res eu ultimamente na rea de otimizao ombinatria e teoria da omputao. Esta observao en ontra respaldo na grande quantidade de artigos
de pesquisa que surgiram nos ltimos anos (veja nossa lista de refern ias bibliogr as).

Vrios livros sobre o assunto tambm foram pu-

bli ados re entemente:


Mayr

et al.

Ausiello

et al.

[ACG

[MPS98 e Vazirani [Vaz01.

+ 99,

Ho hbaum [Ho 97,

Outro ind io da eferves-

n ia da rea a grande quantidade de teses de doutorado on ludas na d ada de 90, algumas introduzindo teorias revolu ionrias [Aro94, Blu91, Kan92, Tre96, Wil93.

1.1 Problemas de otimizao


Sol

(I )

val(S )

Um problema de otimizao tem trs ingredientes prin ipais:


onjunto de

viveis

instn ias

(feasible

solutions )

atribui um nmero
o

valor de S .

val(S )

a ada soluo vivel

Quando o onjunto Sol

a uma instn ia

(I )

das solues viveis asso iado

vazio, dizemos que a instn ia

ontrrio, a instn ia
1

para ada instn ia

vivel.

uma pena que o uso tenha imposto a traduo in orreta

ingls

instan e.

um

(I ) de solues
I , e uma funo que
S . O nmero val(S )

1 (instan es ), um onjunto Sol

invivel;

instn ia

aso

para o termo

1.2 Algoritmos de aproximao

Um problema

de minimizao

est interessado nas solues vi-

veis de valor mnimo, enquanto um problema

de maximizao

interessado nas solues viveis de valor mximo.

est

2 Quando uma dessas

alternativas  mnimo ou mximo  est subentendida, dizemos sim-

valor timo e problema de otimizao. Uma soluo vivel


soluo tima (optimal solution ). O valor
de qualquer das solues timas de uma instn ia I ser denotado por
opt(I ). Portanto,
opt(I ) := val(S  ) ;

plesmente

ujo valor timo hamada

onde

S

uma soluo tima de

denido se a instn ia

I.

laro que esse nmero s est

vivel.

A ttulo de exemplo, eis um problema de otimizao bem onhe ido:


en ontrar um ir uito hamiltoniano de usto mnimo em um grafo om
ustos nas arestas. Uma instn ia desse problema onsiste em um gra-

G e uma funo que asso ia um nmero no-negativo a ada aresta


de G. O onjunto das solues viveis de uma instn ia (G; ) o onjunto de todos os ir uitos hamiltonianos de G. O valor de um ir uito
P
hamiltoniano C val(C ) :=
e2C e .
fo

1.2 Algoritmos de aproximao


Considere um problema de otimizao em que
soluo vivel

val(S )  0

para toda

S de qualquer instn ia do problema. Seja A um algoritmo


I do problema, devolve uma soluo vivel

que, para toda instn ia vivel

A(I ) de I .

Se o problema de minimizao e

val(A(I ))  opt(I )

(1.1)

I , dizemos que A uma -aproximao para o


um nmero que pode depender de I . Dizemos que
uma razo de aproximao (approximation fa tor ) do algoritmo.
laro que  1, uma vez que o problema de minimizao. No aso
para toda instn ia

problema. O fator

de problema de maximizao, basta refazer a denio om

val(A(I ))  opt(I )
2

A expresso valor da soluo pode ser tro ada por  usto da soluo no a-

so de problemas de minimizao e por peso da soluo no aso de problemas de


maximizao.

opt(I )

Introduo

no lugar de (1.1).

laro que nesse aso

0< 1

. Um

algoritmo

de aproximao (approximation algorithm ) uma -aproximao para


algum . Uma 1-aproximao para um problema de otimizao um
algoritmo exato para o problema.
Observe que um algoritmo A uma -aproximao para um problema de minimizao (maximizao) se uma delimitao superior
(inferior) para a razo entre val(A(I )) e opt(I ) para uma instn ia arbitrria I do problema. Como o valor de opt(I ) em geral to dif il de
al ular quanto uma soluo tima do problema, para demonstrar que

-aproximao essen ial, omo veremos, ter boas


delimitaes para o valor de opt(I ).
A ada instn ia I de um dado problema est asso iado um nmero
natural hI i que hamamos tamanho da instn ia. (Podemos imaginar
um algoritmo uma

que as instn ias, bem omo as solues viveis, so adeias de ara -

hI i o omprimento da adeia de ara teres I .) Um


A para o problema polinomial se existe um polinmio p tal
que o onsumo de tempo do algoritmo limitado por p(hI i) para ada
instn ia I . O on eito de algoritmo polinomial deve ser entendido o-

teres; nesse aso,


algoritmo

mo uma formalizao da idia de algoritmo e iente. Se um problema


NP-dif il ento improvvel que exista um algoritmo polinomial exato
para o problema.

1.3 Notao bsi a


Aqui estabele emos algumas onvenes bsi as de notao.

Dada

que asso ia um nmero a ada elemento e de um onjunto


nito E , denotamos o valor de em e por e . Para qualquer sub onjunto
F de E , denotamos por (F ) a soma dos valores de nos elementos de F :
P
(F ) := f 2F f :
Essa onveno vale, em parti ular, quando um vetor indexado por E .

uma funo

( )

Z, Q, R

Os onjuntos dos nmeros inteiros, ra ionais e reais so denotados


por

Z, Q

R,

respe tivamente. Os sub onjuntos desses onjuntos que

ontm somente os nmeros no-negativos so indi ados por um  ; os

Q
Q>

que ontm somente os positivos so indi ados por um  > . Assim, por
exemplo, o onjunto dos ra ionais no-negativos denotado por
dos ra ionais positivos por

Q >.

Q

e o

Para outras onvenes de notao, envolvendo grafos, vetores e matrizes, programao linear, probabilidades e omplexidade omputa ional, onsulte, se ne essrio, os apndi es A, B, C, D e E respe tivamente.

Captulo 2

Algoritmos Clssi os
Neste aptulo des revemos algoritmos de aproximao para quatro
dos mais lebres problemas de otimizao ombinatria.

Estes esto

entre os primeiros algoritmos de aproximao men ionados na literatura.


Cada um deles foi desenvolvido de forma independente, em funo das
ara tersti as estruturais do problema em questo.

2.1 Es alonamento
Um problema bastante onhe ido nos ontextos de produo industrial e de sistemas opera ionais o de es alonamento (s heduling ) de
tarefas em mquinas.

Estamos interessados em uma das verses mais

simples do problema: dadas

m mquinas idnti as e n tarefas om tem-

pos de exe uo pr-determinados, en ontrar uma atribuio das tarefas


s mquinas que minimize o tempo mximo de operao de qualquer
uma das mquinas (makespan ).
Formalmente, o

problema do es alonamento em mquinas

idnti as (multipro essor

s heduling problem )

onsiste no seguinte:

Problema Es alonamento (m; n; t): Dados inteiros positivos


m, n e um tempo ti em Q  para ada i em f1; : : : ; ng, en ontrar uma partio fM1 ; : : : ; Mm g de f1; : : : ; ng que minimize
maxj t(Mj ).
De a ordo om nossa onveno de notao,

f1; : : : ; ng m
maxj t(Mj ) usto

Dizemos que uma partio de

mento e que o nmero

em

t(Mj )

:=

blo os um

es alona-

do es alonamento. Com

essa terminologia, o problema pode ser formulado omo: dados

i2Mj ti .

m, n e t,

Algoritmos Clssi os

M1

t1

M2
M3

t6

t2

t7
t5

t3

t4
t1 t2 t3 t4 t5 t6 t7

4 2 1 5 9 2 6

Figura 2.1:

Exemplo de es alonamento om

A durao da tarefa

7 tarefas em 3 mqui-

ti . O ritrio de Graham produz o es alonamento ff1; 6; 7g; f2; 5g; f3; 4gg, representado na gura. Esse es alonamento tem usto t1 + t6 + t7 = 12. Um outro es alonamento
ff1; 7g; f2; 4; 6g; f3; 5gg, que tem usto t3 + t5 = 10.

nas.

en ontrar um es alonamento de usto mnimo.


Este problema NP-dif il mesmo para duas mquinas, ou seja,
quando

=2

[GJ79.

O primeiro algoritmo de aproximao para o

problema foi des rito e analisado por Graham [Gra66 e usa um ritrio
muito simples: alo ar as tarefas uma a uma, destinando ada tarefa
mquina menos o upada.

Por esse ritrio, a es olha da mquina que

vai re eber determinada tarefa no depende dos tempos das tarefas que
ainda no foram atribudas a nenhuma mquina. Veja um exemplo na
gura 2.1.

Algoritmo Es alonamento-Graham (m; n; t)


1
para j de 1 a m faa Mj
;
2
para i de 1 a n faa
3
seja k uma mquina tal que t(Mk ) mnimo
4
Mk Mk [ fig
5
devolva fM1 ; : : : ; Mm g
Claramente, ao nal,

fM1 ; : : : ; Mm g uma partio de f1; : : : ; ng,

ou seja, um es alonamento. H duas delimitaes simples para o usto

opt(m; n; t)

de um es alonamento timo: o tempo da tarefa mais longa

2.1 Es alonamento

e o usto que obteramos se pudssemos distribuir as tarefas por igual


entre as

m mquinas.

Em frmulas,

opt(m; n; t)  maxi ti
1 P ti
i

opt(m; n; t)  m1 Pni=1 ti :

(2.1)

No exemplo da gura 2.1, o segundo es alonamento apresentado timo,


j que

= 9;666 : : :

Essas delimitaes so usadas na anlise do

algoritmo.

O aso em que

n < m

pode ser resolvido de maneira simples,

atribuindo-se uma tarefa a ada mquina, assim no seguinte teorema


nos restringimos ao aso em que

n  m.

Teorema 2.1 : O algoritmo Es alonamento-Graham uma


2-aproximao polinomial para o Es alonamento (m; n; t),
quando n  m.
Demonstrao: Seja

o valor de

t(Mk ) imediatamente antes da exe-

uo da linha 4 do algoritmo em uma iterao qualquer. laro que

 t(Mj ) para todo j e, portanto, em virtude de (2.1),


P
1 Pn
  m1 m
j =1 t(Mj )  m i=1 ti  opt(m; n; t) :

Assim, imediatamente depois da exe uo da linha 4 do algoritmo, temos

t(Mk ) =  +ti  2opt(m; n; t), pois ti  opt(m; n; t) de a ordo om (2.1).


Essa delimitao vale no m de ada iterao e portanto apli a-se a ada
uma das mquinas. Logo, no m da ltima iterao,

maxj t(Mj )  2opt(m; n; t) :


Quanto ao tempo de exe uo, f il ver que o algoritmo onsome tempo
polinomial em

n, j que m  n.

Assim, o algoritmo polinomial.

Conforme j observamos, o algoritmo pro essa os dados sem onhe imento prvio da sua totalidade. Vrias situaes reais demandam esse
tipo de abordagem, entre elas o es alonamento de tarefas em pro essadores e a alo ao de pginas na memria primria de omputadores.
Algoritmos para tais apli aes devem ser rpidos e forne er solues
viveis ujo valor seja prximo do valor timo. O algoritmo Es alona-

mento-Graham possui estas ara tersti as e on eitualmente muito


simples.

Esse foi o primeiro algoritmo de aproximao de que se tem

not ia, o que o torna um mar o nessa teoria.

Algoritmos Clssi os

2.2 Cobertura por onjuntos


O segundo problema que vamos dis utir uma abstrao de vrios
problemas que so abordados ao longo deste texto.
Dada uma oleo nita
sub oleo

S de onjuntos nitos,

dizemos que uma

T de S obre um onjunto nito E se todo elemento de E


T. Neste aso, dizemos tambm que T

perten e a algum onjunto de

obertura de E . O problema da obertura mnima por


onjuntos (minimum set over problem ) onsiste no seguinte:
uma

Problema MinCC (E; S; ): Dados um onjunto nito E , uma


oleo nita S de onjuntos nitos que obre E e um usto S
em Q  para ada S em S, en ontrar uma obertura T de E que
minimize (T ).
A exign ia de que

S ubra E

in ua: ela apenas ex lui as ins-

tn ias inviveis do problema. Chamamos o nmero


obertura

T.

(T ) de usto

da

Assim, o problema onsiste em en ontrar uma obertura

de usto mnimo.
O MinCC NP-dif il mesmo quando ada onjunto em

S no tem

mais que trs elementos [GJ79. Uma estratgia gulosa simples para o
problema onsiste em sele ionar repetidamente o onjunto em

S que

mais promissor em termos de usto om relao ao nmero de elementos ainda no obertos que ele ontm.

Essa estratgia d origem ao

seguinte algoritmo, proposto por Chvtal [Chv79, que apresentamos em


sua verso re ursiva.

Algoritmo MinCC-Chvtal (E; S; )


1
se E = ;
2
3
4
5
6
7
8

ento devolva ;
seno seja Z em

E0
S0

S tal que Z =jZ \ E j mnimo

EnZ
f S 2 S : S \ E 0 6= ; g
seja 0 a restrio de a S0
T0 MinCC-Chvtal (E 0; S0 ; 0 )
devolva fZ g [ T 0

Claramente o algoritmo devolve uma obertura de

E.

H uma boa

delimitao inferior para o valor timo do problema MinCC

(E; S; )

2.2 Cobertura por onjuntos

rela ionada ao algoritmo a ima. Para mostr-la, suponha que


elemento de

um

S tal que Z =jZ \ E j  S =jS \ E j para todo S em S. Ento,


T de E ,

para qualquer obertura

Z
Z P
jZ \ E j jE j  jZ \ E j S2T jS \ E j
 PS2T jS \S E j jS \ E j

= PS2T S
= (T) :

Segue da que

opt(E; S; )  jE j jZ \Z E j :

(2.2)

A seguir, mostramos que o algoritmo MinCC-Chvtal uma


ximao, onde

n := jE j e Hn o nmero harmni o:
Hn := 1 +

Teorema 2.2 : O algoritmo


ximao polinomial para o

1 + 1 +  + 1 :
2 3
n

MinCC-Chvtal

MinCC

Hn-apro-

uma Hn -apro-

(E; S; ), onde n := jE j.

Demonstrao: A prova de que o algoritmo uma

Hn -aproximao

jE j. Se jE j = 0, ento o algoritmo devolve o onjunto


jE j >
0, e portanto jSj > 0. Adote as abreviaturas n := jE j e k := jZ \ E j, onde
Z o onjunto es olhido na linha 3 do algoritmo. Como jE 0 j = n k <
jE j, podemos supor que a oleo T0 produzida na linha 7 do algoritmo
0
0 0
0 0 0
uma obertura de E e que (T )  Hn k opt(E ; S ; ). Alm disso,
0
0
0
opt(E ; S ; )  opt(E; S; ), uma vez que toda obertura de E ontm
0
0
uma obertura de E formada por onjuntos de S . Com isso, em virtude
por induo em

vazio, que uma obertura de usto mnimo. Agora, suponha que

de (2.2),

(fZ g [ T 0) =
= Z + 0 (T 0 )
 nk opt(E; S; ) + Hn

opt(E; S; )
 n + n 1 1 +    + n 1k + 1 + Hn
= Hn opt(E; S; ) :
1

opt(E; S; )

Ademais, o algoritmo polinomial, j que onsome tempo

O(jE jjSj). 2

Hn

Algoritmos Clssi os

10

O algoritmo MinCC-Chvtal pode produzir oberturas de usto

Hn opt(E; S; ), onde n := jE j. Mais pre i" positivo, existe uma instn ia do problema para a
qual o algoritmo produz uma obertura de usto Hn opt(E; S; )=(1+ "):
basta tomar E := f1; : : : ; ng, S := fE; f1g; : : : ; fngg, E := 1+" e
fig := 1=i para ada i. Uma obertura de usto mnimo fE g e o usto
desta obertura 1+". Por outro lado, o algoritmo MinCC-Chvtal
produz a obertura ff1g; : : : ; fngg, ujo usto Hn .
arbitrariamente prximo de

samente, para ada

Assintoti amente, o algoritmo MinCC-Chvtal tem a melhor razo


possvel para o problema MinCC, pois sabe-se [RS97 que
e existe uma onstante positiva

para a qual no existe algoritmo

om razo de aproximao menor que

MinCC

(E; S; )

, a menos que P

Hn  1+ln n

ln n,

NP.

om

= jE j

, para o

Veremos mais sobre isso no

aptulo 8.

2.3 Mo hila
Nesta seo tratamos de um outro problema de otimizao bem onhe ido: o

problema da mo hila (knapsa k

problem ).

Esse problema

tem importantes apli aes, omo por exemplo o arregamento timo de

ontainers.

Podemos enun i-lo da seguinte maneira.

Mo hila (m; n; v; w): Dados um nmero m em Q  ,


um nmero n em Z>, um nmero vi em Z e um nmero wi em
Q  para ada i em f1; : : : ; ng, en ontrar um sub onjunto S de
f1; : : : ; ng que maximize v(S ) sob a restrio w(S )  m.

Problema

Os nmeros

vi e w i

podem ser interpretados omo valor e peso res-

pe tivamente de um objeto

i.

O nmero

m pode ser interpretado omo

a apa idade de uma mo hila, ou seja, o peso mximo que a mo hila


omporta.

O objetivo do problema ento en ontrar uma oleo de

objetos a mais valiosa possvel que respeite a apa idade da mo hila.

Uma abordagem de programao dinmi a [CLR92 resolve o problema Mo hila: basta onstruir uma tabela

onde

Wij

o peso mnimo

f1; : : : ; ig ujo valor pelo menos j :


Wij := min f w(S ) : S  f1; : : : ; ig e v(S )  j g :

de um sub onjunto de

Convm no onfundir o problema

Mo hila

om a sua variante fra ion-

ria [CLR92, que permite es olher qualquer frao de um objeto.

2.3 Mo hila

11

i varia de 0 a n e j de 0 ao valor timo opt(m; n; v; w) do problema


mais 1. Se no h sub onjunto de f1; : : : ; ig de valor pelo menos j , ento
Wij = 1. Abaixo, segue o algoritmo e, na gura 2.2, um exemplo.
Aqui

Algoritmo Mo hila-Exato (m; n; v; w)


1
para i de 0 a n faa Wi0
0
2
j 0
3
4
5
6
7
8
9
10
11
12
13

repita

j j +1
W0j 1
para i de 1 a n faa
se vi  j
ento Wij
min fWi 1;j ; wig
seno Wij
min fWi 1;j ; wi + Wi 1;j
at que Wnj > m
seja S um sub onjunto de f1; : : : ; ng
om w(S ) = Wn;j 1 e v (S )  j 1
devolva S
W

0
1
2
3
4
5

0
0
0
0
0
0
0

1 2 3 4 5 6 7 8

1 1 1 1 1 1 1 1
4 4 1 1 1 1 1 1
2 4 6 1 1 1 1 1
1 1 1 3 5 7 1 1

1
1
1
1

vi g

10
1
1
1
1

1 1 1 2 3 3 3 5 7 9
1 1 1 2 3 3 3 5 7 9

Figura 2.2: Apli ao do algoritmo Mo hila-Exato instn ia

= 7, n = 5, v = (2; 1; 3; 4; 1), w = (4; 2; 1; 2; 2) do problema


W que o algoritmo al ula. O
valor timo dessa instn ia 9 e existem duas solues timas:
f1; 3; 4g e f2; 3; 4; 5g.
m

Mo hila. A gura exibe a tabela

As linhas 7 a 9 so f eis de entender. Suponha que


de peso mnimo dentre os que esto in ludos em

S um onjunto

f1; : : : ; ig e tm valor

i 62 S ento S um onjunto de peso mnimo dentre os


que esto in ludos em f1; : : : ; i 1g e tm valor pelo menos j . Se i 2 S

pelo menos

j.

Se

Algoritmos Clssi os

12

S nfig um onjunto de peso mnimo dentre os que esto in ludos


em f1; : : : ; i 1g e tm valor pelo menos j
vi . (Se vi  j ento S = fig.)
Para justi ar a ondio de parada na linha 10, observe que Wnj 
Wnk para todo k  j , uma vez que todo sub onjunto S de f1; : : : ; ng
que satisfaz v (S )  k tambm satisfaz v (S )  j . Assim, se Wnj > m,
ento Wnk > m para todo k > j e, portanto, podemos interromper os
ento

l ulos.
Infelizmente, o nmero de exe ues das linhas 3 a 10 pode no ser

hvi. Por exemplo, se n = 1 e m > v1, esse nmero v1 +1


hv1i = O(log v1). A bem da verdade, o problema Mo hila

polinomial em
enquanto que

NP-dif il [GJ79. Podemos dizer entretanto que o algoritmo Mo hi-

la-Exato onsome tempo propor ional ao nmero de omponentes da


matriz

W.

Esse nmero limitado por

v :=

(n + 1)(v + 1)

, onde

i : wi m vi ;

(m; n; v; w)
wi > m
O(n + v )
Mo hila-Exato
O(n(v + 1))

j que o valor timo do problema Mo hila

v

( om

v = 0 se todo

). No dif il veri ar que as linhas 11

a 12 podem ser exe utadas em tempo


de tempo do algoritmo

no ultrapassa

. Assim o onsumo total

Esquema de aproximao
Seja

"

um nmero ra ional no intervalo aberto

agora omo usar o Mo hila-Exato para obter uma

(0; 1)
(1 ")

Vamos ver

-aproximao

polinomial para o problema Mo hila. O seguinte algoritmo, proposto


por Ibarra e Kim [IK75, faz uma mudana de es ala nos valores de
uma instn ia

(m; n; v; w)

do problema, obtendo uma outra instn ia

para a qual o algoritmo Mo hila-Exato onsome tempo polinomial


em

m; n; hvi e hwi.

Algoritmo Mo hila-IK" (m; n; v; w)


1
se wi > m para todo i
2

#


3
4
5
6
7

ento devolva ;
seno # maxi : wi m vi

"#=n
para i de 1 a n faa ui
bvi=
S Mo hila-Exato (m; n; u; w)
devolva S

2.3 Mo hila

13

Na linha 5 do algoritmo,
Como
temos que

Mo hila

SP

bx o maior inteiro que no ex ede x.

uma soluo tima do problema Mo hila

i2S

bx

(m; n; u; w)

 m, ou seja, S uma soluo vivel do problema

wi

(m; n; v; w)

O valor do objeto mais valioso ujo peso no ex ede a apa idade


da mo hila, que o nmero
timo do problema:

#,

uma delimitao inferior para o valor

opt(m; n; v; w)  # :

(2.3)

Essa delimitao usada na anlise do algoritmo.

Teorema 2.3 : O algoritmo Mo hila-IK" uma


ximao polinomial para o problema Mo hila.

(1 ")-apro-

S na linha 6 do algoritmo uma soluo



tima do problema Mo hila(m; n; u; w ). Se S uma soluo tima do
Mo hila(m; n; v; w), ento
Demonstrao: O onjunto

i2S vi

 P
ui
Pi2S
  Pi2S ui
  i2S ( vi 1)
= v(S  )  jS  j
 v(S  )  n

(2.4)
(2.5)

= v(S  ) "#
 (1 ")opt(m; n; v; w) :

A desigualdade (2.4) vale pois

(m; n; u; w)

hila

(2.6)

S uma soluo tima do problema Moui > vi = 1 para todo i em S  .

. J (2.5) vale pois

Finalmente, (2.6) vale por (2.3).

Quanto ao tempo de exe uo do algoritmo, temos o seguinte.

O(n(u + 1)), onde u := i : wi m ui . Mas


i tal que wi  m. Assim u  n2 =" e
3
portanto o Mo hila-IK" onsome tempo O (n ="). 2
linha

ui

6 onsome tempo

 vi=  n=",

para todo

Note que o algoritmo Mo hila-IK" um esquema que nos forne e, para ada

"

ra ional no intervalo

que onsome tempo polinomial em

hila

(m; n; v; w)

n="

(0; 1)

(1 ")

-aproximao

para resolver a instn ia Mo-

Assim, Mo hila-IK" onhe ido um esquema de

aproximao plenamente polinomial (fully

on s heme )

, uma

( aptulo 8).

polynomial-time approximati-

Algoritmos Clssi os

14

2.4 Caixeiro viajante


Nesta seo, abordamos um problema que surge em vrias apli aes
prti as, omo a perfurao de pla as de ir uito impresso e a determinao de rotas de transporte de usto mnimo. Informalmente, o problema
onsiste em determinar uma rota de omprimento mnimo que passe exatamente uma vez em ada um dos pontos de um onjunto dado.
onveniente formalizar o problema na linguagem de teoria dos grafos (apndi e A). Em parti ular, onvm re orrer ao on eito de ir uito
hamiltoniano: um ir uito que ontm todos os vrti es do grafo. O

blema do aixeiro viajante

(traveling

salesman problem ),

pro-

denotado

por TSP, denido da seguinte maneira:

Problema

(G; )

Dados um grafo G e um usto e em Q 


para ada aresta e, determinar um ir uito hamiltoniano C que
minimize (C ).
TSP

Esse talvez o mais famoso problema de otimizao ombinatria,


em parte graas s onexes om vrios outros problemas de otimizao.
Ele NP-dif il mesmo se

2 f1; 2g para toda aresta e [GJ79.

Alm

disso, no se onhe e um algoritmo de aproximao om razo onstante para o problema, onforme veremos no aptulo 8.

Nesta seo,

nos restringimos a um aso parti ular do TSP que admite algoritmo de


aproximao om razo onstante.

Caixeiro viajante mtri o


Suponha que o grafo

ij de vrti es.
dade triangular se

ada par

G ompleto e temos um usto ij


ik

para quaisquer trs vrti es


instn ias

TSPM

(G; )

asso iado a

Dizemos que os ustos satisfazem a

em que

angular onhe ido omo

desigual-

 ij + jk

i, j

k.

(2.7)

O TSP restrito ao onjunto de

G ompleto e satisfaz a desigualdade triproblema do aixeiro viajante mtri o e

ser denotado aqui por TSPM. O problema NP-dif il [GJ79.


Dis utimos a seguir dois algoritmos de aproximao para o TSPM.
A estratgia utilizada pelos dois algoritmos tem quatro passos: (1) ons-

T de G; (2) a res entar novas arestas a T


0
para obter um novo grafo T ujos vrti es tm grau par; (3) obter um
0
i lo euleriano P em T ; e (4) obter um ir uito hamiltoniano em G a
partir de P . A diferena entre os dois algoritmos est apenas na polti a
truir uma rvore geradora

2.4 Caixeiro viajante

15

adotada para a res entar novas arestas rvore


Chamamos o nmero

T.

(S ) de usto de S , onde S

pode ser um ir-

uito, um i lo, uma rvore, um aminho ou um onjunto de arestas.


O passo 1 da estratgia envolve uma rvore geradora de usto mnimo (minimum- ost

spanning tree ).

Uma rvore geradora de usto m-

nimo d uma boa delimitao inferior para o valor timo do problema

TSPM

(G; )

: se removemos uma aresta de um ir uito hamiltoniano te-

mos uma rvore geradora de usto no superior ao do ir uito. Portanto,

opt(G; )  (T ) :

(2.8)

Existem algoritmos simples e e ientes [BM76, CLR92 para onstruir


uma rvore geradora de usto mnimo em um grafo onexo.
designar por MST um algoritmo qualquer desse tipo.
tempo do algoritmo

2
O (n ),

onde

Vamos

O onsumo de

n o nmero de vrti es do grafo.

MST

A operao a que se refere o passo 2 pode ser formalizada da seguinte


maneira. Para qualquer onjunto

de pares no-ordenados de vrti es

[: F denota o
multi onjunto que tem duas pias de ada elemento de ET \ F (apn-

de

T,

seja

+F

o multigrafo

(VT ; ET [: F )

, onde

ET

T +F

di e A). Como o grafo subja ente ompleto, ada aresta do multigrafo

T +F

tem um usto bem denido.

Um

i lo euleriano

em um grafo ou multigrafo

lo que ontm todas as arestas de

T 0.

T0

qualquer i-

Um multigrafo onexo

T0

tem

um i lo euleriano se e somente se ada um de seus vrti es tem grau


par [BM76. So bem onhe idos os algoritmos [AHU74 que onstroem
um i lo euleriano em um multigrafo onexo sem vrti es de grau mpar.
Para os propsitos do passo 3, vamos designar por Euler um algoritmo

Euler

qualquer desse tipo. O onsumo de tempo do algoritmo propor ional


ao nmero de arestas do multigrafo.
O passo 4 da estratgia transforma um i lo gerador, ou seja, um i lo
que ontm todos os vrti es do multigrafo, em um ir uito hamiltoniano.
O pro edimento simples:

basta extrair uma subseqn ia maximal

sem vrti es repetidos da seqn ia

(v0 ; v1 ; : : : ; vm )

de vrti es do i lo

gerador. Isso pode ser realizado pelo seguinte pro edimento:


1
2
3
4
5
6

w0
n

v0

para i de 1 a m faa
se vi 2
= fw0 ; : : : ; wn g
ento n n + 1

wn

vi

Atalho

Algoritmos Clssi os

16

(w0 ; w1 ; : : : ; wn; w0 )
(wj ; wj+1)
(vi ; vi+1 ; : : : ; vi+p)

Como o grafo ompleto, a seqn ia

dene um

ir uito. O ir uito ontm todos os vrti es do grafo, pois o i lo dado


ontm todos os vrti es. Cada par
no ir uito ligado por um segmento

de vrti es onse utivos


do i lo. Graas

desigualdade triangular (2.7), o usto da aresta

wj wj +1

no maior

que o usto do segmento. Portanto, o usto do ir uito resultante


maior que o do i lo dado

P:

C no

(C )  (P ) :

(2.9)

Denotamos por Atalho (short- ut ) o pro edimento que a abamos de


des rever. O tempo gasto pelo pro edimento propor ional ao nmero
de arestas do i lo dado e portanto ao nmero de arestas do grafo.

Algoritmo de Rosenkrantz, Stearns e Lewis


No algoritmo des rito a seguir, o multigrafo

T 0 (passo 2 da estratgia)

obtido por meio da dupli ao de ada uma das arestas da rvore


geradora

T.

O algoritmo apare e em um artigo de Rosenkrantz, Stearns

e Lewis [RSL77.

Algoritmo TSPM-RSL (G; )


1
T MST (G; )
2
T 0 T + ET
3
P Euler (T 0 )
4
C Atalho (P )
5
devolva C
Evidentemente, todo vrti e de

T 0 tem grau par e, portanto, T 0 tem

um i lo euleriano. O algoritmo Euler determina um tal i lo. Como o


onjunto de vrti es de

de

T 0 VG , o i lo euleriano P

gerador. O ir uito

devolvido por Atalho na linha 4 , ento, um ir uito hamiltoniano

G.

Teorema 2.4 : O algoritmo


polinomial para o TSPM.
Demonstrao: Como

(P ) = 2 (T ).

TSPM-RSL

uma 2-aproximao

um i lo euleriano em

T + ET , temos que

Ento, por (2.8) e (2.9),

(C )

 (P ) = 2 (T )  2opt(G; ) :

2.4 Caixeiro viajante

17

A linha 1 do algoritmo onsome tempo


somem tempo

O(jVG j2 ).

As demais linhas on-

O(jVG j), pois o nmero de arestas de T 0 menor que 2jVG j.

Em suma, o algoritmo polinomial.

Algoritmo de Christodes
Um

emparelhamento

(mat hing ) em um grafo um onjunto de

arestas sem extremos em omum (ou seja, ada vrti e perten e a no


mximo uma das arestas do emparelhamento).

Um emparelhamento

M perfeito se ada vrti e do grafo perten e a uma aresta de M .

algoritmo de Edmonds [LP86, que denotaremos por Edmonds, en ontra

3
em tempo O (n ), onde n

um emparelhamento perfeito de usto mnimo


o nmero de vrti es do grafo.

O algoritmo de Christodes [Chr76 a res enta rvore geradora


um emparelhamento perfeito no subgrafo de
que tm grau mpar em

T.

induzido pelos vrti es

Algoritmo TSPM-Christofides (G; )


1
T MST (G; )
2
seja I o onjunto dos vrti es de grau mpar de T
3
M Edmonds (G[I ; )
4
T0 T + M
5
P Euler (T 0 )
6
C Atalho (P )
7
devolva C
Como

um emparelhamento perfeito em

G[I ,

todo vrti e de

T + M tem grau par e, portanto, o multigrafo T 0 na linha 4 tem um i lo

T geradora.
C um ir uito hamiltoniano de G.

euleriano. O i lo gerador pois

Teorema 2.5 : O algoritmo

TSPM-Christofides

aproximao polinomial para o

TSPM.

Demonstrao: Pre isamos mostrar que

3 opt(G; ).
2

uma 32 -

tem usto no mximo

De a ordo om (2.9), temos que (C )  (P ). Por ou (P ) = (T 0 ) = (T ) + (M ). Usando (2.8), temos que


(T ) + (M )  opt(G; ) + (M ): Portanto, para on luir que

tro lado,

(C )

Na linha 6 do algoritmo,

Edmonds

Algoritmos Clssi os

18

(C )  23 opt(G; ), basta mostrar que

opt(G; )  2 (M ) :

(2.10)

C  uma soluo tima para o TSPM. Sejam u1 ; u2 ; : : : ; u2k os vr


ti es de I na ordem em que apare em em C . Como G ompleto, a
seqn ia D := (u1 ; u2 ; : : : ; u2k ; u1 ) um ir uito em G[I . Em outras

palavras, D pode ser obtido de C pela substituio de ada segmen
to de C que liga ui a ui+1 pela aresta ui ui+1 de G. A desigualdade

triangular (2.7) garante que (D )  (C ). Alm disso, omo D tem
omprimento par, ED a unio de dois emparelhamentos perfeitos em
G[I mutuamente disjuntos, digamos M 0 e M 00 . Logo,
Seja

2 (M )  (M 0 ) + (M 00 ) = (D)  (C  ) = opt(G; ) ;
sendo que a primeira desigualdade vale porque

um emparelhamento

perfeito de usto mnimo. Isso ompleta a prova de (2.10).


A linha 3 onsome tempo
onsomem tempo

O(jVG j2 ).

O(jVG j3 ),

enquanto que as demais linhas

Portanto, o algoritmo polinomial.

Proposto em 1976, TSPM-Christofides ainda o melhor algoritmo de aproximao onhe ido para o TSPM. O algoritmo TSPM-RSL
pode ser uma boa alternativa em ertas ir unstn ias: ele onsome menos tempo que o TSPM-Christofides e bem mais simples, pois no
envolve a determinao de um emparelhamento perfeito de usto mnimo.

Exer ios
2.1

Mostre que o algoritmo Es alonamento-Graham


razo de aproximao

1.

Para ada

m,

(m; n; t)

tem

exiba uma instn ia

para a qual o algoritmo produz um es alonamento que atinge tal


razo em relao ao timo.
2.2

Considere a variante do algoritmo de Graham que olo a as tarefas


em ordem no-de res ente de tempo antes de omear o pro esso de es alonamento. Mostre que essa variante uma

4=3

-aproxi-

mao polinomial para o Es alonamento. Exiba uma instn ia

(m; n; t)
4 opt(m; n; t)
3

para a qual o algoritmo produz um es alonamento de usto


.

2.3

Es reva uma verso iterativa do algoritmo MinCC-Chvtal.

Exer ios

2.4

19

problema da obertura mxima

blem )

(maximum

overage pro-

onsiste no seguinte:

Problema MaxCC (E; w; S; k): Dados um onjunto nito


E , um peso we em Q  para ada e em E , uma oleo S
de sub onjuntos de E e um inteiro no-negativo k SjSj,
en ontrar uma sub oleo T de B tal que jT j = k e w( T )

mximo.

Este problema NP-dif il [GJ79. Mostre que o algoritmo guloso


que es olhe a ada passo um onjunto que obre o sub onjunto mais

k 1 )k )-aproximaLembre-se de que 1
(1 k 1)k >

pesado de elementos des obertos uma


o polinomial para o problema.

(1 (1

e 1 , onde e a base dos logaritmos naturais, e on lua que esse


algoritmo uma 0;63-aproximao para o MaxCC.

2.5

Construa instn ias do MinCC om ustos unitrios, ou seja, instn ias

(E; S; )

om

=1

para todo

em

S,

para as quais o

usto da obertura produzida pelo algoritmo MinCC-Chvtal pode hegar arbitrariamente perto de
2.6

Lembre-se que

ln x

 1 + ln n.

Hn

Hn opt(E; S; ), onde n := jE j.

a primitiva da funo

1=x

Deduza da que

Con lua que o algoritmo MinCC-Chvtal

O(log n)-aproximao polinomial para o MinCC (E; S; ), onde n := jE j > 1.

uma

2.7

(m; n; v; w)
P
v := i : w m vi

Rees reva o algoritmo Mo hila-Exato

de modo que

que mais evidente que as linhas 11 e 12 do algoritmo podem ser


exe utadas em tempo
2.8

O(n + v ), onde

Considere o seguinte algoritmo guloso para o problema da mo hila:


sele ione um a um os objetos

ujo valor de

vj =wj

mximo at

que a apa idade da mo hila seja atingida ou todos os objetos j


foram onsiderados.

Mostre que este algoritmo no tem razo de

aproximao onstante, ou seja, exiba uma famlia de instn ias

(m; n; v; w)

do problema para as quais a razo entre o valor da

soluo produzida pelo algoritmo e

opt(m; n; v; w)

arbitrariamente

pequena.
2.9

problema do empa otamento unidimensional (bin pa king

problem )

onsiste no seguinte:

Problema Empa otamento (n; ): Dados um inteiro positivo n e, para ada i em f1; : : : ; ng, um nmero ra ional
i no intervalo fe hado [0; 1, en ontrar uma partio B de

Algoritmos Clssi os

20

f1; : : : ; ng tal que (B )  1 para todo B em B e jBj seja

mnimo.

Este problema NP-dif il no sentido forte [GJ79. Mostre que o


algoritmo abaixo uma

-aproximao polinomial para o Empa-

otamento. Exiba uma instn ia

(n; )

para a qual o algoritmo

B tal que jBj = 2opt(n; ).


Algoritmo Empa otamento-Next-Fit (n; )
1
k 1

produz uma partio

Bk

para

4
5
6
7
8

i de 1 a n faa
se i  1
(Bk )
ento Bk
Bk [ fig
seno k
k+1
Bk fig
devolva fB1 ; : : : ; Bk g

2.10 Construa uma famlia de instn ias

(G; ) TSPM
2opt(G; )
do

para as quais o

usto do ir uito hamiltoniano obtido pelo algoritmo TSPM-RSL


pode ser arbitrariamente prximo de
famlia de instn ias

(G; )

Construa uma

do TSPM para as quais o usto do

ir uito hamiltoniano obtido pelo algoritmo de Christodes pode


ser arbitrariamente prximo de

3
2 opt(G; ).

2.11 Considere as trs seguintes variantes do TSPM. Na primeira, bus amos um aminho hamiltoniano de usto mnimo no grafo dado.
Na segunda, queremos um aminho hamiltoniano de usto mnimo
dentre os que omeam em um dado vrti e

s.

Na ter eira, que-

remos um aminho hamiltoniano de usto mnimo dentre os que


omeam em um dado vrti e

s e terminam em um dado vrti e t.

Modique o algoritmo de Christodes para que ele seja um algoritmo de aproximao om razo menor que

para ada uma destas

variantes.
2.12 Mostre que os algoritmos TSPM-RSL e TSPM-Christofides podem produzir pssimos resultados se apli ados a instn ias do TSP
que no satisfazem a desigualdade triangular.

Notas bibliogr as
A primeira verso desse aptulo teve por base o livro editado por
Ho hbaum [Ho 97, o livro de Cormen

et al.

[CLR92, o texto de Gui-

mares [Gui98, as notas de aula de Williamson [Wil98 e o relatrio

Notas bibliogrfi as

21

t ni o de Christodes [Chr76. O exer io 2.4 foi extrado do livro de


Vazirani [Vaz01.
Para o problema do es alonamento em mquinas idnti as, Ho hbaum e Shmoys [HS88 obtiveram um esquema de aproximao polinomial, ou seja, uma

(1+")

-aproximao polinomial para todo nmero ra-

" xo.

O algoritmo des rito no exer io 2.2 foi proposto

por Graham [Gra69.

O algoritmo apresentado na seo 2.1 onhe-

ional positivo
ido omo

list s heduling.

Diversas variantes do problema so dis uti-

das na literatura. Uma boa amostra dessas variantes e suas apli aes
en ontra-se no livro de Bru ker [Bru98 e no livro editado por Chrtienne

et al.

[CJLL95.

O problema da obertura mnima por onjuntos, no aso espe ial


em que todos os ustos so unitrios, foi estudado primeiramente por
Johnson [Joh74, que apresentou uma

(1 + ln n)

-aproximao, onde

o nmero de elementos no onjunto que se quer obrir. Lovsz [Lov75,


estudando oberturas em hipergrafos, obteve esse mesmo resultado. O
algoritmo MinCC-Chvtal apli ado a essas instn ias espe iais oin ide om esse algoritmo.
Um esquema de aproximao plenamente polinomial para o problema
da mo hila, que onsome menos tempo e espao do que os anteriormente
onhe idos, foi re entemente obtido por Kellerer [KP99. O problema da
mo hila tem diversas variantes ( om pre edn ia, no-linear, esto sti a,
multidimensional). O livro de Martello e Toth [MT90 uma ex elente
resenha do estado-da-arte para muitas dessas variantes.

Entre outras

oisas, o livro apresenta resultados omputa ionais sobre implementaes


de vrios algoritmos exatos e de aproximao e ontm um disquete om
os digos das implementaes.
O TSP onsiderado um problema entral na rea de otimizao
ombinatria. O livro editado por Lawler

et al.

[LLRS90, om ontri-

buies de diversos autores, forne e uma resenha uni ada, ompleta e


atualizada at 1985. Uma resenha mais re ente, devida a Jnger, Reinelt e Rinaldi [JRR95, dis ute vrias t ni as, on entrando-se naquelas que tm se mostrado mais e azes para resolver instn ias do TSP
que surgem na prti a. Dentre essas, desta amos a heursti a de Lin e
Kernighan [LK73 e os mtodos

bran h-and- ut,

que baseiam-se em um

poliedro asso iado ao TSP [ABCC98.


A bibliote a TSPLIB, mantida por Reinelt [Rei00, uma oletnea de instn ias do TSP de diversos tamanhos e tipos.

Ela usada

em estudos omparativos da e in ia e e ia de novas heursti as e


algoritmos de aproximao para o TSP.

Algoritmos Clssi os

22

Um esquema de aproximao polinomial para a verso eu lidiana do

TSP em dimenso xa foi obtido por Arora [Aro98 e, logo em seguida,
independentemente, por Mit hell [Mit99. Um algoritmo de aproximao
para o problema do aminho hamiltoniano de usto mnimo, nos moldes do algoritmo de Christodes, foi projetado por Hoogeveen [Hoo91
(exer io 2.11).

Arora

et al.

[AGK 98 apresentaram um esquema de

aproximao polinomial para o TSPM restrito a grafos planares.


O sosti ado algoritmo de Edmonds [Edm65a, Edm65b, LP86 para
en ontrar um emparelhamento perfeito de usto mnimo um mar o
na teoria algortmi a dos grafos e est ligado s origens da teoria de
omplexidade (apndi e E).

Captulo 3

Mtodo Primal
Vimos no aptulo anterior que t ni as bem onhe idas de projeto
de algoritmos, omo a programao dinmi a e o mtodo guloso, podem
resultar em bons algoritmos de aproximao. Neste aptulo e nos prximos trs, mostramos omo programao linear (apndi e C) pode ser
usada na riao de bons algoritmos de aproximao.
Programao linear uma ferramenta til pois existem bons algoritmos para resolver programas lineares. Alm disso, ela pode forne er
boas delimitaes para o valor timo do problema em questo e, omo
j vimos, tais delimitaes so essen iais para a anlise da qualidade da
soluo produzida por um algoritmo de aproximao.
Para riar um algoritmo de aproximao baseado em programao
linear, ne essitamos de um programa linear que seja uma

relaxao

do

problema de otimizao: ada soluo vivel do problema ombinatrio


deve orresponder a uma soluo vivel do programa linear.

3.1 T ni a do arredondamento
Uma t ni a simples mas s vezes e az a do

arredondamento.

Esta t ni a onsiste em arredondar uma soluo tima de um programa linear que represente o problema original. A t ni a pode dar bons
resultados no s om programas lineares, omo veremos no aptulo 7.
Nesta seo, vamos apli ar a t ni a do arredondamento ao problema da
obertura mnima por onjuntos, j dis utido na seo 2.2.

23

Mtodo Primal

24

Problema

(E; S; )

Dados um onjunto nito E , uma


oleo nita S de onjuntos nitos que obre E e um usto S
em Q  para ada S em S, en ontrar uma obertura T de E que
minimize (T ).
MinCC

Para apli ar a t ni a do arredondamento, pre isamos formular um


programa linear que represente o MinCC. Considere o seguinte programa
linear: en ontrar um vetor
minimize
sob as restries

x indexado por S que

x
P

S : e2S xS
xS

 1
 0

e em E ;
para ada S em S :

(3.1)

para ada

S em S e, para ada
e em E , uma restrio que orresponde exign ia de que e seja oberto. O programa linear (3.1) limitado, pois x  0 para qualquer
soluo vivel x de (3.1), e vivel j que o vetor ara tersti o de S
Neste programa, tem-se uma varivel

satisfaz as restries de (3.1).

xS

para ada

Assim, pelo teorema forte da dualidade

(teorema C.3, apndi e C), o programa (3.1) tem uma soluo tima ra ional. Como o vetor ara tersti o de qualquer obertura de

vivel

em (3.1), temos a seguinte delimitao inferior para o valor timo do


problema MinCC

(E; S; )

opt(E; S; )  x^
para toda soluo tima

x^ de (3.1).

Se todos os omponentes de uma soluo tima


oleo

(3.2)

x^ so inteiros, a sub-

fS 2 S : x^S > 0g uma soluo tima do MinCC, ou seja, uma

E de usto mnimo. Em geral, porm, vrios omponentes


x^ so fra ionrios. Ao arredondarmos os valores desses omponentes
de maneira apropriada, podemos obter uma obertura de E . A seguir,
obertura de

de

analisamos uma possvel maneira de realizar este arredondamento.

e em E , seja fe a freqn ia de e em S, isto , o nmero


S aos quais e perten e. Seja a maior das freqn ias.
Como S obre E , temos que > 0. O prximo algoritmo, projetado
por Ho hbaum [Ho 82, es olhe um onjunto S em S para fazer parte da
obertura se e somente se o valor da varivel x
^S pelo menos 1= .
Para ada

de elementos de

3.2 T ni a mtri a

25

Algoritmo MinCC-Ho hbaum (E; S; )


1
seja x^ uma soluo tima ra ional de (3.1)
2
para ada e em E faa fe
jfS 2 S : e 2 S gj
3
maxe2E fe
4
T fS 2 S : x^S  1= g
5

devolva

T uma obertura, omo passamos a mostrar. Cada e em


onjuntos de S. Este fato, juntamente om
P
a restrio
x

1, garante que x^S  1= para algum S que
S : e2S S
ontm e. Portanto, T ontm algum S que ontm e, ou seja, T uma
E

A oleo

perten e a no mximo

obertura de

E.

Teorema 3.1 : O algoritmo MinCC-Ho hbaum uma -aproximao polinomial para o MinCC (E; S; ), onde o nmero
mximo de vezes que um elemento de E apare e em onjuntos
de S.

T produzida pelo algoritmo


(T ) = S 2T S  S 2T S x^S  x^  opt(E; S; ) ;
onde a primeira desigualdade vale pois x
^S  1 para todo S em T e a
Demonstrao: O usto da obertura

ltima vale por (3.2).

jSj variveis e jE j restries (as restri 0 so impl itas) e, portanto, o tamanho do sistema (3.1)
(jSj + 1)jE j + h i. Como programas lineares podem ser resolvidos em
O programa linear (3.1) tem

es

xS

tempo polinomial (fato C.4), a linha 1 do algoritmo pode ser exe utada em tempo polinomial. As demais linhas laramente tambm podem
ser exe utadas em tempo polinomial em
polinomial.

jE j e jSj.

Assim, o algoritmo

3.2 T ni a mtri a
x^ de um programa linear asso iado ao problema ombinatrio. Desta vez, x
^ um
vetor indexado pelas arestas de um grafo e ada omponente x
^e ser
interpretado omo o omprimento da aresta e.
Como na seo anterior, usaremos uma soluo tima

Vamos des rever a apli ao dessa t ni a ao problema do multi orte


mnimo.

Dados um grafo

e um onjunto

de pares de vrti es,

Mtodo Primal

26

s a t um K - aminho se fs; tg 2 K . Um
onjunto M de arestas um K -multi orte se no existe K - aminho no
grafo G M . O problema do multi orte mnimo (minimum multi ut
dizemos que um aminho de

problem )

onsiste no seguinte:

Problema MinMCut (G; K; ): Dados um grafo G, um onjunto K de pares de vrti es e um usto e em Q  para ada
aresta e, en ontrar um K -multi orte M que minimize (M ).
H um bem onhe ido algoritmo polinomial [AMO93 para o aso
em que

jK j = 1.

Para o aso em que

jK j = 2,

algoritmo polinomial [Hu63, Ita78. Dahlhaus

tambm existe um

et al. [DJP+ 94 mostraram

que o problema NP-dif il mesmo quando restrito s instn ias em


que

jK j = 3.

Denote por

P o onjunto de todos os K - aminhos e onsidere o se-

guinte problema de programao linear: en ontrar um vetor


por

EG que

minimize
sob as restries

O vetor ara tersti o de


soluo vivel

x
x(EP )
xe
EG

 1
 0

P em P ;
para ada e em EG :

para ada

vivel em (3.3) e

x  0

x indexado

(3.3)

para qualquer

de (3.3). Portanto, de a ordo om o teorema forte da

dualidade, o programa (3.3) tem uma soluo tima ra ional. A relao


entre este programa e o MinMCut simples: o vetor ara tersti o de
qualquer

K -multi orte vivel em (3.3) e portanto

opt(G; K; )  x^
x^

para qualquer soluo tima

(3.4)

de (3.3).

O algoritmo abaixo foi on ebido por Garg, Vazirani e Yannakakis [GVY96 e forne e a melhor razo de aproximao onhe ida para
o MinMCut. Ele supe que

6= ;; em aso ontrrio, o problema

trivial.

Algoritmo MinMCut-GVY (G; K; )


1
seja x^ uma soluo tima ra ional de (3.3)
2
k jK j
3
M Central (G; k; K; ; x^)
4
devolva M

3.2 T ni a mtri a

27

O algoritmo Central, que detalhamos adiante, produz um


multi orte

K-

tal que

(M )

 (4ln 2k) x :

(3.5)

Teorema 3.2 : O algoritmo MinMCut-GVY uma (4ln 2k)aproximao polinomial para o MinMCut (G; K; ), sendo k :=
jK j > 0.
Demonstrao: Em virtude de (3.5) e (3.4), o usto
orte

(M ) do multi-

que o algoritmo devolve satisfaz

(M )

 (4ln 2k) x^  (4ln 2k)opt(G; K; ) :

O nmero de restries do programa (3.3) pode ser exponen ial em

jVG j.

Ainda assim, a linha 1 do algoritmo MinMCut-GVY pode ser exe utada em tempo polinomial em

hGi + h i, j que temos um algoritmo de

xe omo omprimento da
e, al ule um aminho de omprimento mnimo de s a t para ada
fs; tg em K . Se algum destes aminhos, digamos P , tiver omprimento
menor que 1, o vetor x no satisfaz a restrio de (3.3) orrespondente
a P . Do ontrrio, x satisfaz todas as restries de (3.3). Esse algoritmo de separao onsome tempo polinomial em hGi (use o algoritmo de
separao (apndi e C) para (3.3): interprete

aresta

Dijkstra [AMO93, por exemplo) e portanto a linha 1 do algoritmo pode


ser exe utada em tempo polinomial em
A soluo

hGi + h i.

x^ ra ional e hx^i limitado por um polinmio em hGi (fa-

to C.4). Como mostraremos ao analisar o algoritmo Central, a linha 3

hGi + h i + hx^i e portanto polinomial em


hGi + h i. Assim, podemos on luir que o algoritmo MinMCut-GVY
polinomial. 2

onsome tempo polinomial em

Algoritmo entral
G, um inteiro k  1, um
k pares de vrti es, um vetor ra ional e um
vetor ra ional no-negativo x tal que x(EP )  1 para todo K - aminho P .
O algoritmo Central re ebe um grafo

onjunto

de no mximo

Dado o arter re ursivo do algoritmo, ne essrio renar a espe i ao (3.5): o algoritmo Central produz um

(M )

K -multi orte M

 (2ln 2k)(1 + k1 jK j) x :

Para obter um tal multi orte, Central al ula uma partio

tal que
(3.6)

(S; T )

de

S
T

Mtodo Primal

28

VG

A
B
x(s; u)

V (s; )

K de modo a man(S; T ) induz a partio

que separe os dois vrti es de algum par em

((S ))
(A; (S ); B )
ter

razoavelmente pequeno. A partio

EG , onde A o onjunto das arestas que tm ambos os


S e B o onjunto das arestas que tm ambos os extremos
em T . O algoritmo ento apli ado, re ursivamente, ao grafo (VG ; B ).
de

extremos em

Para des rever o algoritmo Central, pre isamos de alguma nota-

x(s; u) := minP x(EP ), onde


o mnimo tomado sobre todos os aminhos P de s a u ( laro que
x(s; u) = 1 se no existe aminho de s a u). Podemos interpretar
x(s; u) omo a distn ia de s a u. Para qualquer nmero , denotamos
por V (s; ) o onjunto de todos os vrti es distn ia no mximo  de s,

o.

Para quaisquer vrti es

ou seja,

u,

seja

V (s; ) := fv 2 VG : x(s; v)  g :

Imagine que as arestas do grafo so tubos, sendo

#(s; )

a rea da se o transversal do tubo

mente, denote por


mximo

 de s:

e.

xe

o omprimento e

Com essa interpretao em

#(s; ) o volume da parte da tubulao que dista no

#(s; ) := A xA +

uv2(S ); u2S uv

(

x(s; u)) ;

S := V (s; ) e A e xA so as restries de e x, respe tivamente,


ao onjunto de arestas A := EG[S . laro que #(s; )  x qualquer
que seja .
onde

Agora estamos prontos para des rever o algoritmo Central.

Algoritmo Central (G; k; K; ; x)


1
se K = ;
2
3
4
5
6
7

pi

8
9
10
11
12

ento devolva ;
seno se x = 0
ento devolva fe 2 EG : xe > 0g
seno sejam s e t os extremos de um K - aminho
seja v1 ; : : : ; vn uma ordenao dos vrti es
tal que x(s; v1 )      x(s; vn )
para i de 1 a n faa pi
x(s; vi )

1 + maxfi : pi = 0g
enquanto #(s; pj ) > ((2k )2p
1) k1 x
faa j
j +1
S V (s; pj 1 )
j

3.2 T ni a mtri a

29

T VG n S
B EG[T
GB (VG ; B )
KB K n ffs0 ; t0 g : S separa s0 de t0 g
MB Central (GB ; k; KB ; B ; xB )
devolva (S ) [ MB

13
14
15
16
17
18

GB

S separa s0 de t0 se S ontm exatamente


Na linha 17, os vetores B e xB so as restries de e x

Na linha 16, dizemos que

0 0
um de s e t .
a

B , respe tivamente.

No m da linha 9, temos

x(s; t)  1.

((2k)2p

2jn

= x(s; s) = 0 pn 
pn  1 k  1
1) k1 x > (2k 1) k1 x  x  #(s; pn) :
pois

Aps as linhas 10 e 11, omo

1) k1 x  ((2k)2

p1

Na linha 17, as ondies de apli abilidade do algoritmo Central esto


satisfeitas:

jKB j  jK j  k, xB no-negativo e xB (EP )  1 para todo

KB - aminho P

em

GB .

Lema 3.3 : Ao m da linha


que

12 do algoritmo Central, temos




((S ))  (2ln 2k) A xA + (S ) x(S ) + k1 x ;

onde A e xA so as restries de e x ao onjunto A := EG[S


enquanto (S ) e x(S ) so as restries de e x a (S ).
Demonstrao: pre iso veri ar que, aps as linhas 10 e 11,

pj 1 < pj ;
#(s; pj 1 )  ((2k)2pj
#(s; pj )  ((2k)2pj

(3.7)
e

(3.8)
(3.9)

2jn
pj 1 = p1 = 0 < pj
j=2
#(s; pj 1) = #(s; p1 ) = #(s; 0) = 0 = ((2k)0 1) k1 x ;
#(s; pj )  ((2k)2p 1) k1 x
j>2
pj 1 6= pj
pj 1 

Como j vimos a ima,


que

1 1) 1 x
k
1) 1 x :

j = 2.

aps as linhas 10 e 11. Suponha pois

Ento, em virtude da linha 9, temos que

Alm disso, ainda supondo

, temos que

em virtude das linhas 10 e 11.

Agora analisemos o aso em que

. Claramente, (3.8) e (3.9) valem

enquanto que

em virtude das linhas 10 e 11. Disso segue que

pj , pelas linhas 6 e 7, temos que (3.7) vale.

. Como

Mtodo Primal

30

Agora prosseguimos om a prova do lema.


que

#(s; pj ) + k1 x
#(s; pj 1) + k1 x

Tomando-se

logaritmo

 (2k)2(pj

natural

do

lado

De (3.8) e (3.9) temos

pj 1 ) :
esquerdo

(3.10)

de

(3.10)

desenvolvendo-o, obtemos

ln(#(s;Z pj ) + k1 x) ln(#(s; pj 1) + k1 x) =
p d
=
ln(#(s; ) + k1 x) d
d
p
Zp1
((S ))
=
1 d ;
p 1 #(s; ) + k x
#(s; ) + k1 x

(pj
j

pois a derivada de

((S )).

em relao a

no intervalo

1 ; pj )

Fazendo-se o mesmo om o lado direito de (3.10), obtemos

2(pj

pj 1)ln2k

Z pj
pj 1

(2ln 2k) d :

Como o logaritmo uma funo res ente, on lumos de (3.10) que

Z pj
pj

((S ))
1 d
1 #(s; ) + k x

Z pj
pj 1

(2ln2k) d :

 no intervalo (pj 1; pj ), que no vazio em virtude


1
de (3.7), temos que ( (S ))=(#(s; ) + x)  (2ln 2k ).
k
Para on luir o lema, resta mostrar que #(s; )  A xA +
(S ) x(S ) .
Para isso, note que, para todo uv em (S ) om u em S , temos que
x(s; v) >  e x(s; v)  x(s; u) + xuv , donde  x(s; u) < xuv . Como
S = V (s; pj 1 ) = V (s; ), segue que
Ento, para algum

#(s; )

A xA + uv2(S ); u2S uv ( x(s; u))


P
A xA + uv2(S ) uv xuv
A xA + (S ) x(S ) ;

omo queramos demonstrar.

Finalmente, estamos preparados para apresentar a anlise do algoritmo Central.

3.2 T ni a mtri a

31

Teorema 3.4 : O algoritmo Central (G; k; K; ; x) produz um


K -multi orte M tal que
(M )  (2ln 2k)(1 + k1 jK j) x

(3.11)

e onsome tempo polinomial em hGi + h i + hxi.


Demonstrao: Vamos omear provando que, aps a exe uo das
linhas 10 e 11,

pj 1 < 21 :
h

(3.12)

ph

1
2.

h existe e
maior que 1 j que pn  x(s; t)  1 e p1 = 0. Como #(s; ph )  x e
(2k)2ph 1  k, pois k  1 e ph  12 , ento #(s; ph)  ((2k)2ph 1) k1 x.
1
Assim, j  h depois da exe uo da linha 11 e, omo ph 1 <
2 pela
es olha de h e porque p1 = 0, a desigualdade (3.12) vale.
Para isso, seja

o menor natural tal que

Tal

Agora vamos veri ar que o onjunto devolvido pelo algoritmo de

K = ;, ento o onjunto vazio que o algoritmo


Se x = 0, o onjunto fe 2 EG : xe > 0g
um K -multi orte: omo x(EP )  1 para todo K - aminho P , todo K aminho tem pelo menos uma aresta e om xe > 0. Suponha agora que
K 6= ; e x > 0. Neste aso, o algoritmo devolve M := (S ) [ MB ;
podemos supor, por hiptese de induo, que MB um KB -multi orte
no grafo GB . Vamos veri ar que M um K -multi orte em G. Para
quaisquer dois vrti es u e v em S ,
fato um

K -multi orte.

Se

devolve um multi orte.

x(u; v)  x(u; s) + x(s; v) < 1 ;

(3.13)

pois distn ias satisfazem a desigualdade triangular e vale (3.12). Supo-

K - aminho em G. Como x(EP )  1, a desigualP tem pelo menos um extremo fora de S . Se


P tem um vrti e em S , ento tambm tem pelo menos uma aresta em
(S ). Se P no tem vrti es em S , ento tambm um KB - aminho e,
portanto, tem pelo menos uma aresta em MB . Logo, (S ) [ MB um
K -multi orte.
Se K = ; ou x = 0, laramente (3.11) vale. Suponha ento que
K 6= ; e x > 0. Neste aso, o algoritmo devolve M := (S ) [ MB .
Como fs; tg est em K mas no em KB , temos jKB j < jK j. Isso garante
o su esso da re urso na linha 17 e, portanto, (3.11) vale om MB , B ,
xB e KB no lugar de M , , x e K . Disso, e do lema 3.3, on lumos que
nha agora que

um

dade (3.13) garante que

Mtodo Primal

32

((S ) [ MB ) =
= ((S )) + B (MB )
 (2ln 2k)( A xA + (S) x(S) + k1 x + (1 + k1 jKB j) B xB )
= (2ln 2k)( A xA + (S) x(S) + B xB + k1 x + k1 jKB j B xB )
(3.14)
= (2ln 2k)( x + k1 x + k1 jKB j B xB )
1
1
 (2ln 2k)( x + k x + k (jK j 1) B xB )
(3.15)
1
(3.16)
 (2ln 2k)(1 + k jK j) x :

A := EG[S . A igualdade (3.14) vale pois (A; (S ); B )


uma partio de EG e portanto A xA +
(S ) x(S ) + B xB = x. A
desigualdade (3.15) vale pois jKB j  jK j 1. Finalmente, a desigualdade
(3.16) vale pois B xB  x.
Como no lema 3.3,

Quanto ao tempo de exe uo do algoritmo Central, no dif-

hGi, jK j
hxi. Em espe ial, as linhas 10 e 11 do algoritmo onsomem tempo
O(jVG j). Com estas informaes, f il mostrar, por induo em jK j,
que o algoritmo onsome tempo polinomial em hGi + h i + hxi. 2

il ver que as linhas 1 a 16 onsomem tempo polinomial em


e

Exer ios
3.1

Mostre que o algoritmo MinCC-Ho hbaum no tem uma razo de


aproximao menor que o nmero mximo de vezes,
mento de

apare e em onjuntos de

uma instn ia

(E; S; )

do problema MinCC para a qual o algoritmo

devolve uma obertura de usto no inferior a


3.2

, que um ele-

S. Em outras palavras, exiba


opt(E; S; ),

problema da obertura mnima por vrti es

vertex over problem )

(minimum

onsiste no seguinte:

Problema MinCV (G; ): Dados um grafo G e um usto


v em Q  para ada vrti e v, en ontrar um onjunto S de

vrti es que ontenha pelo menos um dos extremos de ada


uma das arestas de G e minimize (S ).

Esse problema pode ser visto omo um aso parti ular do MinCC.
Es reva uma verso espe ializada do MinCC-Ho hbaum para o

MinCV. Qual a menor razo de aproximao do algoritmo?


3.3

Considere a variante do MinCC (E; S; ), onhe ida omo problema da multi obertura mnima por onjuntos (minumum set

Notas bibliogrfi as

33

multi over problem ), em que ada elemento e de E tem asso iado a


ele um nmero re em Z> e a oleo almejada deve onter re onjuntos que ontenham e. Des reva uma Hn -aproximao, n
jE j,

:=

para esta variante do MinCC.

3.4

Compare

algoritmo

MinCC-Ho hbaum

om

algoritmo

MinCC-Chvtal. Qual tem melhor razo de aproximao?


3.5

Aplique a t ni a do arredondamento ao problema Mo hila, introduzido no aptulo 2, demonstrando a melhor razo de aproximao
que vo puder para o algoritmo obtido.

Notas bibliogr as
A primeira verso deste aptulo baseou-se no livro editado por Ho hbaum [Ho 97. O exer io 3.3 foi tirado do livro de Vazirani [Vaz01.
Srinivasan [Sri99 obteve um outro algoritmo para o MinCC usando um tipo de arredondamento probabilsti o ( aptulo 6). O problema
da multi obertura por onjuntos, apresentado no exer io 3.3, foi onsiderado e analisado por Rajagopalan e Vazirani [RV99.

Para vrios

outros problemas [CKR00, Shm98, a t ni a de arredondamento tem


demonstrado bons resultados.
Leighton e Rao [LR99 introduziram a t ni a mtri a em seu artigo sobre o problema do multiuxo uniforme(uniform

ow problem ).

multi ommodity

Garg, Vazirani e Yannakakis [GVY96, baseando-se na

abordagem feita por Leighton e Rao, obtiveram um algoritmo que essen ialmente o que apresentamos na seo 3.2.
T ni as mtri as so usadas em vrios trabalhos [AR98, CKR00,
ENRS95, KRAR95, LLR95. Alguns re orrem, de uma maneira muito
sosti ada, a propriedades mtri as de ertas imerses no

Rd ,

s ve-

zes ombinadas om t ni as probabilsti as. O leitor interessado pode


onsultar a resenha de Shmoys [Ho 97, onde resultados nessa linha so
apresentados.
O algoritmo que resolve o MinMCut

(G; K; )
jK j = 2

quando

jK j = 1

baseia-se no teorema do uxo mximo e orte mnimo [AMO93, FF56.


Uma variante desse teorema vale no aso em que

[Hu63, Ita78 e,

omo onseqn ia, h um algoritmo polinomial tambm para este aso.


O MinMCut NP-dif il tambm quando restrito a rvores bin-

rias om ustos unitrios [CFR98, DJP 94.

Para rvores, h uma

aproximao polinomial [GVY97 (exer io 5.15). Uma

-aproximao

Mtodo Primal

34

polinomial om

onstante e menor que 2 para o aso das rvores resol-

veria um problema bem- onhe ido e em aberto h anos: o de en ontrar


um algoritmo de aproximao om razo menor que

para o problema

MinCV da obertura mnima por vrti es (exer io 8.3).


Uma variante muito interessante do MinMCut onhe ida omo

multiterminal- ut

ou

multiway- ut :
e em Q 

de vrti es e um usto

dados um grafo

G, um onjunto L
e, en ontrar um

para ada aresta

onjunto de arestas de usto mnimo uja remoo deixa ada vrti e de

em um omponente diferente.

Dahlhaus

que o problema NP-dif il mesmo quando

et al.

[DJP 94 mostraram

jLj = 3. (Esta variante pode

L pelo onjunto
(G; K; )
Eles projetaram tambm uma (2
2=jLj)-

ser reduzida ao MinMCut se substituirmos o onjunto


de todos os pares de vrti es em
NP-dif il quando

jK j = 3.)

L.

Disso segue que MinMCut

aproximao polinomial para esse problema. Atualmente a melhor razo


de aproximao onhe ida para esse problema

1;3438

[KKS

+ 99.

Captulo 4

Mtodo Dual
Neste aptulo des revemos omo obter algoritmos de aproximao
para um problema de otimizao usando o dual de um programa linear
que representa o problema em questo.

Esta estratgia de projeto de

algoritmos de aproximao hamada de mtodo dual.

4.1 Cobertura por vrti es


O problema que vamos usar para apresentar o mtodo o problema

G, uma obertura
por vrti es um onjunto de vrti es om pelo menos um dos extremos
de ada aresta. O problema da obertura mnima por vrti es

da obertura mnima por vrti es. Dado um grafo

(vertex

over problem )

onsiste no seguinte:

Problema MinCV (G; ): Dados um grafo G e um usto v em


Q  para ada vrti e v, en ontrar uma obertura por vrti es S
que minimize (S ).
O problema NP-dif il mesmo quando o grafo onexo, planar e
tem grau mximo 4 [GJ79. Para este e outros problemas semelhantes,
o mtodo dual se apli a de forma simples e direta. A sua simpli idade
no o impede de ser e az: o mtodo dual produz o melhor algoritmo de
aproximao onhe ido para o MinCV.
O mtodo onsiste em obter uma soluo tima do dual de uma relaxao linear do problema original e, a partir desta soluo, produzir uma
resposta para o problema original. Considere, pois, a seguinte relaxao

35

Mtodo Dual

36

linear do MinCV: en ontrar um vetor

x
xu + xv
xv

minimize

x indexado por VG que

 1
 0

(4.1)
uv em EG ;
para ada v em VG :
O dual deste programa en ontrar um vetor y indexado por EG que
maximize y (EG )
(4.2)
sob as restries y ( (v ))  v para ada v em VG ;
ye  0 para ada e em EG :
O programa (4.1) vivel pois o vetor ara tersti o de VG satisfaz as
sob as restries

para ada

restries. O programa (4.2) vivel pois o vetor nulo satisfaz as restries. Assim, pelo teorema forte da dualidade (teorema C.3, apndi e C),
o programa (4.2) tem soluo tima ra ional. Alm disso, o vetor ara tersti o de qualquer obertura por vrti es vivel em (4.1) e, portanto,
temos que

opt(G; )  x^ = y^(EG ) ;
x^

para qualquer soluo tima

(4.3)

de (4.1) e qualquer soluo tima

de (4.2).

y^

y^ de (4.2), es olha todos os vrsatisfeita om igualdade por y


^.

Uma vez obtida uma soluo tima


ti es de

uja restrio em (4.2)

f il justi ar essa estratgia a partir das ondies de folgas omple-

x^ uma soluo tima


que x
^v > 0 es olhido. O

mentares ( ondio C.5) para (4.1) e (4.2): se


do programa (4.1) ento todo vrti e

tal

algoritmo resultante foi proposto por Ho hbaum [Ho 82 originalmente


para o MinCC, que generaliza o MinCV.

Algoritmo MinCV-Ho hbaum (G; )


1
seja y^ uma soluo tima ra ional de (4.2)
2
C fv 2 VG : y^((v)) = v g
3
devolva C
A prova do teorema abaixo semelhante prova do lema das folgas
omplementares (lema C.2).

Teorema 4.1 : O algoritmo


obertura por vrti es.
Demonstrao: Seja
por

MinCV-Ho hbaum

produz uma

o onjunto devolvido pelo algoritmo. Denote

dv a folga na restrio em (4.2) que orresponde ao vrti e v, ou seja,

Exer ios

37

:= v y^((v))
minfdi ; dj g
dv

= ij
" :=
"=0
y_f := y^f + " y_ e := y^e
y_ ((v)) = y^((v))  v
v
fi; j g
y_
y_ (EG ) = y^(EG ) + "
"=0

. Considere uma aresta arbitrria

. Queremos mostrar que

. Dena

e seja
e

e distinta de f . Note que


, para
todo vrti e v distinto de i e j . Alm disso, para
em
, temos que
y_ ((v)) = y^((v)) + "  v . Isso signi a que vivel em (4.2). Como
y^ uma soluo tima de (4.2) e
, temos que
.
Portanto, uma das restries em (4.2) que orrespondem aos vrti es i e
j no tem folga. Assim, C uma obertura por vrti es. 2

para toda aresta

A qualidade da soluo produzida por este algoritmo atestada pelo


seguinte teorema.

Teorema 4.2 : O algoritmo MinCV-Ho hbaum uma 2-aproximao polinomial para o MinCV.
Demonstrao: Ao nal do algoritmo,

(C )

v2C v

tal que

^((v))  2 y^(EG)  2opt(G; ) :


e = ij
y^e

v2C y

A primeira desigualdade vale pois, para ada aresta

apare e no mximo duas vezes na soma: uma vez se


se

est em

C.

, a varivel

i est em C e outra

A segunda desigualdade vale por (4.3).

O programa linear (4.2) tem

jEGj variveis e jVG j restries. Assim,

a linha 1 do algoritmo pode ser exe utada em tempo polinomial em

hGi+h i (fato C.4). Claramente os demais passos do algoritmo podem ser


exe utados em tempo polinomial em hGi + h i. Podemos ento on luir
que o MinCV-Ho hbaum polinomial. 2

A melhor razo de aproximao onhe ida para o MinCV 2, ou


seja, no se onhe e um algoritmo para o MinCV melhor, em termos de
razo de aproximao, que o MinCV-Ho hbaum.

Exer ios
4.1

Mostre que o algoritmo MinCV-Ho hbaum no tem uma razo de

2
(S ) = 2opt(G; )

aproximao menor que

, ou seja, apresente uma instn ia

(G; )

do MinCV para a qual o algoritmo devolva uma obertura por


vrti es
4.2

em que

Mostre que o algoritmo MinCV-Ho hbaum diferente do algoritmo sugerido no exer io 3.2, ou seja, exiba uma instn ia do

Mtodo Dual

38

problema onde os algoritmos produzem (ou podem produzir) oberturas diferentes.


4.3

Aplique o mtodo dual ao problema da obertura mnima por onjuntos (MinCC), denido na seo 2.2.

Mostre que o algoritmo

resultante uma

o nmero mximo de

-aproximao,

onde

onjuntos em que um elemento apare e.


4.4

Considere o

problema da obertura mnima por arestas (mi-

nimum edge over problem ):

Problema MinCA (G; ): Dados um grafo G e um usto


e em Q  para ada aresta e, en ontrar um onjunto S de
arestas tal que todo vrti e perten e a alguma aresta de S
e (S ) mnimo.

O MinCA um aso parti ular f il do MinCC: existe um algoritmo polinomial que o resolve [Law76. Mostre que o mtodo dual
d uma

-aproximao polinomial para o MinCA, onde

mximo em
4.5

G.

o grau

D uma prova alternativa do teorema 2.2 que use o dual do programa (3.1).

Mais pre isamente, en ontre uma soluo vivel do

dual do programa (3.1) ujo valor igual ao da obertura produzida pelo algoritmo MinCC-Chvtal. Disso e do teorema fra o da
dualidade (lema C.1), deduza o teorema 2.2.

Notas bibliogr as
Como j men ionamos, o problema da obertura mnima por vrti es (MinCV) um aso espe ial do problema da obertura mnima
por onjuntos (MinCC). Este ltimo foi extensivamente investigado por
Ho hbaum [Ho 82 que apresentou, omo vimos no aptulo 3, uma
aproximao polinomial para o problema. Aqui,
de vezes que um elemento de
onsidera uma instn ia

apare e em onjuntos de

(E; S; )

o nmero mximo

S, quando se

Alm da abordagem primal, vista no aptulo 3, Ho hbaum apresentou uma

-aproximao para o MinCC baseado na formulao dual.

Esse algoritmo essen ialmente uma generalizao do que dis utimos


para o MinCV. Mais re entemente, Ho hbaum [Ho 97 es reveu uma
resenha ompleta sobre algoritmos produzidos pelos mtodos primal e
dual para vrios problemas de obertura. Hall e Ho hbaum [HH86 ob-

Notas bibliogrfi as

39

tiveram algoritmos, baseados tanto no mtodo primal quanto no dual,


para o problema da multi obertura mnima por onjuntos (exer io 3.3).
A prova alternativa da razo de aproximao do MinCC-Chvtal
sugerida no exer io 4.5 deve-se a Chvtal [Chv79 e Lovsz [Lov75.
O esquema de aproximao polinomial de Ho hbaum e Shmoys
[HS87, HS88 para o Es alonamento, men ionado nas notas do aptulo 2, usa uma abordagem que eles hamaram de

dual approximation.

Essa abordagem difere do mtodo dual aqui des rito. Ela onsiste em
en ontrar solues duais super-timas (inviveis, portanto) que so ento
onvertidas em boas solues viveis.

40

Mtodo Dual

Captulo 5

Mtodo Primal-Dual
Este aptulo apresenta o mtodo primal-dual lssi o e uma generalizao dele que tem sido usada om bastante su esso no projeto de
algoritmos de aproximao: o mtodo de aproximao primal-dual.
O mtodo primal-dual reduz, apoiando-se nas ondies de folgas
omplementares, um problema de programao linear a uma seqn ia de
problemas de viabilidade, poten ialmente mais simples. Nas apli aes
do mtodo em otimizao ombinatria, esses problemas de viabilidade
so muitas vezes outros problemas de otimizao ombinatria para os
quais so onhe idos algoritmos e ientes, no raro

trios.

puramente ombina-

Por algoritmo puramente ombinatrio entenda-se um algoritmo

sem uma refern ia expl ita a algum algoritmo de programao linear,


omo os que vimos nos aptulos 3 e 4.
Neste aptulo, mostramos os algoritmo obtidos da apli ao do mtodo de aproximao primal-dual ao problema da transversal mnima e
ao problema da oresta de Steiner.

5.1 Mtodo primal-dual lssi o


Sejam
matriz
por

N.

A.

os onjuntos de ndi es de linhas e olunas de uma

Sejam ainda

b um vetor indexado por M e um vetor indexado

Considere o seguinte problema de programao linear, que ser

denotado por

P(A; b; )

: en ontrar um vetor

minimize
sob as restries

x
(Ax)i
xj

 bi
 0
41

x indexado por N

i em M ;
para ada j em N :

para ada

que

(5.1)

P(A; b; )

Mtodo Primal-Dual

42

X (A; b)

O onjunto das solues viveis do problema

X (A; b).

O problema

P(A; b; )
P(A; b; )

ser denotado por

vivel se e somente se

vazio. O dual do problema


indexado por

P(A; b; )

X (A; b)

no

onsiste em en ontrar um vetor

que

maximize
sob as restries

yb
(yA)j
yi

 j
 0

j em N ;
para ada i em M :
para ada

(5.2)

D(A; ; b) Ser usada a abreviatura D(A; ; b) para denotar esse programa linear e
Y (A; ) Y (A; ) para representar o onjunto de suas solues viveis. O problema

D(A; ; b)
D(A; ; b)

Y (A; ) no vazio. Dizemos que


o programa dual e P(A; b; ) o programa primal.
Dois vetores x e y , indexados por M e N respe tivamente, tm folgas
omplementares se, para ada ndi e j em N , tem-se que
vivel se e somente se

xj = 0
e, para ada ndi e

ou

(yA)j = j

i em M , tem-se que
yi = 0

ou

(Ax)i = bi :

O lema das folgas omplementares (lema C.2, apndi e C) arma que,

x em X (A; b) e todo y em Y (A; ), tem-se x = y b se e somente


se as folgas de x e y so omplementares.

para todo

A idia geral do mtodo primal-dual a seguinte. O mtodo iterativo e no in io de ada iterao tem-se um vetor

vivel no programa

x vivel no progras de y . Se um tal vetor x

dual. Cada iterao onsiste na pro ura por um vetor


ma primal que tem folgas omplementares

x e y so solues timas dos programas


primal e dual, respe tivamente. Se um tal vetor x no en ontrado, o
mtodo modi a y para obter um novo vetor z vivel no programa dual
e omea uma nova iterao om z no papel de y .
O mtodo primal-dual re ebe um sistema (A; b; ) tal que Y (A; )
no vazio e devolve: (1) vetores x em X (A; b) e y em Y (A; ) tais que
x = y b, ou (2) um vetor y0 em Y (A; 0) tal que y0 b > 0.
Cada iterao do mtodo omea om um vetor y em Y (A; ). No
in io da primeira iterao, y um elemento qualquer de Y (A; ). Cada
en ontrado, o mtodo pra, pois

iterao onsiste no seguinte. Sejam

I (y )
J (y )

I (y) := fi 2 M : yi = 0g

J (y) := fj 2 N

: (yA)j = j g :

5.1 Mtodo primal-dual lssi o

43

problema restrito primal a seguir, denotado por


RP(A; b; y): en ontrar um vetor x indexado por N tal que
(Ax)i  bi para ada i em I (y) ;
(Ax)i = bi para ada i em M n I (y) ;
(5.3)
xj  0 para ada j em J (y) ;
xj = 0 para ada j em N n J (y) :
Este um problema de viabilidade: trata-se de en ontrar x que satisfaz
as restries (5.3). Suponha que o problema RP(A; b; y ) vivel e seja
x uma de suas solues. Um tal vetor x est em X (A; b) e tem folgas
omplementares s de y , donde x = y b. Nesta situao o mtodo
pra aps devolver os vetores x e y que, de a ordo om o teorema fra o
Considere

RP( )

da dualidade (lema C.1, apndi e C), so solues timas do problema

P(A; b; ) D(A; ; b)
RP(A; b; y)
e

Se o problema

, respe tivamente.
invivel ento, pelo lema de Farkas (le-

ma C.5, apndi e C), o seguinte problema de viabilidade tem soluo:

y0 indexado por M tal que


y0 b > 0 ;
(y0 A)j  0 para ada j em J (y) ;
(5.4)
yi0  0 para ada i em I (y) :
Esse problema hamado de problema restrito dual e ser denotado
por RD(A; b; y ).
0
Seja y uma soluo do problema RD(A; b; y ). Se, para todo nme0
ro positivo  , o vetor y + y est em Y (A; ), ento o programa linear
D(A; ; b) ilimitado e o mtodo pra aps devolver y0 , vetor de inviabilidade para P(A; b; ). Caso ontrrio, o mtodo omea uma nova
0
iterao om y + y no papel de y , onde  o maior nmero tal que
y + y0 est em Y (A; ). Abaixo en ontra-se a des rio do mtodo.

en ontrar um vetor

Mtodo Primal-Dual (A; b; )


1
seja y um vetor em Y (A; )
2
enquanto RP(A; b; y ) no tem soluo faa
3
seja y 0 uma soluo do RD(A; b; y )
4
se y + y 0 2 Y (A; ) para todo  positivo
5
ento devolva y 0
6
seno seja  o maior nmero tal que y + y 0 2 Y (A; )
7
y y + y0
8
seja x uma soluo do RP(A; b; y )
9
devolva x e y

RD( )

Mtodo Primal-Dual

44

5.2 Mtodo de aproximao primal-dual


O mtodo de aproximao primal-dual semelhante ao mtodo lssi o, om a diferena que o mtodo pra assim que en ontra solues

P(A; b; ) D(A; ; b)

viveis dos problemas


das solues timas.

su ientemente prximas

Esta proximidade ser medida atravs de folgas

aproximadas.

e dois nmeros tais que 0 <  1  . Dizemos que x e


y tm folgas -aproximadas no primal se, para ada ndi e j em N ,
Sejam

tem-se que

xj = 0

ou

(yA)j  j :

x e y tm folgas -aproximadas no
ndi e i em M , tem-se que
Dizemos que

yi = 0

ou

dual se, para ada

(Ax)i  bi :

O lema a seguir uma generalizao do lema das folgas omplementares.

Lema 5.1 (das folgas aproximadas): Se os vetores no-negativos x e y satisfazem as ondies de folgas -aproximadas no
primal e -aproximadas no dual, ento x  y b.
Demonstrao: Em virtude das folgas aproximadas,

 (yA) x = y (Ax)  y b ;

onde a primeira desigualdade segue da no-negatividade de


da no-negatividade de

y. 2

x e a segunda

Uma onseqn ia imediata do lema das folgas aproximadas o se-

x em X (A; b) e y em Y (A; ) satisfazendo as ondies


-aproximadas no primal e -aproximadas no dual, tem-se que

guinte. Para todo


de folgas

x  ( = ) x^

y b  ( = ) y^ b ;

x^ e y^ so solues timas de P(A; b; ) e D(A; ; b), respe tivamente.


O mtodo de aproximao primal-dual re ebe um sistema (A; b; )
tal que Y (A; ) no vazio e dois nmeros e tais que 0 <  1 
e devolve: (1) vetores x em X (A; b) e y em Y (A; ) tais que x  y b
0
0
ou (2) um vetor y em Y (A; 0) tal que y b > 0.
Cada iterao do mtodo omea om um vetor y em Y (A; ). No
in io da primeira iterao, y um elemento qualquer de Y (A; ). Cada
onde

iterao onsiste no seguinte. Sejam

5.2 Mtodo de aproximao primal-dual

I (y )

I (y) := fi 2 M : yi = 0g

J (y; ) := fj 2 N

45

: (yA)j  j g :

problema restrito aproximado primal: en onx indexado por N tal que


(Ax)i  bi para ada i em M ;
(Ax)i  bi para ada i em M n I (y) ;
xj  0 para ada j em J (y; ) ;
xj = 0 para ada j em N n J (y; ) :
Ser usada a abreviatura RAP(A; b; y; ; ) para denotar esse problema.
Se o problema RAP(A; b; y; ; ) vivel, ento, pelo lema das folgas
aproximadas, x um vetor em X (A; b) tal que x  y b e o mtodo
devolve x e y . Caso ontrrio, pelo lema de Farkas, o seguinte problema
restrito aproximado dual, denotado por RAD(A; b; y; ), vivel:
0
en ontrar um vetor y indexado por M tal que
y0 b > 0 ;
0
(y A)j  0 para ada j em J (y; ) ;
yi0  0 para ada i em I (y) :
0
Seja y uma soluo do problema RAD(A; b; y; ). Se para todo nmero
0
positivo  tem-se que y + y est em Y (A; ), ento o programa linear
D(A; ; b) ilimitado e o mtodo pra aps devolver y0, vetor de inviabilidade para P(A; b; ). Caso ontrrio, seja  o maior nmero tal que
y + y0 est em Y (A; ). O mtodo omea um nova iterao om y + y0
no papel de y . Abaixo en ontra-se a des rio do mtodo.

J (y; )

Considere o seguinte
trar um vetor

Mtodo Aproximao-Primal-Dual (A; b; ; ; )


1
seja y um vetor em Y (A; )
2
enquanto RAP(A; b; y; ; ) no tem soluo faa
3
seja y 0 uma soluo do RAD(A; b; y; )
4
se y + y 0 2 Y (A; ) para todo  positivo
5
ento devolva y 0
6
seno seja  o maior nmero tal que y + y 0 2 Y (A; )
7
y y + y0
8
seja x uma soluo do RAP(A; b; y; ; )
9
devolva x e y
Suponha que o mtodo pare aps devolver os vetores
veri ar que

x e y.

f il

x est em X (A; b), que y est em Y (A; ) e que os vetores x e

RAP()
RAD( )

Mtodo Primal-Dual

46

y tm folgas -aproximadas no primal e -aproximadas no dual. Donde,


pelo lema das folgas aproximadas, tem-se x  y b. Assim, o vetor y
um erti ado da qualidade de x omo soluo vivel de P(A; b; ), j
que

 ( = ) y b  ( = ) y^ b = ( = ) x^ ;

x^ e y^ so solues timas de P(A; b; ) e D(A; ; b), respe tivamente.


Da mesma forma, o vetor x erti a que y b  ( = ) y
^ b.
onde

5.3 Transversal mnima


S uma oleo nita de sub onjuntos de um onjunto nito E .
Um sub onjunto T de E uma transversal de S se T \ S no-vazio
para ada S em S. O problema da transversal mnima (hitting set
Seja

problem )

onsiste no seguinte:

Problema

(E; S; )

Dados um onjunto nito E , uma


oleo nita S de sub onjuntos de E e um usto e em Q  para
ada e em E , en ontrar uma transversal T de S que minimize
(T ).
MinTC

Diversos problemas ombinatrios so asos parti ulares do MinTC; veja


os exer ios no m do aptulo. s vezes, dizemos que
da transversal
transversal de

T.

(T ) o usto

Com isso, o problema onsiste em en ontrar uma

S de usto mnimo.

(E; S; ):
x indexado por E que
minimize x
(5.5)
sob as restries x(S )  1 para ada S em S ;
xe  0 para ada e em E :
De fato, o vetor ara tersti o x de qualquer transversal T um vetor
vivel de (5.5) de usto (T ). O orrespondente programa dual onsiste
em en ontrar um vetor y indexado por S que
maximize y (S)
P
(5.6)
sob as restries
S : e2S yS  e para ada e em E ;
yS  0 para ada S em S :
Tome := maxS 2S jS j e seja y uma soluo vivel do problema (5.6).
O seguinte programa linear uma relaxao de MinTC

en ontrar um vetor

5.3 Transversal mnima

47

Sejam ainda

I (y) := fS 2 S : yS = 0g

J (y) := fe 2 E :

S : e2S yS

 e g :

O problema restrito aproximado relativo a

y, asso iado
x indexado por E

ao proble-

ma (5.5), onsiste em en ontrar um vetor

tal que

x(S )
x(S )
xe
xe
Podemos tro ar

 1

 0

S em S ;
para ada S em S n I (y ) ;
para ada e em J (y ) ;
para ada e em E n J (y ) :
para ada

=0
J (y) \ S

por

ausa da ltima igualdade.

x(J (y) \ S )
x(J (y) \ S )
xe
xe

omo

nas duas primeiras desigualdades por

Assim, esse problema pode ser rees rito

 1

 0

S em S ;
S em S n I (y) ;
para ada e em J (y ) ;
para ada e em E n J (y ) :
para ada

para ada

=0

(5.7)

x de J (y) vivel em (5.7), ento J (y)


J (y) no uma transversal evidente que o

Se o vetor ara tersti o


uma transversal de

S.

Se

sistema (5.7) invivel.

Esta observao su iente para obter uma

soluo vivel do seguinte problema restrito aproximado dual: en ontrar


um vetor

y0

indexado por

S tal que

y0 (S) >
0
S : e2S yS 
yS0 

Se

0
0
0

;
para ada
para ada

e em J (y) ;
S em I (y) :

(5.8)

J (y) \ R vazio para algum R, ento o vetor ara tersti o y0 de fRg

uma soluo de (5.8).


O algoritmo resultante da apli ao do mtodo de aproximao
primal-dual ao MinTC devido a Bar-Yehuda e Even [BYE81 e foi
originalmente on ebido para o problema da obertura mnima por vr-

E , uma oleo
e em Q  para ada e
em E e devolve uma transversal J de S tal que (J )  opt(E; S; ). A

ti es. O algoritmo MinTC-BE re ebe um onjunto nito

S de sub onjuntos no-vazios de E

e um usto

des rio do algoritmo supe que ada sub onjunto de

(E; S; )

portanto o problema MinTC

vivel.

S no vazio, e

Mtodo Primal-Dual

48

Algoritmo MinTC-BE (E; S; )


1
J fe 2 E : e = 0 g
2
para ada S em S faa yS
0
3
enquanto existe R em S tal que J \ R = ; faa
4
seja y 0 o vetor ara tersti o de fRg
5
seja  o maior nmero tal que
P
0
6
elemento e de R
S : e2S (y + y )S  e para ada
P
7
seja f um elemento de R tal que S : f 2S (y + y 0 )S = f
8
y y + y0
9
J J [ ff g
10
devolva J
Teorema 5.2 : O algoritmo MinTC-BE uma -aproximao
polinomial para o MinTC (E; S; ), onde := maxS 2S jS j.
Demonstrao: Durante a exe uo do algoritmo,

uma soluo

vivel do programa linear (5.6). evidente que o onjunto

devolvido

S. Ademais, pela es olha de ,


jJ \S j  para ada S em S. Logo, se x o vetor ara tersti o

pelo algoritmo uma transversal de


laro que
de

J e x^ uma soluo tima de (5.5), ento


(J )

 y b  x^  opt(E; S; ) ;

onde a primeira desigualdade segue do lema das folgas aproximadas e a


segunda do teorema fra o da dualidade.

jJ j res e a ada exe uo da linha 9, donde o nmero


de exe ues das linhas 3 a 9 do algoritmo no mximo jE j. Ademais,
a exe uo de ada linha onsome tempo O (jE jjSj). 2
Temos que

A transversal

devolvida pelo algoritmo pode no ser minimal.

on ebvel que exista uma transversal propriamente ontida em


usto menor que

(J ).

de

Um ps-pro essamento simples pode extrair de

uma transversal minimal. Um tal ps-pro essamento louvvel do ponto


de vista prti o, mas no resulta em uma melhor razo de aproximao
para o algoritmo MinTC-BE.
A prxima seo trata de um problema que um aso parti ular do

MinTC. O mtodo de aproximao primal-dual apli ado a este problema


parti ular resultar em um algoritmo que, embora semelhante em muitos
aspe tos ao algoritmo desta seo, tem uma razo de aproximao substan ialmente melhor. Esta melhora se deve em parte liberdade que o

5.4 Floresta de Steiner

49

mtodo deixa para que estruturas espe iais sejam exploradas para, por
exemplo, determinar os parmetros

e es olher o vetor

y0 .

Curio-

samente, omo ser visto, o mesmo ps-pro essamento que inoperante


para o algoritmo MinTC-BE ru ial para o algoritmo da prxima seo; este fenmeno ompreensvel tendo em vista a maior estrutura da
oleo

S.

5.4 Floresta de Steiner


Seja

um grafo e

R-oresta

de

elemento de

R uma

oleo de sub onjuntos de

qualquer oresta geradora

de

G.

de

Se

de

VG .

Uma

tal que todo

R est ontido em algum omponente de F . Quando R est

subentendida, dizemos simplesmente que


ao de

uma

oresta de Steiner

R tem um s elemento, o on eito de oresta de Steiner reduz-se

rvore de Steiner:

uma rvore (no ne essariamente geradora)

G ujo onjunto de vrti es ontm o ni o onjunto em R.


O problema da oresta de Steiner (Steiner forest problem ) on-

siste no seguinte:

Problema MinFS (G; ; R): Dados um grafo G, um usto e


em Q  para ada aresta e e uma oleo R de sub onjuntos de
VG , en ontrar uma R-oresta F que minimize (F ).
Podemos dizer que (F ) o usto da oresta F . Assim, o problema

onsiste em en ontrar uma oresta de Steiner de usto mnimo.


O problema MinFS NP-dif il, mesmo quando restrito a rvores
de Steiner, ou seja, mesmo quando a oleo
to [GJ79.

R ontm um s onjun-

(G; ; R) do problema, adotamos as abreviaturas


E := EG e dizemos que um sub onjunto S de V ativo se

Dada uma instn ia

:= VG

R \ S 6= ;
para algum
por

R em R.

R n S 6= ; :

A oleo de todos os onjuntos ativos ser denotada

S. f il veri ar que uma oresta geradora F de G uma R-oresta

se e somente se

F (S ) 6= ;
1

para todo

em

S:

(5.9)

A rigor, no h ne essidade de exigir que a oresta seja geradora; mas essa

ondio onveniente.

Mtodo Primal-Dual

50

Portanto, toda oresta de Steiner uma transversal da oleo de todos

(S )

os ortes da forma

S inativo.

om

em

S.

Um sub onjunto de

que no

F uma
R-oresta se e somente se VT inativo para ada omponente T de F .
O seguinte programa linear uma relaxao de MinFS (G; ; R):
en ontrar um vetor x indexado por E que
perten e a

laro que uma oresta geradora

x
x((S ))
xe

minimize
sob as restries

 1
 0

para ada
para ada

S em S ;
e em E :

(5.10)

F , evidente que o vetor ara tersti o de


x^ uma soluo tima
de (5.10) ento x
^  opt(G; ; R).
O dual do programa (5.10) onsiste em en ontrar um vetor y indexado pela oleo S dos sub onjuntos ativos de V que

Dada uma oresta de Steiner

EF

uma soluo vivel de (5.10). Portanto, se

maximize
sob as restries

Se

y(S)
P

 e
 0

S : e2(S ) yS
yS

uma soluo vivel de (5.11) e

ento

e em E ;
para ada S em S :
para ada

x^ uma

(5.11)

soluo tima de (5.10)

y(S)  x^, de a ordo om o teorema fra o da dualidade.

Portanto,

y(S)

 opt(G; ; R) :
(5.12)
Essa delimitao inferior de opt(G; ; R) fundamental para o l ulo da
razo de aproximao do algoritmo que dis utimos mais abaixo, devido
a Goemans e Williamson [GW95a.
Considere agora as ondies de folgas aproximadas. A ondio de
folgas

-aproximadas no primal exige que

S : e2(S ) yS

= e

2
x((S ))  2

e a ondio de folgas

sempre que

(5.13)

-aproximadas no dual exige que


sempre que

yS > 0 :

Se soubssemos en ontrar uma soluo vivel


vivel

xe > 0

(5.14)

x de (5.10) e uma soluo

de (5.11) que satiszessem as duas ondies de folgas apro-

ximadas, teramos uma

-aproximao para o MinFS. Sabemos omo

satisfazer a ondio (5.13), mas no sabemos omo satisfazer (5.14).


Ainda assim, possvel obter uma

-aproximao se respeitarmos a on-

dio (5.14) em um erto sentido mdio.

5.4 Floresta de Steiner

51

Des rio do algoritmo


No in io de ada iterao, temos uma oresta geradora
um vetor

indexado por

S.

satisfaz a ondio de folgas

O vetor

de

vivel em (5.11) e o par

(F; y)

-aproximadas

S : e2(S ) yS

= e

para ada

e em F ;

(5.15)

que orresponde a (5.13). Em ada iterao, dizemos que um omponente

SF

de

F ativo se VT

2 S, e inativo em aso ontrrio. Denotamos por

a oleo dos onjuntos de vrti es dos omponentes ativos de

Abusando um pou o da terminologia, dizemos que

SF

F.

a oleo dos

Cada elemento S de SF viola a restrio


x o vetor ara tersti o de F ; isso sugere
que devemos a res entar F alguma das arestas de (S ). Qualquer
aresta desse tipo liga dois omponentes distintos de F . Dizemos que
uma tal aresta externa F . Devemos, ento, es olher uma aresta
externa e a res ent-la F . Resta es lare er omo es olher essa aresta.
omponentes ativos de

x((S ))  1 de (5.10),

F.

onde

Como o programa dual (5.11) tem o objetivo de maximizar a soma

yS , pro uramos aumentar uniformemente os valores das


yS om S em SF de modo a no violar as restries do programa
dual. Esse aumento gradativo de alguns omponentes de y pra quando
P
a restrio
yS  e orrespondente a alguma aresta externa e for
satisfeita om igualdade. A aresta e ento a res entada oresta F .
O pro esso iterativo pra quando F no tem omponentes ativos.
O algoritmo devolve ento uma R-oresta minimal de F , ou seja, uma
oresta F1 tal que, para ada aresta e, a oresta F1
e tem algum

das variveis
variveis

omponente ativo.
A seguir, des revemos o algoritmo formalmente, ainda que de maneira pou o detalhada.
nente de

G.

(G; ; R)
R est ontido em algum ompo-

O algoritmo supe que a instn ia

vivel, ou seja, que ada onjunto em

Algoritmo MinFS-GW (G; ; R)


1
F (V; ;)
2
para ada S em S faa yS
0
3
4
5
6

enquanto SF 6= ; faa
seja y 0 o vetor ara tersti o de SF
seja  o maior nmero tal que
P
0
S : e2(S ) (y + y )S  e para ada aresta externa

SF

Mtodo Primal-Dual

52

7
8
9
10
11
12

f uma aresta externa tal que


y y + y0
F F +f
F0 F
seja F1 uma R-oresta minimal de F0
devolva F1
seja

S : f 2(S )

(y + y0)S = f

S no limitada por uma funo polijV j (por exemplo, jSj pode ser da ordem de 2jV j=2 ). Assim, o

A ardinalidade da oleo
nomial de

nmero de omponentes do vetor

y no ser polinomial.

possvel on-

tornar essa di uldade se registrarmos apenas os omponentes no-nulos

y. O nmero total de tais omponentes limitado por um polinmio


em jV j; de fato, o nmero de iteraes no supera jV j, o nmero de om-

de

ponentes que assumem valores no-nulos em ada iterao limitado por

jSF j e jSF j < jV j.2 Vale a mesma observao para o vetor y0 na linha 4,
0
indexado por S e denido por yS = 1 se e somente se S 2 SF .
O l ulo de

nas linhas 5 e 6 pode ser organizado da seguinte

v, seja d(v) := S :v2S yS . Para ada aresta


uv externa a F , dena uv := 1 se uv liga dois omponentes inativos de
F , dena uv := e d(u) d(v) se uv liga um omponente ativo de F
1
d(u) d(v)) se uv liga
a um omponente inativo, e dena uv := ( e
2
dois omponentes ativos. Finalmente, adote  := mine e , om o mnimo
maneira. Para ada vrti e

tomado sobre todas as arestas externas.


Deixamos a argo do leitor a des rio polinomial do algoritmo

MinFS-GW. possvel implement-lo de modo que seu onsumo de


tempo seja

O(jV j2 log jV j) [GW95a.

Lema 5.3 : O algoritmo

o polinomial.

MinFS-GW

admite uma implementa-

Anlise do algoritmo
No in io de ada iterao,

uma oresta geradora de

nal do pro esso iterativo, a oresta


portanto uma
uma
2

F0

G.

Ao

no tem omponentes ativos e

R-oresta. A oresta F1 que o algoritmo devolve tambm

R-oresta.

O nmero de omponentes no-nulos de

y limitado por 2jV j

1 (exer io 5.17).

5.4 Floresta de Steiner

53

A gura representa uma instn ia (G; ; fR1 ; R2 ; R3 g) do MinFS.


G ompleto e tem 9 vrti es. As arestas esto impl itas; o usto e
de ada aresta e a distn ia eu lidiana entre os extremos de e. Os elementos
de R1 , R2 e R3 esto representados por tringulos, losangos e quadrados.

Figura 5.1:
O grafo

Figura 5.2: A gura mostra o in io da segunda iterao do algoritmo MinFS-

GW. Os r ulos representam omponentes ativos. O raio de ada r ulo


propor ional ao valor da varivel dual

Figura 5.3:
oresta

yS .

Situao no in io da quarta iterao. As arestas da

so indi adas por linhas slidas.

(Continua na prxima

gura.)

Antes de delimitar
mental entre

F1

(F1 ),

e a oleo

pre iso estabele er uma relao funda-

SF

iterao arbitrria do algoritmo.

dos omponentes ativos de

em uma

Mtodo Primal-Dual

54

Lema 5.4 : No in io de ada iterao, vale a desigualdade


P
S 2SF jF1 (S )j  2jSF j ;
onde F1 a oresta de Steiner que o algoritmo devolve.
grau em F1 de um omponente S de F
F1 em (S ), ou seja, jF1 (S )j. Os omponentes
F1 so todos ativos: para qualquer omponente S

Demonstrao: Digamos que o


o nmero de arestas de

F de
de F ,

de

grau

em

se

jF1 (S )j = 1 ento S 2 SF :

Para provar essa armao, tome um omponente


ontm uma ni a aresta, digamos

uw;

(5.16)

S de F

tal que

F1 (S )

ajuste a notao de modo que

u 2 S . Sejam U e W os onjuntos de vrti es dos omponentes de


F1 uw que ontm u e w respe tivamente. Como uw a ni a aresta
de F1 em (S ), temos U  S e W  V n S . Como F1 uma R-oresta
minimal, existe R em R tal que
R  U [ W; R \ U 6= ; e R \ W 6= ; :
Segue da que R \ S 6= ; e R n S 6= ;. Assim, S est em S e portanto em
ZF

SF . Isso on lui a prova de (5.16).


Seja ZF o onjunto de todos os omponentes inativos de F ujo grau
em

F1

quais

no nulo, ou seja, todos os omponentes inativos

jF1 (S )j  1.

Digamos que dois elementos

de

para os

SF [ ZF

so

S e outro
0
em S . Esse on eito de adja n ia dene um grafo, digamos H , sobre o
onjunto de vrti es SF [ ZF . Como F e F1 so subgrafos de F0 , qualquer
ir uito em H orresponderia, de maneira natural, a um ir uito em F0 ,
o que impossvel, pois F0 uma oresta. Portanto, H uma oresta.
P
Segue da imediatamente que
S 2VH jH (S )j = 2jEH j  2(jVH j 1),
adja entes

se existe uma aresta de

donde

F1

S e S0

om um extremo em

jF1 (S )j  2(jSF j + jZF j 1) :


temos que jF1 (S )j  2 para ada S

S 2SF [ZF

Em virtude de (5.16),
Portanto,

S 2SF

em

ZF .

jF1 (S )j = PS2SF [ZF jF1 (S )j PS2ZF jF1 (S )j


 2(jSF j + jZF j 1) 2jZF j
< 2jSF j :

Poderamos interpretar essa desigualdade dizendo que o grau mdio dos


vrti es ativos do grafo

no maior que

2 2
.

5.4 Floresta de Steiner

Figura 5.4:

55

Situao no in io da quinta iterao.

Figura 5.5:

Figura 5.6:

In io da sexta iterao.

In io da stima iterao.

Vamos mostrar agora que o usto da oresta de Steiner produzida


pelo algoritmo difere do usto de uma oresta de Steiner tima por um
fator inferior a

Teorema 5.5 : O algoritmo MinFS-GW uma 2-aproximao

para o

MinFS.

Demonstrao: Como j observamos no in io da presente seo, o


subgrafo

F1 que o algoritmo devolve uma R-oresta.

No in io de ada

iterao, vale a desigualdade

S 2S

jF1 (S )j yS  2y(S) ;

(5.17)

Mtodo Primal-Dual

56

Figura 5.7:
oresta

F0 .

Fim da ltima iterao. As linhas indi am as arestas da

Figura 5.8:

As linhas indi am a oresta nal

omo passamos a mostrar.

F1 .

evidente que a desigualdade vlida no

in io da primeira iterao, quando

=0

Suponha agora que a de-

sigualdade seja vlida no in io de uma iterao qualquer.


iterao,

yS

a res ido de

se e somente se

2 SF .

Durante a

Portanto, o lado

esquerdo de (5.17) a res ido de

jF1 (S )j
enquanto o lado direito a res ido de 2jSF j .
S 2SF

O lema 5.4 garante que

o in remento do lado esquerdo no maior que o do lado direito. Portanto a desigualdade (5.17) vale no in io da iterao seguinte.

Isso

prova (5.17).

y vivel no programa (5.11).


-aproximadas vale om F0 no
papel de F e portanto tambm om F1 no papel de F :
P
S : e2(S ) yS = e para ada e em F1 :
No m do pro esso iterativo, o vetor

Alm disso, a ondio (5.15) de folgas

Para mostrar que o algoritmo uma


ar que

-aproximao, resta apenas veri-

(F1 )  2opt(G; ; R):


P
(F1 ) =
e2F1 e

Exer ios

57

=
=

P
P
S : e2(S ) yS
e
2
F
1
P
S 2S jF1 (S )j yS

(5.18)

 2 y(S)
 2opt(G; ; R) :

(5.19)
(5.20)

A linha (5.18) segue da anterior por mera reorganizao da soma.

desigualdade (5.19) segue de (5.17). Finalmente, a desigualdade (5.20)


onseqn ia da delimitao inferior (5.12).

Exer ios
5.1

Utilize o lema de Farkas para mostrar que exatamente um dos problemas

5.2

RP(A; b; y) RD(A; b; y)
Y (A; ) y0
e

vivel.

0
y um vetor em
e
um vetor tal que y + y est em
0
Y (A; ) para todo  positivo. Mostre que y est em Y (A; 0). Con0
lua que o vetor y devolvido na linha 5 dos mtodos Primal-Dual

Seja

lssi o e Aproximao-Primal-Dual um vetor de inviabilidade de


5.3

Como

P(A; b; )

e que

D(A; ; b)

ilimitado.

 pode ser al ulado na linha 6 dos mtodos Primal-Dual


 positi-

lssi o e Aproximao-Primal-Dual? Con lua que


vo.
5.4

Como determinar, na linha 4 dos mtodos Primal-Dual lssi o


e Aproximao-Primal-Dual, se
todo

5.5

 positivo?

y + y0

est em

Y (A; )

Considere o mtodo Aproximao-Primal-Dual.

para

Mostre que

um dos problemas restritos aproximados vivel. Ambos problemas


podem ser simultaneamente viveis?
5.6

y um vetor em Y (A; ) e x uma soluo de RAP(A; b; y; ; ).


x e y tm folgas -aproximadas no primal e -aproximadas no dual. Con lua que x  y b.

Seja

Mostre que

5.7

Verique

que

mtodo

Primal-Dual

Aproximao-Primal-Dual para
5.8

Formule o

lssi o

= 1 = .

problema do aminho mnimo

da transversal mnima equivalente.

mtodo

omo um problema

Mtodo Primal-Dual

58

Problema MinPath (G; s; t; ): Dados um grafo G, dois


vrti es s e t de G e um usto e em Q  para ada aresta
e, en ontrar um aminho P de s a t de usto mnimo.
5.9

problema da rvore geradora mnima omo um pro-

Formule o

blema da transversal mnima equivalente.

Problema MST (G; ): Dados um grafo G e um usto e


em Q  para ada aresta e, en ontrar uma rvore geradora

de usto mnimo.
5.10 Dados um onjunto
um grafo

G,

F de arestas de
T -juno se T o onjunto
grafo G[F . Formule o problema

de vrti es e um onjunto

dizemos que

uma

dos vrti es de grau mpar do

da T -juno mnima omo

um problema da transversal mnima

equivalente.

Problema MinTJ (G; T; ): Dados um grafo G, um sub onjunto T de VG tal que jT j par e um usto e em Q 
para ada aresta e, en ontrar uma T -juno F que minimize
(F ).

5.11 Formule o

problema do orte mnimo

omo um problema da

transversal mnima equivalente.

Problema MinCut (G; ): Dados um grafo G e um usto


e em Q  para ada aresta e, en ontrar um orte R que
minimize (R).

5.12 Para ada um dos problemas nos quatro exer ios anteriores, des reva um algoritmo que, dados um grafo

e um sub onjunto

S. O
onsumo de tempo de ada algoritmo deve ser polinomial em hGi e
no deve depender de jSj.
de

EG ,

de ide se

uma transversal da respe tiva oleo

5.13 Mostre que o programa linear (5.5) uma relaxao linear do

MinTC

(E; S; )

5.14 Formule o problema da obertura mnima por vrti es (MinCV)


omo um problema da transversal mnima MinTC
lente.

(E; S; )
2

Mostre que o algoritmo MinTC-BE uma

polinomial para o MinCV.

equiva-

-aproximao

5.15 Formule o problema do multi orte mnimo (MinMCut) omo um


problema da transversal mnima MinTC

(E; S; )

equivalente. Mos-

tre que, se as linhas a seguir so inseridas entre as linhas 9 e 10

Notas bibliogrfi as

59

do algoritmo MinTC-BE, ento o algoritmo resultante uma

aproximao polinomial para o MinMCut quando restrito a rvores [GVY97.


9a

sejam

9b

f1; : : : ; fk

os elementos de

foram in ludos em

para

9d

J , na ordem em que

i de k at 1 faa
J n ffi g uma transversal ento J

se

(G; ; R)

5.16 No problema MinFS

pusermos que

J n ffi g

, no h perda de generalidade se su-

ompleto e os ustos satisfazem a desigualdade

triangular. Dis uta essa armao.

L de sub onjuntos de um onjunto nito X laminar


L1  L2 ou L1 \ L2 = ; para ada par (L1 ; L2 ) de
elementos de L. Mostre que se L laminar ento jLj  2jX j
1.
Mostre que no algoritmo MinFS-GW a oleo fS 2 S : yS > 0g

5.17 Uma oleo


se

L1  L2

ou

laminar.
5.18 Mostre

GW

que

razo

de

(G; ; R) 2 2=n

aproximao

, onde

n := jVG j.

do

algoritmo

MinFS-

5.19 Exiba uma instn ia do problema MinFS para a qual o algoritmo

MinFS-GW produz uma rvore de Steiner de usto essen ialmente


igual ao dobro do timo.
5.20 Aplique o algoritmo MinFS-GW ao problema da rvore geradora
mnima (exer io 5.9). Mostre que ele se omporta omo o algoritmo de Kruskal [CLR92 (e portanto produz uma rvore geradora
mnima).
5.21 Es reva o algoritmo MinFS-GW de maneira mais detalhada. Em
parti ular, es reva uma implementao que, para uma instn ia

(G; ; R)

, onsuma tempo polinomial em

hGi.

Notas bibliogr as
Este aptulo foi es rito om base nos livros de S hrijver [S h86,
Papadimitriou e Steiglitz [PS82, Ho hbaum [Ho 97 e no artigo de Goemans e Williamson [GW95a.
O livro de Papadimitriou e Steiglitz [PS82 apresenta diversos algoritmos ombinatrios lssi os que podem ser entendidos omo uma mmi a do mtodo primal-dual, in luindo o algoritmo de Dijkstra [Dij59

Mtodo Primal-Dual

60

para en ontrar aminhos de usto mnimo, o algoritmo de Ford e Fulkerson [FF56 para en ontrar um uxo mximo, algoritmos primaldual para o problema do uxo de usto mnimo, o mtodo hngaro de
Kuhn [Kuh55 para en ontrar um emparelhamento de usto mximo em
um grafo bipartido, e o algoritmo de Edmonds [Edm65a para en ontrar
um emparelhamento de usto mximo em um grafo.
O primeiro algoritmo de aproximao genuinamente primal-dual, ou
seja, o primeiro a usar uma soluo dual vivel para obter, iterativamente, uma soluo aproximada do problema primal, foi o algoritmo de
Bar-Yehuda e Even [BYE81 para o problema da obertura mnima por
vrti es. Trata-se, essen ialmente, do algoritmo des rito na seo 5.3. A
anlise dessa abordagem apare e em um artigo de Ho hbaum [Ho 82,
que obteve um algoritmo om a mesma razo de aproximao usando o
mtodo dual.
A primeira
ner foi obtida

-aproximao para o problema da oresta de Stei-

por Agrawal,

Klein e Ravi [AKR95.

Esse traba-

lho introduziu modi aes poderosas no mtodo primal-dual bsi o, e om isso deu um grande impulso s pesquisas sobre problemas
de projetos de redes (network

design problems ),

omo atestam os di-

versos algoritmos de aproximao primal-dual obtidos por essa po-

a [AG94, GGW98, GGP 94, GW95a, Rav94, RW95, WGMV95. Segundo Goemans e Williamson [Ho 97, esse trabalho de Agrawal, Klein
e Ravi foi o primeiro a fazer uso altamente sosti ado do mtodo primaldual para projetar algoritmos de aproximao.
O problema da oresta de Steiner pode ser lassi ado omo um
problema de projeto de redes. Esse tipo de problema onsiste em exigir
um erto grau de onexo entre ertos pares de vrti es de um grafo. O
on eito de funes prprias uni a vrios desses problemas: o problema da oresta de Steiner, o problema do aminho mnimo, o problema
da onexo ponto-a-ponto, o problema da

T -juno

mnima, o proble-

ma do emparelhamento perfeito de peso mnimo, et .

Usando apenas

as propriedades que ara terizam funes prprias, Goemans e Williamson [GW95a, Ho 97 mostraram que todos esses problemas admitem
uma

-aproximao polinomial.

O melhor resultado que se onhe e para o problema da rvore de


Steiner uma

1;55

-aproximao que no se baseia em programao line-

ar, obtido re entemente por Robins e Zelikovsky [RZ00.


Experimentos omputa ionais realizados om alguns algoritmos de
aproximao obtidos pelo mtodo primal-dual mostram que eles tm
bom desempenho na prti a. Segundo Goemans e Williamson

[WG94,

Notas bibliogrfi as

61

-aproximao para o problema do emparelhamento perfeito de peso

mnimo em que os ustos satisfazem a desigualdade triangular en ontra


solues a

% do timo na maioria dos asos (em mais de 1400 expe-

rimentos, o resultado nun a foi pior do que

%).

Os mesmos autores

relatam bons resultados prti os para o problema da oresta de Steiner


e alguns outros problemas de redes.
Gabow, Goemans e Williamson [GGW98 obtiveram uma implementao mais e iente de vrios algoritmos para problemas de projetos de
redes, in luindo o problema da oresta de Steiner. Finalmente, h vrios
trabalhos re entes [CRW01, GVY97, JMVW99, JV00, GW98, RV99 a
respeito de mtodos de aproximao primal-dual, indi ando que se trata
de um tema de interesse atual e aparentemente muito promissor.

62

Mtodo Primal-Dual

Captulo 6

Algoritmos Probabilsti os
Neste aptulo vamos supor que temos nossa disposio um gerador de

bits

aleatrios (random

bits generator ),

ou seja, um algoritmo

 no intervalo fe hado [0; 1,


probabilidade 1
. Existem

ideal Rand que re ebe um nmero ra ional


devolve

om probabilidade

om

implementaes aproximadas do algoritmo Rand (veja Knuth [Knu98).


Um algoritmo que utiliza Rand hamado de

domized ).

probabilsti o (ran-

O omportamento de um algoritmo probabilsti o depende

no apenas da instn ia do problema mas tambm dos nmeros devolvidos por Rand. Dizemos que um algoritmo probabilsti o
se existe um polinmio

tal que, para toda instn ia

polinomial

do problema,

o nmero de hamadas ao algoritmo Rand e o onsumo de tempo das


demais operaes so limitados por

p(hI i).

Vamos generalizar a denio de algoritmos de aproximao (seo 1.2) para englobar algoritmos probabilsti os.

Considere um algo-

A para um problema de otimizao. Para qualquer


instn ia I do problema, seja XI a varivel aleatria (apndi e D) ujo
1
valor o valor da soluo produzida por A para esta instn ia . Dizemos que A uma -aproximao probabilsti a para o problema
em questo se E[XI  opt(I ) no aso de problema de maximizao
e E[XI  opt(I ) no aso de problema de minimizao. No presente
aptulo, um nmero que no depende de I , embora em geral possa
ritmo probabilsti o

Os algoritmos abordados neste aptulo, para ada instn ia do problema, provo-

t de hamadas de Rand, que no depende dos valores devolvidos


Rand, sendo que a i-sima hamada de Rand tem omo parmetro sempre um
mesmo nmero, digamos i . Denotando por
o onjunto f0; 1g, seja Pi a medida de
probabilidade sobre
dada por Pi (1) = i e Pi (0) = 1 i . O espao de probabilidade
no qual XI est denida neste aso o espao produto (
; P1 )      (
; Pt ).
am um nmero xo

por

63

Rand

Algoritmos Probabilsti os

64

ser uma funo de

esperada de A.

I.

Dizemos que

uma

razo de aproximao

-aproximao proA pode ser usada para produzir, om alta probabilidade, so-

Vamos mostrar que, em ertas ondies, uma


babilsti a

lues aproximadas do problema. Suponha que o problema de minimizao e que a varivel aleatria

XI

no assume valores negativos (esse

o aso na grande maioria dos problemas ombinatrios). Para ada

"

positivo, a desigualdade de Markov (lema D.1, apndi e D) garante que

opt(I )

XI

=
:
Pr[XI  ( + ")opt(I )  ( +E"[)opt(
I ) ( +")opt(I ) +"
Para um dado


+" .

apli ado

o resultado de menor valor. Se

( + ")opt(I )  
( + ")opt(I )
.

Para

YI

, seja

:= dlog e

vezes instn ia

esse menor valor , ento

, onde

e es olha

Pr[YI 

pequeno, este esquema produz, portanto,

om probabilidade alta (pelo menos


menor que

(0; 1)

no intervalo aberto

Suponha que

), uma soluo vivel om valor

O mesmo ra io nio pode ser apli ado a problemas de maximizao,


desde que se onhea uma delimitao superior para o valor timo do
problema.

6.1 Satisfatibilidade mxima


Vamos usar o problema da satisfatibilidade mxima para exempli ar algoritmos probabilsti os.

Para denir o problema, pre isamos

introduzir alguma notao.

variveis. Uma lusula booleana sobre V , ou simplesmente lusula,


um par ordenado de sub onjuntos de V disjuntos, um dos quais pelo
menos no vazio. Se C uma lusula, denotamos o primeiro omponente de C por C1 e o segundo por C0 . Em terminologia tradi ional, C0
o onjunto das variveis  omplementadas e C1 o onjunto das variveis no- omplementadas. O nmero de variveis em uma lusula
C jC1 j + jC0 j.
Suponha dado um onjunto nito

YI uma varivel aleatria.


de XI , o espao no qual YI est
0 0
pias de (
; P ).
2

de objetos que hamamos

(
0 ; P0 ) 0o espao
de probabilidade
0
0 0
denida o produto (
; P )      (
; P ) de k
Denotando por

6.1 Satisfatibilidade mxima

65

valorao das variveis de V um vetor x indexado por V


om valores em f0; 1g. Uma valorao x satisfaz uma lusula C se
xv = 1 para algum v em C1 ou xv = 0 para algum v em C0 .
Vejamos um exemplo. Suponha que V = fa; b; ; dg e sejam C , D
e E as lusulas (fa; dg; fbg), (f g; fa; bg) e (;; fb; ; dg). Na notao
tradi ional, a oleo fC; D; E g seria denotada por fa _ d _ 
b; _ a _ b;
b _  _ dg.
O problema da satisfatibilidade mxima (maximum satisabiUma

lity problem ),

denotado pela sigla MaxSat, onsiste no seguinte:

MaxSat (V; C): Dada uma oleo C de lusulas


sobre um onjunto V de variveis, en ontrar uma valorao x de
V que satisfaa o maior nmero possvel de lusulas de C.

Problema

O problema NP-dif il mesmo quando ada lusula em

C tem duas

variveis [GJ79.

Algoritmo de Johnson
Eis um algoritmo probabilsti o para o problema MaxSat. O algoritmo atribudo a Johnson [Joh74. Ele to simples que ignora

C:

Algoritmo MaxSat-Johnson (V )
1
para ada v em V faa
2
x_ v Rand ( 12 )
3
devolva x_
No algoritmo a ima, o nmero de hamadas a Rand e o onsumo
de tempo das demais operaes

O(jV j).

XC

a varivel aleatria

(V )
(
; P)      (
; P)
(
; P)
jV j

f0; 1g P

P(1) = P(0) = 21
Teorema 6.1 Se (V; C) uma instn ia do problema MaxSat

produzida por MaxSat-Johnson

XC

Seja

C satisfeitas por uma valorao

ujo valor o nmero de lusulas de

O espao de probabilidade de

o espao produto

vezes no produto,
sobre

, onde

o onjunto

apare e

a medida de probabilidade

dada por

na qual ada lusula tem pelo menos k variveis e XC a varivel


aleatria a ima denida, ento

E[XC  1 21k opt(V; C) :




XC

Algoritmos Probabilsti os

66

ZC

Demonstrao: Para ada lusula

ZC := 1
:= 0
x_ v 0
[ZC =0
1 1=2k

da seguinte maneira:

mo satisfaz

se a valorao produzida pelo algorit-

ZC

em aso ontrrio.

variveis e no algoritmo

dade do evento

[ZC =1

ZC ,

1=2

Como todas as lusulas em

tem pelo menos

1=2

, a probabili-

XC a soma das variveis

[  (1 21k )jCj
opt(V; C)  jCj 2

C E ZC

e on lumos a prova do teorema, j que

mos apli ar o teorema a ima a

e a probabilidade do evento

. Portanto, omo

E[XC = E[PC ZC =

Como

om probabilidade

no mximo

pelo menos

aleatrias

C , dena uma varivel aleatria

C tm pelo menos uma varivel, pode-

(V; C)

om

=1

e on luir o seguinte

resultado.

uma 0;5aproximao probabilsti a polinomial para o MaxSat.

Teorema 6.2 : O algoritmo

MaxSat-Johnson

Algoritmo do arredondamento probabilsti o


Des revemos a seguir um algoritmo de aproximao para o problema MaxSat que envolve o arredondamento probabilsti o (randomized

de uma soluo tima de um programa linear. O arredondamento probabilsti o de um nmero  do intervalo aberto (0; 1)
onsiste em arredondar  para ima om probabilidade  e para baixo om probabilidade 1
.

rounding )

Considere o seguinte problema de programao linear:

dada uma

C de lusulas sobre um onjunto V , en ontrar um par (x; z) de


vetores, om x indexado por V e z indexado por C, que
oleo

maximize

C 2C zC

sob as restries

v2C0

(1

xv ) +

v2C1

0
0

xv
zC
xv

 zC
 1
 1

C em C ;
para ada C em C ;
para ada v em V :
para ada

(6.1)

Note a seguinte relao entre este programa linear e o problema MaxSat.

x do MaxSat (V; C). Para ada


x satisfaz C e zC := 0 em aso

Suponha que temos uma soluo tima


lusula

em

C,

faa

zC

:= 1

se

6.1 Satisfatibilidade mxima

ontrrio. laro ento que o par

67

(x  ; z  )

uma soluo vivel de (6.1)

e o valor dessa soluo igual ao nmero de lusulas de


por

x .

C satisfeitas

Portanto, o programa linear (6.1) uma relaxao do problema

MaxSat

(V; C)

^  opt(V; C) ;
(^x; z^)

C zC

para qualquer soluo tima

(6.2)

de (6.1).

O seguinte algoritmo de arredondamento probabilsti o, desenvolvido


por Goemans e Williamson [GW94, um algoritmo de aproximao para
o MaxSat.

Algoritmo MaxSat-GW (V; C)


1
seja (^
x; z^) uma soluo tima ra ional de (6.1)
2
para ada v em V faa
3
x_ v Rand (^xv )
4
devolva x_
O algoritmo a ima pode ser implementado de modo que a exe uo
da linha 1 onsuma tempo limitado por um polinmio em
e produza uma soluo tima ra ional
limitados por um polinmio em

(^x; z^)

jV j e jCj,

om o tamanho de

x^

z^

jV j e jCj (fato C.4, apndi e C). Como,


jV j, o algoritmo MaxSat-

alm disso, o nmero de hamadas a Rand

GW um algoritmo probabilsti o polinomial.

Teorema 6.3 : Se (V; C) uma instn ia do problema MaxSat


na qual ada lusula tem no mximo k variveis, om k  1,
e XC a varivel aleatria3 ujo valor o nmero de lusulas de C satisfeitas por uma valorao produzida pelo algoritmo
MaxSat-GW (V; C), ento

E[XC  1 (1 k1 )k opt(V; C) :


ZC

Demonstrao: Para ada lusula


vale

ontrrio. A probabilidade de que


forma
3

x^v , para v

em

dena

ZC

seja

C0 , e (1 x^v ), para v

ZC

da maneira usual:

C e 0 em aso

o produto de termos da

em

C1 .

(
; P1 )      (
; PjV j ),
Pi (1) = x^i e Pi (0) = 1 x^i para ada i em V .

O espao de probabilidade

dado por

C,

se a valorao produzida pelo algoritmo satisfaz


Se

onde

t o nmero

de

= f0; 1g e Pi

Algoritmos Probabilsti os

68

variveis de

ento

t1e

Pr[ZC =1 = 1 v2C0 x^v v2C1 (1 x^v )


 1 ((t z^C )=t)t

(6.3)

= 1 (1 z^C =t)
 (1 (1 1=t)t )^zC
 (1 (1 1=k)k )^zC :
t

(6.4)
(6.5)

Para justi ar (6.3), note que a mdia geomtri a de nmeros nonegativos no ultrapassa a sua mdia aritmti a. Disso temos que

v2C0

x^v

v2C1

(1 x^v )  ((Pv2C0 x^v + Pv2C1 (1 x^v ))=t)t


= ((t Pv2C0 (1 x^v ) Pv2C1 x^v )=t)t
 ((t z^C )=t)t :
f (z ) := 1 (1 z=t)t
[0; 1
f 0(z )  0 f 00 (z )  0
f (0) = 0
f (z )  z f (1)
(1 1=t)t

Para veri ar (6.4), onsidere a funo


que

n ava no intervalo fe hado

nesse intervalo. Ento, omo

. Observe

, pois

, temos que

, que se

traduz em (6.4). Finalmente, (6.5) vale pois

t  1 e, por hiptese, t  k.

Podemos agora al ular o valor esperado de

E[XC =

=
=

E[PC ZC
P
E[ZC
PC
Pr[ZC =1
PC

res ente para

XC :

 C (1 (1 1=k)k )^zC
 (1 (1 1=k)k )opt(V; C) ;
onde a ltima desigualdade segue de (6.2). 2
Como

(1 1=k)k

no passa de

1=e
k1
(1 1=k)k < 1=e < 0;37
para todo

, onde

base dos logaritmos naturais, temos que

. Desse

fato, e do teorema anterior, imediato o seguinte resultado.

Teorema 6.4 : O algoritmo

MaxSat-GW

mao probabilsti a polinomial para o

uma 0;63-aproxi-

MaxSat.

Algoritmo ombinado
O teorema 6.1 permite deduzir uma razo de aproximao melhor do
algoritmo MaxSat-Johnson quando todas as lusulas tm pelo menos

6.2 Desaleatorizao

69

duas variveis. J para o algoritmo MaxSat-GW obtm-se resultados


melhores quando as lusulas tm no mximo duas variveis, pelo teorema 6.3. Pare e razovel, portanto, ombinar os dois algoritmos. O
algoritmo abaixo deve-se a Goemans e Williamson [GW94 tambm.

Algoritmo MaxSat-Combinado-GW (V; C)


1
x_ MaxSat-Johnson (V )
2
x MaxSat-GW (V; C)
3
seja s_ o nmero de lusulas de C satisfeitas por x_
4
seja s o nmero de lusulas de C satisfeitas por x
5
se s_  s
6
ento devolva x_
7
seno devolva x
Teorema 6.5 : O algoritmo MaxSat-Combinado-GW uma

0;75-aproximao probabilsti a polinomial para o MaxSat.


Demonstrao: Seja
mente

Ck a oleo das lusulas de C que tm exata-

variveis. Sejam

XC , X_ C e X C

variveis aleatrias ujos valo-

C satisfeitas por uma valorao produzida por MaxSat-Combinado-GW (V; C), MaxSat-Johnson (V )
1 _

e MaxSat-GW (V; C), respe tivamente. Note que XC  (X
2 C + XC ).

res so o nmero de lusulas de

Se rezermos as partes apropriadas das demonstraes dos teoremas 6.1


e 6.3 temos

E[XC  E[ 21 (X_ C + XC)


E[X_ C + E[XC)
= 21 (P
1
 2 k PC 2Ck ((1 2 k ) + (1 (1 k 1)k )^zC )
 12 Pk PC 2Ck (1 2 k + 1 (1 k 1)k )^zC
 12 Pk PC 2Ck 32 z^C
 43 opt(V; C) :

onde

(6.6)
(6.7)

a desigualdade (6.6) pode ser on luda analisando-se os asos

k = 1, k = 2 e k  3 e (6.7) vale em virtude de (6.2). 2

6.2 Desaleatorizao
Em muitos asos, possvel onverter um algoritmo de aproximao probabilsti o em um determinsti o om uma razo de aproximao

Algoritmos Probabilsti os

70

igual razo esperada do algoritmo probabilsti o.


to atravs do

mtodo das esperanas ondi ionais

Isso pode ser fei-

[AS92, ES74, Spe87.

Para apli -lo, pre isamos saber al ular e ientemente ertas esperanas ondi ionais, que dependem do problema em fo o.

esse o erne

do pro esso de desaleatorizao de um algoritmo probabilsti o por esse mtodo.

Ilustramos o mtodo apli ando-o ao algoritmo MaxSat-

Johnson. Obtemos omo resultado a seguinte

0;5

-aproximao polino-

mial determinsti a, que utiliza um pro edimento EspCond, detalhado


posteriormente.

Algoritmo MaxSat-Johnson-Desaleatorizado (V; C)


1
2
3
4
5
6
7
8
9
10
11
12
13
14

para ada v em V faa


se EspCond (v; 1; D)  EspCond (v; 0; D)
ento x_ v
1
para ada C em D faa
se v 2 C1
ento D D n fC g
seno C0
C0 n fvg
seno x_ v
0
para ada C em C faa
se v 2 C0
ento D D n fC g
seno C1
C1 n fvg
devolva x_

No algoritmo a ima,

D um multi onjunto

(um onjunto em que a-

da elemento apare e om uma erta multipli idade). No in io de ada

iterao, D ontm, alm de pares f;; ;g, que hamaremos de pseudo lusulas, apenas as lusulas de C que a valorao par ial x_ do algoritmo ainda no satisfez. Ademais, de ada lusula de
eliminadas as variveis ujos valores

x_ j xou.

C em D, foram

v, um elei de f0; 1g e um multi onjunto D de lusulas e pseudo- lusulas.

O pro edimento auxiliar EspCond re ebe uma varivel


mento
Seja

XD a varivel aleatria ujo valor o nmero de lusulas em D, le-

vando em onta a multipli idade, satisfeitas por uma valorao produzida


pelo algoritmo MaxSat-Johnson
devolve o valor esperado de

XD

(V )

. Se

i = 1 ento o pro edimento


x_ v =1 no algoritmo

sob a ondio que

6.2 Desaleatorizao

71

MaxSat-Johnson. Este valor esperado denotado por


Se

i=0

ento o pro edimento devolve

E[XD jx_ v =1.

E[XD jx_ v =0, que denido de

maneira anloga.

Pro edimento EspCond (v; i; D)

esp

para ada

C em D faa
k jC1 j + jC0 j
se v 2 Ci

3
4

ento esp
esp + 1
seno se v 2 C1 i
ento esp
esp + (1
seno esp
esp + (1
devolva esp

5
6
7
8
9

2 k+1 )
2 k)

Teorema 6.6 : O algoritmo MaxSat-Johnson-Desaleatorizado uma 0;5-aproximao polinomial para o MaxSat.


Demonstrao: Seja
de lusulas em

XC

a varivel aleatria ujo valor o nmero

C satisfeitas por uma valorao produzida pelo algorit-

(V )
MaxSat-Johnson
=1
1=2 x_ v = 0
1=2
1
1
E[XC = 2 E[XCjx_ v =1 + 2 E[XCjx_ v =0
E[XC
E[XCjx_ v =1 E[XCjx_ v =0
E[XC  E[XCjx_ v1
XC
MaxSat-Johnson
x_ v1
MaxSat-Johnson-Desaleatorizado
x_ v1

mo MaxSat-Johnson

x_ v

Como, no algoritmo

om probabilidade

om probabilidade

, te-

, e disso on lumos que

mos que

no ultrapassa o maior entre as duas esperanas ondi ionais,


e

Logo,

, onde o ltimo

termo denota o valor esperado de

sob a ondio que, no algorit-

mo

, atribua-se a

o mesmo valor atribudo no

algoritmo
valor de

Uma vez xado o

, o mesmo ra io nio vale para as demais variveis e, disso,

on lumos que

E[XC  E[XCjx_ v1  E[XCjx_ v1 ; x_ v2  : : :  E[XCjx_ v1 ; : : : ; x_ vn :


O ltimo termo o nmero de lusulas de C satisfeitas pela valorao x
_

produzida pelo algoritmo MaxSat-Johnson-Desaleatorizado. Esse

nmero pelo menos

0;5opt(V; C)

, pois

E[XC  0;5opt(V; C).

Quanto ao tempo de exe uo do algoritmo, basta observar que o


pro edimento EspCond

(v; i; D)

onsome tempo

O(jV j).

Disso, f-

il on luir que o algoritmo MaxSat-Johnson-Desaleatorizado


polinomial.

Algoritmos Probabilsti os

72

um pou o surpreendente que desaleatorizaes produzam, mesmo


sem levar em onta omo as variveis aleatrias se distribuem em torno do
valor esperado, um algoritmo om razo de aproximao igual razo
esperada do algoritmo probabilsti o.

No aso do algoritmo a ima, o

pro edimento para o l ulo das esperanas ondi ionadas bem simples.
Em outros problemas, esses l ulos podem ser bastante ompli ados,
inviabilizando o pro esso de desaleatorizao.

6.3 Geradores de nmeros aleatrios


Uma maneira mais geral de denir algoritmos probabilsti os parte
de um gerador de nmeros aleatrios no intervalo

RandUni

[0; 1)

Nessa deni-

o alternativa, substitui-se o algoritmo Rand por um algoritmo ideal

RandUni que devolve um nmero real aleatrio om distribuio uniforme no intervalo

[0; 1)

(apndi e D). Existem implementaes aproxi-

madas desse algoritmo Rand [Knu98.


Os on eitos introduzidos no in io deste aptulo (algoritmo de aproximao probabilsti o, algoritmo probabilsti o polinomial, et .) podem
ser naturalmente adaptados a esta outra denio. Em parti ular, os algoritmos vistos neste aptulo so probabilsti os polinomiais tambm de
a ordo om esta nova denio, pois f il implementar Rand
uma hamada a RandUni: o algoritmo Rand devolve
devolvido por RandUni for menor que

()

om

se o nmero

 e devolve 0 em aso ontrrio.

Por outro lado, no se sabe, em geral, onverter um algoritmo que


hama RandUni um nmero polinomial de vezes em um que hama

Rand um nmero polinomial de vezes. Por isso razovel dizer que esta
nova denio uma generalizao da original. A desvantagem da nova
denio que ela requer manipulao nmeros reais.

Exer ios
6.1

Considere o seguinte algoritmo para o MaxSat

Algoritmo MaxSat-CaraCoroa (V )
b Rand( 12 )
v
V
x_ v b
x_

(V; C)

1
2

para ada

devolva

em

faa

Mostre que o algoritmo a ima uma


polinomial para o MaxSat.

0; 5

-aproximao probabilsti a

Exer ios

6.2

73

Inspire-se no algoritmo MaxSat-Johnson e projete uma

0;5

-apro-

problema do orte mximo:


Problema MaxCut (G; w): Dado um grafo G e um peso
we em Q  para ada aresta e de G, en ontrar um orte R
que maximize w(R).

ximao probabilsti a polinomial para o

Apresente uma verso desaleatorizada do seu algoritmo.


6.3

Projete uma

0;5

-aproximao probabilsti a polinomial para a se-

guinte variante do MaxCut (exer io 6.2), que denotamos por

Max Cut: dados um grafo


ta

G, um peso we em Q 

para ada ares-

e e um inteiro k  2, determinar uma partio de VG em k partes

que maximize a soma do peso das arestas om extremos em partes


distintas da partio.
6.4

Projete uma

0;5

-aproximao probabilsti a polinomial para o pro-

blema da obertura mxima (exer io 2.4).

Mostre que a verso

desaleatorizada deste algoritmo exatamente o algoritmo guloso


sugerido no exer io 2.4.
6.5

Es reva uma verso desaleatorizada do algoritmo MaxSat-GW.


Apresente-a da forma mais simples que puder omitindo, se possvel,
todos os vestgios probabilsti os do algoritmo original.

Prove,

sem usar argumentos probabilsti os, que o algoritmo obtido uma

0;63

-aproximao para MaxSat.

6.6

Considere o seguinte algoritmo probabilsti o para o MaxSat:

Algoritmo MaxSat-Combinado-Probabilsti o (V; C)


b Rand ( 21 )
b=0
x_ MaxSat-Johnson (V )
x_ MaxSat-GW (V; C)
x_
1

2
3

4
5

se

ento

seno

devolva

Prove que esse algoritmo uma

0;5

-aproximao probabilsti a po-

linomial para o MaxSat. Es reva e omente a verso desaleatorizada deste algoritmo. O que muda se alterarmos o
algoritmo para um outro valor no intervalo
6.7

(0; 1)

1
2

da linha 1 do

Considere a seguinte verso ponderada do MaxSat. Alm do on-

V e da oleo C de lusulas sobre V , dado tambm um


wC em Q  para ada lusula C em C; o problema onsiste em

junto
peso

en ontrar uma valorao que maximize a soma dos pesos das lu-

Algoritmos Probabilsti os

74

sulas satisfeitas.

Modique os trs algoritmos apresentados neste

aptulo, bem omo suas anlises, para o MaxSat ponderado. Que


razo de aproximao tem ada um dos algoritmos modi ados?
6.8

Considere

seguinte

algoritmo

para

Es alonamento (se-

o 2.1): es olha aleatoriamente a prxima tarefa a ser es alonada


e aplique o ritrio de Graham. Estime o valor esperado da soluo
assim obtida.

Notas bibliogr as
A dis usso do algoritmo MaxSat-GW um resumo de um artigo de Goemans e Williamson [GW94; resumos semelhantes apare em
no livro de Motwani e Raghavan [MR95b e no livro editado por Ho hbaum [Ho 97. Os exer ios 6.1, 6.3 e 6.4 foram extrados do livro de
Vazirani [Vaz01.
O livro de Motwani e Raghavan [MR95b um texto abrangente
sobre algoritmos probabilsti os, om muitos exer ios e problemas de
pesquisa.
O algoritmo MaxSat-Johnson atribudo a Johnson [Joh74, embora este tenha es rito a verso no-probabilsti a do algoritmo. A primeira

0;75

-aproximao polinomial para o MaxSat deve-se a Yannaka-

kis [Yan94. Zwi k [Zwi99 projetou um algoritmo de aproximao para


um aso parti ular do MaxSat e onje turou, baseando-se em experimentos nmeri os, que seu algoritmo uma

0;797

-aproximao para o

problema. Re entemente, Asano e Williamson [AW00 projetaram uma

0;784

-aproximao, ombinando vrios algoritmos onhe idos para o pro-

blema [GW94, FG95, KZ97.

No momento, esse o melhor algoritmo

de aproximao onhe ido para o MaxSat. Utilizando o algoritmo de


Zwi k [Zwi99, Asano e Williamson obtm uma

0;833

-aproximao para

o MaxSat, desde que a onje tura de Zwi k seja onrmada.


A t ni a de arredondamento probabilsti o foi introduzida por
Raghavan e Thompson [RT87, Rag88 e vem sendo apli ada om bastante su esso a vrios problemas [BTV99, CKR00, Fei99, JV00.
O mtodo das esperanas ondi ionais apare e impli itamente em um
artigo de Erds e Selfridge [ES73. A onexo om algoritmos polinomiais
determinsti os foi feita por Spen er [Spe87.
Uma outra t ni a bem su edida de desaleatorizao de algoritmos probabilsti os foi desenvolvida por Luby [Lub86 e por Alon

al.

[ABI86.

et

Uma su esso de hamadas ao algoritmo Rand produz

Notas bibliogrfi as

bits

uma seqn ia de

75

aleatrios.

Podemos imaginar ento que, alm

dos dados do problema, um algoritmo probabilsti o re ebe uma seqn ia de

bits

aleatrios, de omprimento onveniente.

Freqentemente,

k-mutuamente independentes.
Para expli ar este on eito, denote por b1 ; : : : ; bn os bits produzidos por
n hamadas de Rand. Dizemos que b1 ; : : : ; bn so k-mutuamente independentes se, para qualquer subseqn ia bi1 ; : : : ; bik de b1 ; : : : ; bn , a
k
probabilidade de que bi1 ; : : : ; bik oin ida om qualquer das 2 seqn ik
as de k bits 2
. Enquanto independn ia plena requer um espao de
basta que os

bits

nessa seqn ia sejam

probabilidade omposto de

2n

de probabilidade om

vetores binrios ujos

independentes. Se

nk=2

vetores binrios, pode-se onstruir espaos

bits

so

k-mutuamente

onstante, um algoritmo probabilsti o pode ser

desaleatorizado da seguinte forma:

exe uta-se o algoritmo para ada

um dos vetores neste espao de probabilidade e devolve-se a melhor das


solues produzidas. Isso resulta em um algoritmo polinomial, determinsti o, e om razo de aproximao igual razo esperada do algoritmo
probabilsti o original. Para saber mais sobre isso, veja o artigo de Chor
e Goldrei h [CG89, bem omo o relatrio t ni o de Luby e Wigderson [LW95.
A respeito de geradores de nmeros pseudo-aleatrios, veja os livros
de Johnson [Joh87, Devroye [Dev86 e Knuth [Knu98. Knuth des reve
implementaes aproximadas do algoritmo RandUni que forne em nmeros pseudo-aleatrios satisfatrios em tempo probabilsti o onstante:
o tempo

esperado

uma onstante.

de exe uo de tais implementaes limitado por

76

Algoritmos Probabilsti os

Captulo 7

Programao Semidenida
Como vimos nos ltimos aptulos, relaxaes lineares so muito
usadas na obteno de algoritmos de aproximao para problemas de
otimizao ombinatria.

A utilizao de relaxaes lineares deve-se

sua simpli idade e existn ia de algoritmos e ientes para resolver programas lineares. Neste aptulo, utilizamos outra lasse de relaxaes 
os

programas semidenidos  para a qual tambm existem bons al-

goritmos. Vamos ilustrar esse mtodo apli ando-o ao problema do orte


mximo.

7.1 Corte mximo


O

problema do orte mximo

(maximum

ut problem ), denotado

por MaxCut, denido omo

Problema MaxCut (G; w): Dados um grafo G e um peso we


em Q  para ada aresta e, en ontrar um orte R que maximize
w(R).
Chamamos o nmero w (R) de peso do orte R. Assim, MaxCut onsiste em en ontrar um orte de peso mximo.
O problema NP-dif il, mesmo quando restrito s instn ias em
que

wij

ex ede

=1

para toda aresta

ij

e o grau de ada vrti e de

no

[GJ79.

O problema pode ser formulado da seguinte maneira: dados


omo a ima, en ontrar um vetor
maximize
sob as restries

x indexado por V

1P

xi xi

77

que

wij (1 xi xj )
1 para ada i em V ;

ij 2E

Gew
(7.1)

Programao Semidefinida

78

onde

:= VG

:= EG

Veriquemos que esse programa apenas

Suponha que x uma soluo vivel


xi 2 f 1; 1g para ada i. Tome S := fi : xi = 1g.
xi xj = 2 se ij 2 (S ) e 1 xi xj = 0 em aso ontrrio.

uma reformulao do MaxCut.


de (7.1), e portanto
laro que

1 P
2 ij 2E wij (1

Portanto,

xi xj )

= w((S )) :

(7.2)

S um onjunto de vrti es e dena o vetor x por


S e xi := 1 em aso ontrrio. Esse vetor vivel

Suponha agora que

xi

:= 1

se

em (7.1) e satisfaz a relao (7.2). Diante disso, on lumos que

opt(G; w) =
para qualquer soluo tima

x

1 P
2 ij 2E wij (1

xi xj )

(7.3)

de (7.1).

O problema (7.1) um programa quadrti o:

ele pro ura um ve-

tor que maximize uma funo quadrti a sujeita a restries quadrti as. Obviamente no sabemos resolver este programa quadrti o e ientemente, do ontrrio teramos um algoritmo exato polinomial para o

MaxCut. Consideremos ento uma relaxao de (7.1).

Relaxao vetorial
Uma relaxao vetorial de (7.1) onsiste em tro ar ada omponente

de

por um vetor, e portanto tro ar

por uma matriz.

Mais pre i-

samente, uma relaxao vetorial o seguinte problema: en ontrar uma


matriz real

indexada por

V

que

1P
2 ij 2E wij (1

maximize

(Y Y >)ii = 1

sob as restries

(Y Y >)ij )
para ada

(7.4)

i em V :

Diz-se que a relaxao (7.4) vetorial pois suas in gnitas so vetores:


as linhas da matriz

Y.

ada omponente

de

xi xi

=1

omo

xi

orresponde

Yi? Yi? = 1.

A relao entre (7.4) e (7.1) f il per eber:

x orresponde linha Yi? de Y e ada restrio


>
restrio (Y Y )ii = 1, que poderia ser es rita

f il per eber a relao entre as solues de (7.4) e (7.1).


sidere uma soluo vivel
1

de (7.1).

Seja

Con-

um vrti e qualquer e

Em prin pio, o onjunto de ndi es de olunas de

Y,

digamos

N,

poderia ser

jN j = 1, por exemplo, os programas (7.4) e (7.1) seriam idnti os.


Mas, aparentemente [Lov01, o problema (7.4) NP-dif il se jN j onstante em
relao a jV j.
diferente de

V.

Se

7.1 Corte mximo

a matriz denida por

79

Y?k

=x

Y?i

=0

para ada

diferente de

k.

>
evidente que (Y Y )ij = Yi? Yj? = xi xj para ada i e ada j . Em
>
parti ular, (Y Y )ii = xi xi = 1 e portanto Y vivel em (7.4). AdeP
P
mais,
wij (1 (Y Y >)ij ) =
wij (1 xi xj ). Assim, para qualquer
ij

soluo
P

ij

P
xi xj )  ij wij (1

tima

ij wij (1

Y^

de (7.4) e qualquer soluo tima

(Y^ Y^ >)ij )

x

de (7.1), tem-se

. A relao (7.3) garante ento

a delimitao superior

opt(G; w) 

1P
2 ij 2E wij (1

(Y^ Y^ >)ij ) :

(7.5)

Resta dis utir a existn ia de uma soluo tima do programa vetorial (7.4). O onjunto das solues viveis de (7.4) um sub onjunto
fe hado e limitado do espao de todos os vetores reais indexados por

V V .

O onjunto fe hado pois a interse o dos onjuntos fe hados

kY k2 = Pi Yi? Yi? = Pi(Y Y >)ii = jV j.

determinados por ada restrio de (7.4).

para qualquer
Como

ij wij

vivel tem-se

(1 (Y Y >)ij )

O onjunto limitado, pois

funo ontnua de

Y,

o programa (7.4)

tem soluo tima.

Algoritmo de Goemans e Williamson


O seguinte algoritmo probabilsti o, devido a Goemans e Williamson [GW95b, utiliza uma soluo tima do programa vetorial (7.4) para
obter uma soluo vivel do problema MaxCut.
O algoritmo de Goemans e Williamson depende de um algoritmo que
hamamos RandEsfera : ele produz um ponto aleatrio om distribuio uniforme na esfera unitria, que o onjunto de todos os vetores
reais

indexados por

qualquer matriz

tais que

krk = 1.

Por exemplo, ada linha de

que satisfaz as restries de (7.4) um ponto dessa

esfera.

Algoritmo MaxCut-GW (G; w)


1
seja Y^ uma soluo tima de (7.4)
2
s RandEsfera(V )
3
S f i 2 V : s Y^i? > 0 g
4
devolva (S )
Antes de al ular uma razo de aproximao do algoritmo, pre iso
estabele er o seguinte lema.

Rand
Esfera

Programao Semidefinida

80

Figura 7.1: Uma fatia de uma esfera no

R3 .

Lema 7.1 : Para os objetos S e Y^ denidos pelo algoritmo e para


quaisquer dois vrti es i e j de G,

Pr[ ij 2 (S )  1 ar os ((Y^ Y^ >)ij ) :

Demonstrao: Adote as abreviaturas

y^ e z^ para os vetores Y^i? e Y^j?,

respe tivamente. Claramente,

Pr[ ij 2 (S ) = Pr[ s y^ > 0 e s z^  0 + Pr[ s y^  0 e s z^ > 0 :


O primeiro termo do lado direito a probabilidade de que
regio da esfera unitria na interse o dos semi-espaos

s pertena

fr : r y^ > 0g e

fr : r z^  0g. Tal regio a fatia da esfera (veja a gura 7.1) de ngulo

igual ao ngulo entre os vetores

y^ e z^,

que denotamos por

Graas

distribuio uniforme (apndi e D), a probabilidade de tal regio


propor ional rea da regio, e portanto propor ional ao ngulo

Pr[ s y^ > 0 e s z^  0 = 2 :


De forma semelhante, podemos on luir que Pr[ s y
^  0 e s z^ > 0 =
=2, terminando assim a prova do lema, j que  = ar os(^y z^). 2
Alguns l ulos elementares mostram que (veja gura 7.2), para todo

x no intervalo [ 1; 1,

1 ar os(x)  0;878 1 (1

2

x) :

(7.6)

7.1 Corte mximo

81

1
0;8
0;6
0;4
0;2
0

0;5

0;878 (1

0;5

f (x) := 1 ar os(x) e g(x) :=


x). Veri a-se que f (x)  g(x) no intervalo [ 1; 1.

Figura 7.2:

1
2

Gr o das funes

Teorema 7.2 : Se X a varivel aleatria2 ujo valor o peso


de um orte produzido pelo pelo algoritmo MaxCut-GW (G; w)

ento

E[X  0;878opt(G; w) :

Demonstrao: Em virtude do lema 7.1 e de (7.6), temos que

E[X =


ij 2E

wij Pr[ ij 2 (S )

1 ar os ((Y^ Y^ >)ij )

P
1
 0;878 2 ij2E wij (1 (Y^ Y^ >)ij )
 0;878opt(G; w) ;
P

onde (7.7) segue de (7.5).

ij 2E wij

(7.7)

O algoritmo MaxCut-GW supe um modelo de omputao (apndi e E) muito mais poderoso e menos realista que o dos aptulos anteriores: o modelo apaz de manipular nmeros reais arbitrrios e supe
que ada operao aritmti a onsome uma quantidade de tempo que
no depende dos valores dos operandos. Veremos na prxima seo que
a linha 1 do algoritmo MaxCut-GW pode ser exe utada em tempo
polinomial em
tando.
2

hGi + hwi no modelo de omputao que estamos ado-

A linha 2 envolve uma exe uo do algoritmo RandEsfera ,

O espao de probabilidades denido pela distribuio uniforme sobre a esfera

unitria (exemplo D.3).

Programao Semidefinida

82

que probabilsti o polinomial (seo 6.3), pois pode ser implementado

O(jV j) hamadas funo RandUni. A linha 3 onsome


O(jV j2 ). Assim, o algoritmo probabilsti o polinomial.

om

tempo

uma 0;878-aproximao probabilsti a polinomial para o MaxCut. 2

Teorema 7.3 : O algoritmo

MaxCut-GW

7.2 Programas semidenidos


programa vetorial onsiste no seguinte: dada uma matriz W
indexada por V  V , uma matriz A indexada por M  (V  V ) e um
vetor b indexado por M , en ontrar uma matriz Y indexada por V  V
Um

que
minimize
sob as restries
PV

()

P
>
ij 2V V Wij (Y Y )ij
P
>
ij 2V V Akij (Y Y )ij

Vamos denotar esse programa vetorial por PV

bk

para ada

k em M :

(W; A; b)

. f il per eber

que o problema (7.4) uma instn ia de PV.


Como mostraremos a seguir, qualquer programa PV pode ser resolvido

3 em tempo polinomial, no modelo de omputao que estamos

adotando.

O algoritmo dos elipsides (men ionado no apndi e C em

onexo om programas lineares) pode ser usado para resolver programas no-lineares ujo onjunto das solues viveis seja fe hado e onvexo

4 [GLS93, S h86.

vetorial PV

(W; A; b)

O onjunto das solues viveis do programa

no onvexo, mas o programa pode ser onverti-

do, omo veremos em seguida, em um programa semidenido equivalente


ujo onjunto das solues viveis onvexo.

X 0

X positiva semidenida, o
X  0, se X = Y Y > para alguma matriz quadrada
real Y . Um programa semidenido onsiste no seguinte: dada uma
matriz W indexada por V  V , uma matriz A indexada por M  (V  V )
e um vetor b indexado por M , en ontrar uma matriz X indexada por
Dizemos que uma matriz quadrada

que denotamos por

Mais pre isamente, possvel en ontrar uma soluo aproximada om qualquer

pre iso prexada.

4
0
Um onjunto Y de vetores onvexo se, para quaisquer y e y em Y e qualquer
 no intervalo fe hado [0; 1, o vetor y +(1 )y 0 est em Y. O on eito de onjunto

onvexo de matrizes anlogo.

7.3 Consideraes prti as

V

83

que

P
ij Wij Xij
P

minimize

ij Akij Xij

sob as restries

bk

(W; A; b)

Denotamos esse problema por PSD


viveis de PSD
H

PV

uma

(W; A; b)

(W; A; b)

orrespondn ia

simples

entre

solues

(W; A; b)
(W; A; b)
Y Y> =X
(W; A; b)
(W; A; b)
Y
(W; A; b)
.

, ento a equao

Se

viveis

do

uma soluo

dene uma matriz

; e re ipro amente. Em parti ular, se

uma soluo tima do PSD

do PV

. Se o onjunto das solues

e solues viveis do PSD

vivel do PSD

k em M

5
for limitado, o problema tem soluo tima.

que soluo vivel do PV

para ada

 0 :

, ento

uma soluo tima

Existem algoritmos elementares (apndi e B) que determinam, para qualquer matriz positiva semidenida

Y Y > = X.

X , uma matriz

real

tal que

Assim, possvel resolver um programa vetorial da seguinte

X do programa semidenido; alY Y > = X ; essa Y uma soluo tima do

maneira: obtenha uma soluo tima


ule uma matriz

tal que

problema vetorial.
O onjunto das solues viveis de qualquer programa semidenido
onvexo e fe hado. Ademais, o programa semidenido derivado do Max-

Cut (bem omo os programas derivados de muitos outros problemas de


otimizao ombinatria) limitado e assim pode ser resolvido em tempo polinomial por meio do algoritmo dos elipsides, desde que tenhamos
um algoritmo de separao apropriado. Um tal algoritmo de separao
parte do algoritmo de de omposio de matrizes positivas semidenidas
a que aludimos a ima: se a matriz simtri a

dada no positiva se-

midenida, o algoritmo exibe uma violao da restrio


um vetor real

y para o qual yX y < 0.

X  0, ou seja,

7.3 Consideraes prti as


Neste aptulo usamos, at agora, um modelo de omputao pou o
realista.

O algoritmo MaxCut-GW pode ser onvertido, de maneira

bvia, em um algoritmo aproximado para um modelo de omputao


5

Via de regra, as solues timas no so ra ionais, mesmo que

ra ionais.

W , A e b sejam

PSD

()

Programao Semidefinida

84

mais realista: basta exe utar todos os l ulos om alguma pre iso nita. (Determinar uma pre iso dos l ulos que produza razo de aproximao prxima de

0;878

no tarefa f il.) O algoritmo RandEsfera

pode tambm ser implementado [Joh87, Dev86, Knu98 de maneira aproximada a partir de um gerador de nmeros aleatrios om distribuio
uniforme no intervalo

[0; 1)

(exer ios D.3 e D.4, apndi e D).

O algoritmo dos elipsides, bem omo qualquer outro algoritmo usado para resolver programas semidenidos, forne e apenas solues aproximadas de tais programas. Isso inevitvel, j que as solues timas

(W; A; b)

de PSD

podem ter omponentes irra ionais [Goe97. O algorit-

mo dos elipsides pode ser usado para produzir [GLS93, para qualquer

"

positivo, uma matriz

(W; A; b)

PSD

que satisfaz, a menos de

",

as restries de

Exer ios
7.1

Verique que o onjunto das solues viveis do programa vetorial (7.4) no , em geral, onvexo.

7.2

Es reva o programa semidenido orrespondente a (7.4). Verique


que o onjunto das solues viveis deste programa semidenido
onvexo.

7.3

Verique que o onjunto das solues viveis do programa semidenido orrespondente a (7.4) fe hado e limitado.

7.4

Des reva um programa vetorial uja soluo tima tem valor irra ional.

7.5
7.6

Prove a desigualdade (7.6).


A restrio do MaxSat ( aptulo 6) a instn ias
lusula em

(V; C)

em que ada

tem exatamente duas variveis onhe ida omo

Max2Sat. Formule o Max2Sat omo um programa quadrti o.


7.7

Formule o Max Cut (exer io 6.3) omo um programa quadrti o. Exiba uma relaxao vetorial deste programa e uma relaxao
semidenida dele.

7.8

Considere o problema MaxCut om a seguinte restrio adi ional:

S1 e S2 e queremos um orte de
peso mximo que deixe os vrti es de S1 em um mesmo omponente e separe quaisquer dois vrti es em S2 . Formule esse problema

so dados dois onjuntos de vrti es

Notas bibliogrfi as

85

omo um programa quadrti o e exiba uma relaxao vetorial dele.


Mostre que o algoritmo MaxCut-GW pode ser adaptado para esse
problema, onservando a mesma razo de aproximao esperada.

Notas bibliogr as
A apresentao desse aptulo inspirou-se no artigo de Goemans e
Williamson [GW95b, nas notas de aula de Williamson [Wil98, no

book of Combinatori s

Hand-

[GGL95 e no texto de Lovsz [Lov01. Os exer-

ios 7.6, 7.7 e 7.8 foram extrados do livro do Vazirani [Vaz01.


Programao semidenida e suas apli aes otimizao ombinatria so dis utidas por Deza e Laurent [DL97 e por Lovsz [Lov01.
Antes do apare imento do algoritmo MaxCut-GW, a melhor razo
de aproximao onhe ida para o problema MaxCut era

0;5

(algoritmo

de Erds [Erd67, exer io 6.2). Karlo [Kar96 apresentou uma famlia


de instn ias

(G; w)

do MaxCut para as quais o algoritmo MaxCut-

GW produz ortes de peso arbitrariamente prximo de

0;878opt(G; w)

Mahajan e Ramesh [MR95a mostraram omo desaleatorizar o algoritmo

MaxCut-GW. A desaleatorizao bem mais omplexa que aquela


apresentada no aptulo 6.
Goemans e Williamson apli aram o mtodo de programao semidenida a vrios problemas [GW95b.
aproximao para o MaxSat, uma
denido no exer io 7.6, e uma

0;878
0;796

Eles obtiveram uma

0;758

-aproximao para o Max2Sat,

-aproximao para a verso do

MaxCut em grafos orientados, onhe ida por MaxDiCut.


Feige e Goemans [FG95 obtiverem uma
o Max2Sat e uma

0;859

0;931

-aproximao para

-aproximao para o MaxDiCut.

e Zwi k [KZ97 propuseram uma

Max3Sat, anlogo ao Max2Sat.

0;875

Karlo

-aproximao para o problema

Skutella [Sku98 apli ou programao semidenida a uma variante do


problema Es alonamento, dis utido na seo 2.1. Karger, Motwani
e Sudan [KMS98 apresentaram uma

(n1

3=(k+1) log1=2 n)-aproximao

para o problema de olorao de vrti es em grafos om


mero romti o no mximo

k.

n vrti es e n-

Vrios outros trabalhos re entes [AK98,

BKRV98, CS98, CRW01, FJ97, GW01, Hal00, KG98, Sku99, Zwi99


tambm usam programao semidenida.
De a ordo om Alizadeh [Ali95, mtodos de pontos interiores podem ser mais e ientes que o algoritmo dos elipsides na resoluo de
programas semidenidos. Mais informaes sobre programao semide-

86

Programao Semidefinida

nida podem ser en ontradas no livro de Wolkowi z, Saigal e Vandenberghe [WSV00.

Captulo 8

Inaproximabilidade
Por que alguns problemas de otimizao pare em ser mais dif eis
de aproximar do que outros? Como podemos medir ou omprovar estes
diferentes graus de di uldade?

O presente aptulo trata de questes

desse tipo.
Cook [Coo71 mostrou que a lasse NP ontm problemas ompletos,
ou seja, problemas que so pelo menos to dif eis quanto qualquer outro problema na lasse. Estes so os hamados problemas NP- ompletos
(apndi e E).

Logo aps, Karp [Kar72 apresentou uma grande ole-

o de problemas NP- ompletos, que in lua vrios problemas de de iso


orrespondentes a problemas de otimizao ombinatria bem onhe idos. rena geral que no existem algoritmos polinomiais para resolver
problemas NP- ompletos, ou seja, a redita-se que P

6= NP.

Assim omo problemas de de iso so lassi ados onforme a sua di uldade omputa ional, problemas de otimizao so lassi ados onforme o seu grau de aproximabilidade por algoritmos polinomiais. Neste
aptulo so denidas as lasses PO, FPTAS, PTAS, APX e NPO de
problemas de otimizao.
Nos aptulos anteriores foram estudados diversos algoritmos de
aproximao para vrios problemas NP-dif eis. Para nenhum dos problemas estudados foi apresentada evidn ia de que no existem algoritmos om melhor razo de aproximao. Neste aptulo mostramos que,
freqentemente, a di uldade em se obter uma melhor razo de aproximao est intrinse amente ligada questo  P

6= NP?. Apresentamos

resultados de inaproximabilidade que tm tipi amente a seguinte forma:

se existe uma -aproximao polinomial para , ento


onde

um problema de otimizao.

87

NP

Um tal resultado indi a que a

Inaproximabilidade

88

existn ia de uma

-aproximao

polinomial para

improvvel. Por

outro lado, apesar de no se a reditar que este seja o aso, se P

NP

ento, em parti ular, existe um algoritmo exato polinomial para ada


problema tratado no presente texto e toda a dis usso sobre algoritmos
de aproximao perde parte de seu sentido.

8.1 Classes de problemas de otimizao


(I )

Sol

val(I; S )

Um

problema de otimizao

tem trs ingredientes, a saber, um

(I ) de solues viveis de ada


I e uma funo val que asso ia a ada instn ia I e soluo
S em Sol(I ) um valor ra ional no-negativo val(I; S ). Se o problema
de minimizao o objetivo en ontrar, para qualquer instn ia dada,
uma soluo vivel de valor mnimo. Se o problema de maximizao

onjunto de instn ias, um onjunto Sol


instn ia

o objetivo en ontrar uma soluo vivel de valor mximo. Em suma,


um problema de otimizao

onsiste no seguinte:

Dada uma instn ia I , en ontrar S em Sol(I )


que minimize (maximize) val(I; S ).

Problema

Uma

(I )

soluo tima

para um problema de otimizao uma soluo

vivel que maximize ou minimize, dependendo do aso, o valor da funo

val

. Denotamos por

NPO

opt(I )

o valor de uma soluo tima da instn ia

I.

A lasse de problemas NPO, que a extenso de NP a problemas de


otimizao, formada pelos problemas de otimizao para os quais:

 existe uma funo polinomial p tal que hS i  p(hI i) para toda


instn ia

do problema e toda soluo vivel

de

I;

 existe um algoritmo polinomial que de ide se uma dada palavra


uma representao vlida de uma instn ia do problema;

 existe um algoritmo polinomial que de ide se um dado objeto


soluo vivel de uma dada instn ia do problema;

 existe um algoritmo polinomial que al ula val(I; S ), dados I e S .


PO

Denotamos pela sigla PO o onjunto dos problemas em NPO para


os quais existe um algoritmo exato polinomial.

APX

Esta , portanto, uma

extenso da lasse P a problemas de otimizao.

A lasse APX for-

mada pelos problemas em NPO para os quais existe uma


polinomial para alguma onstante

-aproximao

8.1 Classes de problemas de otimizao

Um

esquema de aproximao

(approximation

problema de otimizao um algoritmo


positivo

"

e uma instn ia

s heme )

para um

A que re ebe um nmero ra ional


A("; I ) om

e devolve uma soluo vivel

um erro relativo de no mximo

(1

89

", ou seja,

") opt(I )  val(I; A("; I ))  (1 + ") opt(I ) :

No aso de problema de maximizao, somente a desigualdade esquerda

" no intervalo (0; 1).

relevante; ela s faz sentido para

Se o problema

1 Dizemos

de minimizao, somente a desigualdade direita interessa.


que

A um esquema de aproximao polinomial (polynomial-time


se o algoritmo A("; ) polinomial para todo "

approximation s heme )

xo. Ademais, quando a quantidade de tempo onsumida pelo algoritmo

A limitada

por

p(hI i; 1=") para alguma funo polinomial p, ento A


plenamente polinomial (fully polynomial-

esquema de aproximao

time approximation s heme ).

Para o problema da mo hila (Mo hila),

tratado no aptulo 2, o algoritmo Mo hila-IK" um esquema de aproximao plenamente polinomial.

A lasse PTAS omposta pelos problemas em NPO que possuem


um esquema de aproximao polinomial e a lasse FPTAS, pelos que
admitem um esquema de aproximao plenamente polinomial. Das denies, segue imediatamente que
PO

 FPTAS  PTAS  APX  NPO :

Como ser observado na prxima seo, se alguma das in luses a ima


no for estrita, ento P
PO

NP.

Por outro lado, se P

NP, ento

NPO.

Como pode ser veri ado, todos os problemas de otimizao estudados ao longo do presente texto esto em NPO. Assim, os algoritmos
de aproximao vistos distribuem esses problemas nas lasses denidas
a ima. Com ex eo do teorema 8.2, todos os teoremas a seguir esto,
essen ialmente, demonstrados nos aptulos anteriores.

Teorema 8.1 : O problema Mo hila est em FPTAS. 2


Teorema 8.2

(Ho hbaum e Shmoys [HS88):

alonamento
1

est em PTAS.

Se o problema de maximizao e

A quantidade de tempo onsumida pelo algoritmo

n3 =", onde n o nmero de objetos.

Es-

" est xo, temos uma (1 ")-aproximao.


(1 + ")-aproximao.

Se o problema de minimizao, temos uma

O problema

Mo hila-IK" propor ional

PTAS
FPTAS

Inaproximabilidade

90

Teorema 8.3 : Os problemas


MaxSat, MinCV, MinFS

Teorema 8.4 : Os problemas


TSP

esto em

NPO

Empa otamento,

TSPM

esto em APX.

MaxCut,

MinCC, MinMCut, MinTC

8.2 NP- ompletude e inaproximabilidade


Nesta seo, mostramos que a di uldade em obter-se uma melhor
razo de aproximao para alguns problemas tratados ao longo do texto
herdada da teoria de NP- ompletude e da lssi a questo  P

6= NP?.

Teorema 8.5 : Se APX = NPO, ento P = NP.


Demonstrao: Pelo teorema 8.4, o problema TSP est em NPO.
Logo, su iente mostrar o seguinte teorema de Sahni e Gonzalez [SG76:
se o problema TSP est em APX, ento P
Seja

onstante.

NP.

-aproximao polinomial para o TSP, onde uma


Utilizando A, pode-se riar um algoritmo polinomial que

uma

resolve o problema do ir uito hamiltoniano, denotado por PCH. O algoritmo o seguinte. Dado um grafo

G,

instn ia arbitrria do PCH,

(K; ) do TSP, onde K o grafo ompleto om onVG de vrti es e usto e = 1 se a aresta e est em G e e = jVG j
se e no est em G. Uma soluo vivel da instn ia (K; ) do TSP
um ir uito hamiltoniano em K e o valor da soluo vivel o usto
do ir uito. Aplique o algoritmo A instn ia (K; ). A exe uo do

onstrua a instn ia
junto

algoritmo onsome uma quantidade de tempo limitada por uma funo


polinomial de

hGi.

G hamiltoniano ento opt(K; ) = jVG j e, se G no hamiltoniopt(K; ) > jVGj. Donde, val((K; ); A(K; ))  jVG j se e
somente se G hamiltoniano. A existn ia de um tal algoritmo polinoSe

ano, ento

mial mostra que PCH est em P. Como PCH NP- ompleto [Kar72,
temos que P

NP.

Teorema 8.6 : Se PTAS = APX, ento P = NP.


Demonstrao: Pelo teorema 8.3, o problema Empa otamento est em APX. Portanto, basta provar que se o problema Empa otamento
est em PTAS, ento P
Seja

NP.

um esquema de aproximao polinomial para o problema

8.2 NP- ompletude e inaproximabilidade

91

A(1=3; ),

Empa otamento. Utilizando o algoritmo3

pode-se projetar

um algoritmo polinomial o problema da partio (partition ).

Problema Partio (n; v): Dados um inteiro positivo n e,


para ada i em f1; : : : ; ng, um nmero vi em Q  , de idir se existe
uma partio fB1 ; B2 g de f1; : : : ; ng tal que v(B1 ) = v(B2 ).
O algoritmo polinomial para Partio muito simples. Dada uma instn ia arbitrria

(n; v)

do problema, al ule

:= (Pi vi)=2
i := vi =
.

Podemos

6= 0 e que vi   para todo i. Seja


para ada i. Utilize o algoritmo A(1=3; ) para resolver Empa otamento (n; ).
supor que

Isso tudo onsome uma quantidade de tempo limitada por uma funo
polinomial de

hni + hvi.

(n; v) sim
opt(n; )
(n; )
val((n; ); A(1=3; (n; )))
val((n; ); A(1=3; (n; )))  (1 + 1=3) opt(n; ) = (4=3) opt(n; ) ;
Partio(n; v )
sim
val((n; ); A(1=3; (n; ))) = 2
Partio
Partio
= 2
I
(I )
I
(I ) := 0
I MaxSat
Se a resposta a Partio

de Empa otamento

ento o valor timo

2; aso ontrrio pelo menos 3.

Como

um nmero inteiro e

resposta

do

problema

se

somente

se

. Logo, o algoritmo proposto resolve

em tempo polinomial. Como

temos que P
Se

NP- ompleto [Kar72,

NP.

uma instn ia de um problema, ento Max

denido o-

mo o maior nmero inteiro em valor absoluto que o orre em


Max

se nenhum nmero inteiro o orre em

; dena

um

exemplo em que isso o orre). Estamos supondo que os nmeros ra ionais so representados omo quo iente entre dois nmeros inteiros. Assim, por exemplo, se o nmero

3=17

o orre em

I temos que Max(I )  17.

Seja  um problema
de otimizao NP-dif il no sentido forte tal que val(I; S ) um
nmero inteiro no-negativo para toda instn ia I e todo S em
Sol(I ). Seja ainda p(n; m) uma funo polinomial tal que

Teorema 8.7

(Garey e Johnson [GJ78):

opt(I )  p(hI i; (I ))
para toda instn ia I de . Se  est em
Max

FPTAS

Na prova,

, ento P = NP.

1=3 pode ser substitudo por qualquer ra ional no intervalo (0; 1=2).

Max

(I )

Inaproximabilidade

92

Demonstrao: Suponha que

um problema de minimizao (ar-

gumentos simtri os se apli am a problemas de maximizao) e seja


um esquema de aproximao plenamente polinomial para
do o esquema

. Utilizan-

A, pode-se projetar um algoritmo pseudopolinomial para

resolver o problema

, provando assim que P

NP.

I , ompute " := 1=(p(hI i; Max(I ))+1) e aplique


o algoritmo A aos argumentos " e I . Em uma quantidade de tempo
limitada por uma funo polinomial em hI i e 1=", e portanto em tempo
pseudopolinomial, o algoritmo A devolve um elemento A("; I ) em Sol(I )
que satisfaz val(I; A("; I ))  (1 + ") opt(I ) ; ou seja,
Dada uma instn ia

val(I; A("; I )) opt(I )  " opt(I )


= p(hI i; opt(I(I) )) + 1
< 1;
I
val(I; A("; I )) opt(I )
val(I; A("; I )) = opt(I )


= 2
Max

para toda instn ia

Como

so inteiros,

. Ou seja, o algoritmo pseudopolinomial projeta-

do resolve

que P

exatamente. Como

NP-dif il no sentido forte, temos

NP.

No teorema 8.7, a hiptese dos valores das solues viveis serem


nmeros inteiros apenas aparentemente restritiva. Todos os problemas
formulados ao longo do texto envolvem nmeros ra ionais. Entretanto,
ada um desses problemas pode ser reformulado omo um problema em
que os valores das solues viveis so nmeros inteiros e que polinomialmente equivalente ao problema original. Mais ainda, um algoritmo
de aproximao para um dos problemas pode ser transformado em um
algoritmo de mesma razo de aproximao para o outro. Considere, por
exemplo, a reformulao abaixo do problema Es alonamento.

Problema Es alonamentoInt (m; n; t): Dados inteiros positivos m e n e um tempo ti em Z para ada i em f1; : : : ; ng,
en ontrar uma partio fM1 ; : : : ; Mm g de f1; : : : ; ng que minimize maxj t(Mj ).

Os problemas Es alonamento e Es alonamentoInt so polinomialmente equivalentes. Ademais, uma

-aproximao polinomial para um


-aproximao polinomi-

dos problemas pode ser transformada em uma

al para o outro. Logo, pelo teorema 8.2, Es alonamentoInt tambm


est em PTAS.

8.3 Completude para problemas de otimizao

93

As hipteses prin ipais do teorema 8.7 so que as solues viveis

de

tm valor inteiro no muito grande e que

tido forte.

NP-dif il no sen-

Estas hipteses se apli am a vrios problemas vistos neste

texto, tais omo, MaxSat, MaxCut, MinCV e o re m denido Es-

alonamentoInt, que esto em APX. Desta forma, se algum desses


problemas admitir um esquema de aproximao plenamente polinomial,
ento P

NP.

Como, em parti ular, Es alonamentoInt est em

PTAS, ento improvvel que existam esquemas de aproximao plenamente polinomiais para todos os problemas em PTAS.

Teorema 8.8 : Se FPTAS = PTAS, ento P = NP. 2


Como Mo hila um problema NP-dif il que est em FPTAS, ento
improvvel que existam algoritmos polinomiais para todos os problemas
em FPTAS.

Teorema 8.9 : Se PO = FPTAS, ento P = NP. 2


Finalmente, o teorema a seguir mostra que, om ex eo do teorema 8.7, vale a re pro a de ada teorema visto nesta seo.

Teorema 8.10 : Se P = NP, ento PO = NPO. 2


Uma prova do teorema 8.10 pode ser en ontrada em Ausiello, Cres-

enzi, Gambosi, Kann, Mar hetti-Spa amela e Protasi [ACG 99.

8.3 Completude para problemas de otimizao


Informalmente, problemas ompletos de uma erta lasse so aqueles pelo menos to dif eis quanto qualquer outro da lasse.

Para a

lasse NP isto signi a que um algoritmo polinomial para um problema


NP- ompleto pode ser transformado em um algoritmo polinomial para
resolver qualquer outro problema em NP. Portanto, se algum problema
NP- ompleto est em P, ento P

NP. O on eito de ompletude pode

ser estendido para problemas de otimizao. Da mesma maneira que foi


onveniente para a lasse NP utilizar uma reduo que preserva polinomialidade, para problemas de otimizao ne essrio um tipo de reduo
que, alm da polinomialidade, preserve tambm a razo de aproximao.
Con retamente, usaremos uma reduo que preserva a existn ia de um
esquema de aproximao polinomial.
Uma

AP-reduo de um problema de otimizao  a um problema

Inaproximabilidade

94

de otimizao

0

um terno

(f; g; )

em que

f e g so algoritmos e

um nmero ra ional positivo tais que:


(AP1)

(AP2)

(AP3)

(AP4)

re ebe um nmero ra ional positivo

, e devolve uma instn ia f (; I ) de 0 ;

e uma instn ia

de

g re ebe um nmero ra ional positivo , uma instn ia I de  e


0
0
um elemento S em Sol(f (; I )), e devolve g (; I; S ) em Sol(I );
para todo nmero ra ional positivo , os algoritmos f (; ) e
g(; ; ) so polinomiais; e
para toda instn ia I de , todo nmero ra ional positivo , e
0
todo S em Sol(f (; I )), vale que se

(1
ento

AP

) opt(f (; I ))  val(f (; I ); S 0 )  (1 + ) opt(f (; I )) ;

(1

) opt(I )  val(I; g(; I; S 0 ))  (1 + ) opt(I ) :

Ser usada a notao


 AP 0

reduo de
ando que

0 .

 AP 0

para denotar a existn ia de uma AP-

Dizemos que

pode ser AP-reduzido a

0

signi-

Teorema 8.11 : Se 1

3 . 2

AP 2 e 2 AP 3 ,

ento

1 AP

Teorema 8.12 : Se  est em NPO, 0 est em APX e  AP

0 , ento  est em

APX

O prximo teorema mostra que AP-reduo preserva a existn ia de


um esquema de aproximao polinomial.

Teorema 8.13 : Se  est em NPO, 0 est em PTAS e  AP

0 , ento  est em

PTAS

A0 um esquema de aproximao polinomial para


0 e seja (f; g; ) uma AP-reduo de  a 0 . Utilizando o esquema A0 e
os algoritmos f e g ser riado um esquema de aproximao polinomial
A para . O algoritmo A abaixo re ebe um nmero ra ional positivo "
e uma instn ia I de  e devolve S em Sol(I ) om erro relativo de no
mximo ".
Demonstrao: Seja

8.3 Completude
problemas de otimizao
PSfragpara
repla ements

Algoritmo A ("; I )
1
"=
2
I 0 f (; I )
3
S 0 A0 (; I 0 )
4
S g(; I; S 0 )
5
devolva S

95

f (; I )

I0
A0 (; I 0 )

A("; I )

S0

g (; I; S 0 )

A0 ser um esquema de aproximao polinomial,


segue que, para todo ", o algoritmo A("; ) polinomial. As propriedades
De (AP3) e do fato de

(AP1) e (AP2) e a denio de esquema de aproximao garantem que

I0

0

uma instn ia de

, que

S0

est em Sol

(I 0 ) =

Sol

(f (; I ))

, que

(I )
(1 ) opt(I 0 )  val(I 0 ; S 0) = val(f (; I ); S 0 )  (1 + ) opt(f (; I )) :

est em Sol

, e que

Logo, de (AP4), tem-se que

(1

") opt(I )  val(I; S )  (1 + ") opt(I ) ;


j que = ". Em suma, A("; ) um algoritmo polinomial que re ebe
uma instn ia I de  e devolve uma soluo vivel A("; I ) om erro
relativo de no mximo ", omo desejado. Como  est em NPO, tem-se
que

est em PTAS.

Um problema

em APX

APX pode ser AP-reduzido a

APX- ompleto se ada

problema em

. O primeiro problema que se demonstrou

ser APX- ompleto foi MaxSat.

Teorema 8.14

(Papadimitriou e Yannakakis [PY91, Khanna,

Motwani, Sudan e Vazirani [KMSV99):

- ompleto.

APX

Um problema

O problema

, no ne essariamente em APX,

MaxSat

APX-dif il

a existn ia de um esquema de aproximao polinomial para


a em P

NP.

se

impli-

Assim, por exemplo, MaxSat APX-dif il, j que,

pelos teorema 8.6 e 8.13, a existn ia de um esquema de aproximao


polinomial para qualquer problema APX- ompleto impli a em P
Note que, se PTAS
em APX

n PTAS.

TSPM

Empa otamento, MaxCut,

MinCC, MinCV, MinFS, MinMCut,

TSP

NP.

6= APX, ento todo problema APX- ompleto est

Teorema 8.15 : Os problemas

MaxSat,

so

-dif eis.

APX

MinTC,

Inaproximabilidade

96

Um problema

em NPO

NPO pode ser AP-reduzido a

NPO- ompleto se ada problema

Observe que se APX

todo problema NPO- ompleto est em NPO

Teorema 8.16
TSP

NPO

n APX.

(Orponen e Mannila [OM87):

- ompleto.

em

6= NPO, ento

O problema

8.4 Limiares de aproximao


O

limiar de aproximao

(approximation

threshold )

de um pro-

blema de minimizao o maior limitante inferior de todos os


quais existe uma

-aproximao polinomial para o problema.

para os

No aso de

problema de maximizao tro a-se, na denio a ima, maior limitante


inferior por menor limitante superior.
laro que se P

NP ento o limiar de aproximao de todo pro-

blema em NPO 1. Na tabela 8.1 so apresentadas, sob a hiptese de


P

6=

NP, delimitaes para os limiares de aproximao de problemas

abordados nesse texto.


problema

Mo hila
Es alonamento
Empa otamento
MaxCut
MaxSat
MinCV
TSPM

(E; S; )
(E; S; )
TSP (G; )
MinCC
MinTC

limiar de aproximao

= 1 [IK75 (o problema est em FPTAS)


= 1 [HS88 (o problema est em PTAS)
 3=2 [GJ79
 16=17 [Hs97
 7=8 [Hs97
 7=6 [Hs97
 131=130 [EK00
> " log jE j, para alguma onstante " > 0 [RS97
> " log jE j, para alguma onstante " > 0
(equivalente ao MinCC [ADP80)
> f (hG; i), para toda funo f omputvel
em tempo polinomial [SG76

Tabela 8.1: Limiares de aproximao de alguns problemas.

Exer ios
8.1

Verique que os problemas Es alonamento, Empa otamento,

MaxCut, MaxSat, Mo hila, MinCC, MinCV, MinFS, MinMCut, MinTC, TSPM, e TSP esto em NPO.

Exer ios

8.2

97

Prove que o problema Es alonamento


mquinas (ou seja, om

8.3

Uma

estrela

(m; n; t)

om apenas duas

m = 2) NP-dif il.

uma rvore em que no mximo um dos vrti es

tem grau maior que

. O problema MinMCut NP-dif il mesmo

quando restrito a estrelas, ou seja, mesmo para instn ias


em que

(G; S; )

uma estrela. Des reva uma reduo do MinCV para

o MinMCut em estrelas. O que se pode dizer sobre algoritmos de


aproximao para estes dois problemas?
8.4

Cada problema de otimizao pode ser asso iado de maneira natural


a um
as.

problema de de iso sobre o mesmo onjunto de instn i-

Se

um problema de minimizao, o problema de de iso

asso iado

Problema D (I; ): Dados uma instn ia I e um nmero ra ional , de idir se existe S em Sol(I ) tal que
val(I; S )  .

Em aso de

val(I; S ) 

se

8.5

ser um problema de maximizao, basta tro ar

por

val(I; S ) 
D

est em NPO, ento

D


Mostre que

 temos o seguinte problema de valorao:


Problema V (I ): Dada uma instn ia I de , al ular
opt(I ).

V

um problema em NPO, ento

pode ser reduzido a

Mostre que se

Seja

V

+
[ACG 99.

D V

um problema de minimizao em NPO tal que

ompleto para algum

est em NPO

um problema em NPO, ento

nomialmente equivalentes
8.7

na denio de

pode ser reduzido a

Asso iado a ada problema de otimizao

Mostre que se

8.6

D

xo.

aproximao polinomial para

so poli-

D(; )
(( + 1)= )

NP-

Mostre que se existe uma

, ento P

NP. Baseado neste fato,

o que se pode dizer sobre o problema Empa otamento ?


8.8

Mostre que os problemas Empa otamento e Empa otamen-

toInt, denido a seguir, so polinomialmente equivalentes e que

-aproximao polinomial para um deles pode ser transformada em uma -aproximao polinomial para o outro.
uma

Problema

Empa otamentoInt

( ; n; v)

Dados inteiros

V

Inaproximabilidade

98

positivos e n e, para ada i em f1; : : : ; ng, um nmero inteiro vi em f0; : : : ; g, en ontrar uma partio B de
f1; : : : ; ng tal que v(B )  para todo B em B e jBj seja
mnimo.
8.9

Mostre que os problemas Es alonamento e Es alonamen-

toInt so polinomialmente equivalentes e que uma

-aproximao

polinomial para um dos problemas pode ser transformada em uma

-aproximao polinomial para o outro.

8.10 Verique que os problemas Empa otamentoInt, Es alonamen-

toInt, MaxSat, MaxCut e MinCV satisfazem as hipteses do


teorema 8.7.
8.11 Prove o teorema 8.11.
8.12 Prove o teorema 8.12.
8.13 Mostre que se existe uma

TSP

(G; )

, ento P

f (hG; i)-aproximao polinomial para o


f uma funo omputvel em

NP, onde

tempo polinomial.

Notas bibliogr as
A apresentao deste aptulo baseou-se nos livros de Ausiello

al.

et

[ACP95 e de Papadimitriou [Pap94, bem omo no texto de Ste-

ger [Ste01 e no livro de Garey e Johnson [GJ75.


Logo aps a denio das lasses P e NP, j se sabia que a obteno
de aproximaes para ertos problemas de otimizao to dif il quanto
a obteno da soluo exata [GJ79:

se, para alguma onstante , existe um algoritmo polinomial A


tal que opt(I ) val(I; A(I ))  para toda instn ia I do problema Mo hila, ento P = NP.
Considerando as lasses de omplexidade denidas neste aptulo, o teorema a ima mostra que o melhor que se pode armar do problema

Mo hila que ele est em FPTAS, j que improvvel que o problema


esteja em PO.
Como vimos, usando denies que surgiram posteriormente, o teorema de Sahni e Gonzalez [SG76 pde ser es rito na demonstrao do
teorema 8.5 omo:

se

TSP

est em

, ento

APX

NP.

Notas bibliogrfi as

99

Para outros problemas, resultados similares apare eram de forma


isolada, indi ando a impossibilidade de ertas aproximaes.

Papadi-

mitriou e Yannakakis [PY91 deniram duas lasses de problemas de


otimizao: as lasses MAXNP e MAXSNP. Eles deniram a hamada

MAXNP

L-reduo entre problemas de otimizao e provaram a existn ia de pro-

MAXSNP

blemas ompletos para a lasse MAXSNP. A ara tersti a dessas lasses


que se existir um esquema de aproximao polinomial para um problema ompleto de uma das lasses, esse algoritmo pode ser adaptado
para obter um esquema de aproximao polinomial para todos os outros
problemas nessa lasse. Como orolrio dos resultados relativos a provas
veri veis probabilisti amente, Arora, Lund, Motwani, Sudan e Szegedy [ALM

+ 92 mostraram que se os problemas ompletos para a lasse

MAXSNP podem ser arbitrariamente aproximados, ento P

NP. Hou-

gardy, Prmel e Steger [HPS94, Kohayakawa e Soares [KS95, e Mayr,


Prmel e Steger [MPS98 apresentaram um tratamento formal de provas veri veis probabilisti amente e resultados de inaproximabilidade
derivados de tais provas.
Mais re entemente, Ausiello, Cres enzi e Protasi [ACP95 deniram
de forma diferente lasses de problemas de otimizao e respe tivas redues que se mostraram, de alguma forma, equivalentes s men ionadas
a ima [KMSV99. Essas denies so as usadas no presente texto.
sabido que o problema MinMCut APX-d il [DJP

+ 94;

en-

tretanto, no se sabe se ele APX- ompleto, ou seja, no se sabe se

MinMCut est em APX.


Papadimitriou e Vempala [PV00 anun iaram re entemente que, sob
a hiptese de P
a

129=128

6= NP, o limiar de aproximao do TSPM no inferior

Um ompndio de problemas de otimizao, om indi ao da lasse


de omplexidade a que perten em, pode ser en ontrado em Cres enzi e
Kann [CK00. Este ompndio faz parte do livro de Ausiello, Cres enzi,

Gambosi, Kann, Mar hetti-Spa amela e Protasi [ACG 99.

100

Inaproximabilidade

Apndi e A

Teoria dos Grafos


Este apndi e um resumo da terminologia e notao bsi as da
teoria dos grafos.

A notao onsistente om a de textos lssi-

os [BM76, Die00 sobre o assunto.

Um

grafo um par (V; E ),

um onjunto nito arbitrrio

V . Os elevrti es e os de E so arestas (edges ). Se


os vrti es v e w so os extremos da aresta. Dois
um grafo so adja entes se existe uma aresta om

um onjunto de pares no-ordenados

mentos de

vw

onde

so hamados

uma aresta,

e w de
v e w. Se ada
grafo ompleto.

vrti es

1 de elementos de

extremos

vrti e adja ente a todos os outros, ento o

G denotado por VG e o onjunto


EG . Se G ompleto, ento jEG j = 21 n(n 1), onde
n := jVG j. O tamanho (veja apndi e E) de um grafo G o nmero
hGi := jVG j + jEGj.
O onjunto de vrti es de um grafo

de arestas por

VG
EG

hGi

Cortes e graus
Para qualquer onjunto
por

G (X ),

de vrti es de um grafo

ou simplesmente por

(X ),

G,

denotamos

o onjunto de todas as arestas

VG n X . Um orte ( ut )
qualquer onjunto da forma (X ), onde X um sub onjunto de VG .
Um onjunto X de vrti es separa um vrti e x de outro y se x 2 X
enquanto y 2 VG n X . Nessas ondies, dizemos tambm que o orte
(X ) separa x de y.
que tm um extremo em

e outro em

Um par no-ordenado um onjunto om exatamente dois elementos. Um par

no-ordenado omo

fv; wg denotado, indiferentemente, por vw ou wv.


101

(X )

Teoria dos Grafos

102

Se

um vrti e, es revemos

(v)

no lugar de

(fvg).

O nmero

j(v)j o grau de v. A soma dos graus de


P todos os vrti es de um grafo
v2VG j (v )j = 2jEG j.

igual ao dobro do nmero de arestas:

Um vrti e
nmero

isolado

se tem grau

(G) := maxv j(v)j

grau mximo

em

Subgrafos
H subgrafo de um grafo G se VH  VG e EH  EG . Se
H subgrafo prprio de G. Se VH = VG ,
dizemos que H um subgrafo gerador (spanning subgraph ) de G.
Para qualquer onjunto F de arestas de G, denotamos por G
Fo
subgrafo gerador de G ujo onjunto de arestas EG n F . Se F = ff g,
podemos es rever G
f.
Dizemos que H um subgrafo induzido de G se EH o onjunto
de todas as arestas de G que tm ambos os extremos em VH . O subgrafo
induzido de G que tem X por onjunto de vrti es denotado por G[X .
Para qualquer sub onjunto Y de VG , denotamos por G
Y o grafo
G[VG n Y . Se Y = fyg, podemos es rever G y.
O subgrafo de G induzido por um sub onjunto F de EG o grafo
(V (F ); F ), onde V (F ) o onjunto de todos os vrti es que so extremo
de algum elemento de F . Podemos denotar esse subgrafo por G[F .
Se F um onjunto de pares no-ordenados de elementos de VG ,
denotamos por G + F o grafo (VG ; EG [ F ) de G. Se F = ff g, podemos
es rever G + f .
Um grafo

uma das in luses prpria,

G F

G[X
G Y

G[F
G+F

Passeios, i los, aminhos e ir uitos


passeio (walk ) uma seqn ia (v0 ; e1 ; v1 ; e2 ; v2 ; : : : ; ek ; vk ) em
v0 ; : : : ; vk so vrti es e ada ei uma aresta om extremos vi 1
e vi . Dizemos que v0 a origem e que vk o trmino do passeio. Para
Um

que

simpli ar, podemos omitir as arestas e representar um passeio por sua

(v0 ; v1 ; : : : ; vk ). O passeio fe hado se vk = v0 e


aberto em aso ontrrio.
Uma trilha um passeio ujas arestas so distintas duas a duas, ou
seja, um passeio sem arestas repetidas. Um aminho (path ) um passeio

seqn ia de vrti es,

ujos vrti es so distintos dois a dois, ou seja, um passeio sem vrti es


repetidos. A origem e o trmino do aminho so os seus
Um

extremos.

i lo ( y le ) uma trilha fe hada om pelo menos trs arestas.

103

ir uito um i lo (v0 ; v1 ; : : : ; vk ) tal que vi 6= vj sempre que i < j ,


ex eto se i = 0 e j = k .
Um passeio gerador se ontm todos os vrti es do grafo. laro

Um

que a denio se apli a, em parti ular, a trilhas, aminhos, i los e


ir uitos.

Um aminho gerador tambm onhe ido omo

hamiltoniano. Analogamente,
ir uito hamiltoniano.

aminho

um ir uito gerador onhe ido omo

C denotado
por EC . O omprimento de um aminho ou ir uito C jEC j, ou seja,
o nmero de arestas de C .
O onjunto de arestas de um aminho ou ir uito

Conexo e omponentes
onexo se, para todo par (v; w) de seus vrti es, existe
um passeio om origem v e trmino w . laro que um grafo G onexo
se e somente se G (X ) 6= ; para todo sub onjunto no vazio e prprio X
de VG .
Um omponente de um grafo G qualquer subgrafo onexo ma2
ximal de G. s vezes onvm onfundir um omponente om o seu
Um grafo

onjunto de vrti es.

Florestas e rvores
Uma

oresta

um grafo sem i los.

Se

uma oresta, ento

jEF j = jVF j (F ), onde (F ) o nmero de omponentes de F .

rvore (tree ) uma oresta onexa. Portanto, ada omponente de uma oresta uma rvore. Se T uma rvore, ento jET j = jVT j 1.
Para qualquer par (x; y ) de vrti es em uma rvore, existe um e um s
aminho de x a y .
Uma oresta geradora de um grafo G qualquer subgrafo gerador
de G que seja uma oresta, isto , qualquer oresta F tal que VF = VG
e EF  EG . Uma rvore geradora (spanning tree ) de um grafo G
qualquer subgrafo gerador de G que seja uma rvore. Todo grafo onexo
Uma

tem uma rvore geradora.


2

Um subgrafo

de

G maximal

om relao a uma dada propriedade se

no subgrafo prprio de um outro subgrafo


questo. Subgrafos

minimais

H0

de

que tenha a propriedade em

so denidos de maneira anloga.

EC

Teoria dos Grafos

104

Grafos bipartidos
biparti o de um grafo G qualquer partio fX; Y g de VG
(X ) = EG . Um grafo admite uma bipartio se e somente se
no tem ir uito de omprimento mpar [BM76. Um grafo bipartido
Uma

tal que

(bipartite

graph )

um grafo munido de uma bipartio.

Grafos planares
planar se for isomorfo a um mapa. Mais pre isamente,
G planar se existe um mapa (V; E ) e uma bijeo de de VG
em V tal que, para todo par (v; w ) de vrti es de G, tem-se vw 2 EG se
e somente se algum elemento de E tem extremos
(v) e (w).
Um mapa um par (V; E ) onde (1) V um onjunto nito de pontos
do plano, (2) todo elemento de E um ar o entre dois elementos de V ,
(3) elementos diferentes de E tm diferentes onjuntos de extremos, (4) o
interior de um elemento de E no ontm elementos de V nem pontos
que pertenam a outro elemento de E .
Um ar o a unio de um nmero nito de segmentos de reta no
plano que seja homeomorfa ao intervalo fe hado [0; 1 da reta; as imagens
de 0 e 1 sob esse homeomorsmo so os extremos do ar o.
Um grafo

um grafo

Multigrafos
s vezes, onvm admitir a existn ia de arestas mltiplas em um
grafo, ou seja, a existn ia de vrias  pias de uma mesma aresta. Dizemos nesse aso que temos um multigrafo.

Mais expli itamente, um

multigrafo onsiste em um onjunto nito V e um multi onjunto3 E de


pares no-ordenados de elementos de V . A terminologia e notao denidas para grafos se estendem aos multigrafos om as devidas adaptaes.
Assim, por exemplo, o grau de um vrti e a somas das multipli idades
das arestas que nele in idem. Outro exemplo: i los e ir uitos podem
ter apenas duas arestas (mas no menos que isso).

Custos e pesos
uma funo que asso ia um nmero e a ada aresta
Para qualquer onjunto F de arestas do grafo, denotamos

Suponha que

e de um grafo.
3

Um multi onjunto pode ter mais de uma pia de ada um de seus elementos; o

nmero de pias a

multipli idade

do elemento.

105

por

(F ) a soma dos f

para

em

(F ) :=

f 2F f

(F ) = 0. Se H um subgrafo do grafo em questo,


(H ) omo (EH ). Se e interpretado omo usto da aresta e,
dizemos que (F ) o usto de F e (H ) o usto de H . Algo anlogo
a onte e quando e interpretado omo peso da aresta e.
Se

=;

( )

F:

denimos

, ento

106

Teoria dos Grafos

Apndi e B

Vetores e Matrizes
Um

vetor uma funo que leva um onjunto nito arbitrrio  o

onjunto de ndi es  em um onjunto de nmeros reais. Se o onjunto

x N , dizemos que x est denido sobre N ou


indexado por N . Se x um vetor sobre um onjunto N e j um
elemento de N ento xj denota o omponente j de x, isto , o valor da
funo x em j . Se Q um sub onjunto de N ento xQ denota a restrio
de x a Q, ou seja, o vetor ujo omponente q xq para ada q em Q.
de ndi es de um vetor

xQ

Se todos os omponentes so nmeros ra ionais, dizemos que o vetor

ra ional.

Se forem todos inteiros, dizemos que o vetor

inteiro.

Como

nossos interesses so omputa ionais, quase todos os vetores do texto


so ra ionais (a ex eo  a no aptulo 7, que trata de programao
semidenida).
Um vetor
denotado por

x nulo se xj

=0

para ada ndi e

j;

o vetor nulo ser

qualquer que seja o seu onjunto de ndi es.

so vetores sobre um mesmo onjunto de ndi es e

xj

Se

xey

 yj para ada j ,

x  y. A relao  denida de modo anlogo.


O vetor ara tersti o de um sub onjunto P de N um vetor x
sobre N tal que xi = 1 se i 2 P e xi = 0 em aso ontrrio.

dizemos que

Matrizes
Uma

matriz

uma funo que leva o produto artesiano de dois

onjuntos nitos em um onjunto de nmeros reais. Se uma matriz


tem domnio

M  N , dizemos que M

o onjunto de ndi es de linhas e

A. Dizemos tambm que A uma


M  N . Se i e j so elementos de
M e N , respe tivamente, ento Aij denota o omponente (i; j ) de A, ou
o onjunto de ndi es de olunas de

matriz sobre

M N

ou indexada por

107

xy
x0

Vetores e Matrizes

108

A em (i; j ).
Uma linha de A um vetor sobre N : a linha i de A o vetor ujo
omponente j Aij para ada j em N . A oluna j de A denida
analogamente. A oluna j de A ser denotada por AMj ou A?j e a linha
i por AiN ou Ai? .
Se P e Q so sub onjuntos de M e N , respe tivamente, ento AP Q
a restrio de A a P  Q, ou seja, a matriz sobre P  Q ujo omponente
(p; q) vale Apq para ada p em P e ada q em Q.
Dizemos que a matriz ra ional se todos os seus omponentes so
ra ionais e inteira se todos os seus omponentes so inteiros.
>
A transposta de uma matriz A sobre M  N a matriz A sobre
>
>
N  M denida por Aij = Aji . Portanto, a linha i de A a oluna i
>
de A. laro que a transposta de A A. Uma matriz A simtri a
>
se A = A.
Uma matriz quadrada se seus onjuntos de ndi es de linhas e
seja, o valor de

A?j
Ai?
AP Q

A>

olunas so iguais. laro que toda matriz simtri a quadrada. Uma


matriz

D diagonal se for quadrada e se Dij = 0 sempre que i 6= j .

evidente que toda matriz diagonal simtri a.

Uma matriz
para ada

i.

identidade

I tal que Iii = 1


por I , quaisquer que

uma matriz diagonal

Matrizes identidade so denotadas

sejam seus onjuntos de ndi es.

Produtos
x e y sobre um mesmo onjunto N , o produto
x por y o nmero

Para quaisquer vetores


(interno) de

xy

:=

j 2N

xj yj :

xy = y x. Por exemplo, se y P
o vetor ara tersti o de um
Q de N , ento xy a soma q2Q xq , que onven ionamos
denotar por x(Q).
Suponha agora que A uma matriz sobre M  N . O produto de A
por um vetor x sobre N o vetor
bvio que

sub onjunto

Ax
sobre

M ujo
P omponente i o produto da linha i de A por x, ou seja,
j Aij xj . O produto de um vetor y sobre M por A o vetor

o nmero

yA

109

j o nmero i yi Aij . Em suma, (Ax)i = j Aij xj


P
e (yA)j =
i yi Aij , ou seja, yA uma ombinao linear das linhas de
A enquanto Ax uma ombinao linear das olunas de A.
>
evidente que yA = A y . menos evidente, mas no menos verdadeira, a propriedade asso iativa y (Ax) = (yA) x, ou seja, a inverso
ujo omponente

da ordem das somas:

i yi

(Pj Aij xj ) = Pj (Pi yiAij )xj :

Para qualquer matriz

N , o produto de A por B

A sobre L  M e qualquer matriz B sobre M 


a matriz

AB
sobre

LN

ujo omponente

>
> >
evidente que (AB ) = B A .

(i; k)

Ai? B?k .
menos evidente que (AB ) C = A (BC ),
o produto de vetores

desde que ada produto faa sentido.


Uma matriz quadrada
que

AB = BA = I .

inversvel se existe uma


B inversa de A.

Normas e tamanhos
Denotamos por

matriz

tal

Uma tal matriz

kxk a norma

do vetor

x.

Assim,

kxk := pxx. kxk

Esse nmero pode ser interpretado omo o omprimento geomtri o do

x.
O tamanho de um nmero inteiro o nmero de ara teres (diga-

vetor

mos dgitos de imais) na representao do nmero (veja apndi e E). O

h i. O tamanho de
e denominador a soma dos
tamanhos de e . O tamanho de = denotado por h = i.
O tamanho de um vetor ou matriz ra ionais a soma dos tamanhos

tamanho de um nmero inteiro

denotado por

um nmero ra ional om numerador

h i
h = i

de seus omponentes. laro que o tamanho de uma matriz no inferior


ao nmero de omponentes da matriz. O tamanho de uma matriz

hAi.
tamanho de

denotado por
O

um onjunto de vetores e matrizes ra ionais a

soma dos tamanhos dos elementos do onjunto.


um sistema

(A; b; ) hAi + hbi + h i

Assim, o tamanho de

Essas denies de tamanho so asos parti ulares do on eito geral


de tamanho a que se refere a seo 1.2 e o apndi e E.

hAi

Vetores e Matrizes

110

Matrizes positivas semidenidas


A ara terizao de matrizes positivas semidenidas que des revemos
a seguir usada no aptulo 7.
Uma matriz quadrada
matriz quadrada

positiva semidenida

se existe uma

tal que

Y Y>:

laro que toda matriz positiva semidenida simtri a.

O seguinte

lema ara teriza tais matrizes.

Lema B.1 : Para toda matriz simtri a X vale uma e apenas


uma das seguintes alternativas: existe uma matriz quadrada Y
tal que X = Y Y > ou existe um vetor y tal que yX y < 0.
A prova do lema depende de alguns on eitos que passamos a denir.
Uma matriz quadrada

elementar

se oin ide om a identidade na

diagonal e em todas as olunas, ex eto talvez uma. Mais pre isamente,


uma matriz
que

Emm

=1

indexada por
e

E?j

= I?j

M M

elementar se existe

para ada

distinto de

m.

m em M

tal

Toda matriz

E inversvel e sua inversa, digamos H , tambm elementar:


Hmm = 1 e Him = Eim para ada i distinto de m e H?j = I?j para
ada j distinto de m.
Um produto de matrizes elementares qualquer matriz da for(1)    E (p) , onde ada E (i) uma matriz elementar indexada por
ma E
M  M . Se H (i) a inversa de E (i) para ada i ento o produto de
(p)    H (1) a inversa de E (1)    E (p) .
matrizes elementares H
elementar

Demonstrao de B.1: A prova de que apenas uma das alternativas


vale simples: se

X = Y Y > ento

yX y = y (Y Y >) y = (yY )(Y > y) = (yY )(yY )  0 :


Para provar que uma das alternativas vale, vamos des rever um algoritmo

X e devolve uma matriz real Y tal


que X
ou um vetor y tal que yX y < 0.
Para qualquer matriz simtri a X indexada por M  M e qualquer
m em M tal que Xmm 6= 0, f il determinar uma matriz elementar E
>
tal que a matriz simtri a Z := E X E tem a seguinte estrutura:

que re ebe qualquer matriz simtri a

=Y Y>

Zmm = Xmm

Zmj = Zjm = 0

111

2
0
0
0
0
0

P
M nP

0
0
0
0
0
0

M nP

0
0
3
0
0
0

0 0 0
0 0 0
0 0 0
0
0
0

Figura B.1: Estrutura da matriz

m. Basta tomar omo E a matriz elementar


denida por Emm = 1, Eim =
Xim =Xmm para ada i distinto de m e
E?j = I?j para ada j distinto de m.
Segue da que para qualquer matriz simtri a X indexada por M  M
existe um produto F de matrizes elementares tal que a matriz simtri a

para ada

Z.

distinto de

:=

F XF>
P de M tal que ZP P
m em M n P , Zmm = 0

tem a seguinte estrutura: existe um sub onjunto


uma matriz diagonal,

ZP;M nP

=0

e, para ada

Zm? 6= 0. (Veja gura B.1.)


Se P = M e Zpp  0 para ada p em P ento Z
X = GZ G> , onde G a inversa de F . Portanto,

mas

G Z_

Z_

Y Y>;

diagonal e

Z_ pp

Zpp.
Zmm < 0 para algum m em M . Seja u o vetor denido por um = 1 e ui = 0 para ada i distinto de m. Ento
(uF ) X (uF ) = u (F X F >) u = uZ u = Zmm < 0. Em suma,
onde

a matriz diagonal denida por

Suponha agora que

yX y <

0;

yX y <

0;

y = uF . Finalmente, suponha que P 6= M e seja m um elemento


de M n P . Ento Zmm = 0 mas Zmj 6= 0 para algum j . Seja u o
vetor denido da seguinte maneira: uj = 1, ui = 0 para i distinto
de m e j e um es olhido de modo que 2um Zmj + Zjj < 0. Ento
(uF ) X (uF ) = uZ u < 0 e portanto

para

para

y = uF . 2

Vetores e Matrizes

112

Convm observar que a matriz


mesmo que a matriz

no lema B.1 poder no ser ra ional

seja ra ional.

Algoritmo PosSemidef (X )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Z
F

X
G I
para m de 1 a n faa
se Zmm 6= 0
ento E
H I
para i de 1 a n faa Eim
Zim =Zmm
para i de 1 a n faa Him
Eim
Emm Hmm 1
Z E Z E>
F EF
G GH  F G = GF = I
para m de 1 a n faa
se Zmm < 0
ento u
0
um 1
devolva uF
se Zmm = 0
ento j
1
enquanto j  n e Zmj = 0 faa j
j+1
se j  n
ento u
0
uj 1
um
Zjj =2Zmj
se Zmj > 0
ento um
um 1
seno um
um + 1
devolva uF
pZ
para i de 1 a n faa Zii
ii
devolva GZ

Figura B.2:

X
Y
X

O algoritmo PosSemidef re ebe uma matriz quadrada

f1; : : : ; ng  f1; : : : ; ng e devolve uma matriz quadrada


= Y Y > ou um vetor y tal que yX y < 0. Se a matriz

indexada por
tal que

ra ional, o vetor

ra ional e a matriz

ra ional ex eto pela

raiz quadrada na linha 28. Nessas ondies, o onsumo de tempo do


algoritmo polinomial, ex eto pela raiz quadrada.

Apndi e C

Programao Linear
Este apndi e um resumo da terminologia e de alguns fatos bsi os de programao linear [Pad99, Chv83, S h86, Feo01.

Veja nossas

onvenes de notao no apndi e B.

Problema de programao linear


problema de programao linear, ou programa linear, ou
simplesmente pl, onsiste no seguinte: Dada uma matriz A indexada
por M  N , um vetor b indexado por M , um vetor indexado por N
1
e parties fM1 ; M2 ; M3 g e fN1 ; N2 ; N3 g de M e N respe tivamente,
en ontrar um vetor x indexado por N que
Um

minimize
sob as restries

Usaremos a abreviatura
onjuntos

x
(Ax)i
(Ax)i
(Ax)i
xj
xj

 bi

bi
bi


 0
 0

P(A; b; )

i em M1 ;
i em M2 ;
para ada i em M3 ;
para ada j em N1 ;
para ada j em N3 :
para ada

para ada

(C.1)

para denotar esse pl; a seqn ia de

M1 ; M2 ; M3 ; N1 ; N2 ; N3  a subentendida nessa notao.

Em-

bora o pl tenha sido formulado omo um problema de minimizao, nossa


denio in lui, impli itamente, problemas de maximizao, uma vez que
minimizar
1

x o mesmo que maximizar x.

Ao ontrrio da denio usual, qualquer das partes de nossas parties pode

ser vazia.

113

P(A; b; )

Programao Linear

114

A tradio impe uma terminologia que, infelizmente, desrespeita o


signi ado da palavra soluo.

solution )

Assim, uma

do problema qualquer vetor

soluo vivel

(feasible

que satisfaz as restries; e

soluo tima qualquer soluo vivel x que minimize x.


O onjunto de todas as solues viveis do problema P(A; b; ) ser
denotado por X (A; b). Se X (A; b) vazio, dizemos que o problema
invivel (infeasible ). Caso ontrrio, o problema vivel (feasible ).
Dizemos que o problema limitado (bounded ) se existe um nmero !
tal que x  ! para todo x em X (A; b); aso ontrrio, o problema
ilimitado (unbounded ). laro que problemas inviveis e ilimitados no

uma

X (A; b)

tm soluo tima.

Dualidade
dual do pl
transposta de A e os

H uma importante relao de dualidade entre pls.

P(A; b; )

o pl

P(

A> ;

onjuntos de ndi es so

; b), onde
a
N1 ; N2 ; N3 ; M1 ; M2 ; M3 .
A>

laro que esse pl

tambm pode ser es rito assim: en ontrar um vetor

indexado por

que
maximize
sob as restries

D(A; ; b)
Y (A; )

yb
(yA)j
(yA)j
(yA)j
yi
yi

 j





j em N1 ;
j para ada j em N2 ;
j para ada j em N3 ;
0 para ada i em M1 ;
0 para ada i em M3 :
para ada

(C.2)

Convm usar uma notao espe  a para o dual: o pl (C.2) ser denotado por

D(A; ; b)

e seu onjunto de solues viveis por

Y (A; ).

Em dis usses sobre um par dual de pls, omum dizer que um


deles  digamos (C.1)  o primal e o outro  digamos (C.2) 
o dual .

Adotada essa onveno, ada omponente de um vetor

indexado por N uma varivel primal e ada omponente de um vetor


y indexado por M uma varivel dual .

Problemas anni os
Se

M1 = M
x que

N1

=N

, o problema

um vetor

minimize
sob as restries

P(A; b; )

x
Ax
x

 b;
 0:

se reduz a en ontrar

(C.3)

115

Diz-se, s vezes, que esse o pl

anni o primal,

pois qualquer pl

equivalente a um pl que tem essa forma, e portanto qualquer algoritmo


que resolva o pl anni o primal poderia ser usado para resolver um pl arbitrrio. laro que poderamos enun iar (C.3), sem notao matri ial,
dizendo

P
x
Pj j j

minimize

sob as restries

Aij xj
xj

 bi
 0

i;
para ada j :
para ada

O dual do pl (C.3) onsiste em en ontrar um vetor


maximize
sob as restries

Pode-se dizer que esse o pl

yb
yA
y

y que

 ;
 0:

(C.4)

anni o dual.

Lema da dualidade
H uma relao fundamental entre as solues viveis de um pl e as
solues viveis de seu dual.

Lema C.1 (da dualidade): Para todo x em X (A; b) e todo y em


Y (A; ) tem-se x  y b.
N1 = N ento as restries de (C.3)
e (C.4) garantem as desigualdades x  (yA) x = y (Ax)  y b. A primeira vale porque  yA e x  0; a ltima, porque y  0 e Ax  b. A
Demonstrao: Se

M1

=M

demonstrao do aso geral on eitualmente anloga mas tipogra amente indigesta: em virtude das restries de (C.1) e (C.2),

=
=

N1 xN1 + N2 xN2 + N3 xN3


(yA)N1 xN1 + (yA)N2 xN2 + (yA)N3 xN3
(yM1 AM1 N1 + yM2 AM2 N1 + yM3 AM3 N1 ) xN1 +
(yM1 AM1 N2 + yM2 AM2 N2 + yM3 AM3 N2 ) xN2 +
(yM1 AM1 N3 + yM2 AM2 N3 + yM3 AM3 N3 ) xN3
yM1 (AM1 N1 xN1 + AM1 N2 xN2 + AM1 N3 xN3 ) +
yM2 (AM2 N1 xN1 + AM2 N2 xN2 + AM2 N3 xN3 ) +
yM3 (AM3 N1 xN1 + AM3 N2 xN2 + AM3 N3 xN3 )
yM1 (Ax)M1 + yM2 (Ax)M2 + yM3 (Ax)M3

Programao Linear

116

 yM1 bM1 + yM2 bM2 + yM3 bM3

onde

yb ;

AM1 N1 , por exemplo, denota a restrio de A a M1  N1 . 2

O lema s vezes hamado, um tanto pomposamente, de

fra o

da dualidade.

tante: para tornar evidente que um erto vetor


tima do problema

P(A; b; )

D(A; ; b)
P(A; b; )

x em X (A; b) soluo
y em Y (A; ) tal que

, basta exibir um vetor

x = y b :

Com isso, estaremos mostrando tambm que


blema

teorema

Ele leva seguinte observao, bvia mas impor-

soluo tima do pro-

. Eis outra onseqn ia do lema C.1: para mostrar que

o problema

limitado, basta exibir um elemento de

Y (A; ).

Folgas omplementares
A demonstrao do lema C.1 sugere o seguinte on eito. Dois vetores

x e y, indexados por M e N respe tivamente, tm folgas omplementares ( omplementary sla kness ) se, para ada j em N1 [ N3 , temos
e, para ada

xj = 0

ou

yi = 0

ou

i em M1 [ M3 , temos

(yA)j = j

(C.5)

(Ax)i = bi :

(C.6)

H quem diga que (C.5) d as  ondies de folgas omplementares primais e (C.6) as de folgas omplementares duais.

Lema C.2 (das folgas omplementares): Para todo x em


X (A; b) e todo y em Y (A; ), tem-se x = y b se e somente se as
folgas de x e y so omplementares.
Demonstrao: A demonstrao do lema C.1 deixa laro que

x = (yA) x e y (Ax) = y b.
a (C.5) e y (Ax) = y b equivale a (C.6). 2

se e somente se

Mas

x = (yA) x

x = y b
equivale

Teorema da dualidade
O teorema da dualidade d as ondies em que um pl tem soluo
tima e garante que as solues timas do pl e de seu dual tm o mesmo
valor:

117

Para qualquer sistema (A; b; ),


se o problema P(A; b; ) vivel e limitado ento tem soluo tima; mais espe i amente, existem x em X (A; b) e y em Y (A; )
tais que x = y b. Se A, b e forem ra ionais ento podemos
supor que x e y tambm so ra ionais.

Teorema C.3

(da dualidade):

Esse teorema, tambm onhe ido omo

teorema forte

da dualidade,

pode ser resumido da seguinte maneira: a menos que os dois pls sejam
inviveis,

para

min
x = max
yb
x
y

x variando em X (A; b) e y em Y (A; ).

Esta identidade vale mesmo

quando um dos pls invivel, desde que estejamos dispostos a dizer que

min x = +1

quando o pl primal invivel, que

max y b = +1

quando

o pl dual ilimitado, et .

Algoritmos de programao linear


O lebre

algoritmo Simplex

resolve qualquer par dual de pro-

(A; b; ) e os onjunM1 ; M2 ; M3 ; N1 ; N2 ; N3 de ndi es, o Simplex de ide se os problemas


P(A; b; ) e D(A; ; b) so viveis e em aso armativo produz solues
timas ra ionais, x e y , dos dois programas lineares. Cada omponente

gramas lineares.

Ao re eber um sistema ra ional

tos

desses vetores tem numerador e denominador limitados superiormente


pelo tamanho do sistema

(A; b; )

Embora o Simplex seja e iente em mdia, seu onsumo de tempo


no limitado por uma funo polinomial do nmero de omponentes
do sistema

(A; b; )

O onsumo de tempo no limitado nem mesmo

por uma funo polinomial do tamanho de

(A; b; )

Mas existem algoritmos, muito diferentes do Simplex, apazes de


resolver qualquer pl em tempo polinomial.

2 O primeiro algoritmo desse

tipo foi publi ado por Kha hiyan [Kha79, PS82, S h86, GLS93 e  ou

algoritmo dos elipsides (ellipsoid method ). (Outra


famlia de algoritmos polinomiais, onhe idos omo mtodos de pontos
interiores, apare eu mais tarde [Kar84, Gon89, Gon92.) Para resolver
o problema P(A; b; ), esse algoritmo onsome uma quantidade de tempo
limitada por um polinmio no tamanho de (A; b; ).
onhe ido omo

Esses algoritmos so polinomiais mas no fortemente polinomiais. Veja apndi-

e E.

Programao Linear

118

Fato C.4 : Existe um algoritmo polinomial que, ao re eber um


sistema ra ional (A; b; ), de ide se o problema P(A; b; ) tem

soluo e, em aso armativo, devolve uma soluo tima ra ional x. O tamanho de x limitado por 2hAi + 2hbi. O onsumo de tempo do algoritmo limitados por um polinmio em
hAi + hbi + h i.

Programao linear e algoritmos de separao


Muitos problemas ombinatrios podem ser representados, de manei-

P(A; b; )

A, b e ra ionais.
Numa tal lasse de programas lineares, o nmero de linhas de A pode
ser uma funo exponen ial do nmero de olunas. Digamos que 
o tamanho da maior linha de (A; b), ou seja,  := maxi fhAi? i + hbi ig.
Mesmo que o nmero de linhas de A no seja limitado por um polinmio
em  , possvel resolver o problema P(A; b; ) em tempo limitado por
um polinmio em  e h i se dispusermos de um bom algoritmo para o
ra aproximada, por problemas da forma

, om

seguinte

Problema da separao: De idir se um dado vetor x est em


X (A; b) e, em aso negativo, determinar uma restrio violada,
ou seja, uma linha i tal que (Ax)i < bi .
Suponha que temos um bom algoritmo para esse problema, isto , um
algoritmo ujo onsumo de tempo limitado por um polinmio em
e

hxi.3

Grts hel, Lovsz e S hrijver mostraram [GLS93, S h86 que um

algoritmo de separao pode ser ombinado om o algoritmo dos


elipsides de modo a resolver o problema P(A; b; ) em tempo limitado
por uma funo polinomial de  e h i apenas.

tal

Suponha agora que o problema de otimizao ombinatria que deu


origem a

P(A; b; )

tem tamanho

.

Se

h i so limitados por um

 e temos um bom algoritmo de separao (veja o exer P(A; b; ) pode ser resolvido em tempo limitado
por um polinmio em  .
polinmio em

io C.3) ento o problema

O onsumo de tempo no depende, portanto, do nmero de linhas do sistema.

Veja o exer io C.3.

119

Problemas de viabilidade
O

problema da viabilidade onsiste em en ontrar um vetor vivel


P(A; b; ), ou seja, en ontrar um elemento de X (A; b).

do problema

laro que o problema pode no ter soluo. Para erti ar a inexistn ia


de soluo, basta exibir um

y0

vetor de inviabilidade,

0
em Y (A; 0) tal que y b > 0 (veja exer io C.4).

isto , um vetor

Lema C.5 (de Farkas): Para qualquer sistema (A; b; ), o onjunto X (A; b) vazio se e somente se existe um vetor y0 em
Y (A; 0) tal que y0 b > 0.
O problema da viabilidade equivale ao aso em que

P(A; b; )

= 0 no problema

; e esse aso , s vezes, omputa ionalmente mais simples que

o aso geral.

O mtodo primal-dual, des rito no aptulo 5, tira pro-

veito dessa observao para propor um pro edimento de resoluo de


programas lineares.

Exer ios
C.1 Transforme um programa linear arbitrrio num programa anni o
equivalente.

b
e uma matriz A sem omponentes negativos e sem linhas nulas.

C.2 Muitos problemas ombinatrios envolvem vetores no-negativos


e

Verique que, nesse aso, os problemas (C.3) e (C.4) so viveis. O


teorema da dualidade garante ento que ambos os problemas tm
soluo tima.
C.3 Sejam

s e t dois vrti es de um grafo G e seja S a oleo de todos


VG que ontm s mas no ontm t. (O nmero

os sub onjuntos de

de tais sub onjuntos , tipi amente, uma funo exponen ial do

jVG j).

Seja A a matriz de in idn ia de S, isto , a matriz


S  EG ujos omponentes so denidos da seguinte
maneira: para ada S em S e ada e em EG , o omponente (S; e)
de A vale 1 se e 2 (S ) e vale 0 em aso ontrrio. Agora onsidere

nmero

indexada por

o problema de de idir se um dado vetor no-negativo


por

EG

onde

indexado

satisfaz as restries

Ax  1 ;

(C.7)

denota o vetor ujos omponentes so todos iguais a

bo e um algoritmo para o problema.

. Es-

O algoritmo deve re eber o

Programao Linear

120

grafo

G, vrti es s e t e um vetor ra ional no-negativo x e deve de-

volver

se (C.7) estiver satisfeita e

em aso ontrrio. O onsumo

de tempo de seu algoritmo deve ser limitado por um polinmio em

hGi + hxi.

Sugesto:

Limite-se, numa primeira verso, ao aso em

que os omponentes de
C.4

x esto todos em f0; 1g.

y0 um elemento de Y (A; 0) tal que y0 b > 0. Mostre que X (A; b)


vazio. Mostre tambm que se Y (A; ) no vazio ento o problema
D(A; ; b) ilimitado. Prove armaes anlogas depois de tro ar
os papis de X (A; b) e Y (A; ).

Seja

Apndi e D

Teoria das Probabilidades


Neste apndi e resumimos os on eitos usados nas anlises probabilsti as apresentadas nos aptulos 6 e 7.

Espaos dis retos de probabilidade


medida dis reta de probabilidade sobrePum onjunto

uma funo P :
! [0; 1 para a qual P(
) :=
!2
P(! ) = 1.
Um espao dis reto de probabilidade um par (
; P) onde
um
Uma

onjunto nito e no-vazio e


sobre

P uma medida dis reta de probabilidade

Variveis aleatrias
varivel aleatria sobre
uma funo X :
!
f1; : : : ; ng, onde ada i um nmero real. Um evento o on1 (S ) para algum sub onjunto S de f1 ; : : : ; n g. Tradi ionaljunto X
1 (S ) denotado por [X 2 S ou simplesmente
mente, um evento X
por [X = x, se S = fxg. De forma anloga, podemos usar a notao
[X 6= x, [X < x, [X  x, [X > x e [X  x.
1 (S )), denotado
A probabilidade do evento [X 2 S o nmero P(X
por Pr[X 2S . A esperana (ou valor esperado) da varivel aleatria X
Uma

o nmero

E[X :=

Pn

[ =i :
Lema D.1
Se (
; P) um espao
dis reto de probabilidade e X uma varivel aleatria sobre

i=1 i Pr X

(desigualdade de Markov):

ujos valores so todos no-negativos, ento


Pr[X   1 E[X


121

Pr[
E[

Teoria das Probabilidades

122

para todo nmero positivo .

f1 ; P
: : : ; n g o onjunto de valores de X , ento
E[X = i i Pr[X =i  i  Pr[X =i =  Pr[X  : 2
P

Demonstrao: Se

vezes

til

Pr[X  E[X  

1.

rees rever

desigualdade

de

Markov

assim:

Espao produto

Sejam

P1 ; : : : ; Pn medidas dis retas de probabilidade sobre


. Como

n
n
(!1; : : : ; !n)

Qn
P :
n ! [0; 1
P((!1; : : : ; !n)) := i=1 Pi (!i)
P
n

(
n; P)
espao produto
(
; P1 )      (
; Pn )

usual, denotamos por


de elementos de

o onjunto de todas as

Seja

. Tal

bilidade sobre

-uplas

a funo denida por

uma medida dis reta de proba-

. O espao dis reto de probabilidade

de

hamado

e denotado por

Espaos ontnuos de probabilidade


A generalizao da denio de medida de probabilidade para os
hamados espaos ontnuos intuitiva. Infelizmente, sua formalizao
depende de alguns on eitos no-triviais. Vale ressaltar que espaos ontnuos de probabilidade so usados apenas no aptulo 7.

; 2 F
nA 2 F
A F i Ai 2 F
A1 ; A2 ; : : :
F
B

 lgebra gerada por B


Uma oleo

de

se

de sub onjuntos de um onjunto

para todo

de onjuntos de

um onjunto

, a

em

. Para uma oleo

uma

-lgebra

para toda famlia

de sub onjuntos de

a interse o de todas as

-lgebras que ontm B. (Veja os exer ios D.1 e D.2.)


Seja F uma  -lgebra de
. Uma funo P : F ! [0; 1 F -aditiva
se, para toda famlia A1 ; A2 ; : : : de onjuntos de F ,

P(SiAi ) = Pi P(Ai) :

P uma medida ontnua de probabilidade sobre (


; F)
P F-aditiva e P(
) = 1.
Um espao ontnuo de probabilidade um terno (
; F ; P) onde F uma  -lgebra de um onjunto
e P uma medida ontnua
de probabilidade sobre (
; F ). f il on luir do ontexto se estamos

Dizemos que
se

tratando de medidas ou espaos ontnuos ou dis retos; assim, o adjetivo


pode ser omitido.

123

Os on eitos denidos para espaos dis retos de probabilidade (evento, varivel aleatria, esperana, et .) se estendem naturalmente a espaos ontnuos de probabilidade.
Nos prximos exemplos,

A de
,
fA(!) = 0 se ! 62 A.

sub onjunto

Exemplo D.2 :

fA

denota a funo ara tersti a de um

fA (!)

ou seja, a funo tal que

Seja

o intervalo

[0; 1) F
e

pela oleo de todos os intervalos da forma

b < 1.

Se, para todo onjunto

P(A) :=
ento

(
; F; P)

A em F,

Seja

se

2Ae

-lgebra gerada
om 0  a <

[a; b)

fA(x) dx ;

um espao de probabilidade.

Exemplo D.3 :

=1

a esfera unitria em

Rn

entrada na ori-

: kxk=1g
y z

F (y; z ) := fx 2
: xy > 0 xz  0g
F  R
fF (y; z) :
y; z 2
g
n :=
f
(x) dx

n
2k+1 k ;
2 k
2k+1 =
2k =
(k 1)!
(2k 1)!!
(2k 1)!! := (2k 1)(2k 3)(2k 5)    (3)(1)
Z
fA(x) dx
P(A) := 1
gem, isto , o onjunto

em

fx

2 Rn

, onsidere a fatia

da esfera.

Seja

-lgebra gerada pelo onjunto

. A rea

de

. Para quaisquer

de

depende da paridade

onde

. Se

para todo onjunto

em

F,

ento

(
; F; P)

um espao de

probabilidade.

Distribuio uniforme ontnua


Aqui vamos nos restringir a sub onjuntos de

Rn , pois isso su iente

para os asos tratados no texto e simpli a a denio.

P : 2
! [0; 1, denida de maneira similar sobre a oleo 2
de todos

os sub onjuntos de
, no 2 -aditiva. Na verdade, no existe funo P : 2 ! [0; 1

que seja 2 -aditiva. Por isso, pre isamos de  -lgebras.


1

A funo

Teoria das Probabilidades

124

Rn e F uma -lgebra de
, hamamos de distribuio uniforme ontnua (ou simplesmente distribuio uniforme) qualquer medida de probabilidade ontnua P sobre (
; F )
denida por
R
dx
P(A) := R
ffA((xx)) dx

Se

um sub onjunto de

para todo onjunto

A em F.

As medidas de probabilidade apresentadas

nos exemplos D.2 e D.3 so exemplos de distribuies uniformes.

Distribuio normal
A

distribuio normal sobre R

denida por

Z
1
P(A) := p
2
e

para todo onjunto

x2 =2 dx

A na -lgebra usual de R, que denida de maneira

anloga do exemplo D.2.

Exer ios
D.1 A oleo de todos os sub onjuntos de um onjunto
lgebra de

D.2 Prove que a interse o de duas


uma

-lgebra.

sobre um onjunto

D.3 Se

uma

-

-lgebras

sobre um onjunto

Prove que a interse o de innitas

uma

-lgebra.

-lgebras

:= os(2v)p 2ln u

so variveis aleatrias independentes om distribuio

uniforme no intervalo

[0; 1)

, ento

uma

varivel aleatria om distribuio normal.


D.4 Se

x1 ; : : : ; xn

so variveis aleatrias independentes om distribui-

o normal, ento o vetor


por

s om

omponentes

x
si := p 2 i
x1 +    + x2n

tem distribuio uniforme na esfera unitria.

s 1 ; : : : ; sn

denidas

Apndi e E

Complexidade
Computa ional
Este apndi e dene a terminologia e os fatos bsi os de omplexidade omputa ional usados no texto.

Um tratamento ompleto do

assunto pode ser en ontrado, por exemplo, nos livros de Aho, Hop roft
e Ullman [AHU74, Cormen, Leiserson e Rivest [CLR92, Garey e Johnson [GJ79, Knuth [Knu68, Papadimitriou [Pap94 e Papadimitriou e
Steiglitz [PS82.

Palavras
Para resolver um problema usando um omputador ne essrio des rever os dados do problema por meio de uma seqn ia de ara teres.
Qualquer seqn ia de ara teres ser hamada de uma

palavra.

No dif il representar nmeros inteiros, nmeros ra ionais, vetores,


matrizes, grafos, et . por meio de palavras.

Por exemplo, o grafo om

fa; b; ; dg omo onjunto de vrti es e ffa; bg; fa; g; fa; dg; fb; g; f ; dgg

omo onjunto de arestas pode ser representado pela palavra

({a,b, ,d},{{a,b},{a, },{a,d},{b, },{ ,d}}) :


Um vetor ra ional

indexado por um onjunto nito E pode ser repre(e; e ), onde e um elemento de E .

sentado por uma seqn ia de pares


Por exemplo, a palavra

(({a,b},-2),({a, },12),({a,d},0),({b, },3/2),({ ,d},7))


odi a um vetor indexado pelo onjunto das arestas do grafo a ima.
O

tamanho de uma palavra w,

denotado por

125

hwi,

o nmero de

hwi

Complexidade Computa ional

126

ara teres usados em

( ontando-se multipli idades). Essa denio

um aso on reto do on eito geral de tamanho a que se refere a seo 1.2.


Em geral, no fazemos distino entre um objeto e uma palavra que o
representa.

Para os nossos propsitos, no h mal em subestimar o

tamanho de um objeto.

1 Assim, no ne essrio ontar rigorosamente

os ara teres `{', `}', `(', `)' e `,' dos exemplos anteriores. O tamanho

h i = Peh e i.

de um vetor reduz-se ento soma dos tamanhos de seus omponentes,


ou seja,

O tamanho dos nmeros inteiros e ra ionais mere e espe ial ateno.


O tamanho de um inteiro

log j j
log j j + log j j

essen ialmente2

. Analogamente, se

um nmero inteiro e um nmero inteiro no nulo ento o tamanho


= , essen ialmente,
.

do ra ional

Problemas

PCH
MST

problema uma questo ou tarefa. Exemplos


problema do ir uito hamiltoniano (Hamiltonian ir uit problem ), denotado pela sigla PCH e o problema da rvore
geradora mnima (minimum spanning tree problem ), denotado pela
Informalmente, um

de problemas so: o

sigla MST.

Problema

miltoniano?

PCH

(G)

Um dado grafo G possui um ir uito ha-

Problema MST (G; ): Dados um grafo G e um usto e em


Q  para ada aresta e, en ontrar uma rvore geradora de usto
mnimo.

Cada onjunto espe  o de dados de um problema dene uma

tn ia

do problema.

ins-

Assim, qualquer grafo dene uma instn ia do

problema PCH e qualquer grafo om ustos asso iados s suas arestas


uma instn ia do problema MST. O

tamanho de uma instn ia o

tamanho de uma palavra que representa a instn ia.


Um problema que pede uma resposta do tipo sim ou no hamado

de

problema de de iso.

J um problema que pro ura um elemento

de um onjunto de solues viveis que seja melhor possvel em relao


1

Como veremos adiante, nossas estimativas sero feitas a menos de fatores ons-

tantes e portanto no far diferena dizer que o tamanho de uma palavra , digamos,
metade do nmero de ara teres.

Mais pre isamente, o tamanho de

dlog(j j + 1)e.

127

a algum ritrio um

problema de otimizao.

Os problemas PCH

e MST so exemplos de problemas de de iso e otimizao, respe tivamente.

Algoritmos e modelo de omputao


Um

algoritmo3

uma seqn ia nita de instrues ou operaes

que resolve um problema.


Um

modelo de omputao

uma des rio abstrata e on ei-

tual (no ne essariamente realista) de um omputador que ser usado


para exe utar um algoritmo.

operaes elementares

Um modelo de omputao espe i a as

que um algoritmo pode exe utar e o ritrio

empregado para medir a quantidade de tempo que ada operao onsome. Exemplo de operaes elementares tpi as so operaes aritmti as
entre nmeros e omparaes.
O modelo de omputao RAM (random

a ess ma hine )

[CR73

RAM

baseia-se na manipulao de ara teres. Esse modelo apaz de exe utar operaes envolvendo nmeros ra ionais. No

ritrio logartmi o

o onsumo de tempo de ada operao depende do tamanho dos operandos (logarithmi


nmeros

ost riterion ).

Por exemplo, a multipli ao de dois

onsome essen ialmente

h i h i unidades de tempo.

Um outro ritrio para medir o onsumo de tempo, aparentemente


menos realista, o

ritrio uniforme,

que supe que ada operao

elementar onsome uma quantidade de tempo onstante (uniform

riterion ),

ost

ou seja, o onsumo de tempo de ada operao elementar

independe do tamanho dos operandos.

Este modelo equivalente ao

anterior se o tamanho dos operandos for limitado por uma funo polinomial do tamanho da instn ia do problema. Este ritrio de onsumo
de tempo onstante por operao elementar, juntamente om operandos
de tamanho limitado, empregado em todo o texto, ex eto no aptulo 7.
Finalmente, pre iso men ionar um modelo de omputao que
til, embora no seja realista e fuja de nossa onveno sobre representao de objetos por palavras. Esse modelo, usado no aptulo 7,
apaz de manipular nmeros reais arbitrrios. Supe-se que ada operao envolvendo nmeros reais onsome apenas uma unidade de tempo,
mesmo uma operao omo raiz quadrada. Este modelo hamado de
real-RAM [PS85.
3

A formalizao matemti a lssi a de um algoritmo a mquina de Turing.

real-RAM

Complexidade Computa ional

128

Anlise de algoritmos e algoritmos polinomiais


Ao analisarmos um algoritmo em um determinado modelo de om-

4 omo uma funo

putao queremos estimar o seu onsumo de tempo

do tamanho da instn ia do problema. Por exemplo, exprimimos o onsumo de tempo de algoritmos para o MST

h(G; )i.

(G; )

omo uma funo de

Ao expressar a quantidade de tempo onsumida por um algoritmo,

O(f (n))

ignoramos os fatores onstantes.

Mais pre isamente, dizemos que um

A resolve um problema em tempo O(f (n)), para uma funo


f de Z em Z, se existe uma onstante tal que a quantidade de tempo
5
onsumida por A para resolver uma instn ia I do problema limitada
por f (hI i). Isto orresponde hamada anlise do pior aso (worst ase analysis ) do algoritmo. O algoritmo A polinomial se resolve o
problema em tempo O (p(n)) para alguma funo polinomial p. laro
algoritmo

que o on eito de algoritmo polinomial depende no s do algoritmo mas


tambm do modelo de omputao.

Critrio de e in ia: lasses P, NP e o-NP


Por um
al.

algoritmo e iente

entendemos um algoritmo polinomi-

Este ritrio de e in ia foi proposto, independentemente, por

Cobham [Cob65 e Edmonds [Edm65b. A lasse de todos os problemas


de de iso que podem ser resolvidos por algoritmos polinomiais denotaP

(G; )

6 MST

da por P. Por exemplo, a verso de de iso do problema

est

em P, j que existem algoritmos polinomiais para resolv-la [CLR92.


A lasse NP (abreviao de

NP

nondeterministi polynomial time )

omposta pelos problemas de de iso para os quais uma resposta armativa possui um erti ado que pode ser veri ado em tempo polinomial.
Mais pre isamente, a lasse NP formada pelos problemas de de iso
para os quais existe um problema
tais que, para ada instn ia

(I; C )
4

sim.

O objeto

em P e uma funo polinomial

do problema

hC i  p(hI i) tal que a resposta a


a

0
(I )

, existe um objeto

p(n)
om

sim se e somente se a resposta

dito um

erti ado polinomial

(ou

A quantidade de espao onsumida pelo algoritmo negligen iada no presente

texto.

Est in ludo aqui, impli itamente, o tempo ne essrio para que o algoritmo

de ida se a palavra dada uma representao vlida de uma instn ia do problema.

Dados um grafo G, um usto e em Q  para ada aresta e de G e um nmero


em Q  , existe uma rvore geradora em G de usto no superior a ?

129

erti ado urto) da resposta sim a

0
para  , um veri ador

(I )

. Com um algoritmo polinomial

in rdulo pode, aps gastar uma quantidade de

tempo polinomial, testar a validade de uma resposta sim. Por exemplo,

G do problema do ir uito hamiltoniano sim ento um ir uito hamiltoniano em G um objeto que erti a
a resposta: dados um grafo G e um ir uito H de G pode-se veri ar
em tempo O (hGi) se H um ir uito hamiltoniano. Logo, o problema

se a resposta a uma dada instn ia

PCH, bem omo verses de de iso de todos os problemas no texto,

perten e a NP.
Claramente P

 NP, j que se  um problema em P, ento pode-se

tomar a seqn ia de instrues realizadas por um algoritmo polinomial


para resolver

(I )

omo erti ado polinomial da resposta sim a

(I )

rena de muitos que a lasse NP maior que a lasse P, ainda que


isso no tenha sido provado at agora.
matemti o onhe ido pelo rtulo  P

Este o intrigante problema

6= NP? .

A lasse o-NP denida tro ando-se sim por no na denio de


NP, ou seja, um problema de de iso

6= NP?

o-NP

est em o-NP se admite um

erti ado polinomial para a resposta no .

Os problemas em NP

o-NP admitem erti ados polinomiais para as respostas sim e no .


Em parti ular, evidente que P

 NP \ o-NP.

NP- ompletude
reduo8 de um problema  a um problema 0 um algoritmo
A que resolve  usando uma subrotina hipotti a A0 que resolve 0 , de
0
tal forma que, se A um algoritmo polinomial, ento A um algoritmo
Uma

 T 0 para denotar a existn ia de uma


0
reduo de  a  . Dizemos que um problema  pode ser reduzido a um
0
0
problema  se  T  . Dois problemas so ditos polinomialmente

polinomial. Usamos a notao

equivalentes se um pode ser reduzido ao outro.


Um problema  em NP NP- ompleto se ada problema em NP
pode ser reduzido a

0
reduzido a  , ento




. evidente que se

0

perten e a P e


=

pode ser

perten e a P. Isto impli a que existe um algoritmo

polinomial para um problema NP- ompleto se e somente se P

NP.

O primeiro problema que se demonstrou ser NP- ompleto o

blema da satisfatibilidade
7

(satisability

problem ).

pro-

Este problema

Para uma introduo s lasses P e NP baseada na fbula dos Cavaleiros da

Tvola Redonda, veja Lovsz e Plummer [LP86 e Kohayakawa e Soares [KS95.

Conhe ida omo reduo de Turing ou reduo de Cook [GJ79.

T

Complexidade Computa ional

130

uma simpli ao do problema MaxSat des rito no aptulo 6.

(C)

Dada uma oleo C de lusulas booleanas, existe uma valorao que satisfaz todas as lusulas em C?

Problema

Sat

Teorema E.1

NP

(Cook [Coo71, Levin [Lev73):

- ompleto.

Um problema

, no ne essariamente em NP,

tn ia de um algoritmo polinomial para

O problema Sat

NP-d il se a exis-

impli a em P

NP. Assim,

por exemplo, MaxSat NP-dif il, j que um algoritmo polinomial para MaxSat pode ser adaptado para resolver Sat em tempo polinomial;
omo Sat NP- ompleto, a existn ia de um tal algoritmo impli a em
P

NP. Cook [Coo71 e Karp [Kar72 mostraram que vrios problemas

dis utidos no presente texto so NP-dif eis.

Teorema E.2 :

tamento,

MinMCut,

dif eis.

Os problemas

Es alonamento, Empa o-

MaxCut, MaxSat, MinCC, MinCV, MinFS,


MinTC, Mo hila,

TSPM

TSP

so

NP

Algoritmos fortemente polinomiais


Um algoritmo polinomial fortemente polinomial ou genuinamente polinomial se o nmero de operaes elementares realizadas no
depende do tamanho dos nmeros ( aso exista algum) que denem uma
instn ia do problema. O algoritmo de Kruskal [CLR92 para o problema

(G; )

MST

um exemplo de algoritmo fortemente polinomial, j que o

nmero de operaes elementares realizadas propor ional a

hGi loghGi.

Vrios algoritmos men ionados neste texto so fortemente polinomiais.


Um exemplo de algoritmo polinomial que no fortemente polinomial
o algoritmo de Eu lides [S h86 para en ontrar o mximo divisor omum entre dois inteiros positivos

e ,

j que o nmero de operaes

elementares realizadas pelo algoritmo essen ialmente

h i + h i. Outro

exemplo no fortemente polinomial o algoritmo dos elipsides de Kha hiyan [Kha79 que resolve problemas de programao linear e realiza um
nmero de operaes elementares que depende do tamanho dos nmeros
envolvidos (apndi e C).

131

Algoritmos pseudopolinomiais
em

Seja  um problema e I o seu onjunto de instn ias. Para ada I


I seja Max(I ) o maior nmero inteiro em valor absoluto que o or-

re em

I;

(I ) := 0

dena Max

se nenhum nmero inteiro o orre em

I.

Aqui estamos supondo que ada nmero ra ional representados omo


quo iente entre dois nmeros inteiros.
Um

(3=17) = 17

Por exemplo, Max

algoritmo pseudopolinomial para  um algoritmo

que onso-

me uma quantidade de tempo limitada por uma funo polinomial nas


variveis

hI i e Max(I ).

laro que todo algoritmo polinomial tambm

pseudopolinomial. O algoritmo Mo hila-Exato do aptulo 2 um


algoritmo pseudopolinomial que no polinomial.

Seja If := fI 2 I : Max(I )  f (hI i)g para alguma funo f de Z


Z e seja f o problema  restrito ao onjunto de instn ias If . O
problema  NP- ompleto no sentido forte ou fortemente NP ompleto se p NP- ompleto para alguma funo polinomial p. Em

em

parti ular, problemas omo Sat, que no envolvem nmeros, so NP-

ompletos no sentido forte. Considere, por exemplo, a verso a seguir do


problema do aixeiro viajante (TSP) omo problema de de iso.

Problema TSPD (G; ; ): Dados um grafo G, um usto e em


Q  para ada aresta e de G e um nmero ra ional , existe um
ir uito hamiltoniano em G de usto no superior a ?

O problema TSPD NP- ompleto no sentido forte, j que o problema

PCH essen ialmente esta verso de de iso do TSP restrita a instn ias
onde o usto

e de ada aresta e 1 ou jVG j +1 e jVG j (demonstrao

do teorema 8.5).
Um problema

tido forte

, no ne essariamente em NP,

NP-d il no sen-

se a existn ia de um algoritmo pseudopolinomial para

impli a em P
sentido forte.

NP. O TSP um exemplo de problema NP-dif il no

Todos os problemas no enun iado do teorema E.2, om

ex eo do problema Mo hila, so NP-dif eis no sentido forte.

Teorema E.3 :

Os problemas Es alonamento, Empa otamento, MaxCut, MaxSat, MinCC, MinCV, MinFS,


MinMCut, MinTC, TSPM e TSP so NP-dif eis no sentido forte. 2
Mais sobre algoritmos pseudopolinomiais e NP- ompletude no sentido forte pode ser en ontrado em Garey e Johnson [GJ79 e em Papadimitriou e Steiglitz [PS82.

Max

(I )

Complexidade Computa ional

132

Exer io
E.1

Mostre que se

E.2

Mostre que se
ento

1 T 2 2 T 3

e

1 T 3
0

, ento

um problema de de iso,

est em P e

 T 0

est em P.

E.3

Mostre que se

E.4

Mostre que se

0

E.5

Mostre que o problema TSPD est em NP e que os problemas TSP

um problema de de iso,

0 , ento  est em NP.

NP- ompleto e

0 T 

e TSPD so polinomialmente equivalentes.

0

est em NP e

, ento

 T

NP-dif il.

Bibliograa
[ABCC98

D. Applegate,

R. Bixby,

V. Chvtal e W. Cook.

Do umenta

the solution of traveling salesman problems.

Mathemati a,

Vol. Extra III:645656, 1998.

On

Pro eedings

of the International Congress of Mathemati ians. URL:

http://www.mathematik.uni-bielefeld.de/do umenta/
xvol-i m/17/17.html. [p. 21
[ABI86

N. Alon, L. Babai e A. Itai. A fast and simple randomized


parallel algorithm for the maximal independent set problem.

Journal of Algorithms,

[ACG 99

G.

Ausiello,

P.

7(4):567583, 1986.

Cres enzi,

G.

Gambosi,

[p. 74
V.

Kann,

A.

Complexity and Approximation: Combinatorial Optimization Problems and Their


Approximability Properties. Springer, 1999. [p. iii, 2, 93,

Mar hetti-Spa amela e M. Protasi.

97, 99
[ACP95

G. Ausiello, P. Cres enzi e M. Protasi. Approximate solution of NP optimization problems.

S ien e,
[ADP80

150(1):155, 1995.

Theoreti al Computer

[p. 98, 99

G. Ausiello, A. D'Atri e M. Protasi.

Stru ture preserving

redu tions among onvex optimization problems.

Computer and System S ien es,


[AG94

M. Aggarwal e N. Garg.

Journal of

21:136153, 1980.

[p. 96

A s aling te hnique for better

Pro eedings of the Fifth Annual ACMSIAM Symposium on Dis rete Algorithms (SODA), p. 233

network design. In
240, 1994.

[p. 60

133

BIBLIOGRAFIA

134

[AGK 98

S. Arora, M. Grigni, D.R. Karger, P.N. Klein e A. Woloszyn. A polynomial-time approximation s heme for weigh-

Pro eedings of the Nineth ACMSIAM Symposium on Dis rete Algorithms (SODA), p. 33
ted planar graph tsp. In

41, 1998.
[AHU74

[p. 22

A.V. Aho, J.E. Hop roft e J.D. Ullman.

Analysis of Computer Algorithms.

The Design and

Addison-Wesley, 1974.

[p. 15, 125


[AK98

N. Alon e N. Kahale. Approximating the independen e number via the

-fun tion. Mathemati al Programming, 80:231

237, 1998.
[AKR95

[p. 85

A. Agrawal, P. Klein e R. Ravi. When trees ollide: an approximation algorithm for the generalizad Steiner problem
on networks.
1995.

[Ali95

SIAM Journal on Computing,

24(2):440456,

[p. 60

F. Alizadeh.

Interior point methods in semidenite pro-

gramming with appli ations to ombinatorial optimization.

SIAM Journal on Optimization,

[ALM 92

5:1351, 1995.

[p. 85

S. Arora, C. Lund, R. Motwani, M. Sudan e M. Szegedy.


Proof veri ation and intra tability of approximation pro-

Pro eedings of the 33rd Annual Symposium on


Foundations of Computer S ien e (FOCS), p. 2427, 1992.

blems.

In

[p. 2, 99
[AMO93

R.K. Ahuja, T.L. Magnanti e J.B. Orlin.


Prenti e-Hall, 1993.

[AR98

Network Flows.

[p. 26, 27, 33

Y. Aumann e Y. Rabani.

An

O(log k)

approximate min-

ut max-ow theorem and approximation algorithm.

Journal on Computing,
[Aro94

SIAM

[p. 33

Probabilisti Che king of Proofs and Hardness of


Approximation Problems. PhD Thesis, Prin eton Univer-

S. Arora.

sity, 1994.
[Aro95

27(1):291301, 1998.

[p. 2

S. Arora. Redu tions, odes, PCPs, and inapproximability.

Pro eedings of the 36th Annual Symposium on Foundations of Computer S ien e (FOCS), p. 404413, 1995. [p. 2
In

BIBLIOGRAFIA
[Aro98

135

S. Arora. Polynomial time approximation s hemes for Eu lidean traveling salesman and other geometri problems.

[AS92

Journal of the ACM,

45(5):753782, 1998.

N. Alon e J. Spen er.

The Probabilisti Method.

1992.
[AW00

[p. 22
John Wiley,

[p. 70

T. Asano e D.P. Williamson. Improved approximation alIn Pro eedings of the Eleventh
ACM-SIAM Symposium on Dis rete Algorithms (SODA),

gorithms for MAX SAT.


p. 96115, 2000.
[BKRV98

[p. 74

A. Blum, G. Konjevod, R. Ravi e S. Vempala.

Semi-

denite

other

relaxations

for

minimum

bandwidth

and

In Pro eedings of the 30th Annual ACM Symposium on Theory of Computing (STOC),

vertex-ordering problems.
p. 100105, 1998.
[Blu91

A. Blum.

[p. 85

Algorithms for Approximate Graph Coloring. PhD

Thesis, Massa husetts Institute of Te hnology, 1991.


[BM76

J.A. Bondy e U.S.R. Murty.

ons.
[Bru98

[p. 2

Graph Theory with Appli ati-

Ma millan/Elsevier, 1976.

[p. 15, 101, 104

S heduling Algorithms.

Springer, 2. ed., 1998.

D. Bertsimas, C. Teo e R. Vohra.

On dependent rando-

P. Bru ker.
[p. 21

[BTV99

mized rounding algorithms.


24(3):105114, 1999.
[BYE81

Operations Resear h Letters,

[p. 74

R. Bar-Yehuda e S. Even. A linear time approximation algorithm for the weighted vertex over problem.

Algorithms,
[CFR98

2:198203, 1981.

Journal of

[p. 47, 60

G. Clines u, C.G. Fernandes e B. Reed.

Multi uts in

unweighted graphs with bounded degree and bounded treewidth. In R.E. Bixby, E.A. Boyd e R.Z. Ros-Mer ado, editores, Pro eedings of the 6th Conferen e on Integer Programming and Combinatorial Optimization (IPCO), volume 1412
of Le ture Notes in Computer S ien e, p. 137152. Springer,
1998.
[CG89

[p. 33

B. Chor e O. Goldrei h. On the power of two-point sampling.

Journal of Complexity,

5:96106, 1989.

[p. 75

BIBLIOGRAFIA

136

[Chr76

N. Christodes. Worst- ase analysis of a new heuristi for


the traveling salesman problem. Te hni al Report 388, Carnegie Mellon University, 1976.

[Chv79

V. Chvtal.
blem.
1979.

[p. 17, 21

A greedy heuristi for the set- overing pro-

Mathemati s of Operations Resear h,

4(3):233235,

[p. 8, 39

Linear Programming.

[Chv83

V. Chvtal.

[CJLL95

P. Chrtienne, E.G. Coman Jr., J.K. Lenstra e Z. Liu, editores.

S heduling Theory and its Appli ations.

& Sons, 1995.


[CK00

John Wiley

A Compendium of NP Optimization
URL: http://www.nada.kth.se/viggo

P. Cres enzi e V. Kann.

[p. 99

G. Clines u, H. Karlo e Y. Rabani. An improved approximation algorithm for multiway ut.

and System S ien es,


[CLR92

[p. 113

[p. 21

Problems, 2000.
/www ompendium/.
[CKR00

Freeman, 1983.

Journal of Computer

60(3):564574, 2000.

T.H. Cormen, C.E. Leiserson e R.L. Rivest.

Algorithms.

MIT Press, 1992.

[p. 33, 74

Introdu tion to

[p. 10, 15, 20, 59, 125, 128,

130
[Cob65

A. Cobham. The intrinsi omputational di ult of fun tions. In Y. Bar-Hillel, editor,

sophy of S ien e,
[Coo71

Logi , Methodology and Philo-

p. 2430. North-Holland, 1965.

[p. 128

S.A. Cook. The omplexity of theorem-proving pro edures.

Pro eedings of the 3rd Annual ACM Symposium on the


Theory of Computing (STOC), p. 151158, 1971. [p. 87,
In

130
[CR73

S.A. Cook e R.A. Re khow. Time-bounded random a ess


ma hines.
375, 1973.

[CRW01

Journal of Computer and System S ien e,

7:354

[p. 127

F. Chudak, T. Roughgarden e D.P. Williamson. Approximate

k-msts and k-Steiner trees via the primal-dual method

and Lagrangean relaxation. In Pro eedings of the 8th Conferen e on Integer Programming and Combinatorial Optimization Conferen e (IPCO), 2001. A eito para publi ao.
[p. 61, 85

BIBLIOGRAFIA
[CS98

137

B. Chor e M. Sudan.
ness.

SIAM Journal on Dis rete Mathemati s,

523, 1998.
[Dev86

A geometri approa h to between11(4):511

[p. 85

L. Devroye.

Non-uniform Random Variate Generation.

Springer, 1986.

[p. 75, 84

Graph Theory.

[Die00

R. Diestel.

[Dij59

E.W. Dijkstra. A note on two problems in onnexion with


graphs.

[DJP 94

Springer, 2. ed., 2000.

Numeris he Mathematik,

p. 269271, 1959.

[p. 101

[p. 59

E. Dahlhaus, D.S. Johnson, C.H. Papadimitriou, P.D. Seymour e M. Yannakakis.


uts.

The omplexity of multiterminal

SIAM Journal on Computing,

23(4):864894, 1994.

[p. 26, 33, 34, 99


[DL97

M.M. Deza e M. Laurent.


Springer, 1997.

[Edm65a

J. Edmonds.

0; 1

-verti es.

Standards B,

[Edm65b

[p. 85

Maximum mat hing and a polyhedron with

Journal of Resear h of the National Bureau of


69:125130, 1965.

[p. 22, 60

J. Edmonds. Paths, trees, and owers.

of Mathemati s,
[EK00

Geometry of Cuts and Metri s.

17:449467, 1965.

L. Engebretsen e M. Karpinski.

Canadian Journal

[p. 22, 128


Approximation hardness

Eletroni Colloquium on
Computational Complexity, 7(89), 2000. URL: http://www.
e .uni-trier.de/e /. [p. 96

of tsp with bounded metri s.

[ENRS95

G. Even, J. Naor, S. Rao e B. S hieber. Divide-and- onquer


In Pro eedings of the 36th Annual Symposium on Foundations of
Computer S ien e (FOCS), p. 6271, 1995. [p. 33

approximation algorithms via spreading metri s.

[Erd67

P. Erds. Grfok pros krljrs rszgrfjairl (On bipartite subgraphs of graphs, em hngaro).
18:283288, 1967.

[ES73

Matematikai Lapok,

[p. 2, 85

P. Erds e J. Selfridge. On a ombinatorial game.

of Combinatorial Theory, Ser. A, 14:298301,

1973.

Journal
[p. 74

BIBLIOGRAFIA

138

[ES74

P. Erds e J. Spen er.

natori s.
[Fei99

The Probabilisti Method in Combi-

A ademi Press, 1974.

[p. 70

U. Feige. Randomized rounding for semidenite programs

Randomization, Approximation, and Combinatorial Optimization, volume 1671


of Le ture Notes in Computer S ien e, p. 189196. Springer,
variations on the max ut example. In

1999.
[Feo01

[p. 74

P. Feolo.

Algoritmos de Programao Linear.

bli ado pela EDUSP, 2001.


[FF56

L.R. Ford e D.R. Fulkerson.

[FG95

Maximal ow through a

Canadian Journal of Mathemati s,

network.
1956.

A ser pu-

[p. 113

8:399404,

[p. 33, 60

U. Feige e M.X. Goemans. Approximating the value of two


prover proof systems, with appli ations to max 2sat and

Pro eedings of the Third Israel Symposium


on Theory of Computing and Systems (ISTCS), p. 182189,
max di ut. In

1995.
[FJ97

[p. 74, 85

A. Frieze e M. Jerrum. Improved approximation algorithms


for max

k- ut and max

81, 1997.
[GGL95

bise tion.

R.L. Graham, M. Grts hel e L. Lovsz, editores.

of ombinatori s. Vol. 1, 2.
dam, 1995.

[GGP 94

Algorithmi a,

p. 67

[p. 85

Handbook

Elsevier S ien e B.V., Amster-

[p. 85

M.X. Goemans, A.V. Goldberg, S. Plotkin, D.B. Shmoys,


. Tardos e D.P. Williamson. Improved approximation al-

Pro eedings of the


Fifth ACM-SIAM Symposium on Dis rete Algorithms (SODA), p. 223232, 1994. [p. 60

gorithms for network design problems. In

[GGU72

M.R. Garey, R.L. Graham e J.D. Ullman. Worst- ase analy-

Pro eedings of the


4th Annual ACM Symposium on the Theory of Computing
(STOC), p. 143150, 1972. [p. 2

sis of memory allo ation algorithms. In

[GGW98

H.N. Gabow, M.X. Goemans e D.P. Williamson. An e ient


approximation algorithm for the survivable network design
problem.
1998.

Mathemati al Programming, 82(1-2, Ser. B):1340,

[p. 60, 61

BIBLIOGRAFIA
[GJ75

139

M.R. Garey e D.S. Johnson.

Complexity results for mul-

tipro essor s heduling under resour e onstraints.

Journal on Computing,
[GJ78

4:397411, 1975.

M.R. Garey e D.S. Johnson.

Strong NP- ompleteness re-

sults: Motivations, examples and impli ations.

the ACM,
[GJ79

25:499508, 1978.

SIAM

[p. 98

Journal of

[p. 91

Computers and Intra tability:


a Guide to the Theory of NP-Completeness. Freeman, 1979.

M.R. Garey e D.S. Johnson.

[p. 6, 8, 12, 14, 19, 20, 35, 49, 65, 77, 96, 98, 125, 129, 131
[GLS93

Geometri Algo-

M. Grts hel, L. Lovsz e A. S hrijver.

rithms and Combinatorial Optimization.


1993.
[Goe97

[p. 82, 84, 117, 118

M.X. Goemans.

Semidenite programming in ombinato-

rial optimization.
1997.
[Gon89

Springer, 2. ed.,

Mathemati al Programming,

79:143161,

[p. 84

C.C. Gonzaga.

An algorithm for solving linear program-

ming problems in

O(n3 L) operations.

In N. Megiddo, edi-

Progress in Mathemati al Programming: Interior Point


and Related Methods, p. 128. Springer, 1989. [p. 117
tor,

[Gon92

C.C. Gonzaga. Path following methods for linear programming.

[Gra66

SIAM Review,

34(2):167227, 1992.

[p. 117

R.L. Graham. Bounds for ertain multipro essor anomalies.

Bell System Te hni al Journal,

45:15631581, 1966.

[p. 2,

6
[Gra69

R.L. Graham. Bounds on multipro essing timing anomalies.

SIAM Journal on Applied Mathemati s,

17:416429, 1969.

[p. 21
[Gui98

K.S. Guimares.

Algoritmos de aproximao para proble-

mas de otimizao. In H.P. de Moura, editor,

de Atualizao em Informti a,
1998.
[GVY96

volume II,

XVII Jornada
p. 147. SBC,

[p. v, 20

N. Garg, V.V. Vazirani e M. Yannakakis. Approximate maxow and min-(multi) ut theorems and their appli ations.

SIAM Journal on Computing,


33

25:235251, 1996.

[p. 26,

BIBLIOGRAFIA

140

[GVY97

N. Garg, V.V. Vazirani e M. Yannakakis. Primal-dual approximation algorithms for integral ow and multi ut in trees.

[GW94

Algorithmi a,

18:320, 1997.

[p. 33, 59, 61

M.X. Goemans e D.P. Williamson. New

3=4

-approximation

algorithms for the maximum satisability problem.

Journal on Dis rete Mathemati s,

7:656666, 1994.

SIAM
[p. 67,

69, 74
[GW95a

M.X. Goemans e D.P. Williamson. A general approximation


te hnique for onstrained forest problems.

Computing,
[GW95b

24(2):296317, 1995.

SIAM Journal on

[p. 50, 52, 59, 60

M.X. Goemans e D.P. Williamson.

Improved approxima-

tion algorithms for maximum ut and satisability problems using semidenite programming.
42:11151145, 1995.
[GW98

Journal of the ACM,

[p. 79, 85

M.X. Goemans e D.P. Williamson.

Primal-dual approxi-

mation algorithms for feedba k problems in planar graphs.

Combinatori a,
[GW01

18(1):3759, 1998.

[p. 61

M.X. Goemans e D.P. Williamson.

Approximation algo-

rithms for max 3- ut and other problems via omplex semidenite programming. In Pro eedings of the 33th Annual
ACM Symposium on Theory of Computing (STOC), 2001.
A eito para publi ao.
[Hal00

E. Halperin.

[p. 85

Improved approximation algorithms for the

vertex over problem in graphs and hypergraphs. In Pro eedings of the Eleventh ACM-SIAM Symposium on Dis rete
Algorithms (SODA), p. 329337, 2000. [p. 85

Pro eedings of the 29th Annual ACM Symposium on the Theory


of Computing (STOC), p. 110, 1997. [p. 96

[Hs97

J. Hstad. Some optimal inapproximability results. In

[HH86

N.G. Hall e D.S. Ho hbaum.

A fast approximation al-

gorithm for the multi overing problem.

Mathemati s,
[Ho 82

15(1):3540, 1986.

Dis rete Applied

[p. 38

D.S. Ho hbaum. Approximation algorithms for the set overing and vertex over problems.

puting,

11(3):555556, 1982.

SIAM Journal on Com-

[p. 24, 36, 38, 60

BIBLIOGRAFIA
[Ho 97

141

D.S. Ho hbaum, editor.

Hard Problems.

Approximation Algorithms for NP-

PWS Publishing, 1997.

[p. iii, 2, 20, 33,

38, 59, 60, 74


[Hoo91

J.A. Hoogeveen.

Analysis of Christodes' heuristi : some

paths are more di ult than y les.

Letters,
[HPS94

10:291295, 1991.

Operations Resear h

[p. 22

S. Hougardy, H.-J. Prmel e A. Steger.

Probabilisti ally

he kable proofs and their onsequen es for approximati-

Dis rete Mathemati s,

on algorithms.

136:175223, 1994.

[p. 99
[HS87

D.S. Ho hbaum e D.B. Shmoys. Using dual approximation


algorithms for s heduling problems: theoreti al and pra -

Journal of the ACM,

ti al results.

34(1):144162, 1987.

[p. 39
[HS88

D.S. Ho hbaum e D.B. Shmoys. A polynomial approximation s heme for ma hine s heduling on uniform pro essors:

SIAM Journal on Computing,

using the dual approa h.


17:539551, 1988.
[Hu63

T.C. Hu. Multi ommodity network ows.

ar h,
[IK75

[p. 21, 39, 89, 96

9:898900, 1963.

Operations Rese-

[p. 26, 33

O.H. Ibarra e C.E. Kim. Fast approximation algorithms for


the knapsa k and sum of subset problems.

ACM,
[Ita78

22:463468, 1975.

A. Itai.

Two- ommodity

25(4):596611, 1978.
[JMVW99

Journal of the

[p. 12, 96
ow.

Journal of the ACM,

[p. 26, 33

K. Jain, I. Mndoiu, V.V. Vazirani e D.P. Williamson.


A primal-dual s hema based approximation algorithm for
In Pro eedings of the
Tenth Annual ACM-SIAM Symposium on Dis rete Algorithms (SODA), p. 484489, 1999. [p. 61
the element onne tivity problem.

[Joh74

D.S. Johnson. Approximation algorithms for ombinatorial


problems.

Journal of Computer and System S ien es, 9:256

278, 1974.
[Joh87

[p. 2, 21, 65, 74

M.E. Johnson.
Wiley, 1987.

Multivariate Statisti al Simulation.

[p. 75, 84

John

BIBLIOGRAFIA

142

[JRR95

M. Jnger, G. Reinelt e G. Rinaldi. The traveling salesman


problem. In M.O. Ball, T.L. Magnanti, C.L. Monma e G.L.
Nemhauser, editores,
Holland, 1995.

[JV00

Network Models,

p. 225330. North-

[p. 21

K. Jain e V.V. Vazirani. Primal-dual approximation algorithms for metri fa ility lo ation and

k-median

problems.

17th International Symposium on Mathemati al Programming (ISMP), 2000. URL: http://www. .gate h.edu/
people/home/kjain/. [p. 61, 74
[Kan92

On the Approximability of NP- omplete Optimization Problems. PhD Thesis, Royal Institute of Te hnology,
V. Kann.

Sweden, 1992.
[Kar72

[p. 2

R.M. Karp. Redu ibility among ombinatorial problems. In


R.E. Miller e J.M. That her, editores,

puter Computations,

Complexity of Com-

p. 85103. Plenum, 1972.

[p. 87, 90,

91, 130
[Kar84

N. Karmarkar. A new polynomial-time algorithm for linear


programming.

[Kar96

Combinatori a,

4:373395, 1984.

[p. 117

H. Karlo. How good is the Goemans-Williamson max ut


algorithm? In Pro eedings of the 28th Annual ACM Symposium on the Theory of Computing (STOC), p. 427434,
1996.

[KG98

[p. 85

J. Kleinberg e M.X. Goemans.

The Lovsz theta fun ti-

on and a semidenite programming relaxation of vertex over.

SIAM Journal on Dis rete Mathemati s, 11(2):196204,

1998.
[Kha79

[p. 85

L.G. Kha hiyan.


gramming.

A polynomial algorithm for linear pro-

Soviet Mathemati al Doklady,

20:191194, 1979.

[p. 117, 130

[KKS 99

D.R. Karger, P. Klein, C. Stein, M. Thorup e N.E. Young.


Rounding algorithms for a geometri embedding of mini-

Pro eedings of the 31st Annual ACM


Symposium on Theory of Computing (STOC), p. 668678,
mum multiway ut. In

1999.

[p. 34

BIBLIOGRAFIA
[KMS98

143

D. Karger, R. Motwani e M. Sudan.

Approximate graph

oloring by semidenite programming.

Journal of the ACM,

45(2):246265, 1998.
[KMSV99

[p. 85

S. Khanna, R. Motwani, M. Sudan e U. Vazirani. On syn-

SIAM

ta ti versus omputational views of approximability.

Journal on Computing,

[p. 95, 99

Fundamental Algorithms, volume 1 of The Art


of Computer Programming. Addison-Wesley, 1968. [p. 125

[Knu68

D.E. Knuth.

[Knu98

D.E. Knuth.

Seminumeri al Algorithms, volume 2


Art of Computer Programming. Addison-Wesley,

1998.
[KP99

28(1):164191, 1999.

The

3. ed.,

[p. 63, 72, 75, 84

H. Kellerer e U. Pfers hy.

A new fully polynomial time

approximation s heme for the knapsa k problem.

of Combinatorial Optimization,
[KRAR95

of

3(1):5971, 1999.

P. Klein, S. Rao, A. Agrawal e R. Ravi.

Journal
[p. 21

An approxima-

te max-ow min- ut relation for undire ted multi ommodity ow, with appli ations.
1995.
[KS95

Combinatori a,

Demonstraes Transparentes e
a Impossibilidade de Aproximaes. Livro do XX Colquio

Y. Kohayakawa e J. Soares.

Brasileiro de Matemti a. IMPA, 1995.


[Kuh55

15(2):187202,

[p. 33

H.W. Kuhn.
problem.

[p. 99, 129

The Hungarian method for the assignment

Naval Resear h Logisti s Quarterly, 2:8397, 1955.

[p. 60
[KZ97

H. Karlo e U. Zwi k. A

7=8

-approximation for max 3-sat?

In Pro eedings of 38th Annual Symposium on Foundations


of Computer S ien e (FOCS), p. 406415, 1997. URL:
http://www.math.tau.a .il/zwi k/. [p. 74, 85
[Law76

E.L. Lawler.

Matroids.
[Lev73

Combinatorial Optimization: Networks and

Holt, Rinehart and Winston, 1976.

L.A. Levin. Universal sorting problems.

mation Transmission,
[LK73

9:265266, 1973.

[p. 38

Problems of Infor[p. 130

S. Lin e B.W. Kernighan. An ee tive heuristi algorithm


for the traveling salesman problem.
21:498516, 1973.

[p. 21

Operations Resear h,

BIBLIOGRAFIA

144

[LLR95

N. Linial, E. London e Y. Rabinovi h.

The geometry of

graphs and some of its algorithmi appli ations.

tori a,
[LLRS90

15(2):215245, 1995.

Combina-

[p. 33

E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan e D.B. Sh-

The Traveling Salesman Problem: A Guided


Tour of Combinatorial Optimization. John Wiley, 1990. Re-

moys, editores.

print of the 1985 original.


[Lov75

[p. 21

L. Lovsz. On the ratio of optimal integral and fra tional


overs.

Dis rete Mathemati s, 13(4):383390,

1975.

[p. 21,

39
[Lov01

L. Lovsz. Semidenite programs and ombinatorial optimi-

Brazilian Summer S hool on Combinatori s and


Algorithms, p. 158. CIMPA, 2001. A ser publi ado pela

zation. In
Springer.
[LP86

L. Lovsz e M.D. Plummer.


1986.

[LR99

[p. 78, 85

Mat hing Theory.

Elsevier,

[p. 17, 22, 129

T. Leighton e S. Rao. Multi ommodity max-ow min- ut


theorems and their use in designing approximation algorithms.

[Lub86

Journal of the ACM,

M. Luby.

[p. 33

A simple parallel algorithm for the maximal

independent set problem.


15(4):10361053, 1986.
[LW95

46(6):787832, 1999.

SIAM Journal on Computing,

[p. 74

M. Luby e A. Wigderson. Pairwise independen e and derandomization. Te hni al Report TR-035, International Computer S ien e Institute, 1995.

[Mit99

[p. 75

J.S.B. Mit hell. Guillotine subdivisions approximate polygonal subdivisions:

a simple polynomial-time approxima-

tion s heme for geometri tsp,


blems.
1999.
[MPS98

k-mst,

SIAM Journal on Computing,

and related pro28(4):12981309,

[p. 22

Le tures on
Proof Veri ation and Approximation Algorithms, volume
1367 of Le ture Notes in Computer S ien e. Springer, 1998.
E. Mayr, H.J. Prmel e A. Steger, editores.

[p. iii, 2, 99

BIBLIOGRAFIA
[MR95a

145

S. Mahajan e H. Ramesh. Derandomizing semidenite programming based approximation algorithms. In Pro eedings
of the 36th Annual Symposium on Foundations of Computer
S ien e (FOCS), p. 162169, 1995. [p. 85

[MR95b

R. Motwani e P. Raghavan.

Randomized Algorithms.

bridge University Press, 1995.

Cam-

[p. 74

Knapsa k Problems: Algorithms and


Computer Implementations. John Wiley, 1990. [p. 21

[MT90

S. Martello e P. Toth.

[OM87

P. Orponen e H. Mannila.

On approximation preserving

redu tions: Complete problems and robust measures. Te hni al Report C-28, University of Helsinki, 1987.
[Pad99

M. Padberg.

Linear Optimization and Extensions.

2. rev. exp. ed., 1999.


[Pap94

C.H. Papadimitriou.
Wesley, 1994.

[PS82

[p. 96
Springer,

[p. 113

Computational Complexity.

Addison-

[p. 98, 125

Combinatorial Optimization: Algorithms and Complexity. Prenti e-Hall, 1982.

C.H. Papadimitriou e K. Steiglitz.


[p. 59, 117, 125, 131

[PS85

F.P. Preparata e M.I. Shamos.

An Introdu tion.
[PV00

Computational Geometry:

Springer, 1985.

[p. 127

C.H. Papadimitriou e S. Vempala.

On the approximabi-

In Pro eedings of
the 32nd Annual ACM Symposium on Theory of Computing (STOC), p. 126133, 2000. [p. 99
lity of the traveling salesman problem.

[PY91

C.H. Papadimitriou e M. Yannakakis. Optimization, approximation and omplexity lasses.

System S ien es,


[Rag88

Journal of Computer and

43:425440, 1991.

[p. 95, 99

P. Raghavan. Probabilisti onstru tion of deterministi algorithms: Approximating pa king integer programs.

nal of Computer and System S ien es,

Jour-

37:130143, 1988.

[p. 74
[Rav94

R. Ravi.

A primal-dual approximation algorithm for the

Steiner forest problem.


50(4):185189, 1994.

Information Pro essing Letters,

[p. 60

BIBLIOGRAFIA

146

 A Library of Sample Instan es for


the TSP, 2000. URL: http://www.iwr.uni-heidelberg.
de/groups/ omopt/software/TSPLIB95/. [p. 21

[Rei00

G. Reinelt. TSPLIB

[RS97

R. Raz e S. Safra.

A sub- onstant error-probability low-

degree test, and a sub- onstant error-probability PCP ha-

Pro eedings of the 29th Annual ACM


Symposium on Theory of Computing (STOC), p. 475484,

ra terization of NP. In
1997.
[RSL77

[p. 10, 96

D.J. Rosenkrantz, R.E. Stearns e P.M. Lewis. An analysis of


several heuristi s for the traveling salesman problem.

Journal on Computing,
[RT87

P. Raghavan e C.D. Thompson.

Combinatori a,
[RV99

6:563581, 1977.

7:365374, 1987.

SIAM

[p. 16

Randomized rounding.
[p. 74

S. Rajagopalan e V.V. Vazirani. Primal-dual RNC approximation algorithms for set over and overing integer programs.

SIAM Journal on Computing,

28(2):526541, 1999.

[p. 33, 61
[RW95

R. Ravi e D.P. Williamson. An approximation algorithm for

Pro eedings
of the Sixth ACM-SIAM Symposium on Dis rete Algorithms
(SODA), p. 332341, 1995. [p. 60

minimum- ost vertex- onne tivity problems. In

[RZ00

G. Robins e A. Zelikovsky. Improved steiner tree approxi-

Pro eedings of the Tenth ACM-SIAM


Symposium on Dis rete Algorithms (SODA), p. 770779,
mation in graphs. In
2000.
[S h86

[p. 60

A. S hrijver.

Theory of Linear and Integer Programming.

John Wiley, 1986.


[SG76

[p. 59, 82, 113, 117, 118, 130

S. Sahni e T. Gonzalez.
blems.

P- omplete approximation pro-

Journal of the ACM,

23:555565, 1976.

[p. 90, 96,

98
[Shm98

D.B. Shmoys. Using linear programming in the design and


analysis of approximation algorithms: two illustrative problems. In K. Jansen e J. Rolin, editores, Pro eedings of the
International Workshop on Approximation Algorithms for
Combinatorial Optimization, number 1444 in Le ture Notes
in Computer S ien e,

p. 1532. Springer, 1998.

[p. 33

BIBLIOGRAFIA
[Sku98

147

M. Skutella.

Semidenite relaxations for parallel ma hine

s heduling. In Pro eedings of the 39th Symposium on Foundations of Computer S ien e (FOCS), p. 472481, 1998.
[p. 85
[Sku99

M. Skutella.

Convex quadrati and semidenite program-

ming relaxations in s heduling, 1999.


[Spe87

J. Spen er.
1987.

[Sri99

Ten Le tures on the Probabilisti Method.

SIAM,

[p. 70, 74

A. Srinivasan. Improved approximation guarantees for pa king and overing integer programs.

puting,
[Ste01

[p. 85

29(2):648670, 1999.

SIAM Journal on Com-

[p. 33

A. Steger. Approximability of NP-optimization problems. In

Brazilian Summer S hool on Combinatori s and Algorithms,


p. 59115. CIMPA, 2001.

A ser publi ado pela Springer.

[p. 98
[Tre96

L. Trevisan.

Redu tions and (Non-)Approximability.

Thesis, Universit di Roma La Sapienza, 1996.


[Vaz01

V.V. Vazirani.

Approximation Algorithms.

pela Springer, 2001.


[WG94

PhD

[p. 2

A ser publi ado

[p. iii, 2, 21, 33, 74, 85

D.P. Williamson e M.X. Goemans. Computational experien e with an approximation algorithm on large-s ale Eu lide-

Pro eedings of the Fifth Annual


ACM-SIAM Symposium on Dis rete Algorithms (SODA),

an mat hing instan es. In


p. 355364, 1994.

[p. 60

[WGMV95 D.P. Williamson, M.X. Goemans, M. Mihail e V.V. Vazirani. A primal-dual approximation algorithm for generalized Steiner network problems.
1995.
[Wil93

Combinatori a,

[p. 60

On the Design of Approximation Algorithms for a Class of Graph Problems. PhD Thesis, MassaD.P. Williamson.

husetts Institute of Te hnology, 1993.


[Wil98

15:435454,

D.P. Williamson.

[p. 2

Le ture notes on approximation algo-

rithms. Te hni al Report RC 21409, T.J. Watson Resear h


Center (IBM Resear h Division), 1998.

[p. 20, 85

ndi e

148

[WSV00

[Yan94

Handbook of Semidenite Programming: Theory, Algorithms, and


Appli ations. Kluwer, 2000. [p. 86
H. Wolkowi z, R. Saigal e L. Vandenberghe, editores.

M. Yannakakis. On the approximation of maximum satisability.

[Zwi99

Journal of Algorithms, 17(3):475502,

1994.

[p. 74

U. Zwi k. Outward rotations: a tool for rounding solutions


of semidenite programming relaxations, with appli ations
to max ut and other problems. In Pro eedings of the 31st
Annual ACM Symposium on Theory of Computing (STOC),
p. 679687, 1999.

[p. 74, 85

ndi e
AP, 94
T, 129
 0, 82
h i (tamanho), 101, 109, 125
>

algoritmo, 127
de aproximao, 4, 63
de separao, 118
dos elipsides, 82, 117

Edmonds, 17

(transposio), 108

( ), 101

e iente, 128

( ), 102

n, 122

Euler, 15
exato, 4

bx , 13
kxk, 109

fortemente polinomial, 130


genuinamente

Ay, 108
AB , 109
xy, 108
yA, 108
AP Q , 108
A?j , 108
Ai? , 108
xQ , 107
G[F , 102
G[X , 102
G + F , 102
G F , 102
G Y , 102
T + F , 15

polinomial, 130

MST, 15
polinomial, 4, 128
probabilsti o, 63, 72
polinomial, 63
pseudopolinomial, 131

Rand, 63
RandEsfera, 79
RandUni, 72
Simplex, 117
Alizadeh, 85
Alon, 74
anlise de pior aso, 128
AP-reduo, 93

Aproximao-Primal-Dual, 45

A> , 108

APX, 88

adja entes, 101

aresta, 101

Agrawal, 60

mltipla, 104

Aho, 125

Arora, 2, 22, 99

-aproximao, 3

arredondamento, 23

probabilsti a, 63

probabilsti o, 66

-lgebra, 122

rvore, 103

149

NDICE

150

de Steiner, 49
geradora, 103
Asano, 74

lusula, 64
booleana, 64
satisfeita, 65

Atalho, 16

obertura, 8

Ausiello, 2, 96, 98, 99

mxima, 19
por arestas, 38

Babai, 74

por onjuntos, 8

Bar-Yehuda, 47, 60

bin pa king,

19

por vrti es, 35


Cobham, 128

bipartio, 104

obre ( oleo), 8

Blum, 2

Coman, 21

Bondy, 101

oleo laminar, 59

Bru ker, 21

oluna de matriz, 108

( ), 4, 105

omponente

aixeiro viajante, 14
mtri o, 14
aminho, 102
hamiltoniano, 103
mnimo, 57
anni o
pl, 115

Central, 28
erti ado
urto, 128
polinomial, 128
Chor, 75
Chrtienne, 21
Christodes, 17, 21
Chvtal, 8, 39, 113
i lo, 102
euleriano, 15
gerador, 103
ir uito, 103
hamiltoniano, 103
lasse
APX, 88
o-NP, 129
FPTAS, 89
MAXNP, 99
MAXSNP, 99
NP, 128
NPO, 88
P, 128
PO, 88
PTAS, 89

ativo, 51
de grafo, 103
de matriz, 107
de vetor, 107
omprimento de
aminho, 103
ir uito, 103
vetor, 109
onjunto
ativo, 49
onvexo, 82
o-NP, 129
onvexo, 82
Cook, 87, 129, 130
Cormen, 20, 125
orte, 101
mximo, 77
mnimo, 58
Cres enzi, 2, 98, 99
ritrio
logartmi o, 127
uniforme, 127
usto de
rvore, 15
aresta, 105
aminho, 15
ir uito, 15
obertura, 8
emparelhamento, 15
es alonamento, 5
oresta de Steiner, 49
subgrafo, 105

NDICE

151

transversal, 46

( ), 101
( ), 102
D(A; ; b), 42, 114

dis reto, 121


produto, 122
esperana, 121
esquema de aproximao, 89
plenamente

Dahlhaus, 26, 34
D'Atri, 96
desigualdade

polinomial, 89
polinomial, 89
estrela, 97

de Markov, 121

Euler, 15

triangular, 14

euleriano, 15

Devroye, 75

Even, 47, 60

Deza, 85

evento, 121

Diestel, 101

extremos de

Dijkstra, 27, 59

aresta, 101

distribuio

aminho, 102

normal, 124
dual, 114

Farkas, 43, 119

de um pl, 114

Feige, 85

varivel, 114

oresta, 103

dualidade
lema, 115
teorema, 117
teorema forte, 117
teorema fra o, 116

e (= 2;71828 : : :), 19, 68


E[X , 121
EG , 101
Edmonds, 17, 22, 60, 128

Edmonds, 17
elipsides, 117

de Steiner, 49
geradora, 103
minimal, 52
folgas
aproximadas, 44
omplementares, 42, 116
Ford, 60
fortemente NP- ompleto, 131
FPTAS, 89
Fulkerson, 60

G[X , 102

Empa otamento, 19, 90

Gabow, 61

Empa otamento-Next-Fit, 20

Gambosi, 2, 99

empa otamento unidimensional, 19

Garey, 2, 91, 96, 98, 125, 131

emparelhamento, 17

Garg, 26, 33

perfeito, 17

gerador, 103

Engebretsen, 96

Goemans, 50, 5961, 67, 74, 79, 85

Erds, 2, 74, 85

Goldrei h, 75

Es alonamento, 5, 21

Gonzaga, 117

Es alonamento-Graham, 6

Gonzalez, 90, 96, 98

es alonamento, 5

grafo, 101

em mquinas idnti as, 5

bipartido, 104

esfera unitria, 79, 123

ompleto, 101

espao

onexo, 103

de probabilidade, 121, 122


ontnuo, 122

gerador, 102
planar, 104

NDICE

152

Graham, 2, 6, 21

Kha hiyan, 117, 130

grau de vrti e, 102

Khanna, 95

Grigni, 22

Kim, 12, 96

Grts hel, 117, 118

Klein, 22, 60

knapsa k problem,

Guimares, 20

10

Knuth, 63, 75, 125

Hn , 9

Kohayakawa, 99, 129

Hall, 38

Hamiltonian ir uit problem,

Kruskal, 59, 130


126

Kuhn, 60

hamiltoniano
aminho, 103

Laurent, 85

ir uito, 103

Lawler, 21

Hstad, 96

hitting set problem,

Leighton, 33
46

Ho hbaum, 2, 20, 21, 24, 33, 36, 38,


39, 59, 60, 74, 89, 96

Leiserson, 20, 125


lema
da dualidade, 115

Hoogeveen, 22

das folgas aproximadas, 44

Hop roft, 125

de Farkas, 119

Hougardy, 99

I (matriz identidade), 108


I (y), 42, 45

Lenstra, 21
Levin, 130
Lewis, 16
limiar de aproximao, 96

Ibarra, 12, 96

limitado, 114

ilimitado, 114

Lin, 21

instn ia, 2, 126

linha de matriz, 108

invivel, 2
vivel, 2

Liu, 21
Lovsz, 21, 22, 39, 85, 117, 118, 129

invivel, 2, 114

Luby, 75

Itai, 74

Lund, 2, 99

J (y), 42
J (y; ), 45

Mahajan, 85

Jnger, 21

Mar hetti-Spa amela, 2, 99

Johnson, 2, 21, 26, 34, 74, 75, 91,

Markov, 121

96, 98, 125, 131


juno, 58

K - aminho, 26
K -multi orte, 26
Kann, 2, 99
Karger, 22, 85
Karlo, 85
Karmarkar, 117
Karp, 87, 90, 91, 130
Karpinski, 96
Kellerer, 21
Kernighan, 21

Mannila, 96

Martello, 21
matriz, 107
elementar, 110
identidade, 108
indexada por, 107
inteira, 108
inversa, 109
inversvel, 109
positiva semidenida, 82, 110
quadrada, 108
ra ional, 108
simtri a, 108

NDICE

153

sobre, 107

MinMCut, 26

transposta, 108

MinMCut-GVY, 26

(I ), 91, 131

Max

MinPath, 57

MaxCC, 19, 73

MinTC, 46

MaxCut, 73, 77

MinTC-BE, 48

MaxCut-GW, 79

MinTJ, 58

maximal, 103

mo hila, 10

maximum
overage problem, 19
ut problem, 77
MAXNP, 99

Mo hila, 10, 21, 89


Mo hila-Exato, 11
Mo hila-IK" , 12
modelo de

MaxSat, 65

omputao, 127

MaxSat-GW, 67

Motwani, 2, 74, 85, 95, 99

MaxSat-Combinado-GW, 69

MST, 15, 126

MaxSat-Johnson, 65

multi orte, 26

MAXSNP, 99
Mayr, 2, 99

mnimo, 26
multigrafo, 104

ontnua, 122

multiterminal- ut, 34
multiway- ut, 34

dis reta, 121

Murty, 101

medida de probabilidade, 121, 122

mtodo

mutuamente independentes, 75

das esperanas
ondi ionais, 70, 74
de aproximao
primal-dual, 44

no-negativo, 4

network design problems, 60


norma, 109

dos pontos interiores, 117

NP, 128

dual, 35

NP- ompleto, 129


no sentido forte, 131

primal, 23
primal-dual, 43

NP-dif il, 130


no sentido forte, 131

MinCA, 38

\ o-NP, 129

MinCC, 8, 23, 38

NP

MinCC-Chvtal, 8, 33

NPO, 88

MinCC-Ho hbaum, 25

nmero harmni o, 9

MinCut, 58

O(f (n)), 128

MinCV, 32, 34, 35, 58, 60, 97


MinCV-Ho hbaum, 36
MinFS, 49
MinFS-GW, 51
minimal, 103

minimum
edge over problem, 38
multi ut problem, 26
set over problem, 8
set multi over problem, 33
spanning tree problem, 126
vertex over problem, 35

n, 122
operaes elementares, 127
opt(I ), 3

Orponen, 96

P(A; b; ), 41, 113


P ( lasse de omplexidade), 128
P 6= NP?, 129
Padberg, 113
palavra, 125
tamanho, 125

NDICE

154

Papadimitriou, 26, 34, 59, 95, 98,


99, 117, 125, 131

Partio, 91

partition, 91
passeio, 102

primal, 43
vivel, 114
problema de/do/da
rvore geradora
mnima, 126

fe hado, 102

aixeiro viajante, 14, 96

origem, 102

aminho mnimo, 57

trmino, 102

ir uito hamiltoniano, 126

PCH, 90, 126

obertura mxima, 19, 73

PCP, 99

obertura mnima por

peso de

arestas, 38

aresta, 105

onjuntos, 8, 23, 38

orte, 77

vrti es, 32, 34, 35, 47, 58,

subgrafo, 105

D, 97
V, 97

60, 97
onexo ponto-a-ponto, 60
orte

pl, 113

mximo, 73, 77

anni o, 115

mnimo, 58

Plummer, 129

de iso, 97, 126

PO, 88

empa otamento

positivo, 4

unidimensional, 19

Pr[ , 121

emparelhamento perfeito

primal, 114

es alonamento

Prmel, 99
varivel, 114
problema, 126

de peso mnimo, 60
em mquinas idnti as, 5, 21
oresta de Steiner, 49

APX- ompleto, 95

maximizao, 3, 88

APX-dif il, 95

minimizao, 3, 88

anni o, 115

mo hila, 10, 21

dual, 114

multi obertura mnima

fortemente
NP- ompleto, 131

por onjuntos, 33
multi orte mnimo, 26

ilimitado, 114

multiuxo uniforme, 33

invivel, 114

otimizao, 3, 88, 127

limitado, 114

programao linear, 113

NP- ompleto, 129

satisfatibilidade, 129

no sentido forte, 131


NP-dif il, 130
no sentido forte, 131
NPO- ompleto, 96
polinomialmente
equivalente, 129
restrito

mxima, 65
separao, 118

T -juno mnima, 58, 60


transversal mnima, 46
valorao, 97
viabilidade, 119
produto de

aproximado dual, 45

matriz por vetor, 108

aproximado primal, 45

matrizes, 108

dual, 43

vetor por matriz, 108

NDICE
vetores, 108
programa
dual, 42

155

reduo, 129
Reinelt, 21
relaxao

linear, 113
primal, 42

vetorial, 78
restries

quadrti o, 78
semidenido, 82

de programa linear, 113


resultados

vetorial, 82
programao

de inaproximabilidade, 87
Rinaldi, 21

dinmi a, 10

Rinnooy Kan, 21

linear, 113

Rivest, 20, 125

semidenida, 77

Robins, 60

Prmel, 2
Protasi, 2, 96, 98, 99
provas veri veis
probabilisti amente, 99

(W; A; b), 83

Rosenkrantz, 16

RP(A; b; y), 43
-lgebra, 122

PSD

Safra, 96

pseudo- lusulas, 70

Sahni, 90, 96, 98

PTAS, 89

Saigal, 86

PV

(W; A; b), 82

Q, Q  , Q > , 4
R, R  , R > , 4
R-oresta, 49
ra ionais
no-negativos, 4

Sat, 129
satisfatibilidade, 129
mxima, 65, 73

satisability, 65, 129


s heduling, 5
S hrijver, 59, 113, 117, 118
Selfridge, 74
semidenida

positivos, 4

matriz, 82, 110

RAD(A; b; y; ), 45
Raghavan, 74

programao, 77
separao

Rajagopalan, 33
RAM, 127
real, 127

algoritmo de, 118


Seymour, 26, 34
Shmoys, 21, 39, 89, 96

Ramesh, 85

Simplex, 117

Rand, 63

Skutella, 85

RandEsfera, 79, 84

Soares, 99, 129

RandUni, 72

soluo

randomized rounding, 66
Rao, 33

RAP(A; b; y; ; ), 45

(I ), 2, 88

Sol

tima, 3, 88, 114


vivel, 2, 114

Ravi, 60

Spen er, 74

Raz, 96

Srinivasan, 33

razo de aproximao, 3

Stearns, 16

esperada, 64

RD(A; b; y), 43

real-RAM, 127

Steger, 2, 98, 99
Steiglitz, 59, 117, 125, 131
Steiner, 49

NDICE

156

Steiner forest problem,

val(S ), 2
val(I; S ), 88

49

subgrafo, 102
gerador, 102

valor, 2

induzido, 102

de uma soluo, 2

prprio, 102

esperado, 121

Sudan, 2, 85, 95, 99

timo, 3

Szegedy, 2, 99

valorao, 65

t( ), 4, 105
T -juno, 58

Vandenberghe, 86
varivel, 64
aleatria, 121

tamanho de

de lusula booleana, 64

grafo, 101

dual, 114

instn ia, 4, 126

primal, 114

matriz ra ional, 109

Vazirani, 2, 21, 26, 33, 74, 85, 95

nmero inteiro, 109

Vempala, 99

vertex over problem,

nmero ra ional, 109


palavra, 125
vetor ra ional, 109

isolado, 102

teorema

vrti es

da dualidade, 117

adja entes, 101

do uxo mximo

vetor, 107

e orte mnimo, 33

ara tersti o, 107

forte

de inviabilidade, 119

da dualidade, 117

indexado por, 107

fra o

inteiro, 107

da dualidade, 116

nulo, 107

Thompson, 74

ra ional, 107

Toth, 21

sobre, 107

transposta, 108

viabilidade, 119

transversal, 46

vivel, 2, 114

mnima, 46

traveling salesman problem,

35

vrti e, 101

14

w( ), 4, 105

Trevisan, 2

Wigderson, 75

TSP, 14, 90, 96

Williamson, 2, 20, 50, 5961, 67,

mtri o, 14

74, 79, 85

TSPLIB, 21

Wolkowi z, 86

TSPM, 14

Woloszyn, 22

TSPM-Christofides, 17

X  0, 82
x( ), 4, 105
X (A; b), 42

TSPM-RSL, 16
Turing, 129
Ullman, 2, 125

uniform multi ommodity


ow problem, 33

VG , 101
v( ), 4, 105

y( ), 4, 105
Y (A; ), 42

Yannakakis, 26, 33, 34, 74, 95, 99

Z, Z, Z>, 4

NDICE
Zelikovsky, 60
Zwi k, 74, 85

157