Uma Introdução Su inta a

Algoritmos de Aproximação
Mar elo Henriques de Carvalho
Universidade Federal do Mato Grosso do Sul

Már 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 São Paulo

Katia Silva Guimarães

Universidade Federal de Pernambu o

Flávio Keidi Miyazawa

Universidade Estadual de Campinas

José Coelho de Pina Jr.
José Augusto R. Soares
Yoshiko Wakabayashi
Universidade de São Paulo

maio de 2001

ii

Prefá io
O desenvolvimento de algoritmos de aproximação e de provas de
inaproximabilidade é uma das linhas de pesquisa que mais têm res ido
na área de otimização ombinatória e teoria da omputação. O objetivo
deste texto é apresentar su intamente uma visão sistemáti a das té ni as
utilizadas no projeto de algoritmos de aproximação e dar uma idéia dos
limites intrínse os da aproximabilidade.
Ainda que os tópi 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 língua portuguesa.

Além disso,

a seleção de tópi os e a profundidade om que ertos assuntos foram
tratados aqui são, para nosso onhe imento, inéditas.
Este texto é su into no sentido de que se limita a apresentar os algoritmos e suas análises, sem se alongar om omentários e exemplos. Mas
ada apítulo ontém notas bibliográ as e uma variedade de exer í ios
que omplementam o texto.

Esperamos que apesar de su into, o livro

tenha um aráter didáti o e seja útil tanto aos que pro uram uma introdução à área quanto aos que queiram estudar esse fas inante tema mais
profundamente.
O assunto tem muitos pré-requisitos (teoria dos grafos, programação linear, teoria das probabilidades, omplexidade omputa ional), que
pro uramos obrir ompa tamente em apêndi es.

Re omendamos que

o leitor re orra aos apêndi es somente na medida do ne essário, om a
ajuda do índi e.
Os apítulos 1 e 2 apresentam as denições bási as, um históri o da
área e os primeiros algoritmos de aproximação para alguns problemas
lássi os de otimização ombinatória. Isoladamente, esses dois apítulos
formam uma introdução ao assunto.

iii

pode-se optar.2 des reve um algoritmo não-trivial uja análise é longa e elaborada. O apítulo 6 dis ute algoritmos probabilísti os por meio de um exemplo simples mas instrutivo. e tenha noções bási as de programação linear. Um dos algoritmos apresentados neste apítulo utiliza programação linear.Prefá io iv Os apítulos de 3 a 5 apresentam os métodos baseados em programação linear. O apítulo 8 des reve a lassi ação geral de problemas de otimização do ponto de vista da aproximabilidade. re omendamos a leitura do apêndi e C.1 e o apítulo 4 tratam de algoritmos simples. Uma versão preliminar do livro foi utilizada. Este livro pode ser adotado em dis iplinas de nal da graduação ou de pós-graduação. e talvez uma ou duas demonstrações de inaproximabilidade do apítulo 8. derivada do método primal-dual de programação linear. Na graduação. A seção 3. A seção 3. uja análise depende apenas de on eitos e resultados bási os de programação linear. des revemos uma té ni a sosti ada e relativamente re ente que tem sido apli ada om su esso a diversos problemas. por não obrir o material da seção 3. em uma dis iplina de . podem ser usados omo um tópi o em uma dis iplina de graduação de análise de algoritmos. que se apóia no on eito de folgas omplementares. programação linear e teoria de omplexidade de algoritmos. Este apítulo usa todas as ferramentas apresentadas nos apítulos anteriores: generaliza a té ni a de relaxações lineares e usa um tipo de arredondamento probabilísti o bem mais sosti ado que os vistos no apítulo 6. No apítulo 7. As denições bási as e dois ou três exemplos devem ser su ientes para dar uma idéia dos objetivos da área. O apítulo 5 apresenta uma té ni a elegante e sosti ada. O apítulo requer maturidade e familiaridade om os vários on eitos envolvidos. O onteúdo ompleto do livro é adequado para uma dis iplina de pós-graduação om duração de um semestre. Ao leitor que tenha onhe imento super ial no assunto. ainda que não envolva on eitos avançados. Também dis ute a posição que os diversos problemas tratados no texto o upam nesta lassi ação. Este apítulo pode ser lido à parte pelos interessados em teoria da omputação. Alguns dos problemas no apítulo 2. A reditamos que o onteúdo do apítulo seja a essível a qualquer leitor que onheça os on eitos de variável aleatória e esperança.2 e do apítulo 7. sobre programação semidenida. e obrir apenas par ialmente o apítulo 8. Uma dis iplina dedi ada ex lusivamente a algoritmos de aproximação tem omo prérequisitos noções de teoria dos grafos. dependendo da maturidade e interesse dos alunos. durante o primeiro semestre de 2001.

C. esperamos. agrade emos ao oordenador do projeto pelo in entivo e pela disposição em responder questões té ni as sobre algoritmos probabilísti os. Foi um período de trabalho oletivo intenso. Quatro dos autores atuaram omo editores.G. apresentou um urso sobre o assunto [Gui98℄ na XVII Jornada de Atualização em Informáti a.br/yoshi/pronex/)..usp. dúvidas e sugestões. em 1997. Agrade emos a Celina M. Esperamos que os leitores se divirtam e aprendam tanto quanto os autores enquanto es reviam o livro! Rio de Janeiro. UFPE (1 autora). Aquele material serviu omo versão ini ial para duas seções do presente livro. parti ipam do Projeto ProNEx Todos Complexidade de Estruturas Dis retas (http://www. oordenado por Yoshiharu Kohayakawa.R. Manteremos em http://www. P. uidando da oordenação e dos detalhes de edição. Este não é o primeiro texto em língua portuguesa sobre o assunto: Katia S.F e F. ao menos. São Paulo e Campinas. Sulamita Klein (UFRJ) e Luerbio Faria (UERJ) pela sua ontribuição om uma primeira versão da seção 2.ime. editores . Guimarães. H.br/d /livros/aprox/ uma errata do livro e um endereço eletrni o para onde podem ser enviadas as omuni ações de erros.F. e a elaboração do livro fez parte das atividades do Projeto.usp.K. pelo suporte Em espe ial.ime.M. que não desagrade a todos os leitores! Os autores reuniram-se algumas vezes para dis utir o texto. C. Figueiredo (UFRJ). provenientes de in o universidades espalhadas por três regiões do país: UFMS (1 autor).. Somos gratos também ao Projeto ProNEx Complexidade de Estruturas Dis retas nan eiro para os en ontros que se zeram ne essários. Agra- de emos também à Comissão Organizadora do 23o Colóquio Brasileiro de Matemáti a pela oportunidade. O livro tem 11 autores. Agrade emos aos alunos que leram e riti- aram versões preliminares de alguns apítulos. mas boa parte da interação e da redação a onte eu via internet. é quase impossível hegar a um onsenso sobre qualquer questão espe í a. Pode-se dizer que ada parágrafo do texto desagrada algum dos autores. Com tantos envolvidos. UNICAMP (2 autores) e USP (6 autores). maio de 2001 M.Prefá io v graduação na UFRJ e em dis iplinas de pós-graduação na USP e na UNICAMP. uma das autoras desse livro.3. UFRJ (1 autora).

vi Prefá io .

. .Sumário 1 Introdução 1 1. . . . . . . .2 Té ni a métri a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Algoritmos Clássi os 5 2. 5 Método Primal-Dual 35 41 5. . . . . . . . . . . 3 Método Primal 10 14 23 3. . . . . . . . . . . . . . . . . . . . .2 Método de aproximação primal-dual . . . 3 1. . .1 Es alonamento . . . . 8 2. . . . . . . .1 Problemas de otimização . . . . . . . . . . . . . .2 Algoritmos de aproximação . . . . . . . . . . . . . . .2 Cobertura por onjuntos . .3 Notação bási a . . . . . . . . . . . . . . . . . . . . . . .4 Caixeiro viajante . . . . . . . . . . . . . . . . . . . . . .1 Método primal-dual lássi o . . . . . . 41 5. . . . . . . .4 Floresta de Steiner 49 . . . . . 44 5. . . . . . . . . . 25 4 Método Dual 4. . 5 2. . . . . . . .3 Mo hila 2. .3 Transversal mínima . . . . . . . . . vii . . . . . . . . . .1 Té ni a do arredondamento . . . . . . . . . . . . . . . . . 2 1. . . . . . . . . . . . . . 46 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3. . . . . . . . . . . . . .1 35 Cobertura por vérti es . . .

.3 Completude para problemas de otimização . 7 Programação Semidenida 72 77 7. . . . . . . . . . . . . . . . . . . . . . . 83 8 Inaproximabilidade 87 8. . . . . 64 6. . . . . . . . .1 Corte máximo . . . .2 Programas semidenidos . . . . . . 82 7. .1 Classes de problemas de otimização . . . . . . . . 96 A Teoria dos Grafos 101 B Vetores e Matrizes 107 C Programação Linear 113 D Teoria das Probabilidades 121 E Complexidade Computa ional 125 Bibliograa 133 Índi e 149 . . 77 7. . . . .2 Desaleatorização 69 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Limiares de aproximação . . . . . . . . . . . . . . . . . . . 90 8. . . . . . . . . . . . . 88 8. . . . . . . . . . . . . . . . . . . . . .1 Satisfatibilidade máxima . . . . . . . .3 Considerações práti as .SUMÁRIO viii 6 Algoritmos Probabilísti os 63 6. . . .2 NP- ompletude e inaproximabilidade . . . . . .3 Geradores de números aleatórios . . . . 93 8. . . . . . . . . . .

o problema da mo hila. 1 . Nessa situação. o empa otamento de objetos em ontainers. Como exemplos lássi os de problemas de otimização ombinatória podemos itar o problema do aixeiro viajante. Esse ompromisso entre perda de otimalidade e ganho em e iên ia é o paradigma dos algoritmos de aproximação. Convém observar que um algoritmo de aproximação não é simplesmente uma heurísti a: ele garante en ontrar. a biologia mole ular (alinhamento de DNA e proteínas. é razoável sa ri ar a otimalidade em tro a de uma aproximação de boa qualidade que possa ser e ientemente al ulada. um elemento do domínio ujo valor guarda uma relação pré-estabele ida om o valor ótimo. Embora os elementos do domínio possam. a idéia ingênua de testar todos os elementos na bus a pelo melhor mostrase inviável na práti a pois o domínio é tipi amente muito grande. muitos são NP-difí eis. et . o problema da oresta de Steiner e o problema da satisfatibilidade máxima. a lo alização de entros distribuidores. a físi a (estados de energia mínima). inferên ia de padrões). O desenvolvimento de algoritmos de aproximação surgiu em resposta à di uldade omputa ional de muitos dos problemas de otimização ombinatória: em termos té ni os. tais omo o projeto de redes de tele omuni ação e de ir uitos VLSI.Capítulo 1 Introdução Problemas de otimização têm o objetivo de en ontrar um ponto ótimo (mínimo ou máximo) de uma função denida sobre um erto domínio. ser fa ilmente enumerados. Todos surgem naturalmente em apli ações práti as. o es alonamento e roteamento de veí ulos. e ientemente. a e onomia (matrizes de entrada/saída). em geral. et . Os problemas de otimização ombinatória têm domínio nito. Outras áreas de apli ação in luem a estatísti a (análise de dados). o problema da obertura mínima por onjuntos.

Ho hbaum [Ho 97℄. Em termos mais té ni os. om a formalização e o uso de té ni as e ferramentas apli áveis a toda uma gama de problemas. Garey. algumas introduzindo teorias revolu ionárias [Aro94. aproximar é tão difí il quanto resolver. a menos que P = NP. bem omo Johnson [Joh74℄.1 Problemas de otimização Sol (I ) val(S ) Um problema de otimização tem três ingredientes prin ipais: onjunto de viáveis instân ias (feasible solutions ) atribui um número o valor de S . É uma pena que o uso tenha imposto a tradução in orreta inglês instan e. Aro95℄. dizemos que a instân ia é ontrário. As teorias nessa direção foram impulsiona- das na dé ada de 90 pelas des obertas de Arora et al. + 99℄. 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 máquinas paralelas e em um trabalho de Erd®s [Erd67℄ sobre grafos bipartidos. Tre96. o estudo de algoritmos de aproximação passou a re eber um tratamento mais sistemáti o. Blu91. alguns problemas não admitem algoritmos de aproximação om razão melhor que um erto limiar. Esta observação en ontra respaldo na grande quantidade de artigos de pesquisa que surgiram nos últimos anos (veja nossa lista de referên ias bibliográ as). instân ia aso para o termo . O número val(S ) é 1 (instan es ). que provaram resultados desse tipo para vários problemas usando ara terizações probabilísti as da lasse NP. Outro indí io da eferves- ên ia da área é a grande quantidade de teses de doutorado on luídas na dé ada de 90. a instân ia é 1 para ada instân ia viável. [ACG [MPS98℄ e Vazirani [Vaz01℄.Introdução 2 No iní io da dé ada de 70. e uma função que S . Wil93℄. Vários livros sobre o assunto também foram pu- bli ados re entemente: Mayr et al. Kan92. O desenvolvimento de algoritmos de aproximação e de provas de inaproximabilidade é uma das linhas de pesquisa que mais res eu ultimamente na área de otimização ombinatória e teoria da omputação. Graham e Ullman [GGU72℄. [ALM+ 92. de aproximação. val(S ) a ada solução viável Quando o onjunto Sol a uma instân ia I (I ) das soluções viáveis asso iado é vazio. 1. Na dé ada de 90. um onjunto Sol inviável. um (I ) de soluções I . É importante men ionar também o apare imento de ertos dos negativos resulta- de aproximabilidade: para alguns problemas. Ausiello et al.

uma vez que o problema é de minimização. enquanto um problema de maximização interessado nas soluções viáveis de valor máximo. O onjunto das soluções viáveis de uma instân ia (G. O valor de qualquer das soluções ótimas de uma instân ia I será denotado por opt(I ). O valor de um ir uito P hamiltoniano C é val(C ) := e2C e . Seja A um algoritmo I do problema.1. ) é o onjunto de todos os ir uitos hamiltonianos de G. fo 1. basta refazer a denição om val(A(I ))  opt(I ) 2 A expressão valor da solução pode ser tro ada por  usto da solução no a- so de problemas de minimização e por peso da solução no aso de problemas de maximização. dizemos que A é uma -aproximação para o é um número que pode depender de I . Uma instân ia desse problema onsiste em um gra- G e uma função que asso ia um número não-negativo a ada aresta de G. dizemos sim- valor ótimo e problema de otimização. É laro que  1. está 2 Quando uma dessas alternativas  mínimo ou máximo  está subentendida. eis um problema de otimização bem onhe ido: en ontrar um ir uito hamiltoniano de usto mínimo em um grafo om ustos nas arestas.2 Algoritmos de aproximação Considere um problema de otimização em que solução viável val(S )  0 para toda S de qualquer instân ia do problema. plesmente ujo valor é ótimo é hamada onde S é uma solução ótima de denido se a instân ia I I. O fator de problema de maximização. para toda instân ia viável A(I ) de I . Dizemos que é uma razão de aproximação (approximation fa tor ) do algoritmo. Portanto.1) I . A título de exemplo. Uma solução viável solução ótima (optimal solution ). opt(I ) := val(S  ) . opt(I ) . devolve uma solução viável que. No aso para toda instân ia problema.2 Algoritmos de aproximação Um problema de minimização 3 está interessado nas soluções viá- veis de valor mínimo. Se o problema é de minimização e val(A(I ))  opt(I ) (1. É laro que esse número só está é viável.

D e E respe tivamente. quando é um vetor indexado por E .3 Notação bási a Aqui estabele emos algumas onvenções bási as de notação. O on eito de algoritmo polinomial deve ser entendido o- teres. os apêndi es A. ter boas delimitações para o valor de opt(I ). probabilidades e omplexidade omputa ional. É laro que nesse aso 0< 1 . para demonstrar que -aproximação é essen ial. são adeias de ara - hI i é o omprimento da adeia de ara teres I . (Podemos imaginar um algoritmo é uma que as instân ias. C. em parti ular. Uma 1-aproximação para um problema de otimização é um algoritmo exato para o problema. ra ionais e reais são denotados por Z. Q e R. vetores e matrizes. nesse aso. Observe que um algoritmo A é uma -aproximação para um problema de minimização (maximização) se é uma delimitação superior (inferior) para a razão entre val(A(I )) e opt(I ) para uma instân ia arbitrária I do problema. os Q Q> que ontêm somente os positivos são indi ados por um  > . Dada que asso ia um número a ada elemento e de um onjunto nito E . Q. Como o valor de opt(I ) é em geral tão difí il de al ular quanto uma solução ótima do problema. 1. 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 onvenção vale.Introdução 4 no lugar de (1. algoritmo mo uma formalização da idéia de algoritmo e iente. onsulte. se ne essário. A ada instân ia I de um dado problema está asso iado um número natural hI i que hamamos tamanho da instân ia. R Os onjuntos dos números inteiros. o onjunto dos ra ionais não-negativos é denotado por dos ra ionais positivos por Q >. omo veremos. Q e o Para outras onvenções de notação.1). Assim. programação linear. bem omo as soluções viáveis. Os sub onjuntos desses onjuntos que  ontêm somente os números não-negativos são indi ados por um  . B. . Se um problema é NP-difí il então é improvável que exista um algoritmo polinomial exato para o problema. Um algoritmo de aproximação (approximation algorithm ) é uma -aproximação para algum . envolvendo grafos.) 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 instân ia I . respe tivamente. denotamos o valor de em e por e . por exemplo. uma função ( ) Z.

: : : . n e t. ng m maxj t(Mj ) usto Dizemos que uma partição de mento e que o número em é o t(Mj ) := blo os é um P es alona- do es alonamento. Estes estão entre os primeiros algoritmos de aproximação men ionados na literatura. : : : . en ontrar uma atribuição das tarefas às máquinas que minimize o tempo máximo de operação de qualquer uma das máquinas (makespan ).1 Es alonamento Um problema bastante onhe ido nos ontextos de produção industrial e de sistemas opera ionais é o de es alonamento (s heduling ) de tarefas em máquinas. Com essa terminologia. m. De a ordo om nossa onvenção de notação. Cada um deles foi desenvolvido de forma independente. en ontrar uma partição fM1 . n.Capítulo 2 Algoritmos Clássi os Neste apítulo des revemos algoritmos de aproximação para quatro dos mais élebres problemas de otimização ombinatória. n e um tempo ti em Q  para ada i em f1. ng. o problema pode ser formulado omo: dados 5 i2Mj ti . t): Dados inteiros positivos m. . : : : . : : : . ng que minimize maxj t(Mj ). Estamos interessados em uma das versões mais simples do problema: dadas m máquinas idênti as e n tarefas om tem- pos de exe ução pré-determinados. 2. o problema do es alonamento em máquinas idênti as (multipro essor s heduling problem ) onsiste no seguinte: Problema Es alonamento (m. Mm g de f1. Formalmente. f1. em função das ara terísti as estruturais do problema em questão.

Por esse ritério. : : : . Esse es alonamento tem usto t1 + t6 + t7 = 12. ng.1: Exemplo de es alonamento om A duração da tarefa i 7 tarefas em 3 máqui- ti . fM1 . 4gg.1. Este problema é NP-difí il mesmo para duas máquinas. f3. f2. 7g. 6g. ou seja.Algoritmos Clássi os 6 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. O primeiro algoritmo de aproximação para o problema foi des rito e analisado por Graham [Gra66℄ e usa um ritério muito simples: alo ar as tarefas uma a uma. n. nas. f2. Um outro es alonamento é ff1. ao nal. Veja um exemplo na gura 2. destinando ada tarefa à máquina menos o upada. 6. é en ontrar um es alonamento de usto mínimo. f3. : : : . representado na gura. que tem usto t3 + t5 = 10. 4. n. ou seja. t) 1 para j de 1 a m faça Mj . um es alonamento. a es olha da máquina que vai re eber determinada tarefa não depende dos tempos das tarefas que ainda não foram atribuídas a nenhuma máquina. Mm g Claramente. : : : . O ritério de Graham produz o es alonamento ff1. 5gg. t) de um es alonamento ótimo: o tempo da tarefa mais longa . Há duas delimitações simples para o usto opt(m. 5g. Mm g é uma partição de f1. quando m =2 [GJ79℄. 2 para i de 1 a n faça 3 seja k uma máquina tal que t(Mk ) é mínimo 4 Mk Mk [ fig 5 devolva fM1 . 7g. Algoritmo Es alonamento-Graham (m.

Em fórmulas. Assim. Logo. O aso em que n < m pode ser resolvido de maneira simples.1. Várias situações reais demandam esse tipo de abordagem. Algoritmos para tais apli ações devem ser rápidos e forne er soluções viáveis ujo valor seja próximo do valor ótimo. quando n  m. n. portanto. n. O algoritmo Es alona- mento-Graham possui estas ara terísti as e é on eitualmente muito simples. É laro que   t(Mj ) para todo j e. o algoritmo pro essa os dados sem onhe imento prévio da sua totalidade. o segundo es alonamento apresentado é ótimo.1 : O algoritmo Es alonamento-Graham é uma 2-aproximação polinomial para o Es alonamento (m. entre elas o es alonamento de tarefas em pro essadores e a alo ação de páginas na memória primária de omputadores. o algoritmo é polinomial.1) No exemplo da gura 2. o que o torna um mar o nessa teoria. Esse foi o primeiro algoritmo de aproximação de que se tem notí ia.1). n. n.1).666 : : : Essas delimitações são usadas na análise do algoritmo. atribuindo-se uma tarefa a ada máquina.1 Es alonamento 7 e o usto que obteríamos se pudéssemos distribuir as tarefas por igual entre as m máquinas. t) : Quanto ao tempo de exe ução. . Essa delimitação vale no m de ada iteração e portanto apli a-se a ada uma das máquinas. t). t)  m1 Pni=1 ti : e (2. t) de a ordo om (2. P 1 Pn   m1 m j =1 t(Mj )  m i=1 ti  opt(m. opt(m. pois ti  opt(m. temos t(Mk ) =  +ti  2opt(m. t). é fá il ver que o algoritmo onsome tempo polinomial em n. Demonstração: Seja  o valor de t(Mk ) imediatamente antes da exe- ução da linha 4 do algoritmo em uma iteração qualquer. t) : Assim.2. já que m = 9. n. Teorema 2. imediatamente depois da exe ução da linha 4 do algoritmo. n. assim no seguinte teorema nos restringimos ao aso em que n  m. maxj t(Mj )  2opt(m. t)  maxi ti 1 P ti i opt(m. no m da última iteração. n. em virtude de (2. já que m  n. 2 Conforme já observamos.

o problema onsiste em en ontrar uma obertura de usto mínimo. S. S0 . dizemos também que T perten e a algum onjunto de obertura de E . Essa estratégia dá origem ao seguinte algoritmo. ) . Neste aso. que apresentamos em sua versão re ursiva. S. A exigên ia de que S ubra E é inó ua: ela apenas ex lui as ins- tân ias inviáveis do problema. uma oleção nita S de onjuntos nitos que obre E e um usto S em Q  para ada S em S.Algoritmos Clássi os 8 2. en ontrar uma obertura T de E que minimize (T ). 0 ) devolva fZ g [ T 0 Claramente o algoritmo devolve uma obertura de E. Há uma boa delimitação inferior para o valor ótimo do problema MinCC (E. 2 3 4 5 6 7 8 então devolva . Algoritmo MinCC-Chvátal (E. ): Dados um onjunto nito E . O MinCC é NP-difí il mesmo quando ada onjunto em S não tem mais que três elementos [GJ79℄. Chamamos o número obertura T. g seja 0 a restrição de a S0 T0 MinCC-Chvátal (E 0. ) 1 se E = . S. Uma estratégia gulosa simples para o problema onsiste em sele ionar repetidamente o onjunto em S que é mais promissor em termos de usto om relação ao número de elementos ainda não obertos que ele ontém. (T ) de usto da Assim. O problema da obertura mínima por onjuntos (minimum set over problem ) onsiste no seguinte: é uma Problema MinCC (E. senão seja Z em E0 S0 S tal que Z =jZ \ E j é mínimo EnZ f S 2 S : S \ E 0 6= . dizemos que uma T de S obre um onjunto nito E se todo elemento de E T. proposto por Chvátal [Chv79℄. Dada uma oleção nita sub oleção S de onjuntos nitos.2 Cobertura por onjuntos O segundo problema que vamos dis utir é uma abstração de vários problemas que são abordados ao longo deste texto.

2 Hn . onde n := jE j. )  jE j jZ \Z E j : (2. S.2). já que onsome tempo O(jE jjSj). S. Demonstração: A prova de que o algoritmo é uma Hn -aproximação jE j. S . S. Para mostrá-la. Com isso. ) Ademais. Como jE 0 j = n k < jE j. que é uma obertura de usto mínimo. ) : 1 k k  opt(E. Então.2 Cobertura por onjuntos 9 rela ionada ao algoritmo a ima. e portanto jSj > 0. podemos supor que a oleção T0 produzida na linha 7 do algoritmo 0 0 0 0 0 0 é uma obertura de E e que (T )  Hn k opt(E . onde n := jE j e Hn é o número harmni o: Hn := 1 + Teorema 2. onde Z é o onjunto es olhido na linha 3 do algoritmo. 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. suponha que elemento de Z é um S tal que Z =jZ \ E j  S =jS \ E j para todo S em S. T de E . ). )  opt(E. em virtude é por indução em vazio. S. Se jE j = 0. S. o algoritmo é polinomial.2. )  n + n 1 1 +    + n 1k + 1 + Hn = Hn opt(E. S. uma vez que toda obertura de E ontém 0 0 uma obertura de E formada por onjuntos de S . S . suponha que de (2.2) A seguir.2 : O algoritmo ximação polinomial para o 1 + 1 +  + 1 : 2 3 n MinCC-Chvátal MinCC Hn-apro- é uma Hn -apro- (E. 0 0 0 opt(E . Adote as abreviaturas n := jE j e k := jZ \ E j. Além disso. S. ) + Hn opt(E. ). então o algoritmo devolve o onjunto jE j > 0. ). mostramos que o algoritmo MinCC-Chvátal é uma ximação. (fZ g [ T 0) = = Z + 0 (T 0 )  nk opt(E. Agora.

ig e v(S )  j g : de um sub onjunto de 1 Convém não onfundir o problema Mo hila om a sua variante fra ioná- ria [CLR92℄. o peso máximo que a mo hila omporta. Por outro lado. v. arbitrariamente próximo de samente. o algoritmo MinCC-Chvátal tem a melhor razão possível para o problema MinCC. onde n := jE j. Podemos enun iá-lo da seguinte maneira. ig ujo valor é pelo menos j : Wij := min f w(S ) : S  f1. 2. . w): Dados um número m em Q  . fngg. : : : . Problema Os números vi e w i podem ser interpretados omo valor e peso res- pe tivamente de um objeto i. S. pois sabe-se [RS97℄ que e existe uma onstante positiva para a qual não existe algoritmo om razão de aproximação menor que MinCC (E. Mais pre i" positivo. S. que permite es olher qualquer fração de um objeto. Esse problema tem importantes apli ações. en ontrar um sub onjunto S de f1. ng. : : : . ) . ujo usto é Hn . : : : .Algoritmos Clássi os 10 O algoritmo MinCC-Chvátal pode produzir oberturas de usto Hn opt(E. f1g. um número n em Z>. ). O objetivo do problema é então en ontrar uma oleção de 1 objetos a mais valiosa possível que respeite a apa idade da mo hila. : : : . n. : : : . fngg. Mo hila (m. existe uma instân ia do problema para a qual o algoritmo produz uma obertura de usto Hn opt(E. S := fE. omo por exemplo o arregamento ótimo de ontainers. para ada Assintoti amente. E := 1+" e fig := 1=i para ada i. a menos que P = Hn  1+ln n ln n. ng. S. um número vi em Z e um número wi em Q  para ada i em f1.3 Mo hila Nesta seção tratamos de um outro problema de otimização bem onhe ido: o problema da mo hila (knapsa k problem ). ou seja. o algoritmo MinCC-Chvátal produz a obertura ff1g. : : : . Uma obertura de usto mínimo é fE g e o usto desta obertura é 1+". O número m pode ser interpretado omo a apa idade de uma mo hila. )=(1+ "): basta tomar E := f1. ng que maximize v(S ) sob a restrição w(S )  m. NP. om = jE j n . para o Veremos mais sobre isso no apítulo 8. : : : . Uma abordagem de programação dinâmi a [CLR92℄ resolve o problema Mo hila: basta onstruir uma tabela W onde Wij é o peso mínimo f1.

: : : . um exemplo. w = (4. : : : . na gura 2. 1. ig e têm valor i 62 S então S é um onjunto de peso mínimo dentre os que estão in luídos em f1. v = (2. Se i 2 S pelo menos j. 2) do problema W que o algoritmo al ula. Abaixo. ng om w(S ) = Wn. 4. 4g e f2. m Mo hila.2. 4.j . wig senão Wij min fWi 1. v. w) 1 para i de 0 a n faça 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 faça se vi  j então Wij min fWi 1. A gura exibe a tabela As linhas 7 a 9 são fá eis de entender. 1). então Wij = 1.j até que Wnj > m seja S um sub onjunto de f1. n. 3.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 9 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. 3. 1. 2.3 Mo hila 11 i varia de 0 a n e j de 0 ao valor ótimo opt(m. Suponha que de peso mínimo dentre os que estão in luídos em S é um onjunto f1. Se .2: Apli ação do algoritmo Mo hila-Exato à instân ia = 7. : : : . 2. wi + Wi 1. 5g. 3. segue o algoritmo e. O valor ótimo dessa instân ia é 9 e existem duas soluções ótimas: f1. w) do problema mais 1. n. Aqui Algoritmo Mo hila-Exato (m. Se não há sub onjunto de f1. v. : : : .j . n = 5. ig de valor pelo menos j .2. i 1g e têm valor pelo menos j .

(Se vi  j então S = fig. o número de exe uções das linhas 3 a 10 pode não ser hvi. obtendo uma outra instân ia para a qual o algoritmo Mo hila-Exato onsome tempo polinomial em m. uma vez que todo sub onjunto S de f1. Vamos ver -aproximação polinomial para o problema Mo hila. : : : . esse número é v1 +1 hv1i = O(log v1). u. v. Não é difí il veri ar que as linhas 11 a 12 podem ser exe utadas em tempo de tempo do algoritmo não ultrapassa . 1) (1 ") . v. senão # maxi : wi m vi  "#=n para i de 1 a n faça ui bvi= S Mo hila-Exato (m. O seguinte algoritmo. onde i : wi m vi . se n = 1 e m > v1. Podemos dizer entretanto que o algoritmo Mo hi- la-Exato onsome tempo propor ional ao número de omponentes da matriz W. : : : . n. podemos interromper os então ál ulos. (m. faz uma mudança de es ala nos valores de uma instân ia (m. n. proposto por Ibarra e Kim [IK75℄. Esquema de aproximação Seja " um número ra ional no intervalo aberto agora omo usar o Mo hila-Exato para obter uma (0. v. A bem da verdade.Algoritmos Clássi os 12 S nfig é um onjunto de peso mínimo dentre os que estão in luídos em f1. Por exemplo. observe que Wnj  Wnk para todo k  j . hvi e hwi. Assim. w) do problema. o problema Mo hila polinomial em enquanto que é NP-difí il [GJ79℄. n. w) 1 se wi > m para todo i 2 #  3 4 5 6 7 então devolva . Infelizmente. 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 ). ng que satisfaz v (S )  k também satisfaz v (S )  j . então Wnk > m para todo k > j e. portanto. w) devolva S . i 1g e têm valor pelo menos j vi . Algoritmo Mo hila-IK" (m. Assim o onsumo total é . Esse número é limitado por v := P (n + 1)(v + 1) .) Para justi ar a ondição de parada na linha 10. n. n. se Wnj > m.

n. (2. temos o seguinte. w) . u. v. polynomial-time approximati- . P Quanto ao tempo de exe ução do algoritmo. 2 linha ui 6 onsome tempo  vi=  n=". A O(n(u + 1)). v. u.5) = v(S  ) "#  (1 ")opt(m.6) vale por (2. uma solução ótima do problema Mo hila i2S bx (m.6) S é uma solução ótima do problema Moui > vi = 1 para todo i em S  . w ). v.3 : O algoritmo Mo hila-IK" é uma ximação polinomial para o problema Mo hila.5) vale pois Finalmente. então Demonstração: O onjunto P i2S vi  P ui Pi2S   Pi2S ui   i2S ( vi 1) = v(S  )  jS  j  v(S  )  n (2.3) Essa delimitação é usada na análise do algoritmo. Se S é uma solução ótima do Mo hila(m. v. n. n. Como temos que Mo hila SPé bx é o maior inteiro que não ex ede x. Teorema 2. O valor do objeto mais valioso ujo peso não ex ede a apa idade da mo hila. w) .  m. que é o número ótimo do problema: #. S é uma solução viável do problema wi (m. para ada " ra ional no intervalo que onsome tempo polinomial em hila (m.3 Mo hila 13 Na linha 5 do algoritmo. ou seja.3). Assim u  n2 =" e 3 portanto o Mo hila-IK" onsome tempo O (n ="). para todo Note que o algoritmo Mo hila-IK" é um esquema que nos forne e. w) : A desigualdade (2. n. onde u := i : wi m ui . uma ( apítulo 8). w) . é uma delimitação inferior para o valor opt(m. n.2. Já (2. w)  # : (2. Mas i tal que wi  m. 1) (1 ") -aproximação para resolver a instân ia Mo- Assim. v.4) (2. Mo hila-IK" é onhe ido um esquema de aproximação plenamente polinomial (fully on s heme ) . n. n=" (0. (1 ")-apro- S na linha 6 do algoritmo é uma solução  ótima do problema Mo hila(m. w). n. n. . u.4) vale pois (m. w) hila (2.

A diferença entre os dois algoritmos está apenas na políti a truir uma árvore geradora . abordamos um problema que surge em várias apli ações práti as. Nesta seção. (2) a res entar novas arestas a T 0 para obter um novo grafo T ujos vérti es têm grau par. O problema é NP-difí il [GJ79℄. Ele é NP-difí il mesmo se e 2 f1. O blema do aixeiro viajante (traveling salesman problem ). A estratégia utilizada pelos dois algoritmos tem quatro passos: (1) ons- T de G. em parte graças às onexões om vários outros problemas de otimização. determinar um ir uito hamiltoniano C que minimize (C ). ) asso iado a Dizemos que os ustos satisfazem a em que angular é onhe ido omo desigual-  ij + jk i. É onveniente formalizar o problema na linguagem de teoria dos grafos (apêndi e A). j e k. onforme veremos no apítulo 8. onvém re orrer ao on eito de ir uito hamiltoniano: um ir uito que ontém todos os vérti es do grafo. Em parti ular. (2. não se onhe e um algoritmo de aproximação om razão onstante para o problema. Dis utimos a seguir dois algoritmos de aproximação para o TSPM.Algoritmos Clássi os 14 2. Caixeiro viajante métri o Suponha que o grafo ij de vérti es.4 Caixeiro viajante Nesta seção. TSP : Esse é talvez o mais famoso problema de otimização ombinatória. pro- denotado por TSP. omo a perfuração de pla as de ir uito impresso e a determinação de rotas de transporte de usto mínimo. ) Dados um grafo G e um usto e em Q  para ada aresta e. Informalmente.7) O TSP restrito ao onjunto de G é ompleto e satisfaz a desigualdade triproblema do aixeiro viajante métri o e será denotado aqui por TSPM. Além disso. é denido da seguinte maneira: Problema (G. e (4) obter um ir uito hamiltoniano em G a partir de P . 2g para toda aresta e [GJ79℄. (3) obter um 0 i lo euleriano P em T . nos restringimos a um aso parti ular do TSP que admite algoritmo de aproximação om razão onstante. o problema onsiste em determinar uma rota de omprimento mínimo que passe exatamente uma vez em ada um dos pontos de um onjunto dado. dade triangular se ada par G é ompleto e temos um usto ij ik para quaisquer três vérti es instân ias TSPM (G.

vm ) de vérti es do i lo gerador.2. Isso pode ser realizado pelo seguinte pro edimento: 1 2 3 4 5 6 w0 n 0 v0 para i de 1 a m faça se vi 2 = fw0 . Um i lo euleriano em um grafo ou multigrafo lo que ontém todas as arestas de T 0. : : : . Portanto. Como o grafo subja ente é ompleto. onde S pode ser um ir- uito.4 Caixeiro viajante 15 adotada para a res entar novas arestas à árvore Chamamos o número T.8) Existem algoritmos simples e e ientes [BM76. um aminho ou um onjunto de arestas. um i lo. ) : se removemos uma aresta de um ir uito hamiltoniano te- mos uma árvore geradora de usto não superior ao do ir uito. São bem onhe idos os algoritmos [AHU74℄ que onstroem um i lo euleriano em um multigrafo onexo sem vérti es de grau ímpar. tempo do algoritmo 2 é O (n ). ou seja. CLR92℄ para onstruir uma árvore geradora de usto mínimo em um grafo onexo. opt(G. onde ET T +F di e A). Para os propósitos do passo 3. em um ir uito hamiltoniano. ada aresta do multigrafo T +F tem um usto bem denido. O onsumo de tempo do algoritmo é propor ional ao número de arestas do multigrafo. v1 . )  (T ) : (2. O passo 4 da estratégia transforma um i lo gerador. T0 é qualquer i- Um multigrafo onexo T0 tem um i lo euleriano se e somente se ada um de seus vérti es tem grau par [BM76℄. : : : . Para qualquer onjunto F de pares não-ordenados de vérti es [: F denota o multi onjunto que tem duas ópias de ada elemento de ET \ F (apên- de T. Uma árvore geradora de usto mí- nimo dá uma boa delimitação inferior para o valor ótimo do problema TSPM (G. um i lo que ontém todos os vérti es do multigrafo. MST A operação a que se refere o passo 2 pode ser formalizada da seguinte maneira. ET [: F ) . (S ) de usto de S . seja T +F o multigrafo (VT . designar por MST um algoritmo qualquer desse tipo. uma árvore. O pro edimento é simples: basta extrair uma subseqüên ia maximal sem vérti es repetidos da seqüên ia (v0 . onde Vamos O onsumo de n é o número de vérti es do grafo. O passo 1 da estratégia envolve uma árvore geradora de usto mínimo (minimum- ost spanning tree ). vamos designar por Euler um algoritmo Euler qualquer desse tipo. wn g então n n + 1 wn vi Atalho .

Stearns e Lewis No algoritmo des rito a seguir. Graças à desigualdade triangular (2. por (2. Teorema 2.4 : O algoritmo polinomial para o TSPM. O ir uito devolvido por Atalho na linha 4 é. ) 1 T MST (G. portanto. O algoritmo apare e em um artigo de Rosenkrantz. (C )  (P ) = 2 (T )  2opt(G. Demonstração: Como (P ) = 2 (T ).Algoritmos Clássi os 16 (w0 . a seqüên ia dene um ir uito. o usto do ir uito resultante é maior que o do i lo dado P: C não (C )  (P ) : (2. Como o onjunto de vérti es de C de T 0 é VG . vi+1 . temos que Então. todo vérti e de T 0 tem grau par e. ) : . w0 ) (wj . wn. Algoritmo TSPM-RSL (G. O tempo gasto pelo pro edimento é propor ional ao número de arestas do i lo dado e portanto ao número de arestas do grafo. T 0 tem um i lo euleriano. o i lo euleriano P é gerador. O ir uito ontém todos os vérti es do grafo. Algoritmo de Rosenkrantz. o multigrafo T 0 (passo 2 da estratégia) é obtido por meio da dupli ação de ada uma das arestas da árvore geradora T. wj+1) (vi . Portanto. w1 . o usto da aresta wj wj +1 não é maior que o usto do segmento. : : : . um ir uito hamiltoniano G.7).9) Denotamos por Atalho (short- ut ) o pro edimento que a abamos de des rever. pois o i lo dado ontém todos os vérti es. O algoritmo Euler determina um tal i lo. então.9). : : : . ) 2 T 0 T + ET 3 P Euler (T 0 ) 4 C Atalho (P ) 5 devolva C Evidentemente.8) e (2. P TSPM-RSL é uma 2-aproximação é um i lo euleriano em T + ET . Stearns e Lewis [RSL77℄. Cada par no ir uito é ligado por um segmento de vérti es onse utivos do i lo. vi+p) Como o grafo é ompleto.

O algoritmo de Christodes [Chr76℄ a res enta à árvore geradora um emparelhamento perfeito no subgrafo de que têm grau ímpar em T. ) 2 seja I o onjunto dos vérti es de grau ímpar de T 3 M Edmonds (G[I ℄. As demais linhas on- O(jVG j). Usando (2. O i lo é gerador pois Teorema 2.5 : O algoritmo TSPM-Christofides aproximação polinomial para o TSPM. O algoritmo de Edmonds [LP86℄. onde n um emparelhamento perfeito de usto mínimo é o número de vérti es do grafo. Em suma. ) 4 T0 T + M 5 P Euler (T 0 ) 6 C Atalho (P ) 7 devolva C Como M é um emparelhamento perfeito em G[I ℄.8). temos que (T ) + (M )  opt(G. todo vérti e de T + M tem grau par e. (C ) Na linha 6 do algoritmo. o algoritmo é polinomial. para on luir que tro lado. portanto. 2 Algoritmo de Christodes Um emparelhamento (mat hing ) em um grafo é um onjunto de arestas sem extremos em omum (ou seja. Edmonds . temos que (C )  (P ). Demonstração: Pre isamos mostrar que 3 opt(G. Por ou (P ) = (T 0 ) = (T ) + (M ). G T induzido pelos vérti es Algoritmo TSPM-Christofides (G. 2  C é uma 32 - tem usto no máximo De a ordo om (2. euleriano. en ontra 3 em tempo O (n ). ) + (M ): Portanto. ). ) 1 T MST (G. C é um ir uito hamiltoniano de G. ada vérti e perten e a no máximo uma das arestas do emparelhamento). o multigrafo T 0 na linha 4 tem um i lo T é geradora. Um emparelhamento M é perfeito se ada vérti e do grafo perten e a uma aresta de M .4 Caixeiro viajante 17 A linha 1 do algoritmo onsome tempo somem tempo O(jVG j2 ). pois o número de arestas de T 0 é menor que 2jVG j.9).2. que denotaremos por Edmonds.

n. sendo que a primeira desigualdade vale porque M é um emparelhamento perfeito de usto mínimo. . Além disso. O algoritmo TSPM-RSL pode ser uma boa alternativa em ertas ir unstân ias: ele onsome menos tempo que o TSPM-Christofides e é bem mais simples. ). A linha 3 onsome tempo onsomem tempo O(jVG j2 ).10) C  uma solução ótima para o TSPM. t) 3 para a qual o algoritmo produz um es alonamento de usto . ED é a união de dois emparelhamentos perfeitos em G[I ℄ mutuamente disjuntos. Como G é ompleto.Algoritmos Clássi os 18 (C )  23 opt(G.10). Proposto em 1976. a seqüên ia D := (u1 . n.2 Considere a variante do algoritmo de Graham que olo a as tarefas em ordem não-de res ente de tempo antes de omeçar o pro esso de es alonamento. t) 4 opt(m. enquanto que as demais linhas 2 Portanto. o algoritmo é polinomial. 2. O(jVG j3 ). : : : . basta mostrar que opt(G. u2k os vér ti es de I na ordem em que apare em em C . ) . Seja 2 (M )  (M 0 ) + (M 00 ) = (D)  (C  ) = opt(G.1 Mostre que o algoritmo Es alonamento-Graham razão de aproximação 2 1. t) tem exiba uma instân ia para a qual o algoritmo produz um es alonamento que atinge tal razão em relação ao ótimo.7) garante que (D )  (C ). (m. D pode ser obtido de C pela substituição de ada segmen to de C que liga ui a ui+1 pela aresta ui ui+1 de G. n. m Para ada m. TSPM-Christofides é ainda o melhor algoritmo de aproximação onhe ido para o TSPM. omo D tem omprimento par. pois não envolve a determinação de um emparelhamento perfeito de usto mínimo. 2. Exer í ios 2. Exiba uma instân ia (m. u2 . Mostre que essa variante é uma 4=3 -aproxi- mação polinomial para o Es alonamento. digamos M 0 e M 00 . u1 ) é um ir uito em G[I ℄. Isso ompleta a prova de (2. )  2 (M ) : (2. Logo. u2k . Em outras  palavras. : : : . A desigualdade  triangular (2.3 Es reva uma versão iterativa do algoritmo MinCC-Chvátal. Sejam u1 . u2 .

en ontrar uma partição B de . v. uma 2. ): Dados um inteiro positivo n e. instân ias (E.9 O problema do empa otamento unidimensional (bin pa king problem ) onsiste no seguinte: Problema Empa otamento (n. um número ra ional i no intervalo fe hado [0. S. um peso we em Q  para ada e em E . k): Dados um onjunto nito E .6 Lembre-se que ln x  1 + ln n. Deduza daí que Con lua que o algoritmo MinCC-Chvátal é O(log n)-aproximação polinomial para o MinCC (E. é a primitiva da função 1=x . 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. n. S. uma oleção S de sub onjuntos de E e um inteiro não-negativo k SjSj. 1℄. : : : . en ontrar uma sub oleção T de B tal que jT j = k e w( T ) é máximo. onde i . onde e é a base dos logaritmos naturais. ). Considere o seguinte algoritmo guloso para o problema da mo hila: sele ione um a um os objetos j ujo valor de vj =wj é máximo até que a apa idade da mo hila seja atingida ou todos os objetos já foram onsiderados. 1 (1 (1 e 1 . para as quais o usto da obertura produzida pelo algoritmo MinCC-Chvátal pode hegar arbitrariamente perto de 2. 2. ou seja.5 Construa instân ias do MinCC om ustos unitários. n. Este problema é NP-difí il [GJ79℄. 2. onde n := jE j. S. ) S om =1 para todo S em S. onde n := jE j > 1. Mostre que este algoritmo não tem razão de aproximação onstante. para ada i em f1. 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.63-aproximação para o MaxCC. ng. S. n. ou seja. ). e on lua que esse algoritmo é uma 0.4 O 19 problema da obertura máxima blem ) (maximum overage pro- onsiste no seguinte: Problema MaxCC (E. Hn Hn opt(E. exiba uma família de instân ias (m. v. w) é arbitrariamente pequena.Exer í ios 2.8 O(n + v ). v. w.7 (m. w) do problema para as quais a razão entre o valor da solução produzida pelo algoritmo e opt(m.

queremos um aminho hamiltoniano de usto mínimo dentre os que omeçam em um dado vérti e s. ) do para as quais o usto do ir uito hamiltoniano obtido pelo algoritmo TSPM-RSL pode ser arbitrariamente próximo de família de instân ias (G. Algoritmo Empa otamento-Next-Fit (n. Mostre que o algoritmo abaixo é uma 2 -aproximação polinomial para o Empa- otamento.Algoritmos Clássi os 20 f1. Este problema é NP-difí il no sentido forte [GJ79℄.10 Construa uma família de instân ias (G. ). Exiba uma instân ia (n. : : : . as notas de aula de Williamson [Wil98℄ e o relatório . 2. ) TSPM 2opt(G.12 Mostre que os algoritmos TSPM-RSL e TSPM-Christofides podem produzir péssimos resultados se apli ados a instân ias do TSP que não satisfazem a desigualdade triangular. i de 1 a n faça se i  1 (Bk ) então Bk Bk [ fig senão k k+1 Bk fig devolva fB1 . Na primeira. o livro de Cormen et al. : : : . ng tal que (B )  1 para todo B em B e jBj seja mínimo. 2. ) . Bk g 2. ) para a qual o algoritmo B tal que jBj = 2opt(n. Notas bibliográ as A primeira versão desse apítulo teve por base o livro editado por Ho hbaum [Ho 97℄. ) 1 k 1 produz uma partição 2 Bk 3 para 4 5 6 7 8 . que- remos um aminho hamiltoniano de usto mínimo dentre os que omeçam em um dado vérti e s e terminam em um dado vérti e t. Modique o algoritmo de Christodes para que ele seja um algoritmo de aproximação om razão menor que 2 para ada uma destas variantes. bus amos um aminho hamiltoniano de usto mínimo no grafo dado.11 Considere as três seguintes variantes do TSPM. Na ter eira. [CLR92℄. ). Na segunda. o texto de Gui- marães [Gui98℄. Construa uma do TSPM para as quais o usto do ir uito hamiltoniano obtido pelo algoritmo de Christodes pode ser arbitrariamente próximo de 3 2 opt(G.

dis ute várias té ni as. . é uma oletânea de instân ias do TSP de diversos tamanhos e tipos. estudando oberturas em hipergrafos. O livro de Martello e Toth [MT90℄ é uma ex elente resenha do estado-da-arte para muitas dessas variantes. foi estudado primeiramente por Johnson [Joh74℄. O exer í io 2. desta amos a heurísti a de Lin e Kernighan [LK73℄ e os métodos bran h-and- ut. foi re entemente obtido por Kellerer [KP99℄. Para o problema do es alonamento em máquinas idênti as. onde né o número de elementos no onjunto que se quer obrir. Ela é usada em estudos omparativos da e iên ia e e á ia de novas heurísti as e algoritmos de aproximação para o TSP. O problema da obertura mínima por onjuntos. Lovász [Lov75℄. esto ásti a. [LLRS90℄.4 foi extraído do livro de Vazirani [Vaz01℄. O TSP é onsiderado um problema entral na área de otimização ombinatória. O algoritmo apresentado na seção 2. devida a Jünger. ou seja. que baseiam-se em um poliedro asso iado ao TSP [ABCC98℄. que apresentou uma (1 + ln n) -aproximação. Dentre essas.1 é onhe- ional positivo ido omo list s heduling. obteve esse mesmo resultado. que onsome menos tempo e espaço do que os anteriormente onhe idos. O livro editado por Lawler et al. ompleta e atualizada até 1985. Ho hbaum e Shmoys [HS88℄ obtiveram um esquema de aproximação polinomial. no aso espe ial em que todos os ustos são unitários. multidimensional).Notas bibliográfi as 21 té ni o de Christodes [Chr76℄. O algoritmo MinCC-Chvátal apli ado a essas instân ias espe iais oin ide om esse algoritmo. Reinelt e Rinaldi [JRR95℄.2 foi proposto por Graham [Gra69℄. Uma resenha mais re ente. A bibliote a TSPLIB. forne e uma resenha uni ada. Uma boa amostra dessas variantes e suas apli ações en ontra-se no livro de Bru ker [Bru98℄ e no livro editado por Chrétienne et al. mantida por Reinelt [Rei00℄. O problema da mo hila tem diversas variantes ( om pre edên ia. on entrando-se naquelas que têm se mostrado mais e azes para resolver instân ias do TSP que surgem na práti a. Diversas variantes do problema são dis uti- das na literatura. [CJLL95℄. uma (1+") -aproximação polinomial para todo número ra- " xo. Entre outras oisas. O algoritmo des rito no exer í io 2. om ontri- buições de diversos autores. o livro apresenta resultados omputa ionais sobre implementações de vários algoritmos exatos e de aproximação e ontém um disquete om os ódigos das implementações. Um esquema de aproximação plenamente polinomial para o problema da mo hila. não-linear.

Um algoritmo de aproximação para o problema do aminho hamiltoniano de usto mínimo. Arora et al. . independentemente. nos moldes do algoritmo de Christodes. logo em seguida. LP86℄ para en ontrar um emparelhamento perfeito de usto mínimo é um mar o na teoria algorítmi a dos grafos e está ligado às origens da teoria de omplexidade (apêndi e E). + [AGK 98℄ apresentaram um esquema de aproximação polinomial para o TSPM restrito a grafos planares. foi projetado por Hoogeveen [Hoo91℄ (exer í io 2.11). O sosti ado algoritmo de Edmonds [Edm65a. Edm65b. por Mit hell [Mit99℄.Algoritmos Clássi os 22 Um esquema de aproximação polinomial para a versão eu lidiana do TSP em dimensão xa foi obtido por Arora [Aro98℄ e.

A té ni a pode dar bons resultados não só om programas lineares. 3. ela pode forne er boas delimitações para o valor ótimo do problema em questão e. Neste apítulo e nos próximos três. omo já vimos. já dis utido na seção 2. Além disso. podem resultar em bons algoritmos de aproximação. vamos apli ar a té ni a do arredondamento ao problema da obertura mínima por onjuntos. Esta té ni a onsiste em arredondar uma solução ótima de um programa linear que represente o problema original.2. mostramos omo programação linear (apêndi e C) pode ser usada na riação de bons algoritmos de aproximação.1 Té ni a do arredondamento Uma té ni a simples mas às vezes e az é a do arredondamento. omo a programação dinâmi a e o método guloso. ne essitamos de um programa linear que seja uma relaxação do problema de otimização: ada solução viável do problema ombinatório deve orresponder a uma solução viável do programa linear.Capítulo 3 Método Primal Vimos no apítulo anterior que té ni as bem onhe idas de projeto de algoritmos. Nesta seção. 23 . Para riar um algoritmo de aproximação baseado em programação linear. tais delimitações são essen iais para a análise da qualidade da solução produzida por um algoritmo de aproximação. omo veremos no apítulo 7. Programação linear é uma ferramenta útil pois existem bons algoritmos para resolver programas lineares.

1).3. ou seja. ) Dados um onjunto nito E . pelo teorema forte da dualidade (teorema C. para ada S em S : (3. Ao arredondarmos os valores desses omponentes de maneira apropriada. en ontrar uma obertura T de E que minimize (T ). )  x^ para toda solução ótima x^ de (3. Se todos os omponentes de uma solução ótima oleção (3.1) tem uma solução ótima ra ional.1) para ada S em S e. O programa linear (3. uma oleção nita S de onjuntos nitos que obre E e um usto S em Q  para ada S em S.1) é limitado. temos a seguinte delimitação inferior para o valor ótimo do problema MinCC (E. obertura de de analisamos uma possível maneira de realizar este arredondamento. para ada e em E .1). Considere o seguinte programa linear: en ontrar um vetor minimize sob as restrições x indexado por S que x P S : e2S xS xS  1  0 e em E . S. apêndi e C). Como o vetor ara terísti o de qualquer obertura de E é viável em (3. Em geral. xS para ada Assim.2) x^ são inteiros. podemos obter uma obertura de E .Método Primal 24 Problema (E. S.1). porém. MinCC : Para apli ar a té ni a do arredondamento. pre isamos formular um programa linear que represente o MinCC. a sub- fS 2 S : x^S > 0g é uma solução ótima do MinCC. S.1). . A seguir. pois x  0 para qualquer solução viável x de (3. vários omponentes x^ são fra ionários. uma restrição que orresponde à exigên ia de que e seja oberto. é uma E de usto mínimo. tem-se uma variável satisfaz as restrições de (3. e é viável já que o vetor ara terísti o de S Neste programa. ) : opt(E. o programa (3.

isto é. seja fe a freqüên ia de e em S. e em E . Seja . o número S aos quais e perten e.

Como S obre E . temos que . a maior das freqüên ias.

O próximo algoritmo. es olhe um onjunto S em S para fazer parte da obertura se e somente se o valor da variável x ^S é pelo menos 1=. > 0. projetado por Ho hbaum [Ho 82℄.

Para ada de elementos de . .

2 Té ni a métri a 25 Algoritmo MinCC-Ho hbaum (E. ) 1 seja x^ uma solução ótima ra ional de (3.3.1) 2 para ada e em E faça fe jfS 2 S : e 2 S gj 3 . S.

maxe2E fe 4 T fS 2 S : x^S  1=.

Cada e em . omo passamos a mostrar. g 5 devolva T T é uma obertura.

onjuntos de S. juntamente om P a restrição x  1. garante que x^S  1=. Este fato.

Teorema 3. T é uma E A oleção perten e a no máximo obertura de E. T ontém algum S que ontém e. ou seja.1 : O algoritmo MinCC-Ho hbaum é uma . Portanto. para algum S que S : e2S S ontém e.

-aproximação polinomial para o MinCC (E. ). onde . S.

é o número máximo 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^  .

) . onde a primeira desigualdade vale pois . opt(E. S.

As demais linhas laramente também podem ser exe utadas em tempo polinomial em polinomial. x ^S  1 para todo S em T e a Demonstração: O usto da obertura P P última vale por (3. Desta vez. Assim. .2 Té ni a métri a x^ de um programa linear asso iado ao problema ombinatório.1) tem ções xS tempo polinomial (fato C. portanto. usaremos uma solução ótima Vamos des rever a apli ação dessa té ni a ao problema do multi orte mínimo. a linha 1 do algoritmo pode ser exe utada em tempo polinomial. o tamanho do sistema (3. x ^ é um vetor indexado pelas arestas de um grafo e ada omponente x ^e será interpretado omo o omprimento da aresta e. o algoritmo é 3. Dados um grafo G e um onjunto K de pares de vérti es. jSj variáveis e jE j restrições (as restri 0 são implí itas) e.1) é (jSj + 1)jE j + h i. Como na seção anterior.2). Como programas lineares podem ser resolvidos em O programa linear (3. 2 jE j e jSj.4).

K.3) e portanto opt(G.3). Um onjunto M de arestas é um K -multi orte se não existe K - aminho no grafo G M . O algoritmo abaixo foi on ebido por Garg. Vazirani e Yannakakis [GVY96℄ e forne e a melhor razão de aproximação onhe ida para o MinMCut. )  x^ x^ para qualquer solução ótima (3. k Algoritmo MinMCut-GVY (G. Dahlhaus também existe um et al. o programa (3. de a ordo om o teorema forte da dualidade. A relação entre este programa e o MinMCut é simples: o vetor ara terísti o de qualquer K -multi orte é viável em (3. em aso ontrário.3) para qualquer de (3. Há um bem onhe ido algoritmo polinomial [AMO93℄ para o aso em que jK j = 1. algoritmo polinomial [Hu63. O problema do multi orte mínimo (minimum multi ut dizemos que um aminho de problem ) onsiste no seguinte: Problema MinMCut (G.3) tem uma solução ótima ra ional. Ele supõe que K 6= . tg 2 K . Ita78℄. x^) 4 devolva M .3) e x  0 x indexado (3. K. en ontrar um K -multi orte M que minimize (M ). K. . Portanto. um onjunto K de pares de vérti es e um usto e em Q  para ada aresta e. o problema é trivial. ): Dados um grafo G.3) 2 k jK j 3 M Central (G. k.3).4) de (3.. K.Método Primal 26 s a t é um K - aminho se fs. para ada e em EG : para ada é viável em (3. Denote por P o onjunto de todos os K - aminhos e onsidere o se- guinte problema de programação linear: en ontrar um vetor por EG que minimize sob as restrições O vetor ara terísti o de solução viável x x x(EP ) xe EG  1  0 P em P . Para o aso em que jK j = 2. [DJP+ 94℄ mostraram que o problema é NP-difí il mesmo quando restrito às instân ias em que P jK j = 3. ) 1 seja x^ uma solução ótima ra ional de (3.

4).6) (S. x satisfaz todas as restrições de (3. o vetor x não satisfaz a restrição de (3. ) : O número de restrições do programa (3.5) Teorema 3. um inteiro k  1. um vetor ra ional e um vetor ra ional não-negativo x tal que x(EP )  1 para todo K - aminho P . tiver omprimento menor que 1. O algoritmo Central re ebe um grafo onjunto K de no máximo Dado o aráter re ursivo do algoritmo. Do ontrário.2 Té ni a métri a 27 O algoritmo Central.5): o algoritmo Central produz um (M ) K -multi orte M  (2ln 2k)(1 + k1 jK j) x : Para obter um tal multi orte. 2 onsome tempo polinomial em Algoritmo entral G. sendo k := jK j > 0. al ule um aminho de omprimento mínimo de s a t para ada fs. Ainda assim.3) orrespondente a P . tg em K .3. já que temos um algoritmo de xe omo omprimento da e. que detalhamos adiante. Esse algoritmo de separação onsome tempo polinomial em hGi (use o algoritmo de separação (apêndi e C) para (3. a linha 3 hGi + h i + hx^i e portanto polinomial em hGi + h i. Central al ula uma partição tal que (3. por exemplo) e portanto a linha 1 do algoritmo pode ser exe utada em tempo polinomial em A solução hGi + h i. Como mostraremos ao analisar o algoritmo Central. T ) de S T .3): interprete aresta Dijkstra [AMO93℄. produz um multi orte M K- tal que (M )  (4ln 2k) x : (3. a linha 1 do algoritmo MinMCut-GVY pode ser exe utada em tempo polinomial em hGi + h i. o usto orte M (M ) do multi- que o algoritmo devolve satisfaz (M )  (4ln 2k) x^  (4ln 2k)opt(G.3) pode ser exponen ial em jVG j.3). x^ é ra ional e hx^i é limitado por um polinmio em hGi (fa- to C. Demonstração: Em virtude de (3. ). podemos on luir que o algoritmo MinMCut-GVY é polinomial. um k pares de vérti es. Assim. Se algum destes aminhos. K.5) e (3.2 : O algoritmo MinMCut-GVY é uma (4ln 2k)aproximação polinomial para o MinMCut (G.4). é ne essário renar a espe i ação (3. digamos P . K.

) o volume da parte da tubulação que dista no #(s. re ursivamente.Método Primal 28 VG A B x(s. sendo #(s. Æ(S ). ) K de modo a man(S. u) := minP x(EP ). v)  g : Imagine que as arestas do grafo são tubos. B ). . B ) ter razoavelmente pequeno. Podemos interpretar x(s. respe tivamente. O algoritmo é então apli ado. u) = 1 se não existe aminho de s a u). ) := fv 2 VG : x(s. denotamos por V (s. de extremos em Para des rever o algoritmo Central. s e u. u)) . Algoritmo Central (G. ao onjunto de arestas A := EG[S ℄ . vn ) para i de 1 a n faça pi x(s. ) e A e xA são as restrições de e x. seja V (s. u) omo a distân ia de s a u. senão se x = 0 então devolva fe 2 EG : xe > 0g senão sejam s e t os extremos de um K - aminho seja v1 . )  x qualquer que seja . K. S := V (s. onde o mínimo é tomado sobre todos os aminhos P de s a u (é laro que x(s. 2 3 4 5 6 7 pi 8 9 10 11 12 então devolva . vi ) 1 + maxfi : pi = 0g enquanto #(s. A partição EG . T ) induz a partição que separe os dois vérti es de algum par em (Æ(S )) (A. É laro que #(s. Para qualquer número . x) 1 se K = . pre isamos de alguma nota- x(s. Para quaisquer vérti es ou seja. ção. ao grafo (VG . : : : . k. onde A é o onjunto das arestas que têm ambos os S e B é o onjunto das arestas que têm ambos os extremos em T . xe o omprimento e Com essa interpretação em #(s. ) e a área da se ção transversal do tubo mente. onde Agora estamos prontos para des rever o algoritmo Central. denote por máximo  de s: e. v1 )      x(s. vn uma ordenação dos vérti es tal que x(s. pj 1 ) j j . ) o onjunto de todos os vérti es à distân ia no máximo  de s. u2S uv ( x(s. ) := A xA + P uv2Æ(S ). u) V (s. pj ) > ((2k )2p 1) k1 x faça j j +1 S V (s.

Claramente. temos x(s. pj 1) = #(s. os vetores B e xB são as restrições de e x Na linha 16. temos  (Æ(S ))  (2ln 2k) A xA + Æ(S ) xÆ(S ) + k1 x . t)  1. Como . xB é não-negativo e xB (EP )  1 para todo KB - aminho P em GB . após as linhas 10 e 11. 0) = 0 = ((2k)0 1) k1 x . pj )  ((2k)2pj (3. Suponha pois Então.2 Té ni a métri a 29 T VG n S B EG[T ℄ GB (VG . Demonstração: É pre iso veri ar que. ainda supondo . dizemos que 0 0 um de s e t . No m da linha 9. p1 ) = #(s. t0 g : S separa s0 de t0 g MB Central (GB . temos que j em virtude das linhas 10 e 11. temos que (3. temos que Além disso. Lema 3. omo 1) k1 x  ((2k)2 p1 e e . Disso segue que pj . a B . #(s. Na linha 17. s) = 0 pn  pn  1 k  1 1) k1 x > (2k 1) k1 x  x  #(s. KB . pj 1 < pj .3 : Ao m da linha que  12 do algoritmo Central.9) valem enquanto que em virtude das linhas 10 e 11. que 1 1) 1 x k 1) 1 x : j = 2. pn) : pois Após as linhas 10 e 11. após as linhas 10 e 11. . onde A e xA são as restrições de e x ao onjunto A := EG[S ℄ enquanto Æ(S ) e xÆ(S ) são as restrições de e x a Æ (S ). . #(s.7) e (3. k. B .7) vale.9) k 2jn pj 1 = p1 = 0 < pj j=2 #(s. Agora analisemos o aso em que . xB ) devolva Æ (S ) [ MB 13 14 15 16 17 18 GB S separa s0 de t0 se S ontém exatamente Na linha 17.8) e (3. em virtude da linha 9. as ondições de apli abilidade do algoritmo Central estão satisfeitas: jKB j  jK j  k. pelas linhas 6 e 7. pj 1 )  ((2k)2pj #(s. (3. pj )  ((2k)2p 1) k1 x j>2 pj 1 6= pj pj 1  Como já vimos a ima. ((2k)2p n 2jn = x(s.3.8) (3. respe tivamente. B ) KB K n ffs0 .

pj 1) + k1 x) = p d = ln(#(s. Para isso. ) + k1 x) d d p Zp1 (Æ(S )) = 1 d .7). 2 Finalmente.10) e desenvolvendo-o. note que. omo queríamos demonstrar.10). Como S = V (s. p 1 #(s. v)  x(s. ) + k x #(s.9) temos pj 1 ) : esquerdo (3. ) + k1 x  (pj j j j j pois a derivada de (Æ(S )). donde  x(s. . para todo uv em Æ (S ) om u em S . para algum #(s. temos que x(s. )  A xA + Æ(S ) xÆ(S ) .Z pj ) + k1 x) ln(#(s.8) e (3. u) < xuv . u)) P A xA + uv2Æ(S ) uv xuv A xA + Æ(S ) xÆ(S ) . on luímos de (3. pj ). u2S uv ( x(s. obtemos 2(pj pj 1)ln2k = Z pj pj 1 (2ln 2k) d : Como o logaritmo é uma função res ente. ) + x)  (2ln 2k ). que #(s.10) que Z pj pj (Æ(S )) 1 d 1 #(s. pj 1 ) = V (s. ). que não é vazio em virtude 1 de (3. ) + k x  Z pj pj 1 (2ln2k) d :  no intervalo (pj 1. pj ) é Fazendo-se o mesmo om o lado direito de (3. em relação a no intervalo 1 . pj 1) + k1 x Tomando-se o logaritmo  (2k)2(pj natural do lado De (3. temos que (Æ (S ))=(#(s. v) >  e x(s.Método Primal 30 Agora prosseguimos om a prova do lema. obtemos ln(#(s. resta mostrar que #(s.10) de (3. segue que Então. ) =  = P A xA + uv2Æ(S ). u) + xuv . pj ) + k1 x #(s. estamos preparados para apresentar a análise do algoritmo Central. k Para on luir o lema.

K. podemos supor. k. seja o menor natural tal que Tal Agora vamos veri ar que o onjunto devolvido pelo algoritmo é de K = . o algoritmo devolve M := Æ(S ) [ MB . e x > 0. Para quaisquer dois vérti es u e v em S . Demonstração: Vamos omeçar provando que. ou x = 0. Æ (S ) [ MB é um K -multi orte. por hipótese de indução. Como x(EP )  1. s) + x(s.13) pois distân ias satisfazem a desigualdade triangular e vale (3. após a exe ução das linhas 10 e 11. Isso garante o su esso da re ursão na linha 17 e. ph )  x e (2k)2ph 1  k. x(u. on luímos que nha agora que P é um dade (3. e x > 0.4 : O algoritmo Central (G. v)  x(u. Se devolve é um multi orte. que MB é um KB -multi orte no grafo GB . Suponha então que K 6= . Se P tem um vérti e em S . e do lema 3. o algoritmo devolve M := Æ(S ) [ MB . omo ph 1 < 2 pela es olha de h e porque p1 = 0.12) vale. Para isso. pj 1 < 21 : h (3. .11) vale. então também tem pelo menos uma aresta em Æ(S ). v) < 1 . j  h depois da exe ução da linha 11 e. então também é um KB - aminho e. (3.3. a desigualdade (3. portanto. portanto.13) garante que .3. Se K = .11) e onsome tempo polinomial em hGi + h i + hxi. . tem pelo menos uma aresta em MB . x e K . tg está em K mas não em KB . (3. Disso. Supo- K - aminho em G. Como fs. então #(s. então o onjunto vazio que o algoritmo Se x = 0. Se P não tem vérti es em S . t)  1 e p1 = 0. ph)  ((2k)2ph 1) k1 x.2 Té ni a métri a 31 Teorema 3. o onjunto fe 2 EG : xe > 0g é um K -multi orte: omo x(EP )  1 para todo K - aminho P . temos jKB j < jK j. Vamos veri ar que M é um K -multi orte em G.12). pois k  1 e ph  12 . a desigualP tem pelo menos um extremo fora de S . Neste aso. xB e KB no lugar de M . B .. 1 Assim.12) ph  1 2. Como #(s. Neste aso.11) vale om MB . Logo. Suponha agora que K 6= . x) produz um K -multi orte M tal que (M )  (2ln 2k)(1 + k1 jK j) x (3. laramente (3. fato um K -multi orte. h existe e é maior que 1 já que pn  x(s. todo K aminho tem pelo menos uma aresta e om xe > 0.

que o algoritmo onsome tempo polinomial em hGi + h i + hxi. não é difí- hGi. Em espe ial.2 O . 2 il ver que as linhas 1 a 16 onsomem tempo polinomial em e Exer í ios 3. S. A igualdade (3. jK j hxi.15) vale pois jKB j  jK j 1.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. Æ(S ).Método 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.1 Mostre que o algoritmo MinCC-Ho hbaum não tem uma razão de aproximação menor que o número máximo de vezes. Com estas informações. Quanto ao tempo de exe ução do algoritmo Central. Como no lema 3. por indução em jK j. mento de E apare e em onjuntos de uma instân ia (E. A desigualdade (3.16)  (2ln 2k)(1 + k jK j) x : A := EG[S ℄. as linhas 10 e 11 do algoritmo onsomem tempo O(jVG j).14) vale pois (A. a desigualdade (3.16) vale pois B xB  x. B ) é uma partição de EG e portanto A xA + Æ(S ) xÆ(S ) + B xB = x. ) do problema MinCC para a qual o algoritmo devolve uma obertura de usto não inferior a 3.3. é fá il mostrar. Finalmente.

Em outras palavras. que um ele- S. exiba . .

): Dados um grafo G e um usto v em Q  para ada vérti e v. S. onhe ida omo problema da multi obertura mínima por onjuntos (minumum set . ). opt(E. S. Qual a menor razão de aproximação do algoritmo? 3.3 Considere a variante do MinCC (E. en ontrar um onjunto S de vérti 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. problema da obertura mínima por vérti es vertex over problem ) (minimum onsiste no seguinte: Problema MinCV (G. Es reva uma versão espe ializada do MinCC-Ho hbaum para o MinCV. ).

Ita78℄ e. multi ommodity Garg. LLR95℄. introduzido no apítulo 2. em que ada elemento e de E tem asso iado a ele um número re em Z> e a oleção almejada deve onter re onjuntos que ontenham e. := para esta variante do MinCC. Leighton e Rao [LR99℄ introduziram a té ni a métri a em seu artigo sobre o problema do multiuxo uniforme(uniform ow problem ). Srinivasan [Sri99℄ obteve um outro algoritmo para o MinCC usando um tipo de arredondamento probabilísti o ( apítulo 6). Té ni as métri as são usadas em vários trabalhos [AR98. onde resultados nessa linha são apresentados.Notas bibliográfi as 33 multi over problem ). n jE j. O problema da multi obertura por onjuntos. KRAR95.15). omo onseqüên ia. foi onsiderado e analisado por Rajagopalan e Vazirani [RV99℄. Notas bibliográ as A primeira versão deste apítulo baseou-se no livro editado por Ho hbaum [Ho 97℄. Uma 2 - -aproximação . O exer í io 3. Alguns re orrem. de uma maneira muito sosti ada. 3. Qual tem melhor razão de aproximação? 3.3. O MinMCut é NP-difí il também quando restrito a árvores biná- + rias om ustos unitários [CFR98. demonstrando a melhor razão de aproximação que vo ê puder para o algoritmo obtido. apresentado no exer í io 3.5 Aplique a té ni a do arredondamento ao problema Mo hila. K. há um algoritmo polinomial também para este aso. a propriedades métri as de ertas imersões no Rd . obtiveram um algoritmo que é essen ialmente o que apresentamos na seção 3. há uma aproximação polinomial [GVY97℄ (exer í io 5.2. a té ni a de arredondamento tem demonstrado bons resultados. Vazirani e Yannakakis [GVY96℄. baseando-se na abordagem feita por Leighton e Rao. Shm98℄. Para árvores. Para vários outros problemas [CKR00. ) jK j = 2 quando jK j = 1 baseia-se no teorema do uxo máximo e orte mínimo [AMO93. O leitor interessado pode onsultar a resenha de Shmoys [Ho 97℄. Uma variante desse teorema vale no aso em que [Hu63.3 foi tirado do livro de Vazirani [Vaz01℄. ENRS95. O algoritmo que resolve o MinMCut (G. DJP 94℄. FF56℄. Des reva uma Hn -aproximação.4 Compare o algoritmo MinCC-Ho hbaum om o algoritmo MinCC-Chvátal. às ve- zes ombinadas om té ni as probabilísti as. CKR00.

Atualmente a melhor razão de aproximação onhe ida para esse problema é 1. Dahlhaus que o problema é NP-difí il mesmo quando et al. K.3438 [KKS + 99℄. ) Eles projetaram também uma (2 2=jLj)- ser reduzida ao MinMCut se substituirmos o onjunto de todos os pares de vérti es em é NP-difí il quando jK j = 3.) L. (Esta variante pode L pelo onjunto (G. + [DJP 94℄ mostraram jLj = 3. . um onjunto L e. en ontrar um para ada aresta onjunto de arestas de usto mínimo uja remoção deixa ada vérti e de L em um omponente diferente. Disso segue que MinMCut aproximação polinomial para esse problema.3). Uma variante muito interessante do MinMCut é onhe ida omo multiterminal- ut ou multiway- ut : e em Q  de vérti es e um usto dados um grafo G.Método 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 aproximação om razão menor que 2 para o problema MinCV da obertura mínima por vérti es (exer í io 8.

1 Cobertura por vérti es O problema que vamos usar para apresentar o método é o problema G. Esta estratégia de projeto de algoritmos de aproximação é hamada de método dual. en ontrar uma obertura por vérti es S que minimize (S ). ): Dados um grafo G e um usto v em Q  para ada vérti e v. O problema da obertura mínima por vérti es da obertura mínima por vérti es. Considere. a partir desta solução. 4. A sua simpli idade não o impede de ser e az: o método dual produz o melhor algoritmo de aproximação onhe ido para o MinCV. a seguinte relaxação 35 . uma obertura por vérti es é um onjunto de vérti es om pelo menos um dos extremos de ada aresta. pois. o método dual se apli a de forma simples e direta. Para este e outros problemas semelhantes. O método onsiste em obter uma solução ótima do dual de uma relaxação linear do problema original e. produzir uma resposta para o problema original. O problema é NP-difí il mesmo quando o grafo é onexo.Capítulo 4 Método Dual Neste apítulo des revemos omo obter algoritmos de aproximação para um problema de otimização usando o dual de um programa linear que representa o problema em questão. Dado um grafo (vertex over problem ) onsiste no seguinte: Problema MinCV (G. planar e tem grau máximo 4 [GJ79℄.

apêndi e C). x^ para qualquer solução ótima (4.3) de (4.Método Dual 36 linear do MinCV: en ontrar um vetor x xu + xv xv minimize x indexado por VG que  1  0 (4.5) para (4. portanto. ) 1 seja y^ uma solução ótima ra ional de (4. es olha todos os vérsatisfeita om igualdade por y ^.1) e.3. y^ y^ de (4. . Denote dv a folga na restrição em (4.1) uv em EG . Além disso. o vetor ara terísti o de qualquer obertura por vérti es é viável em (4.1) é viável pois o vetor ara terísti o de VG satisfaz as sob as restrições para ada restrições.2) é fá il justi ar essa estratégia a partir das ondições de folgas omple- x^ é uma solução ótima que x ^v > 0 é es olhido. Teorema 4. pelo teorema forte da dualidade (teorema C. ye  0 para ada e em EG : O programa (4. para ada v em VG : O dual deste programa é en ontrar um vetor y indexado por EG que maximize y (EG ) (4.2) tem solução ótima ra ional. É Uma vez obtida uma solução ótima ti es de G uja restrição em (4.2) sob as restrições y (Æ (v ))  v para ada v em VG .2).1) então todo vérti e v tal algoritmo resultante foi proposto por Ho hbaum [Ho 82℄ originalmente para o MinCC. O mentares ( ondição C. Algoritmo MinCV-Ho hbaum (G.2) é viável pois o vetor nulo satisfaz as restrições. Demonstração: Seja por C MinCV-Ho hbaum produz uma o onjunto devolvido pelo algoritmo. que generaliza o MinCV.2) que orresponde ao vérti e v.2). O programa (4. temos que opt(G.1) e (4. )  x^ = y^(EG ) .2): se do programa (4.1) e qualquer solução ótima de (4. Assim.1 : O algoritmo obertura por vérti es. o programa (4.2).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. 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 arbitrária

. Queremos mostrar que

f

. Dena

e seja
e

e distinta de f . Note que
, para
todo vérti e v distinto de i e j . Além disso, para
em
, temos que
y_ (Æ(v)) = y^(Æ(v)) + "  v . Isso signi a que é viável em (4.2). Como
y^ é uma solução ótima de (4.2) e
, temos que
.
Portanto, uma das restrições em (4.2) que orrespondem aos vérti es i e
j não tem folga. Assim, C é uma obertura por vérti es. 2

para toda aresta

A qualidade da solução produzida por este algoritmo é atestada pelo
seguinte teorema.

Teorema 4.2 : O algoritmo MinCV-Ho hbaum é uma 2-aproximação polinomial para o MinCV.
Demonstração: Ao nal do algoritmo,

(C )

=

P

v2C v

=

P

C

é 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 máximo duas vezes na soma: uma vez se
se

j

está em

C.

, a variável

i está em C e outra

A segunda desigualdade vale por (4.3).

O programa linear (4.2) tem

jEGj variáveis e jVG j restrições. 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 então on luir
que o MinCV-Ho hbaum é polinomial. 2

A melhor razão de aproximação onhe ida para o MinCV é 2, ou
seja, não se onhe e um algoritmo para o MinCV melhor, em termos de
razão de aproximação, que o MinCV-Ho hbaum.

Exer í ios
4.1

Mostre que o algoritmo MinCV-Ho hbaum não tem uma razão de

2
(S ) = 2opt(G; )

aproximação menor que

, ou seja, apresente uma instân ia

(G; )

do MinCV para a qual o algoritmo devolva uma obertura por
vérti es
4.2

S

em que

.

Mostre que o algoritmo MinCV-Ho hbaum é diferente do algoritmo sugerido no exer í io 3.2, ou seja, exiba uma instân ia do

Método Dual

38

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

Aplique o método dual ao problema da obertura mínima por onjuntos (MinCC), denido na seção 2.2.

Mostre que o algoritmo

resultante é uma

é o número máximo de

-aproximação,

onde

1).2. 4. deduza o teorema 2. uma aproximação polinomial para o problema. Disso e do teorema fra o da dualidade (lema C. de vezes que um elemento de onsidera uma instân ia E . o problema da obertura mínima por vérti es (MinCV) é um aso espe ial do problema da obertura mínima por onjuntos (MinCC).1) ujo valor é igual ao da obertura produzida pelo algoritmo MinCC-Chvátal. onde máximo em 4. en ontrar um onjunto S de arestas tal que todo vérti e perten e a alguma aresta de S e (S ) é mínimo. en ontre uma solução viável do dual do programa (3. Mostre que o método dual dá uma  -aproximação polinomial para o MinCA. Mais pre isamente. ): Dados um grafo G e um usto e em Q  para ada aresta e.5 G. onjuntos em que um elemento apare e. Este último foi extensivamente investigado por Ho hbaum [Ho 82℄ que apresentou. Notas bibliográ as Como já men ionamos.  é o grau Dê uma prova alternativa do teorema 2.2 que use o dual do programa (3.4 Considere o problema da obertura mínima por arestas (mi- nimum edge over problem ): Problema MinCA (G.1). O MinCA é um aso parti ular fá il do MinCC: existe um algoritmo polinomial que o resolve [Law76℄. Aqui. omo vimos no apítulo 3.

S. ) . apare e em onjuntos de (E.

Além da abordagem primal. Ho hbaum apresentou uma .- é o número máximo S. quando se . vista no apítulo 3.

Hall e Ho hbaum [HH86℄ ob- . -aproximação para o MinCC baseado na formulação dual. Ho hbaum [Ho 97℄ es reveu uma resenha ompleta sobre algoritmos produzidos pelos métodos primal e dual para vários problemas de obertura. Esse algoritmo é essen ialmente uma generalização do que dis utimos para o MinCV. Mais re entemente.

O esquema de aproximação polinomial de Ho hbaum e Shmoys [HS87. baseados tanto no método primal quanto no dual.3). para o problema da multi obertura mínima por onjuntos (exer í io 3.Notas bibliográfi as 39 tiveram algoritmos. A prova alternativa da razão de aproximação do MinCC-Chvátal sugerida no exer í io 4. portanto) que são então onvertidas em boas soluções viáveis. Ela onsiste em en ontrar soluções duais super-ótimas (inviáveis. Essa abordagem difere do método dual aqui des rito. . men ionado nas notas do apítulo 2. usa uma abordagem que eles hamaram de dual approximation. HS88℄ para o Es alonamento.5 deve-se a Chvátal [Chv79℄ e Lovász [Lov75℄.

40 Método Dual .

Nas apli ações do método em otimização ombinatória. omo os que vimos nos apítulos 3 e 4.1 Método primal-dual lássi o Sejam matriz por N. b. esses problemas de viabilidade são muitas vezes outros problemas de otimização ombinatória para os quais são onhe idos algoritmos e ientes.Capítulo 5 Método Primal-Dual Este apítulo apresenta o método primal-dual lássi o e uma generalização dele que tem sido usada om bastante su esso no projeto de algoritmos de aproximação: o método de aproximação primal-dual. A. que será denotado por P(A. para ada j em N : para ada que (5. ) : en ontrar um vetor minimize sob as restrições x (Ax)i xj  bi  0 41 x indexado por N i em M .1) P(A. 5. poten ialmente mais simples. Neste apítulo. um problema de programação linear a uma seqüên ia de problemas de viabilidade. puramente ombina- Por algoritmo puramente ombinatório entenda-se um algoritmo sem uma referên ia explí ita a algum algoritmo de programação linear. ) . não raro tórios. mostramos os algoritmo obtidos da apli ação do método de aproximação primal-dual ao problema da transversal mínima e ao problema da oresta de Steiner. M e N 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 programação linear. apoiando-se nas ondições de folgas omplementares. b. O método primal-dual reduz.

Sejam I (y ) J (y ) I (y) := fi 2 M : yi = 0g e J (y) := fj 2 N : (yA)j = j g : . tem-se que yi = 0 ou (Ax)i = bi : O lema das folgas omplementares (lema C. ). Cada iteração do método omeça om um vetor y em Y (A. ) tal que Y (A.2. ) tais que x = y b. b. para ada índi e ou (yA)j = j i em M . têm folgas omplementares se. b). para todo A idéia geral do método primal-dual é a seguinte. Se um tal vetor x não é en ontrado. tem-se x = y b se e somente se as folgas de x e y são omplementares. O dual do problema indexado por P(A. b) D(A. b) para denotar esse programa linear e Y (A. ) para representar o onjunto de suas soluções viáveis. . pois iteração onsiste no seguinte. o método pára. ) não é vazio. b) Y (A. b) Será usada a abreviatura D(A. . b) e y em Y (A. . O método é iterativo e no iní io de ada iteração tem-se um vetor y viável no programa x viável no prograàs de y . ou (2) um vetor y0 em Y (A. para ada índi e j em N . b) não é onsiste em en ontrar um vetor y que maximize sob as restrições yb (yA)j yi  j  0 j em N . ). x em X (A. ) é o programa primal. b. ). Cada iteração onsiste na pro ura por um vetor ma primal que tem folgas omplementares x e y são soluções ótimas dos programas primal e dual. Se um tal vetor x é dual. respe tivamente. ) Y (A. Dizemos que é o programa dual e P(A. b. o método modi a y para obter um novo vetor z viável no programa dual e omeça uma nova iteração om z no papel de y . ) não é vazio e devolve: (1) vetores x em X (A. O problema D(A. ) M será denotado por é viável se e somente se vazio. Dois vetores x e y .Método Primal-Dual 42 X (A. b) e todo y em Y (A. tem-se que é viável se e somente se xj = 0 e. b. ) X (A. 0) tal que y0 b > 0. para ada i em M : para ada (5. .2) D(A. O problema P(A. ) P(A. O método primal-dual re ebe um sistema (A. indexados por M e N respe tivamente. y é um elemento qualquer de Y (A. apêndi e C) arma que. b) O onjunto das soluções viáveis do problema X (A. No iní io da primeira iteração. Cada en ontrado. b.

b. (Ax)i = bi para ada i em M n I (y) . o método omeça uma nova 0 iteração om y + y no papel de y . Caso ontrário. en ontrar um vetor Método Primal-Dual (A. b.5. b. 0 Seja y uma solução do problema RD(A. b. ). ). o seguinte problema de viabilidade tem solução: y0 indexado por M tal que y0 b > 0 . ) D(A.5. Um tal vetor x está em X (A.1. denotado por RP(A.1 Método primal-dual lássi o 43 problema restrito primal a seguir. Abaixo en ontra-se a des rição do método. donde x = y b. apêndi e C). y ) é viável e seja x uma de suas soluções. pelo lema de Farkas (le- ma C. b) RP(A. é inviável então. ) para todo  positivo 5 então devolva y 0 6 senão seja  o maior número tal que y + y 0 2 Y (A. ) 1 seja y um vetor em Y (A. b. b. apêndi e C). então o programa linear D(A. b) é ilimitado e o método pára após devolver y0 .3) xj  0 para ada j em J (y) . (5. ) 2 enquanto RP(A. Se. b) e tem folgas omplementares às de y . b. de a ordo om o teorema fra o Considere o RP( ) da dualidade (lema C. y ) 4 se y + y 0 2 Y (A. são soluções ótimas do problema P(A.4) yi0  0 para ada i em I (y) : Esse problema é hamado de problema restrito dual e será denotado por RD(A. (5. b. . 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 restrições (5. vetor de inviabilidade para P(A. b. y): en ontrar um vetor x indexado por N tal que (Ax)i  bi para ada i em I (y) . y ) não tem solução faça 3 seja y 0 uma solução do RD(A. b. y ) 9 devolva x e y RD( ) . respe tivamente. Nesta situação o método pára após devolver os vetores x e y que. ). (y0 A)j  0 para ada j em J (y) . para todo núme0 ro positivo  . y) e Se o problema . . b. onde  é o maior número tal que y + y0 está em Y (A. o vetor y + y está em Y (A.3). Suponha que o problema RP(A. y ). ) 7 y y + y0 8 seja x uma solução do RP(A.

Método Primal-Dual 44 5. ) D(A. e . b.2 Método de aproximação primal-dual O método de aproximação primal-dual é semelhante ao método lássi o. e su ientemente próximas Esta proximidade será medida através de folgas aproximadas. b) viáveis dos problemas das soluções ótimas. . om a diferença que o método pára assim que en ontra soluções P(A.

dois números tais que 0 <  1  .

Dizemos que x e y têm 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 têm folgas . .

tem-se que Dizemos que yi = 0 ou dual se. para ada (Ax)i  .-aproximadas no índi e i em M .

Lema 5.1 (das folgas aproximadas): Se os vetores não-negativos x e y satisfazem as ondições de folgas -aproximadas no primal e .bi : O lema a seguir é uma generalização do lema das folgas omplementares.

-aproximadas no dual. então x  .

y b. x  (yA) x = y (Ax)  . Demonstração: Em virtude das folgas aproximadas.

onde a primeira desigualdade segue da não-negatividade de da não-negatividade de y. ) satisfazendo as ondições -aproximadas no primal e . y b . b) e y em Y (A. 2 x e a segunda Uma onseqüên ia imediata do lema das folgas aproximadas é o se- x em X (A.

Para todo de folgas x  (. -aproximadas no dual. tem-se que guinte.

= ) x^ e y b  ( =.

. ) tal que Y (A. b. ) e D(A. O método de aproximação primal-dual re ebe um sistema (A. b). ) não é vazio e dois números e . ) y^ b . b. x^ e y^ são soluções ótimas de P(A. respe tivamente.

tais que 0 <  1  .

) tais que x  . b) e y em Y (A. e devolve: (1) vetores x em X (A.

Cada onde iteração onsiste no seguinte. y b 0 0 ou (2) um vetor y em Y (A. y é um elemento qualquer de Y (A. 0) tal que y b > 0. ). Cada iteração do método omeça om um vetor y em Y (A. No iní io da primeira iteração. ). Sejam .

(Ax)i  . ) := 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 .2 Método de aproximação primal-dual I (y ) I (y) := fi 2 M : yi = 0g e J (y.5.

) .bi para ada i em M n I (y) . y. ) : Será usada a abreviatura RAP(A. b. . xj  0 para ada j em J (y. xj = 0 para ada j em N n J (y. .

b. ) para denotar esse problema. y. . . Se o problema RAP(A.

x é um vetor em X (A. pelo lema das folgas aproximadas. então. b) tal que x  . ) é viável.

denotado por RAD(A. O método omeça um nova iteração om y + y0 no papel de y . b. Se para todo número 0 positivo  tem-se que y + y está em Y (A. ). seja  o maior número tal que y + y0 está em Y (A. y b e o método devolve x e y . b. pelo lema de Farkas. yi0  0 para ada i em I (y) : 0 Seja y uma solução do problema RAD(A. Caso ontrário. vetor de inviabilidade para P(A. . Caso ontrário. ) . ). b. Abaixo en ontra-se a des rição do método. ). . ). ). J (y. y. ) Considere o seguinte trar um vetor Método Aproximação-Primal-Dual (A. b) é ilimitado e o método pára após devolver y0. 0 (y A)j  0 para ada j em J (y. é viável: 0 en ontrar um vetor y indexado por M tal que y0 b > 0 . então o programa linear D(A. o seguinte problema restrito aproximado dual. y. . . b.

. ) 1 seja y um vetor em Y (A. ) 2 enquanto RAP(A. . y. b.

. . b. ) para todo  positivo 5 então devolva y 0 6 senão seja  o maior número tal que y + y 0 2 Y (A. y. ) 7 y y + y0 8 seja x uma solução do RAP(A. ) 4 se y + y 0 2 Y (A. y. b. ) não tem solução faça 3 seja y 0 uma solução do RAD(A.

) e que os vetores x e RAP() RAD( ) . É fá il x está em X (A. ) 9 devolva x e y Suponha que o método pare após devolver os vetores veri ar que x e y. que y está em Y (A. b).

Método Primal-Dual 46 y têm folgas -aproximadas no primal e .

-aproximadas no dual. pelo lema das folgas aproximadas. tem-se x  . Donde.

Assim. já que x  (. b. y b. o vetor y é um erti ado da qualidade de x omo solução viável de P(A. ).

= ) y b  (.

= ) y^ b = (

= ) x^ ;

x^ e y^ são soluções ó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 mínima
S uma oleção nita de sub onjuntos de um onjunto nito E .
Um sub onjunto T de E é uma transversal de S se T \ S é não-vazio
para ada S em S. O problema da transversal mínima (hitting set
Seja

problem )

onsiste no seguinte:

Problema

(E; S; )

Dados um onjunto nito E , uma
oleção 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 ombinatórios são asos parti ulares do MinTC; veja
os exer í ios no m do apítulo. Às vezes, dizemos que
da transversal
transversal de

T.

(T ) é o usto

Com isso, o problema onsiste em en ontrar uma

S de usto mínimo.

(E; S; ):
x indexado por E que
minimize x
(5.5)
sob as restrições x(S )  1 para ada S em S ;
xe  0 para ada e em E :
De fato, o vetor ara terísti o x de qualquer transversal T é um vetor
viável 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 restrições
S : e2S yS  e para ada e em E ;
yS  0 para ada S em S :
Tome

O seguinte programa linear é uma relaxação de MinTC en ontrar um vetor . := maxS 2S jS j e seja y uma solução viável do problema (5.6).

.

5). onsiste em en ontrar um vetor tal que x(S ) x(S ) xe xe Podemos tro ar S  1  .5. asso iado x indexado por E ao proble- ma (5.3 Transversal mínima 47 Sejam ainda I (y) := fS 2 S : yS = 0g J (y) := fe 2 E : P S : e2S yS  e g : O problema restrito aproximado relativo a y.

esse problema pode ser rees rito  1  . para ada S em S n I (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. para ada e em J (y ) .  0 e S em S .

Se sistema (5. então J (y) é J (y) não é uma transversal é evidente que o Se o vetor ara terísti o uma transversal de S. uma oleção e em Q  para ada e em E e devolve uma transversal J de S tal que (J )  . O algoritmo resultante da apli ação do método de aproximação primal-dual ao MinTC é devido a Bar-Yehuda e Even [BYE81℄ e foi originalmente on ebido para o problema da obertura mínima por vér- E .8) J (y) \ R é vazio para algum R. para ada e em E n J (y ) : para ada para ada =0 (5.7) é inviável. S em I (y) : (5.7) x de J (y) é viável em (5. para ada e em J (y ) .7).  0 S em S . para ada para ada e em J (y) . S em S n I (y) . Esta observação é su iente para obter uma solução viável do seguinte problema restrito aproximado dual: en ontrar um vetor y0 indexado por S tal que y0 (S) > 0 S : e2S yS  yS0  P Se 0 0 0 .8). então o vetor ara terísti o y0 de fRg é uma solução de (5.

) portanto o problema MinTC é viável. A ti es. O algoritmo MinTC-BE re ebe um onjunto nito S de sub onjuntos não-vazios de E e um usto des rição do algoritmo supõe que ada sub onjunto de (E. S. opt(E. S não é vazio. ). e . S.

Método Primal-Dual

48

Algoritmo MinTC-BE (E; S; )
1
J fe 2 E : e = 0 g
2
para ada S em S faça yS
0
3
enquanto existe R em S tal que J \ R = ; faça
4
seja y 0 o vetor ara terísti o de fRg
5
seja  o maior número 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

-aproximação
polinomial para o MinTC (E; S; ), onde

:= maxS 2S jS j.
Demonstração: Durante a exe ução do algoritmo,

y

é uma solução

viável do programa linear (5.6). É evidente que o onjunto

J

devolvido

S. Ademais, pela es olha de

. é jJ \S j  .

Logo.5). então (J ) = x  . para ada S em S. se x é o vetor ara terísti o pelo algoritmo é uma transversal de laro que de J e x^ é uma solução ótima de (5.

y b  .

x^  .

embora semelhante em muitos aspe tos ao algoritmo desta seção. ) . Esta melhora se deve em parte à liberdade que o . É on ebível que exista uma transversal propriamente ontida em usto menor que (J ). jJ j res e a ada exe ução da linha 9. S. Ademais. onde a primeira desigualdade segue do lema das folgas aproximadas e a segunda do teorema fra o da dualidade. tem uma razão de aproximação substan ialmente melhor. donde o número de exe uções das linhas 3 a 9 do algoritmo é no máximo jE j. mas não resulta em uma melhor razão de aproximação para o algoritmo MinTC-BE. 2 Temos que A transversal J devolvida pelo algoritmo pode não ser minimal. J de Um pós-pro essamento simples pode extrair de J uma transversal minimal. opt(E. Um tal pós-pro essamento é louvável do ponto de vista práti o. a exe ução de ada linha onsome tempo O (jE jjSj). O método de aproximação primal-dual apli ado a este problema parti ular resultará em um algoritmo que. A próxima seção trata de um problema que é um aso parti ular do MinTC.

4 Floresta de Steiner 49 método deixa para que estruturas espe iais sejam exploradas para. por exemplo.5. determinar os parâmetros e.

4 Floresta de Steiner Seja G um grafo e R-oresta de elemento de G R uma oleção de sub onjuntos de é qualquer oresta geradora de G. Uma tal que todo R está ontido em algum omponente de F . mesmo quando restrito a árvores de Steiner. . V R ontém um só onjun- (G. o mesmo pós-pro essamento que é inoperante para o algoritmo MinTC-BE é ru ial para o algoritmo da próxima seção. S . 5. e es olher o vetor y0 . en ontrar uma R-oresta F que minimize (F ). este fenmeno é ompreensível tendo em vista a maior estrutura da oleção S. O problema MinFS é NP-difí il. Curio- samente.9) A rigor. Quando R está subentendida. e R n S 6= . O problema da oresta de Steiner (Steiner forest problem ) on- siste no seguinte: Problema MinFS (G. Podemos dizer que (F ) é o usto da oresta F . : A oleção de todos os onjuntos ativos será denotada S. R) do problema. para algum por R em R. não há ne essidade de exigir que a oresta seja geradora. adotamos as abreviaturas E := EG e dizemos que um sub onjunto S de V é ativo se Dada uma instân ia := VG e R \ S 6= . o problema onsiste em en ontrar uma oresta de Steiner de usto mínimo. Assim. dizemos simplesmente que ao de 1 F é uma oresta de Steiner R tem um só elemento. É fá il veri ar que uma oresta geradora F de G é uma R-oresta se e somente se ÆF (S ) 6= . de Se F de G VG . R): Dados um grafo G. o on eito de oresta de Steiner reduz-se árvore de Steiner: uma árvore (não ne essariamente geradora) G ujo onjunto de vérti es ontém o úni o onjunto em R. 1 para todo S em S: (5. mas essa ondição é onveniente. omo será visto. mesmo quando a oleção to [GJ79℄. ou seja. . um usto e em Q  para ada aresta e e uma oleção R de sub onjuntos de VG .

é possível obter uma 2 -aproximação se respeitarmos a on- dição (5. om S em S.10) y(S)  x^.10) F . devido a Goemans e Williamson [GW95a℄.12) Essa delimitação inferior de opt(G. de a ordo om o teorema fra o da dualidade.14) em um erto sentido médio. O dual do programa (5. para ada S em S : para ada x^ é uma (5. e em E : (5. Sabemos omo satisfazer a ondição (5. R). . Ainda assim. mas não sabemos omo satisfazer (5.14) x de (5. y(S)  opt(G. R) : (5.11) e então e em E .10) onsiste em en ontrar um vetor y indexado pela oleção S dos sub onjuntos ativos de V que Dada uma oresta de Steiner EF é uma solução viável de (5. Portanto.13). se maximize sob as restrições Se y y(S) P  e  0 S : e2Æ(S ) yS yS é uma solução viável de (5. é evidente que o vetor ara terísti o de x^ é uma solução ótima de (5. Um sub onjunto de V que não F é uma R-oresta se e somente se VT é inativo para ada omponente T de F . . teríamos uma 2 -aproximação para o MinFS. toda oresta de Steiner é uma transversal da oleção de todos Æ(S ) os ortes da forma S é inativo. R) é fundamental para o ál ulo da razão de aproximação do algoritmo que dis utimos mais abaixo. Portanto. O seguinte programa linear é uma relaxação de MinFS (G.Método Primal-Dual 50 Portanto.14).10) então x ^  opt(G.13) -aproximadas no dual exige que sempre que yS > 0 : Se soubéssemos en ontrar uma solução viável viável xe > 0 (5. .11) solução ótima de (5.11) que satiszessem as duas ondições de folgas apro- ximadas.10). A ondição de folgas 1 -aproximadas no primal exige que P S : e2Æ(S ) yS = e 2 x(Æ(S ))  2 e a ondição de folgas sempre que y (5. Considere agora as ondições de folgas aproximadas. . .10) e uma solução de (5. 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 restrições  1  0 para ada para ada S em S .

13). . Denotamos por a oleção dos onjuntos de vérti es dos omponentes ativos de Abusando um pou o da terminologia.15) que orresponde a (5. uma oresta F1 tal que. a oresta F1 e tem algum das variáveis variáveis omponente ativo. . dizemos que um omponente T SF de F é ativo se VT 2 S.10). pro uramos aumentar uniformemente os valores das yS om S em SF de modo a não violar as restrições do programa dual. F. O pro esso iterativo pára quando F não tem omponentes ativos. ainda que de maneira pou o detalhada. (5. ou seja. Dizemos que uma tal aresta é externa à F . omponentes ativos de x(Æ(S ))  1 de (5. isso sugere que devemos a res entar à F alguma das arestas de Æ (S ). que ada onjunto em Algoritmo MinFS-GW (G. A seguir. des revemos o algoritmo formalmente. (G. R) 1 F (V. Esse aumento gradativo de alguns omponentes de y pára quando P a restrição yS  e orrespondente a alguma aresta externa e for satisfeita om igualdade.11) tem o objetivo de maximizar a soma yS . nente de G. é a oleção dos Cada elemento S de SF viola a restrição x é o vetor ara terísti o de F . Resta es lare er omo es olher essa aresta.) 2 para ada S em S faça yS 0 3 4 5 6 enquanto SF 6= . y) -aproximadas S : e2Æ(S ) yS = e para ada e em F . e inativo em aso ontrário. dizemos que SF F. então. Qualquer aresta desse tipo liga dois omponentes distintos de F . es olher uma aresta externa e a res entá-la à F . .5. A aresta e é então a res entada à oresta F . onde Como o programa dual (5. R) é R está ontido em algum ompo- O algoritmo supõe que a instân ia viável.4 Floresta de Steiner 51 Des rição do algoritmo No iní io de ada iteração. faça seja y 0 o vetor ara terísti o de SF seja  o maior número tal que P 0 S : e2Æ(S ) (y + y )S  e para ada aresta externa e SF . Em ada iteração. ou seja. para ada aresta e. temos uma oresta geradora um vetor y indexado por S. Devemos. O algoritmo devolve então uma R-oresta minimal de F .11) e o par G e (F. satisfaz a ondição de folgas P O vetor 1 y F de é viável em (5.

o número de om- de ponentes que assumem valores não-nulos em ada iteração é limitado por jSF j e jSF j < jV j. 0 indexado por S e denido por yS = 1 se e somente se S 2 SF . a oresta portanto é uma é uma 2 F0 G.Método Primal-Dual 52 7 8 9 10 11 12 P 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 não é limitada por uma função polijV j (por exemplo. e dena uv := ( e 2 dois omponentes ativos. Ao não tem omponentes ativos e R-oresta. o número de iterações não supera jV j. Finalmente. O número total de tais omponentes é limitado por um polinmio em jV j. adote  := mine e . de fato. seja d(v) := S :v2S yS . dena uv := 1 se uv liga dois omponentes inativos de F . F é uma oresta geradora de nal do pro esso iterativo. Para ada aresta uv externa a F . O número de omponentes não-nulos de y é limitado por 2jV j 1 (exer í io 5. 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. É possível on- tornar essa di uldade se registrarmos apenas os omponentes não-nulos y. Lema 5.3 : O algoritmo ção polinomial. É possível implementá-lo de modo que seu onsumo de tempo seja O(jV j2 log jV j) [GW95a℄. om o mínimo maneira.2 Vale a mesma observação para o vetor y0 na linha 4. Para ada vérti e tomado sobre todas as arestas externas. Assim. O ál ulo de  P nas linhas 5 e 6 pode ser organizado da seguinte v. o A ardinalidade da oleção nomial de número de omponentes do vetor y não será polinomial. . 2 MinFS-GW admite uma implementa- Análise do algoritmo No iní io de ada iteração. A oresta F1 que o algoritmo devolve também R-oresta.17). jSj pode ser da ordem de 2jV j=2 ). Deixamos a argo do leitor a des rição polinomial do algoritmo MinFS-GW.

Os elementos de R1 . G é ompleto e tem 9 vérti es. O raio de ada ír ulo propor ional ao valor da variável dual Figura 5. dos omponentes ativos de F em uma . Figura 5. .2: A gura mostra o iní io da segunda iteração do algoritmo MinFS- GW. fR1 .4 Floresta de Steiner 53 A gura representa uma instân ia (G. R2 e R3 estão representados por triângulos. (Continua na próxima gura.5. o usto e de ada aresta e é a distân ia eu lidiana entre os extremos de e. As arestas estão implí itas.) Antes de delimitar mental entre F1 (F1 ). e a oleção é pre iso estabele er uma relação funda- SF iteração arbitrária do algoritmo. Os ír ulos representam omponentes ativos.1: O grafo Figura 5. S é Situação no iní io da quarta iteração.3: oresta F yS . R2 . As arestas da são indi adas por linhas sólidas. R3 g) do MinFS. losangos e quadrados.

e R \ W 6= . de grau 1 em se jÆF1 (S )j = 1 então S 2 SF : Para provar essa armação. Como uw é a úni a aresta de F1 em Æ (S ). tome um omponente ontém uma úni a aresta. Portanto. Assim. todos os omponentes inativos jÆF1 (S )j  1.16).Método Primal-Dual 54 Lema 5.16). temos U  S e W  V n S . vale a desigualdade P S 2SF jÆF1 (S )j  2jSF j . Portanto. H é uma oresta.4 : No iní io de ada iteração. . P Segue daí imediatamente que S 2VH jÆH (S )j = 2jEH j  2(jVH j 1). Como F1 é uma R-oresta minimal. qualquer ir uito em H orresponderia. e R n S 6= . pois F0 é uma oresta. Sejam U e W os onjuntos de vérti es dos omponentes de F1 uw que ontêm u e w respe tivamente. Esse on eito de adja ên ia dene um grafo. S está em S e portanto em ZF SF . onde F1 é a oresta de Steiner que o algoritmo devolve. sobre o onjunto de vérti es SF [ ZF . Seja ZF o onjunto de todos os omponentes inativos de F ujo grau em F1 quais H não é nulo.16) S de F tal que ÆF1 (S ) ajuste a notação de modo que u 2 S . existe R em R tal que R  U [ W. o que é impossível. jÆF1 (S )j = PS2SF [ZF jÆF1 (S )j PS2ZF jÆF1 (S )j  2(jSF j + jZF j 1) 2jZF j < 2jSF j : Poderíamos interpretar essa desigualdade dizendo que o grau médio dos vérti es ativos do grafo H não é maior que 2 2 .. a um ir uito em F0 . de maneira natural. (5. grau em F1 de um omponente S de F F1 em Æ(S ). adja entes se existe uma aresta de P donde F1 S e S0 om um extremo em jÆF1 (S )j  2(jSF j + jZF j 1) : temos que jÆF1 (S )j  2 para ada S S 2SF [ZF Em virtude de (5. ou seja. Os omponentes F1 são todos ativos: para qualquer omponente S Demonstração: Digamos que o é o número de arestas de F de de F . ou seja. P S 2SF em ZF . : Segue daí que R \ S 6= . digamos H . Digamos que dois elementos de S para os SF [ ZF são S e outro 0 em S . jÆF1 (S )j. Isso on lui a prova de (5. R \ U 6= . Como F e F1 são subgrafos de F0 . digamos uw.

Figura 5. 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 2 .4 Floresta de Steiner Figura 5. No iní io de ada iteração. Demonstração: Como já observamos no iní io da presente seção. Iní io da sétima iteração. o subgrafo F1 que o algoritmo devolve é uma R-oresta.5 : O algoritmo MinFS-GW é uma 2-aproximação para o MinFS. (5.17) .5: Figura 5.6: Iní io da sexta iteração. Teorema 5. vale a desigualdade P S 2S jÆF1 (S )j yS  2y(S) .4: 55 Situação no iní io da quinta iteração.5.

-aproximadas vale om F0 no papel de F e portanto também om F1 no papel de F : P S : e2Æ(S ) yS = e para ada e em F1 : No m do pro esso iterativo.15) de folgas Para mostrar que o algoritmo é uma ar que 2 1 -aproximação. As linhas indi am as arestas da Figura 5. S 2SF O lema 5.Método Primal-Dual 56 Figura 5.17). .8: As linhas indi am a oresta nal omo passamos a mostrar.11). y é viável no programa (5. Durante a Portanto. F1 . resta apenas veri- (F1 )  2opt(G. quando y =0 . É evidente que a desigualdade é válida no iní io da primeira iteração. Portanto a desigualdade (5. iteração.4 garante que o in remento do lado esquerdo não é maior que o do lado direito. Fim da última iteração. yS é a res ido de  se e somente se S 2 SF .7: oresta F0 . o vetor Além disso. a ondição (5. o lado esquerdo de (5. Suponha agora que a de- sigualdade seja válida no iní io de uma iteração qualquer.17) vale no iní io da iteração seguinte. R): P (F1 ) = e2F1 e .17) é a res ido de P jÆF1 (S )j enquanto o lado direito é a res ido de 2jSF j . Isso prova (5.

) Considere o método Aproximação-Primal-Dual. b.2 RP(A. y. ) y0 e é viável. na linha 4 dos métodos Primal-Dual lássi o e Aproximação-Primal-Dual. se todo 5. 0). .6 y um vetor em Y (A. . 2 Exer í ios 5. Con0 lua que o vetor y devolvido na linha 5 dos métodos Primal-Dual Seja lássi o e Aproximação-Primal-Dual é um vetor de inviabilidade de 5.5  positivo? y + y0 está em Y (A.20) é onseqüên ia da delimitação inferior (5. . ) e x uma solução de RAP(A.19) (5.1 Utilize o lema de Farkas para mostrar que exatamente um dos problemas 5. y) RD(A. . para Mostre que um dos problemas restritos aproximados é viável. Ambos problemas podem ser simultaneamente viáveis? 5. a desigualdade (5.17).18) segue da anterior por mera reorganização da soma. 0 y um vetor em e um vetor tal que y + y está em 0 Y (A. Mostre que y está em Y (A. R) : (5. ) para todo  positivo.18)  2 y(S)  2opt(G. A desigualdade (5.Exer í ios 57 = = P P S : e2Æ(S ) yS e 2 F 1 P S 2S jÆF1 (S )j yS (5.20) A linha (5. b) é ilimitado.19) segue de (5. b.3 Como P(A.  pode ser al ulado na linha 6 dos métodos Primal-Dual  é positi- lássi o e Aproximação-Primal-Dual? Con lua que vo. b. b. y) Y (A. ) e que D(A.12).4 Como determinar. 5. Finalmente.

x e y têm folgas -aproximadas no primal e . ).

Con lua que x  . -aproximadas no dual.

y b.7 Verique que o método Primal-Dual Aproximação-Primal-Dual para 5.8 Formule o lássi o = 1 = . Seja Mostre que 5.

. é o método omo um problema . problema do aminho mínimo da transversal mínima equivalente.

dois vérti es s e t de G e um usto e em Q  para ada aresta e. 5. T F de arestas de T -junção se T é o onjunto grafo G[F ℄. T. S.14 Formule o problema da obertura mínima por vérti es (MinCV) omo um problema da transversal mínima MinTC lente. Formule o problema de vérti es e um onjunto dizemos que F é uma dos vérti es de grau ímpar do da T -junção mínima omo um problema da transversal mínima equivalente.12 Para ada um dos problemas nos quatro exer í ios anteriores.10 Dados um onjunto um grafo G. se as linhas a seguir são inseridas entre as linhas 9 e 10 . en ontrar um aminho P de s a t de usto mínimo. Mos- tre que. Problema MinTJ (G. en ontrar um orte R que minimize (R). de ide se T é uma transversal da respe tiva oleção 5. ) equivalente.Método Primal-Dual 58 Problema MinPath (G. 5. s. Problema MinCut (G. en ontrar uma T -junção F que minimize (F ).15 Formule o problema do multi orte mínimo (MinMCut) omo um problema da transversal mínima MinTC (E. 5. dados um grafo G e um sub onjunto T S. S. (E.9 problema da árvore geradora mínima omo um pro- Formule o blema da transversal mínima equivalente.13 Mostre que o programa linear (5. de EG . en ontrar uma árvore geradora de usto mínimo. 5. Problema MST (G. des reva um algoritmo que. S. ): Dados um grafo G. ): Dados um grafo G e um usto e em Q  para ada aresta e. equiva- -aproximação 5. t.11 Formule o problema do orte mínimo omo um problema da transversal mínima equivalente. 5. ) 2 Mostre que o algoritmo MinTC-BE é uma polinomial para o MinCV. ): Dados um grafo G.5) é uma relaxação linear do MinTC (E. ): Dados um grafo G e um usto e em Q  para ada aresta e. O onsumo de tempo de ada algoritmo deve ser polinomial em hGi e não deve depender de jSj. ) . um sub onjunto T de VG tal que jT j é par e um usto e em Q  para ada aresta e.

16 No problema MinFS G pusermos que J n ffi g . . então o algoritmo resultante é uma 2 - aproximação polinomial para o MinMCut quando restrito a árvores [GVY97℄. para ada par (L1 . O livro de Papadimitriou e Steiglitz [PS82℄ apresenta diversos algoritmos ombinatórios lássi os que podem ser entendidos omo uma mími a do método primal-dual. Notas bibliográ as Este apítulo foi es rito om base nos livros de S hrijver [S h86℄. R) . 5. 5. Papadimitriou e Steiglitz [PS82℄. do algoritmo MinFS- 5. in luindo o algoritmo de Dijkstra [Dij59℄ .20 Aplique o algoritmo MinFS-GW ao problema da árvore geradora mínima (exer í io 5. R) 2 2=n é aproximação .Notas bibliográfi as 59 do algoritmo MinTC-BE. onsuma tempo polinomial em hGi. Dis uta essa armação. .9). Em parti ular. 9a sejam 9b f1. R) 5. para uma instân ia (G. : : : . onde n := jVG j.21 Es reva o algoritmo MinFS-GW de maneira mais detalhada. fk os elementos de foram in luídos em 9 para 9d J J .17 Uma oleção se L1  L2 ou laminar. L2 ) de elementos de L. Mostre que ele se omporta omo o algoritmo de Kruskal [CLR92℄ (e portanto produz uma árvore geradora mínima). L de sub onjuntos de um onjunto nito X é laminar L1  L2 ou L1 \ L2 = . es reva uma implementação que.18 Mostre GW que a razão de (G. 5. não há perda de generalidade se su- é ompleto e os ustos satisfazem a desigualdade triangular. na ordem em que i de k até 1 faça J n ffi g é uma transversal então J se (G. Mostre que se L é laminar então jLj  2jX j 1. . Mostre que no algoritmo MinFS-GW a oleção fS 2 S : yS > 0g é 5.19 Exiba uma instân 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. Ho hbaum [Ho 97℄ e no artigo de Goemans e Williamson [GW95a℄.

O melhor resultado que se onhe e para o problema da árvore de Steiner é uma 1. Klein e Ravi foi o primeiro a fazer uso altamente sosti ado do método primaldual para projetar algoritmos de aproximação. ou seja. esse trabalho de Agrawal.55 -aproximação que não se baseia em programação line- ar. o problema do aminho mínimo. O problema da oresta de Steiner pode ser lassi ado omo um problema de projeto de redes. RW95. GGP 94. Esse traba- lho introduziu modi ações poderosas no método primal-dual bási o. A análise dessa abordagem apare e em um artigo de Ho hbaum [Ho 82℄. iterativamente.Método Primal-Dual 60 para en ontrar aminhos de usto mínimo. Ho 97℄ mostraram que todos esses problemas admitem uma 2 -aproximação polinomial. O on eito de funções próprias uni a vários desses problemas: o problema da oresta de Steiner. Segundo Goemans e Williamson [Ho 97℄. o algoritmo de Ford e Fulkerson [FF56℄ para en ontrar um uxo máximo. o método húngaro de Kuhn [Kuh55℄ para en ontrar um emparelhamento de usto máximo em um grafo bipartido. Klein e Ravi [AKR95℄. Trata-se. GGW98. uma solução aproximada do problema primal. A primeira ner foi obtida 2 -aproximação para o problema da oresta de Stei- por Agrawal. o problema da T -junção mínima. O primeiro algoritmo de aproximação genuinamente primal-dual. Experimentos omputa ionais realizados om alguns algoritmos de aproximação obtidos pelo método primal-dual mostram que eles têm bom desempenho na práti a. Goemans e Williamson [GW95a. omo atestam os di- versos algoritmos de aproximação primal-dual obtidos por essa épo- + a [AG94. do algoritmo des rito na seção 5.3. o proble- ma do emparelhamento perfeito de peso mínimo. Esse tipo de problema onsiste em exigir um erto grau de onexão entre ertos pares de vérti es de um grafo. o problema da onexão ponto-a-ponto. essen ialmente. e o algoritmo de Edmonds [Edm65a℄ para en ontrar um emparelhamento de usto máximo em um grafo. Segundo Goemans e Williamson [WG94℄. Usando apenas as propriedades que ara terizam funções próprias. Rav94. WGMV95℄. . e om isso deu um grande impulso às pesquisas sobre problemas de projetos de redes (network design problems ). o primeiro a usar uma solução dual viável para obter. GW95a. et . que obteve um algoritmo om a mesma razão de aproximação usando o método dual. foi o algoritmo de Bar-Yehuda e Even [BYE81℄ para o problema da obertura mínima por vérti es. obtido re entemente por Robins e Zelikovsky [RZ00℄. algoritmos primaldual para o problema do uxo de usto mínimo.

indi ando que se trata de um tema de interesse atual e aparentemente muito promissor. RV99℄ a respeito de métodos de aproximação primal-dual. . JMVW99. JV00.Notas bibliográfi as a 61 2 -aproximação para o problema do emparelhamento perfeito de peso mínimo em que os ustos satisfazem a desigualdade triangular en ontra soluções a 2 % do ótimo na maioria dos asos (em mais de 1400 expe- rimentos. Gabow. há vários trabalhos re entes [CRW01. GW98. Goemans e Williamson [GGW98℄ obtiveram uma implementação mais e iente de vários algoritmos para problemas de projetos de redes. o resultado nun a foi pior do que 4 %). Finalmente. in luindo o problema da oresta de Steiner. GVY97. Os mesmos autores relatam bons resultados práti os para o problema da oresta de Steiner e alguns outros problemas de redes.

62 Método Primal-Dual .

sendo que a i-ésima hamada de Rand tem omo parâmetro sempre um mesmo número. que não depende dos valores devolvidos Rand. 1g. Existem ideal Rand que re ebe um número ra ional devolve 1 om probabilidade  e 0 om implementações aproximadas do algoritmo Rand (veja Knuth [Knu98℄). embora em geral possa ritmo probabilísti o 1 Os algoritmos abordados neste apítulo. am um número xo por 63 Rand . um algoritmo  no intervalo fe hado [0. o número de hamadas ao algoritmo Rand e o onsumo de tempo das demais operações são limitados por p(hI i). Denotando por o onjunto f0. Vamos generalizar a denição de algoritmos de aproximação (seção 1. probabilidade 1 . seja XI a variável aleatória (apêndi e D) ujo 1 valor é o valor da solução produzida por A para esta instân ia . seja Pi a medida de probabilidade sobre dada por Pi (1) = i e Pi (0) = 1 i . O espaço de probabilidade no qual XI está denida neste aso é o espaço produto ( . Para qualquer instân ia I do problema. 1℄. No presente apítulo.2) para englobar algoritmos probabilísti os. P1 )      ( . probabilísti o (ran- O omportamento de um algoritmo probabilísti o depende não apenas da instân ia do problema mas também dos números devolvidos por Rand. digamos i .Capítulo 6 Algoritmos Probabilísti os Neste apítulo vamos supor que temos à nossa disposição um gerador de bits aleatórios (random bits generator ). ou seja. Dizemos que A é uma -aproximação probabilísti a para o problema em questão se E[XI ℄  opt(I ) no aso de problema de maximização e E[XI ℄  opt(I ) no aso de problema de minimização. para ada instân ia do problema. provo- t de hamadas de Rand. para toda instân ia I polinomial do problema. Pt ). Um algoritmo que utiliza Rand é hamado de domized ). Dizemos que um algoritmo probabilísti o é se existe um polinmio p tal que. Considere um algo- A para um problema de otimização. é um número que não depende de I .

Algoritmos Probabilísti os 64 ser uma função de esperada de A. Para ada " positivo. I. Suponha que o problema é de minimização e que a variável aleatória XI não assume valores negativos (esse é o aso na grande maioria dos problemas ombinatórios). em ertas ondições. om alta probabilidade. Dizemos que é uma razão de aproximação -aproximação proA pode ser usada para produzir. uma babilísti a luções aproximadas do problema. so- Vamos mostrar que. a desigualdade de Markov (lema D.1. apêndi e D) garante que opt(I ) XI ℄  = : Pr[XI  ( + ")opt(I )℄  ( +E"[)opt( I ) ( +")opt(I ) +" Para um dado .

Se ( + ")opt(I )℄   ( + ")opt(I ) . seja k := dlog. Para  YI k .  A é apli ado o resultado de menor valor. = +" .

1 Satisfatibilidade máxima Vamos usar o problema da satisfatibilidade máxima para exempli ar algoritmos probabilísti os. O mesmo ra io ínio pode ser apli ado a problemas de maximização. portanto. P ). 6. P ) de k Denotando por . o espaço no qual YI está 0 0 ópias de ( . um dos quais pelo menos não é vazio. 2 V de objetos que hamamos ( 0 . onde e es olha Pr[YI  pequeno. 1) no intervalo aberto Suponha que 1 ). uma solução viável om valor . e vezes à instân ia 2 I é esse menor valor . denotamos o primeiro omponente de C por C1 e o segundo por C0 . desde que se onheça uma delimitação superior para o valor ótimo do problema. ou simplesmente láusula. variáveis. Suponha dado um onjunto nito YI é uma variável aleatória. O número de variáveis em uma láusula C é jC1 j + jC0 j. então . este esquema produz. P0 ) 0o espaço de probabilidade 0 0 0 denida é o produto ( . C0 é o onjunto das variáveis  omplementadas e C1 é o onjunto das variáveis não- omplementadas. pre isamos introduzir alguma notação. P )      ( . de XI . om probabilidade alta (pelo menos menor que (0. Para denir o problema. Em terminologia tradi ional. Se C é uma láusula. é um par ordenado de sub onjuntos de V disjuntos. Uma láusula booleana sobre V .

o número de hamadas a Rand e o onsumo de tempo das demais operações é O(jV j). dg e sejam C . D. Problema O problema é NP-difí il mesmo quando ada láusula em C tem duas variáveis [GJ79℄. en ontrar uma valoração x de V que satisfaça o maior número possível de láusulas de C.6. dg). denotado pela sigla MaxSat.1 Se (V. O espaço de probabilidade de é o espaço produto vezes no produto. dg. _ a _ b. Vejamos um exemplo. sobre . O algoritmo é atribuído a Johnson [Joh74℄. C) é uma instân ia do problema MaxSat produzida por MaxSat-Johnson XC Seja C satisfeitas por uma valoração ujo valor é o número de láusulas de . (f g. Suponha que V = fa. b. então E[XC℄  1 21k opt(V. fbg). Algoritmo de Johnson Eis um algoritmo probabilísti o para o problema MaxSat. . dada por : na qual ada láusula tem pelo menos k variáveis e XC é a variável aleatória a ima denida. P)      ( . . bg) e (. P) jV j f0. E g seria denotada por fa _ d _  b. onde é o onjunto e apare e é a medida de probabilidade . C) :   XC . Uma valoração x satisfaz uma láusula C se xv = 1 para algum v em C1 ou xv = 0 para algum v em C0 . fb. onsiste no seguinte: MaxSat (V. C): Dada uma oleção C de láusulas sobre um onjunto V de variáveis. fa. b _  _ dg.1 Satisfatibilidade máxima 65 valoração das variáveis de V é um vetor x indexado por V om valores em f0. XC a variável aleatória (V ) ( . Ele é tão simples que ignora C: Algoritmo MaxSat-Johnson (V ) 1 para ada v em V faça 2 x_ v Rand ( 12 ) 3 devolva x_ No algoritmo a ima. a oleção fC. O problema da satisfatibilidade máxima (maximum satisabiUma lity problem ). 1g. D e E as láusulas (fa. Na notação tradi ional. P) ( .. 1g P P(1) = P(0) = 21 Teorema 6.

dena uma variável aleatória . x do MaxSat (V. C).5aproximação probabilísti a polinomial para o MaxSat. pode- (V. Portanto. C)  jCj 2 C E ZC e on luímos a prova do teorema. faça zC := 1 se . Teorema 6. Para ada x satisfaz C e zC := 0 em aso Suponha que temos uma solução ótima láusula C em C. C) om k =1 e on luir o seguinte resultado. z) de vetores. a probabili- XC é a soma das variáveis [ ℄  (1 21k )jCj opt(V. variáveis e no algoritmo dade do evento [ZC =1℄ ZC . C têm pelo menos uma variável. para ada C em C . omo E[XC℄ = E[PC ZC ℄ = Como om probabilidade é no máximo é pelo menos aleatórias C . 1) onsiste em arredondar  para ima om probabilidade  e para baixo om probabilidade 1 . é uma 0. é 1=2 k P Como todas as láusulas em tem pelo menos 1=2 . rounding ) Considere o seguinte problema de programação linear: dada uma C de láusulas sobre um onjunto V . que oleção maximize P C 2C zC sob as restrições P v2C0 (1 xv ) + P v2C1 0 0 xv zC xv  zC  1  1 C em C . para ada v em V : para ada (6. om x indexado por V e z indexado por C.2 : O algoritmo MaxSat-Johnson Algoritmo do arredondamento probabilísti o Des revemos a seguir um algoritmo de aproximação para o problema MaxSat que envolve o arredondamento probabilísti o (randomized de uma solução ótima de um programa linear.Algoritmos Probabilísti os 66 ZC Demonstração: Para ada láusula k ZC := 1 := 0 x_ v 0 [ZC =0℄ 1 1=2k da seguinte maneira: mo satisfaz C e se a valoração produzida pelo algorit- ZC em aso ontrário. já que mos apli ar o teorema a ima a C e a probabilidade do evento . en ontrar um par (x.1) Note a seguinte relação entre este programa linear e o problema MaxSat. O arredondamento probabilísti o de um número  do intervalo aberto (0.

1) e o valor dessa solução é igual ao número de láusulas de por x . (^x. o algoritmo MaxSat- além disso. então E[XC℄  1 (1 k1 )k opt(V.2) de (6. O seguinte algoritmo de arredondamento probabilísti o.1). C) .6. z^) C zC para qualquer solução ótima (6. z  ) é uma solução viável de (6.3 : Se (V. o número de hamadas a Rand é GW é um algoritmo probabilísti o polinomial. se a valoração produzida pelo algoritmo satisfaz Se onde t é o número de = f0. 1g e Pi é . C) é uma instân ia do problema MaxSat na qual ada láusula tem no máximo k variáveis. C) P e ^  opt(V. Algoritmo MaxSat-GW (V.4. para v ZC 0 da maneira usual: C e 0 em aso é o produto de termos da em C1 . e (1 x^v ). Como. om o tamanho de x^ e z^ jV j e jCj (fato C. P1 )      ( . Teorema 6. A probabilidade de que forma 3 x^v . jV j. apêndi e C). z^) jV j e jCj. z^) uma solução ótima ra ional de (6. desenvolvido por Goemans e Williamson [GW94℄. é um algoritmo de aproximação para o MaxSat. o programa linear (6. om k  1. Pi (1) = x^i e Pi (0) = 1 x^i para ada i em V . e XC é a variável aleatória3 ujo valor é o número de láusulas de C satisfeitas por uma valoração produzida pelo algoritmo MaxSat-GW (V.1) é uma relaxação do problema MaxSat (V. É laro então que o par 67 (x  . ( . O espaço de probabilidade é dado por C. C).1) 2 para ada v em V faça 3 x_ v Rand (^xv ) 4 devolva x_ O algoritmo a ima pode ser implementado de modo que a exe ução da linha 1 onsuma tempo limitado por um polinmio em e produza uma solução ótima ra ional limitados por um polinmio em (^x.1 Satisfatibilidade máxima ontrário. C) 1 seja (^ x. para v em dena ZC seja C0 . PjV j ). C satisfeitas Portanto. C) :   ZC Demonstração: Para ada láusula vale 1 ontrário.

onde a última desigualdade segue de (6. 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. onsidere a função que f é n ava no intervalo fe hado nesse intervalo. omo . temos que . 2 Algoritmo ombinado O teorema 6. temos que e é a . que se traduz em (6. Finalmente.63-aproxi- MaxSat.5) Para justi ar (6.1 permite deduzir uma razão de aproximação melhor do algoritmo MaxSat-Johnson quando todas as láusulas têm pelo menos .Algoritmos Probabilísti os 68 variáveis de C então t1e Q Q Pr[ZC =1℄ = 1 v2C0 x^v v2C1 (1 x^v )  1 ((t z^C )=t)t (6. t  k. onde base dos logaritmos naturais.37 para todo .4). 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. Desse fato. Observe . pois e . Disso temos que Q v2C0 x^v Q 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.5) vale pois t  1 e.3) = 1 (1 z^C =t)  (1 (1 1=t)t )^zC  (1 (1 1=k)k )^zC : t (6.4). 2 Como (1 1=k)k é não passa de 1=e k1 (1 1=k)k < 1=e < 0.4) (6. Teorema 6. por hipótese. Então. (6. é imediato o seguinte resultado. e do teorema anterior. C) .2).3).4 : O algoritmo MaxSat-GW mação probabilísti a polinomial para o é uma 0. note que a média geométri a de números nãonegativos não ultrapassa a sua média aritméti a.

C) 3 seja s_ o número de láusulas de C satisfeitas por x_ 4 seja s o número de láusulas de C satisfeitas por x 5 se s_  s 6 então devolva x_ 7 senão devolva x Teorema 6. ombinar os dois algoritmos.2 Desaleatorização Em muitos asos. Note que XC  (X 2 C + XC ). k = 2 e k  3 e (6.7) a desigualdade (6. 2 6.5 : O algoritmo MaxSat-Combinado-GW é uma 0. respe tivamente. MaxSat-Johnson (V ) 1 _  e MaxSat-GW (V. X_ C e X C variáveis aleatórias ujos valo- C satisfeitas por uma valoração produzida por MaxSat-Combinado-GW (V.2). C). Sejam XC . res são o número de láusulas de Se rezermos as partes apropriadas das demonstrações dos teoremas 6.6) (6. C) : onde (6.75-aproximação probabilísti a polinomial para o MaxSat.7) vale em virtude de (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. Pare e razoável.6) pode ser on luída analisando-se os asos k = 1. Algoritmo MaxSat-Combinado-GW (V.1 e 6.3.2 Desaleatorização 69 duas variáveis. O algoritmo abaixo deve-se a Goemans e Williamson [GW94℄ também. C) 1 x_ MaxSat-Johnson (V ) 2 x MaxSat-GW (V. pelo teorema 6. Demonstração: Seja mente k Ck a oleção das láusulas de C que têm exata- variáveis. portanto. C). é possível onverter um algoritmo de aproximação probabilísti o em um determinísti o om uma razão de aproximação .6. Já para o algoritmo MaxSat-GW obtêm-se resultados melhores quando as láusulas têm no máximo duas variáveis.

0. apenas as láusulas de C que a valoração par ial x_ do algoritmo ainda não satisfez. Se i = 1 então o pro edimento x_ v =1 no algoritmo sob a ondição que . detalhado posteriormente. to através do método das esperanças ondi ionais Isso pode ser fei- [AS92. . Algoritmo MaxSat-Johnson-Desaleatorizado (V. C) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 D C para ada v em V faça se EspCond (v. 1.5 -aproximação polino- mial determinísti a. No iní io de ada iteração. que dependem do problema em fo o. Obtemos omo resultado a seguinte 0. Ademais. D é um multi onjunto (um onjunto em que a- da elemento apare e om uma erta multipli idade). 1g e um multi onjunto D de láusulas e pseudo- láusulas. C em D. além de pares f.. D ontém. que utiliza um pro edimento EspCond. de ada láusula de eliminadas as variáveis ujos valores x_ já xou. ES74.g. D)  EspCond (v. pre isamos saber al ular e ientemente ertas esperanças ondi ionais. um elei de f0. Para apli á-lo. foram v. Spe87℄. satisfeitas por uma valoração produzida pelo algoritmo MaxSat-Johnson devolve o valor esperado de XD (V ) . D) então x_ v 1 para ada C em D faça se v 2 C1 então D D n fC g senão C0 C0 n fvg senão x_ v 0 para ada C em C faça se v 2 C0 então D D n fC g senão C1 C1 n fvg devolva x_ No algoritmo a ima. O pro edimento auxiliar EspCond re ebe uma variável mento Seja XD a variável aleatória ujo valor é o número de láusulas em D. Ilustramos o método apli ando-o ao algoritmo MaxSat- Johnson. le- vando em onta a multipli idade.Algoritmos Probabilísti os 70 igual à razão esperada do algoritmo probabilísti o. que hamaremos de pseudo láusulas. É esse o erne do pro esso de desaleatorização de um algoritmo probabilísti o por esse método.

o mesmo ra io ínio vale para as demais variáveis e. no algorit- mo .6. . que é denido de maneira análoga. D) 0 1 esp 2 para ada C em D faça k jC1 j + jC0 j se v 2 Ci 3 4 então esp esp + 1 senão se v 2 C1 i então esp esp + (1 senão esp esp + (1 devolva esp 5 6 7 8 9 2 k+1 ) 2 k) Teorema 6. Como.5opt(V. no algoritmo om probabilidade e . disso. Esse número é pelo menos 0. 2 . e disso on luímos que mos que não ultrapassa o maior entre as duas esperanças ondi ionais.2 Desaleatorização 71 MaxSat-Johnson. om probabilidade . C) .5-aproximação polinomial para o MaxSat. basta observar que o pro edimento EspCond (v. x_ vn ℄ : O último termo é o número de láusulas de C satisfeitas pela valoração x _ produzida pelo algoritmo MaxSat-Johnson-Desaleatorizado. Demonstração: Seja de láusulas em XC a variável aleatória ujo valor é o número C satisfeitas por uma valoração 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 . onde o último termo denota o valor esperado de sob a ondição que. i. é fá- il on luir que o algoritmo MaxSat-Johnson-Desaleatorizado é polinomial. atribua-se a o mesmo valor atribuído no algoritmo valor de .5opt(V. on luímos que E[XC℄  E[XCjx_ v1 ℄  E[XCjx_ v1 . D) onsome tempo O(jV j). Quanto ao tempo de exe ução do algoritmo. Este valor esperado é denotado por Se i=0 então o pro edimento devolve E[XD jx_ v =1℄. : : : . e Logo. pois E[XC℄  0. Disso. E[XD jx_ v =0℄.6 : O algoritmo MaxSat-Johnson-Desaleatorizado é uma 0. . Pro edimento EspCond (v. x_ v2 ℄  : : :  E[XCjx_ v1 . Uma vez xado o . C). te- . i.

inviabilizando o pro esso de desaleatorização. mesmo sem levar em onta omo as variáveis aleatórias se distribuem em torno do valor esperado. 6. substitui-se o algoritmo Rand por um algoritmo ideal RandUni que devolve um número real aleatório om distribuição uniforme no intervalo [0.) podem ser naturalmente adaptados a esta outra denição. onverter um algoritmo que hama RandUni um número polinomial de vezes em um que hama Rand um número polinomial de vezes. 1) (apêndi e D). Os on eitos introduzidos no iní io deste apítulo (algoritmo de aproximação probabilísti o. No aso do algoritmo a ima. em geral.Algoritmos Probabilísti os 72 É um pou o surpreendente que desaleatorizações produzam. Em outros problemas. os algoritmos vistos neste apítulo são probabilísti os polinomiais também de a ordo om esta nova denição. 1 2 para ada 3 devolva em faça Mostre que o algoritmo a ima é uma polinomial para o MaxSat. o pro edimento para o ál ulo das esperanças ondi ionadas é bem simples. A desvantagem da nova denição é que ela requer manipulação números reais.1 Considere o seguinte algoritmo para o MaxSat Algoritmo MaxSat-CaraCoroa (V ) b Rand( 12 ) v V x_ v b x_ (V. Existem implementações aproxi- madas desse algoritmo Rand [Knu98℄. Por outro lado. um algoritmo om razão de aproximação igual à razão esperada do algoritmo probabilísti o. 5 -aproximação probabilísti a . Por isso é razoável dizer que esta nova denição é uma generalização da original. 1) . pois é fá il implementar Rand uma hamada a RandUni: o algoritmo Rand devolve devolvido por RandUni for menor que 1 () om se o número  e devolve 0 em aso ontrário. C) . Em parti ular. esses ál ulos podem ser bastante ompli ados. Nessa deni- ção alternativa. não se sabe. 0.3 Geradores de números aleatórios Uma maneira mais geral de denir algoritmos probabilísti os parte de um gerador de números aleatórios no intervalo RandUni [0. Exer í ios 6. algoritmo probabilísti o polinomial. et .

63 -aproximação para MaxSat.2 73 Inspire-se no algoritmo MaxSat-Johnson e projete uma 0. sem usar argumentos probabilísti os.4 Projete uma 0. 6.5 -aproximação probabilísti a po- linomial para o MaxSat. todos os vestígios probabilísti os do algoritmo original. o problema onsiste em junto peso en ontrar uma valoração que maximize a soma dos pesos das láu- .4).7 (0.2). w): Dado um grafo G e um peso we em Q  para ada aresta e de G. se possível.4.6 Considere o seguinte algoritmo probabilísti o para o MaxSat: Algoritmo MaxSat-Combinado-Probabilísti o (V. Prove. Além do on- V e da oleção C de láusulas sobre V . que denotamos por k Max Cut: dados um grafo ta G. Apresente-a da forma mais simples que puder omitindo.3 Projete uma 0. que o algoritmo obtido é uma 0. O que muda se alterarmos o algoritmo para um outro valor no intervalo 6.Exer í ios 6. ximação probabilísti a polinomial para o Apresente uma versão desaleatorizada do seu algoritmo. um peso we em Q  para ada ares- e e um inteiro k  2. 6. C) x_ 1 2 3 4 5 se então senão devolva Prove que esse algoritmo é uma 0.5 -aproximação probabilísti a polinomial para o pro- blema da obertura máxima (exer í io 2. é dado também um wC em Q  para ada láusula C em C. en ontrar um orte R que maximize w(R). 6. determinar uma partição de VG em k partes que maximize a soma do peso das arestas om extremos em partes distintas da partição.5 -apro- problema do orte máximo: Problema MaxCut (G. C) b Rand ( 21 ) b=0 x_ MaxSat-Johnson (V ) x_ MaxSat-GW (V.5 Es reva uma versão desaleatorizada do algoritmo MaxSat-GW. Es reva e omente a versão desaleatorizada deste algoritmo. 1) ? 1 2 da linha 1 do Considere a seguinte versão ponderada do MaxSat. Mostre que a versão desaleatorizada deste algoritmo é exatamente o algoritmo guloso sugerido no exer í io 2. 6.5 -aproximação probabilísti a polinomial para a se- guinte variante do MaxCut (exer í io 6.

784 -aproximação. Utilizando o algoritmo de Zwi k [Zwi99℄. O livro de Motwani e Raghavan [MR95b℄ é um texto abrangente sobre algoritmos probabilísti os. Rag88℄ e vem sendo apli ada om bastante su esso a vários problemas [BTV99.75 -aproximação polinomial para o MaxSat deve-se a Yannaka- kis [Yan94℄. esse é o melhor algoritmo de aproximação onhe ido para o MaxSat. desde que a onje tura de Zwi k seja onrmada. O algoritmo MaxSat-Johnson é atribuído a Johnson [Joh74℄. Os exer í ios 6. embora este tenha es rito a versão não-probabilísti a do algoritmo. Notas bibliográ as A dis ussão do algoritmo MaxSat-GW é um resumo de um artigo de Goemans e Williamson [GW94℄. Asano e Williamson obtêm uma 0. et Uma su essão de hamadas ao algoritmo Rand produz .797 -aproximação para o problema.8 Considere o seguinte algoritmo para o Es alonamento (se- ção 2. KZ97℄. baseando-se em experimentos númeri os.1): es olha aleatoriamente a próxima tarefa a ser es alonada e aplique o ritério de Graham. om muitos exer í ios e problemas de pesquisa. Zwi k [Zwi99℄ projetou um algoritmo de aproximação para um aso parti ular do MaxSat e onje turou. A onexão om algoritmos polinomiais determinísti os foi feita por Spen er [Spe87℄.4 foram extraídos do livro de Vazirani [Vaz01℄. O método das esperanças ondi ionais apare e impli itamente em um artigo de Erd®s e Selfridge [ES73℄. JV00℄. Fei99. Modique os três algoritmos apresentados neste apítulo. que seu algoritmo é uma 0. bem omo suas análises. FG95. No momento. resumos semelhantes apare em no livro de Motwani e Raghavan [MR95b℄ e no livro editado por Ho hbaum [Ho 97℄. CKR00. Estime o valor esperado da solução assim obtida. Uma outra té ni a bem su edida de desaleatorização de algoritmos probabilísti os foi desenvolvida por Luby [Lub86℄ e por Alon al. [ABI86℄.Algoritmos Probabilísti os 74 sulas satisfeitas. para o MaxSat ponderado. ombinando vários algoritmos onhe idos para o pro- blema [GW94.1. 6. Que razão de aproximação tem ada um dos algoritmos modi ados? 6. Asano e Williamson [AW00℄ projetaram uma 0.833 -aproximação para o MaxSat. Re entemente. A té ni a de arredondamento probabilísti o foi introduzida por Raghavan e Thompson [RT87. A primeira 0.3 e 6.

um algoritmo probabilísti o pode ser desaleatorizado da seguinte forma: exe uta-se o algoritmo para ada um dos vetores neste espaço de probabilidade e devolve-se a melhor das soluções produzidas. bn os bits produzidos por n hamadas de Rand. : : : . veja os livros de Johnson [Joh87℄. a k probabilidade de que bi1 . de exe ução de tais implementações é limitado por . de omprimento onveniente. Isso resulta em um algoritmo polinomial. Podemos imaginar então que. Freqüentemente. : : : . Para expli ar este on eito. A respeito de geradores de números pseudo-aleatórios. Devroye [Dev86℄ e Knuth [Knu98℄. bik oin ida om qualquer das 2 seqüên ik as de k bits é 2 . : : : . bn . Knuth des reve implementações aproximadas do algoritmo RandUni que forne em números pseudo-aleatórios satisfatórios em tempo probabilísti o onstante: o tempo esperado uma onstante. além dos dados do problema. bem omo o relatório té ni o de Luby e Wigderson [LW95℄. k-mutuamente independentes. um algoritmo probabilísti o re ebe uma seqüên ia de bits aleatórios.Notas bibliográfi as bits uma seqüên ia de 75 aleatórios. e om razão de aproximação igual à razão esperada do algoritmo probabilísti o original. bik de b1 . veja o artigo de Chor e Goldrei h [CG89℄. : : : . para qualquer subseqüên ia bi1 . : : : . Para saber mais sobre isso. pode-se onstruir espaços bits são k-mutuamente é onstante. Enquanto independên ia plena requer um espaço de basta que os bits nessa seqüên ia sejam probabilidade omposto de 2n de probabilidade om vetores binários ujos independentes. denote por b1 . bn são k-mutuamente independentes se. determinísti o. Dizemos que b1 . Se k nk=2 vetores binários.

76 Algoritmos Probabilísti os .

w): Dados um grafo G e um peso we em Q  para ada aresta e. é denido omo Problema MaxCut (G. MaxCut onsiste em en ontrar um orte de peso máximo.1 Corte máximo O problema do orte máximo (maximum ut problem ). ij 2E Gew (7. en ontrar um orte R que maximize w(R). relaxações lineares são muito usadas na obtenção de algoritmos de aproximação para problemas de otimização ombinatória. en ontrar um vetor maximize sob as restrições x indexado por V 1P 2 xi xi = 77 que wij (1 xi xj ) 1 para ada i em V . O problema pode ser formulado da seguinte maneira: dados omo a ima. Neste apítulo.1) . A utilização de relaxações lineares deve-se à sua simpli idade e à existên ia de algoritmos e ientes para resolver programas lineares. Vamos ilustrar esse método apli ando-o ao problema do orte máximo. 7. denotado por MaxCut. utilizamos outra lasse de relaxações  os programas semidenidos  para a qual também existem bons al- goritmos.Capítulo 7 Programação Semidenida Como vimos nos últimos apítulos. O problema é NP-difí il. Chamamos o número w (R) de peso do orte R. mesmo quando restrito às instân ias em que wij ex ede 3 =1 para toda aresta ij e o grau de ada vérti e de G não [GJ79℄. Assim.

Relaxação vetorial Uma relaxação vetorial de (7. Se . por exemplo. Veriquemos que esse programa é apenas Suponha que x é uma solução viável xi 2 f 1. Consideremos então uma relaxação de (7. que poderia ser es rita É fá il per eber a relação entre as soluções de (7. digamos N. e portanto É laro que 1 1 P 2 ij 2E wij (1 Portanto. w) = para qualquer solução ótima x 1 P 2 ij 2E wij (1 xi xj ) (7. o onjunto de índi es de olunas de Y. Mais pre i- samente. Diante disso. de (7. Mas.Programação Semidefinida 78 V onde := VG E e := EG . diferente de V.4) e (7.1).4) e (7. os programas (7.1) é fá il per eber: x orresponde à linha Yi? de Y e ada restrição > à restrição (Y Y )ii = 1. xi xj ) = w(Æ(S )) : (7.1). o problema (7.1) é um programa quadráti o: ele pro ura um ve- tor que maximize uma função quadráti a sujeita a restrições quadráti as.2). sidere uma solução viável 1 x de (7. A relação entre (7. uma relaxação vetorial é o seguinte problema: en ontrar uma matriz real Y indexada por 1 V V que 1P 2 ij 2E wij (1 maximize (Y Y >)ii = 1 sob as restrições (Y Y >)ij ) para ada (7.1).1). 1g para ada i.1) seriam idênti os. O problema (7.2) S é um onjunto de vérti es e dena o vetor x por S e xi := 1 em aso ontrário.4) i em V : Diz-se que a relaxação (7.1) onsiste em tro ar ada omponente de x por um vetor.4) é vetorial pois suas in ógnitas são vetores: as linhas da matriz Y.4) é NP-difí il se jN j é onstante em relação a jV j. Tome S := fi : xi = 1g. e portanto tro ar x por uma matriz.1). Seja k Con- um vérti e qualquer e Em prin ípio. do ontrário teríamos um algoritmo exato polinomial para o MaxCut. Esse vetor é viável Suponha agora que xi := 1 se i 2 em (7.3) de (7. Obviamente não sabemos resolver este programa quadráti o e ientemente. Y poderia ser jN j = 1.4) e (7. uma reformulação do MaxCut. on luímos que opt(G.1) e satisfaz a relação (7. xi xj = 2 se ij 2 Æ(S ) e 1 xi xj = 0 em aso ontrário. aparentemente [Lov01℄. ada omponente de xi xi =1 omo xi orresponde Yi? Yi? = 1.

Algoritmo de Goemans e Williamson O seguinte algoritmo probabilísti o. determinados por ada restrição de (7.5) Resta dis utir a existên ia de uma solução ótima do programa vetorial (7. tem-se .4) e qualquer solução ótima (Y^ Y^ >)ij ) x de (7.7. Em > parti ular.4) é um sub onjunto fe hado e limitado do espaço de todos os vetores reais indexados por V V .3) garante então a delimitação superior opt(G. O algoritmo de Goemans e Williamson depende de um algoritmo que hamamos RandEsfera : ele produz um ponto aleatório om distribuição uniforme na esfera unitária. o programa (7. é pre iso estabele er o seguinte lema. (Y Y )ii = xi xi = 1 e portanto Y é viável em (7. P para qualquer Como ij wij Y viável tem-se (1 (Y Y >)ij ) O onjunto é limitado.1). O onjunto das soluções viáveis de (7. devido a Goemans e Williamson [GW95b℄. ada linha de que satisfaz as restrições de (7. para qualquer ij solução P ij P xi xj )  ij wij (1 ótima ij wij (1 Y^ de (7. utiliza uma solução ótima do programa vetorial (7. Por exemplo. Assim. w)  1P 2 ij 2E wij (1 (Y^ Y^ >)ij ) : (7.4) é um ponto dessa esfera. wij (1 (Y Y >)ij ) = wij (1 xi xj ). AdeP P mais. Rand Esfera . > É evidente que (Y Y )ij = Yi? Yj? = xi xj para ada i e ada j .4).4). A relação (7.1 Corte máximo a matriz denida por 79 Y?k =x e Y?i =0 i para ada diferente de k. que é o onjunto de todos os vetores reais r indexados por qualquer matriz Y V tais que krk = 1. w) 1 seja Y^ uma solução ótima de (7. pois é função ontínua de Y.4) 2 s RandEsfera(V ) 3 S f i 2 V : s Y^i? > 0 g 4 devolva Æ (S ) Antes de al ular uma razão de aproximação do algoritmo. O onjunto é fe hado pois é a interse ção dos onjuntos fe hados kY k2 = Pi Yi? Yi? = Pi(Y Y >)ii = jV j.4) para obter uma solução viável do problema MaxCut.4) tem solução ótima.4). Algoritmo MaxCut-GW (G.

Pr[ ij 2 Æ(S )℄  1 ar os ((Y^ Y^ >)ij ) : Demonstração: Adote as abreviaturas y^ e z^ para os vetores Y^i? e Y^j?. já que  = ar os(^y z^). 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 região da esfera unitária na interse ção dos semi-espaços s pertença à fr : r y^ > 0g e fr : r z^  0g. que denotamos por  . 1℄. respe tivamente. terminando assim a prova do lema. a probabilidade de tal região é propor ional à área da região. para todo x no intervalo [ 1.1) de ângulo igual ao ângulo entre os vetores y^ e z^.1: Uma fatia de uma esfera no R3 .6) . 2 Alguns ál ulos elementares mostram que (veja gura 7. podemos on luir que Pr[ s y ^  0 e s z^ > 0 ℄ = =2. Graças à distribuição uniforme (apêndi e D).1 : Para os objetos S e Y^ denidos pelo algoritmo e para quaisquer dois vérti es i e j de G. Claramente. Lema 7.Programação Semidefinida 80 Figura 7. e portanto propor ional ao ângulo  : Pr[ s y^ > 0 e s z^  0 ℄ = 2 : De forma semelhante. 1 ar os(x)  0.2).878 1 (1  2 x) : (7. Tal região é a fatia da esfera (veja a gura 7.

w) : Demonstração: Em virtude do lema 7.7) 2 O algoritmo MaxCut-GW supõe um modelo de omputação (apêndi e E) muito mais poderoso e menos realista que o dos apítulos anteriores: o modelo é apaz de manipular números reais arbitrários e supõe que ada operação aritméti a onsome uma quantidade de tempo que não depende dos valores dos operandos.4 0.1 Corte máximo 81 1 0. w) . 2 hGi + hwi no modelo de omputação que estamos ado- A linha 2 envolve uma exe ução do algoritmo RandEsfera . w) então E[X ℄  0.5 1 f (x) := 1 ar os(x) e g(x) := x).5).3).7. O espaço de probabilidades é denido pela distribuição uniforme sobre a esfera unitária (exemplo D.6 0.878opt(G. 1℄.2 : Se X é a variável aleatória2 ujo valor é o peso de um orte produzido pelo pelo algoritmo MaxCut-GW (G. temos que E[X ℄ =  P ij 2E wij Pr[ ij 2 Æ(S )℄ 1 ar os ((Y^ Y^ >)ij )  P 1  0.1 e de (7.878 (1 0. Veri a-se que f (x)  g(x) no intervalo [ 1.878opt(G.6).8 0.2 0 0.5 1 0.2: 1 2 0 Grá o das funções Teorema 7. P onde (7. ij 2E wij (7.878 2 ij2E wij (1 (Y^ Y^ >)ij )  0. Veremos na próxima seção que a linha 1 do algoritmo MaxCut-GW pode ser exe utada em tempo polinomial em tando.7) segue de (7. Figura 7. .

Programação Semidefinida 82 que é probabilísti o polinomial (seção 6. Um programa semidenido onsiste no seguinte: dada uma matriz W indexada por V  V . O on eito de onjunto onvexo de matrizes é análogo. uma matriz A indexada por M  (V  V ) e um vetor b indexado por M . Como mostraremos a seguir. vetorial PV (W.3). b) O onjunto das soluções viáveis do programa não é onvexo. qualquer programa PV pode ser resolvido 3 em tempo polinomial. É fá il per eber que o problema (7. o vetor y +(1 )y 0 está em Y. S h86℄. en ontrar uma matriz Y indexada por V  V Um que minimize sob as restrições 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. o X  0. .2 Programas semidenidos programa vetorial onsiste no seguinte: dada uma matriz W indexada por V  V . o algoritmo é probabilísti o polinomial.3 : O algoritmo MaxCut-GW 7. A linha 3 onsome O(jV j2 ).878-aproximação probabilísti a polinomial para o MaxCut. no modelo de omputação que estamos adotando. 2 Teorema 7. O algoritmo dos elipsóides (men ionado no apêndi e C em onexão om programas lineares) pode ser usado para resolver programas não-lineares ujo onjunto das soluções viáveis seja fe hado e onvexo 4 [GLS93.4) é uma instân ia de PV. om tempo é uma 0. mas o programa pode ser onverti- do. X 0 X é positiva semidenida. uma matriz A indexada por M  (V  V ) e um vetor b indexado por M . 4 0 Um onjunto Y de vetores é onvexo se. se X = Y Y > para alguma matriz quadrada real Y . en ontrar uma matriz X indexada por Dizemos que uma matriz quadrada que denotamos por 3 Mais pre isamente. para quaisquer y e y em Y e qualquer  no intervalo fe hado [0. b) . A. é possível en ontrar uma solução aproximada om qualquer pre isão prexada. em um programa semidenido equivalente ujo onjunto das soluções viáveis é onvexo. Assim. A. pois pode ser implementado O(jV j) hamadas à função RandUni. omo veremos em seguida. 1℄.

3 Considerações práti as Neste apítulo usamos. b) Denotamos esse problema por PSD viáveis de PSD Há PV uma (W. o algoritmo exibe uma violação da restrição um vetor real y para o qual yX y < 0. Se o onjunto das soluções e soluções viáveis do PSD viável do PSD k em M 5 for limitado. que é solução viável do PV X para ada  0 : . A. O algoritmo MaxCut-GW pode ser onvertido. b) orrespondên ia simples entre soluções (W. X . Ademais. Um tal algoritmo de separação é parte do algoritmo de de omposição de matrizes positivas semidenidas a que aludimos a ima: se a matriz simétri a X dada não é positiva se- midenida.3 Considerações práti as V V 83 que P ij Wij Xij P minimize ij Akij Xij sob as restrições X = bk (W. Em parti ular. X  0. é possível resolver um programa vetorial da seguinte X do programa semidenido. A. mesmo que ra ionais. de maneira óbvia. O onjunto das soluções viáveis de qualquer programa semidenido é onvexo e fe hado. se é uma solução ótima do PSD do PV e . b) Y (W. uma matriz real Y tal que Assim. A. para qualquer matriz positiva semidenida Y Y > = X. e re ipro amente. um modelo de omputação pou o realista. b) (W. ou seja. b) (W. A. 7. Existem algoritmos elementares (apêndi e B) que determinam. o problema tem solução ótima. . essa Y é uma solução ótima do maneira: obtenha uma solução ótima ule uma matriz Y tal que problema vetorial.7. A. A e b sejam PSD () . b) . A. as soluções ótimas não são ra ionais. A. b) Y Y> =X (W. em um algoritmo aproximado para um modelo de omputação 5 Via de regra. então a equação Se X viáveis do é uma solução dene uma matriz Y . desde que tenhamos um algoritmo de separação apropriado. o programa semidenido derivado do Max- Cut (bem omo os programas derivados de muitos outros problemas de otimização ombinatória) é limitado e assim pode ser resolvido em tempo polinomial por meio do algoritmo dos elipsóides. então é uma solução ótima . b) (W. até agora. W . alY Y > = X . A.

Dev86.4 Des reva um programa vetorial uja solução ótima tem valor irra ional. Exiba uma relaxação vetorial deste programa e uma relaxação semidenida dele. 7. apêndi e D). b) de PSD podem ter omponentes irra ionais [Goe97℄. 7. 7. bem omo qualquer outro algoritmo usado para resolver programas semidenidos. Knu98℄ de maneira aproximada a partir de um gerador de números aleatórios om distribuição uniforme no intervalo [0.4). Formule o Max2Sat omo um programa quadráti o. 7. em geral. Verique que o onjunto das soluções viáveis deste programa semidenido é onvexo. A.4.6 Prove a desigualdade (7.2 Es reva o programa semidenido orrespondente a (7.8 Considere o problema MaxCut om a seguinte restrição adi ional: S1 e S2 e queremos um orte de peso máximo que deixe os vérti es de S1 em um mesmo omponente e separe quaisquer dois vérti es em S2 .3 e D. já que as soluções ótimas (W.4) é fe hado e limitado. (Determinar uma pre isão dos ál ulos que produza razão de aproximação próxima de 0. Exer í ios 7.) O algoritmo RandEsfera pode também ser implementado [Joh87.7 k Formule o Max Cut (exer í io 6. C) em que ada tem exatamente duas variáveis é onhe ida omo Max2Sat. O algorit- mo dos elipsóides pode ser usado para produzir [GLS93℄. as restrições de . O algoritmo dos elipsóides. Formule esse problema são dados dois onjuntos de vérti es . b) PSD X que satisfaz.5 7.1 Verique que o onjunto das soluções viáveis do programa vetorial (7.Programação Semidefinida 84 mais realista: basta exe utar todos os ál ulos om alguma pre isão nita. 7. para qualquer " positivo. forne e apenas soluções aproximadas de tais programas. 7. 1) (exer í ios D. A. a menos de ". A restrição do MaxSat ( apítulo 6) a instân ias láusula em C (V.878 não é tarefa fá il. Isso é inevitável. onvexo. uma matriz (W.3 Verique que o onjunto das soluções viáveis do programa semidenido orrespondente a (7.4) não é.3) omo um programa quadráti o.6).

Motwani e Sudan [KMS98℄ apresentaram uma (n1 3=(k+1) log1=2 n)-aproximação para o problema de oloração de vérti es em grafos om mero romáti o é no máximo k. 7.5 (algoritmo de Erd®s [Erd67℄. 0. BKRV98. w) do MaxCut para as quais o algoritmo MaxCut- GW produz ortes de peso arbitrariamente próximo de 0. exer í io 6.931 -aproximação para -aproximação para o MaxDiCut. w) . Goemans e Williamson apli aram o método de programação semidenida a vários problemas [GW95b℄. dis utido na seção 2. a melhor razão de aproximação onhe ida para o problema MaxCut era 0. FJ97.2). Mostre que o algoritmo MaxCut-GW pode ser adaptado para esse problema. Sku99. Karger. KG98. uma denido no exer í io 7. A desaleatorização é bem mais omplexa que aquela apresentada no apítulo 6.6. Mahajan e Ramesh [MR95a℄ mostraram omo desaleatorizar o algoritmo MaxCut-GW.758 - -aproximação para o Max2Sat. e Zwi k [KZ97℄ propuseram uma Max3Sat.6. aproximação para o MaxSat. Mais informações sobre programação semide- . -aproximação para a versão do MaxCut em grafos orientados.875 Karlo -aproximação para o problema Skutella [Sku98℄ apli ou programação semidenida a uma variante do problema Es alonamento.Notas bibliográfi as 85 omo um programa quadráti o e exiba uma relaxação vetorial dele. métodos de pontos interiores podem ser mais e ientes que o algoritmo dos elipsóides na resolução de programas semidenidos. Feige e Goemans [FG95℄ obtiverem uma o Max2Sat e uma 0. CS98. onservando a mesma razão de aproximação esperada. n vérti es e nú- Vários outros trabalhos re entes [AK98. Zwi99℄ também usam programação semidenida. Antes do apare imento do algoritmo MaxCut-GW.878 0. De a ordo om Alizadeh [Ali95℄. Os exer- í ios 7.7 e 7. onhe ida por MaxDiCut. nas notas de aula de Williamson [Wil98℄. análogo ao Max2Sat.878opt(G. Programação semidenida e suas apli ações à otimização ombinatória são dis utidas por Deza e Laurent [DL97℄ e por Lovász [Lov01℄. Hal00. CRW01. e uma 0. GW01.859 0.796 Eles obtiveram uma 0. Karlo [Kar96℄ apresentou uma família de instân ias (G. Notas bibliográ as A apresentação desse apítulo inspirou-se no artigo de Goemans e Williamson [GW95b℄.1. no book of Combinatori s Hand- [GGL95℄ e no texto de Lovász [Lov01℄.8 foram extraídos do livro do Vazirani [Vaz01℄.

86 Programação Semidefinida nida podem ser en ontradas no livro de Wolkowi z. Saigal e Vandenberghe [WSV00℄. .

Capítulo 8

Inaproximabilidade
Por que alguns problemas de otimização pare em ser mais difí eis
de aproximar do que outros? Como podemos medir ou omprovar estes
diferentes graus de di uldade?

O presente apítulo trata de questões

desse tipo.
Cook [Coo71℄ mostrou que a lasse NP ontém problemas ompletos,
ou seja, problemas que são pelo menos tão difí eis quanto qualquer outro problema na lasse. Estes são os hamados problemas NP- ompletos
(apêndi e E).

Logo após, Karp [Kar72℄ apresentou uma grande ole-

ção de problemas NP- ompletos, que in luía vários problemas de de isão
orrespondentes a problemas de otimização ombinatória bem onhe idos. É rença geral que não existem algoritmos polinomiais para resolver
problemas NP- ompletos, ou seja, a redita-se que P

6= NP.

Assim omo problemas de de isão são lassi ados onforme a sua di uldade omputa ional, problemas de otimização são lassi ados onforme o seu grau de aproximabilidade por algoritmos polinomiais. Neste
apítulo são denidas as lasses PO, FPTAS, PTAS, APX e NPO de
problemas de otimização.
Nos apítulos anteriores foram estudados diversos algoritmos de
aproximação para vários problemas NP-difí eis. Para nenhum dos problemas estudados foi apresentada evidên ia de que não existem algoritmos om melhor razão de aproximação. Neste apítulo mostramos que,
freqüentemente, a di uldade em se obter uma melhor razão de aproximação está intrinse amente ligada à questão  P

6= NP?. Apresentamos

resultados de inaproximabilidade que têm tipi amente a seguinte forma:

se existe uma -aproximação polinomial para , então
onde 

é um problema de otimização.

87

P

=

NP

,

Um tal resultado indi a que a

Inaproximabilidade

88

existên ia de uma

-aproximação

polinomial para 

é improvável. Por

outro lado, apesar de não se a reditar que este seja o aso, se P

=

NP

então, em parti ular, existe um algoritmo exato polinomial para ada
problema tratado no presente texto e toda a dis ussão sobre algoritmos
de aproximação perde parte de seu sentido.

8.1 Classes de problemas de otimização
(I )

Sol

val(I; S )

Um

problema de otimização

tem três ingredientes, a saber, um

(I ) de soluções viáveis de ada
I e uma função val que asso ia a ada instân ia I e solução
S em Sol(I ) um valor ra ional não-negativo val(I; S ). Se o problema é
de minimização o objetivo é en ontrar, para qualquer instân ia dada,
uma solução viável de valor mínimo. Se o problema é de maximização

onjunto de instân ias, um onjunto Sol
instân ia

o objetivo é en ontrar uma solução viável de valor máximo. Em suma,
um problema de otimização

onsiste no seguinte:

Dada uma instân ia I , en ontrar S em Sol(I )
que minimize (maximize) val(I; S ).

Problema

Uma 

(I ) 

:

solução ótima

para um problema de otimização é uma solução

viável que maximize ou minimize, dependendo do aso, o valor da função

val

. Denotamos por

NPO

opt(I )

o valor de uma solução ótima da instân ia

I.

A lasse de problemas NPO, que é a extensão de NP a problemas de
otimização, é formada pelos problemas de otimização para os quais: 

existe uma função polinomial p tal que hS i  p(hI i) para toda
instân ia

I

do problema e toda solução viável

S

de

I; 

existe um algoritmo polinomial que de ide se uma dada palavra é
uma representação válida de uma instân ia do problema; 

existe um algoritmo polinomial que de ide se um dado objeto é
solução viável de uma dada instân 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

extensão da lasse P a problemas de otimização.

A lasse APX é for-

mada pelos problemas em NPO para os quais existe uma
polinomial para alguma onstante

.

-aproximação

8.1 Classes de problemas de otimização

Um

esquema de aproximação

(approximation

problema de otimização é um algoritmo
positivo

"

e uma instân ia

I

s heme )

para um

A que re ebe um número ra ional
A("; I ) om

e devolve uma solução viável

um erro relativo de no máximo

(1

89

", ou seja,

") opt(I )  val(I; A("; I ))  (1 + ") opt(I ) :

No aso de problema de maximização, somente a desigualdade esquerda

" no intervalo (0; 1).

é relevante; ela só faz sentido para

Se o problema

1 Dizemos

é de minimização, somente a desigualdade direita interessa.
que

A é um esquema de aproximação 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 função polinomial p, então A
plenamente polinomial (fully polynomial-

é esquema de aproximação

time approximation s heme ).

Para o problema da mo hila (Mo hila),

tratado no apítulo 2, o algoritmo Mo hila-IK" é um esquema de aproximação plenamente polinomial.

2

A lasse PTAS é omposta pelos problemas em NPO que possuem
um esquema de aproximação polinomial e a lasse FPTAS, pelos que
admitem um esquema de aproximação plenamente polinomial. Das denições, segue imediatamente que
PO 

FPTAS  PTAS  APX  NPO :

Como será observado na próxima seção, se alguma das in lusões a ima
não for estrita, então P
PO

=

=

NP.

Por outro lado, se P

=

NP, então

NPO.

Como pode ser veri ado, todos os problemas de otimização estudados ao longo do presente texto estão em NPO. Assim, os algoritmos
de aproximação vistos distribuem esses problemas nas lasses denidas
a ima. Com ex eção do teorema 8.2, todos os teoremas a seguir estão,
essen ialmente, demonstrados nos apítulos 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 maximização e

2

a

A quantidade de tempo onsumida pelo algoritmo

n3 =", onde n é o número de objetos.

Es-

" está xo, temos uma (1 ")-aproximação.
(1 + ")-aproximação.

Se o problema é de minimização, temos uma

2

O problema

Mo hila-IK" é propor ional

PTAS
FPTAS

instân ia arbitrária do PCH. 2 Empa otamento. então P = NP. Aplique o algoritmo A à instân ia (K. MinMCut. então P Seja A = NP. Portanto. pode-se riar um algoritmo polinomial que uma resolve o problema do ir uito hamiltoniano. 2 MinCC.6 : Se PTAS = APX. ) > jVGj. basta provar que se o problema Empa otamento está em PTAS. Uma solução viável da instân ia (K. Como PCH é NP- ompleto [Kar72℄. é su iente mostrar o seguinte teorema de Sahni e Gonzalez [SG76℄: se o problema TSP está em APX. Teorema 8. mostramos que a di uldade em obter-se uma melhor razão de aproximação para alguns problemas tratados ao longo do texto é herdada da teoria de NP- ompletude e da lássi a questão  P 6= NP?. Donde. então P Seja A onstante.2 NP- ompletude e inaproximabilidade Nesta seção. MinCV. ))  jVG j se e somente se G é hamiltoniano. TSPM estão em APX. Demonstração: Pelo teorema 8. um esquema de aproximação polinomial para o problema . A exe ução do onstrua a instân ia junto algoritmo onsome uma quantidade de tempo limitada por uma função polinomial de hGi. denotado por PCH. Demonstração: Pelo teorema 8.Inaproximabilidade 90 Teorema 8. o problema TSP está em NPO. ). se G não é hamiltoniopt(K. A existên ia de um tal algoritmo polinoSe ano. Logo. ) do TSP é um ir uito hamiltoniano em K e o valor da solução viável é o usto do ir uito. onde K é o grafo ompleto om onVG de vérti es e usto e = 1 se a aresta e está em G e e = jVG j se e não está em G. ) do TSP. ) = jVG j e. MaxCut. MinFS e Teorema 8. O algoritmo é o seguinte.3. temos que P = NP.3 : Os problemas MaxSat. G é hamiltoniano então opt(K. A(K. -aproximação polinomial para o TSP. ). o problema Empa otamento está em APX. Dado um grafo G. val((K. onde é uma Utilizando A. então P = NP.4. (K. MinTC e 8.4 : Os problemas TSP estão em NPO . 2 Teorema 8. então mial mostra que PCH está em P.5 : Se APX = NPO. = NP.

: : : . ) . supor que  Isso tudo onsome uma quantidade de tempo limitada por uma função polinomial de hni + hvi. o algoritmo proposto resolve em tempo polinomial. (n. Como temos que P Se é NP- ompleto [Kar72℄. (I )) para toda instân ia I de . Problema Partição (n.8. A(1=3. então Max é denido o- mo o maior número inteiro em valor absoluto que o orre em Max se nenhum número inteiro o orre em ( . Empa otamento. ))) = 2 Partição Partição = 2 I (I ) I (I ) := 0 I MaxSat Se a resposta a Partição de Empa otamento é então o valor ótimo é 2. ) (n. Seja para ada i. m) uma função polinomial tal que Teorema 8. ). por exemplo. Estamos supondo que os números ra ionais são representados omo quo iente entre dois números inteiros. v) do problema. Logo. Se  está em Max FPTAS 3 Na prova. Max (I ) . aso ontrário é pelo menos 3. ). então P = NP. Podemos 6= 0 e que vi   para todo i. al ule  := (Pi vi)=2 i := vi = . A(1=3. Seja ainda p(n. S ) é um número inteiro não-negativo para toda instân ia I e todo S em Sol(I ). ) para resolver Empa otamento (n. um número vi em Q  . O algoritmo polinomial para Partição é muito simples. v ) sim val((n. v) sim opt(n.7 (Garey e Johnson [GJ78℄): opt(I )  p(hI i. se o número 3=17 o orre em I temos que Max(I )  17. : : : . ). ng tal que v(B1 ) = v(B2 ). Assim. Utilizando o algoritmo3 pode-se projetar um algoritmo polinomial o problema da partição (partition ). Dada uma instân ia arbitrária (n. (n. v): Dados um inteiro positivo n e. de idir se existe uma partição fB1 .2 NP- ompletude e inaproximabilidade 91 A(1=3. ) = (4=3) opt(n. )))  (1 + 1=3) opt(n. é uma instân ia de um problema. 1=3 pode ser substituído por qualquer ra ional no intervalo (0. A(1=3. ng. B2 g de f1. ). ). ) val((n. NP. Utilize o algoritmo A(1=3. para ada i em f1. Partição(n. 1=2). Como é um número inteiro e a resposta do problema é se e somente se . dena é um exemplo em que isso o orre). Seja  um problema de otimização NP-difí il no sentido forte tal que val(I. ))) val((n. . (n. (n.

provando assim que P = NP. a hipótese dos valores das soluções viáveis serem números inteiros é apenas aparentemente restritiva. A(". um algoritmo de aproximação para um dos problemas pode ser transformado em um algoritmo de mesma razão de aproximação para o outro. : : : . Mais ainda. t): Dados inteiros positivos m e n e um tempo ti em Z para ada i em f1. opt(I(I) )) + 1 < 1. I )) = opt(I )   = 2 Max para toda instân ia . A(". Todos os problemas formulados ao longo do texto envolvem números ra ionais. Mm g de f1. Como é NP-difí il no sentido forte. temos NP. Es alonamentoInt também está em PTAS. Os problemas Es alonamento e Es alonamentoInt são polinomialmente equivalentes. No teorema 8. I . a reformulação abaixo do problema Es alonamento. I )) opt(I ) val(I. por exemplo. I val(I. ng. Problema Es alonamentoInt (m. en ontrar uma partição fM1 . : : : . : : : . I )) opt(I )  " opt(I ) = p(hI i. Ademais. Ou seja. . o algoritmo A devolve um elemento A(". Max(I ))+1) e aplique o algoritmo A aos argumentos " e I . Entretanto.Inaproximabilidade 92 Demonstração: Suponha que  é um problema de minimização (ar- gumentos simétri os se apli am a problemas de maximização) e seja um esquema de aproximação plenamente polinomial para do o esquema  A . ompute " := 1=(p(hI i. Em uma quantidade de tempo limitada por uma função polinomial em hI i e 1=". ou seja. Dada uma instân ia val(I. I ))  (1 + ") opt(I ) . .2.7. Utilizan- A. ada um desses problemas pode ser reformulado omo um problema em que os valores das soluções viáveis são números inteiros e que é polinomialmente equivalente ao problema original. pelo teorema 8. uma -aproximação polinomial para um -aproximação polinomi- dos problemas pode ser transformada em uma al para o outro. I ) em Sol(I ) que satisfaz val(I. n. o algoritmo pseudopolinomial projeta- do resolve que P exatamente. A(". e portanto em tempo pseudopolinomial. ng que minimize maxj t(Mj ). pode-se projetar um algoritmo pseudopolinomial para resolver o problema  . Como e são inteiros. Considere. Logo. A(".

O on eito de ompletude pode ser estendido para problemas de otimização. Gambosi. Portanto. 2 Uma prova do teorema 8. então PO = NPO.3 Completude para problemas de otimização 93 As hipóteses prin ipais do teorema 8.8. então é improvável que existam algoritmos polinomiais para todos os problemas em FPTAS. tais omo. Mar hetti-Spa amela e Protasi [ACG 99℄.7.7 são que as soluções viáveis de  têm valor inteiro não muito grande e que tido forte.9 : Se PO = FPTAS. se algum desses problemas admitir um esquema de aproximação plenamente polinomial. Teorema 8. Con retamente. Cres- + enzi. MaxCut. Kann. Uma AP-redução de um problema de otimização  a um problema . Teorema 8. o teorema a seguir mostra que. Como.8 : Se FPTAS = PTAS. 2 Como Mo hila é um problema NP-difí il que está em FPTAS. Desta forma. então P = NP. além da polinomialidade. Es alonamentoInt está em PTAS. 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. om ex eção do teorema 8. 2 Finalmente. Da mesma maneira que foi onveniente para a lasse NP utilizar uma redução que preserva polinomialidade. preserve também a razão de aproximação. para problemas de otimização é ne essário um tipo de redução que. problemas ompletos de uma erta lasse são aqueles pelo menos tão difí eis quanto qualquer outro da lasse.10 : Se P = NP. Teorema 8.  é NP-difí il no sen- Estas hipóteses se apli am a vários problemas vistos neste texto.3 Completude para problemas de otimização Informalmente. então P = NP. que estão em APX. então é improvável que existam esquemas de aproximação plenamente polinomiais para todos os problemas em PTAS. então P = NP. 8. usaremos uma redução que preserva a existên ia de um esquema de aproximação polinomial. vale a re ípro a de ada teorema visto nesta seção. MinCV e o re ém denido Es- alonamentoInt. então P = NP. em parti ular.10 pode ser en ontrada em Ausiello. se algum problema NP- ompleto está em P. MaxSat.

g. .Inaproximabilidade 94 de otimização 0 é um terno (f.

) em que f e g são algoritmos e .

para todo número ra ional positivo Æ . vale que se (1 então AP Æ Æ) opt(f (Æ. I )) . (1 . e para toda instân ia I de . . é um número ra ional positivo tais que: (AP1) (AP2) (AP3) (AP4) f re ebe um número ra ional positivo . e uma instân ia I de g re ebe um número ra ional positivo Æ. I. ) e g(Æ. os algoritmos f (Æ. I ) de 0 . I )). ) são polinomiais. e 0 todo S em Sol(f (Æ. I )). I ))  val(f (Æ. todo número ra ional positivo Æ . S ) em Sol(I ). uma instân ia I de  e 0 0 um elemento S em Sol(f (Æ. I ). e devolve g (Æ. S 0 )  (1 + Æ) opt(f (Æ. e devolve uma instân ia f (Æ.

S 0 ))  (1 + . I. g(Æ.Æ) opt(I )  val(I.

0 está em APX e  AP 0 . .11 : Se 1 3 .12 : Se  está em NPO. então  está em PTAS .13 : Se  está em NPO.Æ) opt(I ) : Será usada a notação   AP 0 redução de ando que a 0 .  AP 0 para denotar a existên ia de uma AP- Dizemos que  pode ser AP-reduzido a 0 signi- . Teorema 8. 0 está em PTAS e  AP 0 . então 1 AP Teorema 8. APX 2 O próximo teorema mostra que AP-redução preserva a existên ia de um esquema de aproximação polinomial. g. A0 um esquema de aproximação polinomial para 0 e seja (f. então  está em . 2 AP 2 e 2 AP 3 . Teorema 8.

O algoritmo A abaixo re ebe um número ra ional positivo " e uma instân ia I de  e devolve S em Sol(I ) om erro relativo de no máximo ". Utilizando o esquema A0 e os algoritmos f e g será riado um esquema de aproximação polinomial A para . Demonstração: Seja . ) uma AP-redução de  a 0 .

3 Completude problemas de otimização PSfragpara repla ements Algoritmo A (".8. I ) 1 Æ "=.

que S0 está em Sol (I 0 ) = Sol (f (Æ. de (AP4). I ) I0 A0 (Æ. segue que. I ). I 0 ) 4 S g(Æ. As propriedades De (AP3) e do fato de (AP1) e (AP2) e a denição de esquema de aproximação garantem que I0 0 é uma instân ia de . S )  (1 + ") opt(I ) . para todo ". I )) : está em Sol S . S 0) = val(f (Æ. I. tem-se que (1 ") opt(I )  val(I. que (I ) (1 Æ) opt(I 0 )  val(I 0 . já que . S 0 )  (1 + Æ) opt(f (Æ. I )) . I ) 3 S 0 A0 (Æ. I. S 0 ) A0 ser um esquema de aproximação polinomial. o algoritmo A(". S 0 ) 5 devolva S I 95 f (Æ. e que Logo. ) é polinomial. I 0 ) A(". 2 I 0 f (Æ. I ) S S0 g (Æ.

MinFS. é MaxSat APX-difí il a existên ia de um esquema de aproximação polinomial para a em P = NP. então todo problema APX- ompleto está Teorema 8. por exemplo.6 e 8. tem-se que  2 está em PTAS. 6= APX. ) é um algoritmo polinomial que re ebe uma instân ia I de  e devolve uma solução viável A(". se PTAS em APX n PTAS. Khanna. não ne essariamente em APX. Sudan e Vazirani [KMSV99℄): é - ompleto. A(".  se impli- Assim. MinCC. APX  Um problema 2 O problema . Æ = ". O primeiro problema que se demonstrou ser APX- ompleto foi MaxSat.15 : Os problemas MaxSat. MinMCut. I ) om erro relativo de no máximo ". MinCV.13. Em suma. a existên ia de um esquema de aproximação polinomial para qualquer problema APX- ompleto impli a em P Note que. MaxCut. Um problema  em APX é APX pode ser AP-reduzido a  APX- ompleto se ada problema em . já que. TSPM e Empa otamento. pelos teorema 8. APX 2 MinTC. Teorema 8. Motwani. . MaxSat é APX-difí il. omo desejado. TSP NP. Como  está em NPO. = são -difí eis.14 (Papadimitriou e Yannakakis [PY91℄.

É laro que se P = NP então o limiar de aproximação de todo pro- blema em NPO é 1. e TSP estão em NPO. S. 2 em 6= NPO. na denição a ima. MinCV.4 Limiares de aproximação O limiar de aproximação (approximation threshold ) de um pro- blema de minimização é o maior limitante inferior de todos os quais existe uma -aproximação polinomial para o problema. para os No aso de problema de maximização tro a-se.1 são apresentadas.Inaproximabilidade 96 Um problema  em NPO é NPO pode ser AP-reduzido a NPO- ompleto se ada problema  . para alguma onstante " > 0 [RS97℄ > " log jE j. Mo hila. i). MinTC. então O problema 8. Na tabela 8.1 Verique que os problemas Es alonamento. MaxSat. ) MinCC MinTC limiar de aproximação = 1 [IK75℄ (o problema está em FPTAS) = 1 [HS88℄ (o problema está em PTAS)  3=2 [GJ79℄  16=17 [Hås97℄  7=8 [Hås97℄  7=6 [Hås97℄  131=130 [EK00℄ > " log jE j.16 TSP é NPO n APX. Exer í ios 8. maior limitante inferior por menor limitante superior. . Observe que se APX todo problema NPO- ompleto está em NPO Teorema 8. MaxCut. MinMCut. problema Mo hila Es alonamento Empa otamento MaxCut MaxSat MinCV TSPM (E. Empa otamento. TSPM. MinFS. MinCC. ) TSP (G. para alguma onstante " > 0 (equivalente ao MinCC [ADP80℄) > f (hG. para toda função f omputável em tempo polinomial [SG76℄ Tabela 8. (Orponen e Mannila [OM87℄): - ompleto. sob a hipótese de P 6= NP.1: Limiares de aproximação de alguns problemas. S. ) (E. delimitações para os limiares de aproximação de problemas abordados nesse texto.

) (( + 1)= ) é NP- Mostre que se existe uma  .7 na denição de pode ser reduzido a Asso iado a ada problema de otimização Mostre que se 8. D V um problema de minimização em NPO tal que ompleto para algum está em NPO . de idir se existe S em Sol(I ) tal que val(I. denido a seguir. t) om apenas duas m = 2) é NP-difí il. al ular opt(I ). o que se pode dizer sobre o problema Empa otamento ? 8. então pode ser reduzido a Mostre que se  Seja   V + [ACG 99℄. então P = - NP. O problema MinMCut é NP-difí il mesmo quando restrito a estrelas. é um problema em NPO. então nomialmente equivalentes 8. ) é uma estrela. é uma árvore em que no máximo um dos vérti es tem grau maior que 1 .3 Uma estrela (m. Mostre que . v) : Dados inteiros V . então D  . são polinomialmente equivalentes e que -aproximação polinomial para um deles pode ser transformada em uma -aproximação polinomial para o outro. O que se pode dizer sobre algoritmos de aproximação para estes dois problemas? 8.4 Cada problema de otimização pode ser asso iado de maneira natural a um as. Baseado neste fato. aproximação polinomial para e são poli- D(. S. n. S )  .5  ser um problema de maximização. mesmo para instân ias em que G (G. e V  é um problema em NPO. o problema de de isão asso iado é Problema D (I. S )  D está em NPO. problema de de isão sobre o mesmo onjunto de instân i- Se  é um problema de minimização. basta tro ar por val(I. Des reva uma redução do MinCV para o MinMCut em estrelas.6 D xo.  temos o seguinte problema de valoração: Problema V (I ): Dada uma instân ia I de .2 97 Prove que o problema Es alonamento máquinas (ou seja. Em aso de val(I. uma Problema Empa otamentoInt ( . S )   se 8.8 Mostre que os problemas Empa otamento e Empa otamen- toInt. om 8.Exer í ios 8. ): Dados uma instân ia I e um número ra ional . n. ou seja.

ng tal que v(B )  para todo B em B e jBj seja mínimo. Notas bibliográ as A apresentação deste apítulo baseou-se nos livros de Ausiello al. : : : . 8.5 omo: se TSP está em . i)-aproximação polinomial para o f é uma função omputável em NP. : : : . Logo após a denição das lasses P e NP. A(I ))  para toda instân ia I do problema Mo hila. . ) . : : : .10 Verique que os problemas Empa otamentoInt. onde tempo polinomial. um número inteiro vi em f0. 8. usando denições que surgiram posteriormente. et [ACP95℄ e de Papadimitriou [Pap94℄.9 Mostre que os problemas Es alonamento e Es alonamen- toInt são polinomialmente equivalentes e que uma -aproximação polinomial para um dos problemas pode ser transformada em uma -aproximação polinomial para o outro.11 Prove o teorema 8.7. 8. para ada i em f1. existe um algoritmo polinomial A tal que opt(I ) val(I. já que é improvável que o problema esteja em PO.12. para alguma onstante . 8. ng. 8. então P = f (hG. já se sabia que a obtenção de aproximações para ertos problemas de otimização é tão difí il quanto a obtenção da solução exata [GJ79℄: se.13 Mostre que se existe uma TSP (G. o teorema a ima mostra que o melhor que se pode armar do problema Mo hila é que ele está em FPTAS. MaxSat. Es alonamen- toInt.Inaproximabilidade 98 positivos e n e. en ontrar uma partição B de f1. Considerando as lasses de omplexidade denidas neste apítulo. então P = NP. Como vimos.12 Prove o teorema 8. MaxCut e MinCV satisfazem as hipóteses do teorema 8. então APX P = NP. g.11. bem omo no texto de Ste- ger [Ste01℄ e no livro de Garey e Johnson [GJ75℄. o teorema de Sahni e Gonzalez [SG76℄ pde ser es rito na demonstração do teorema 8.

Notas bibliográfi as 99 Para outros problemas. resultados similares apare eram de forma isolada. Como orolário dos resultados relativos a provas veri áveis probabilisti amente. Este ompêndio faz parte do livro de Ausiello. É sabido que o problema MinMCut é APX-dí il [DJP + 94℄. Kohayakawa e Soares [KS95℄. + Gambosi. Ausiello. sob a hipótese de P a 129=128 6= NP. Mais re entemente. Sudan e Szegedy [ALM + 92℄ mostraram que se os problemas ompletos para a lasse MAXSNP podem ser arbitrariamente aproximados. não se sabe se MinMCut está em APX. e Mayr. de alguma forma. en- tretanto. Cres enzi. A ara terísti a dessas lasses é que se existir um esquema de aproximação polinomial para um problema ompleto de uma das lasses. om indi ação da lasse de omplexidade a que perten em. Prömel e Steger [HPS94℄. não se sabe se ele é APX- ompleto. Essas denições são as usadas no presente texto. Motwani. Papadi- mitriou e Yannakakis [PY91℄ deniram duas lasses de problemas de otimização: as lasses MAXNP e MAXSNP. Prömel e Steger [MPS98℄ apresentaram um tratamento formal de provas veri áveis probabilisti amente e resultados de inaproximabilidade derivados de tais provas. esse algoritmo pode ser adaptado para obter um esquema de aproximação polinomial para todos os outros problemas nessa lasse. equivalentes às men ionadas a ima [KMSV99℄. Papadimitriou e Vempala [PV00℄ anun iaram re entemente que. Arora. Um ompêndio de problemas de otimização. Cres enzi e Protasi [ACP95℄ deniram de forma diferente lasses de problemas de otimização e respe tivas reduções que se mostraram. pode ser en ontrado em Cres enzi e Kann [CK00℄. . ou seja. então P = NP. Eles deniram a hamada MAXNP L-redução entre problemas de otimização e provaram a existên ia de pro- MAXSNP blemas ompletos para a lasse MAXSNP. indi ando a impossibilidade de ertas aproximações. o limiar de aproximação do TSPM não é inferior . Kann. Hou- gardy. Lund. Mar hetti-Spa amela e Protasi [ACG 99℄.

100 Inaproximabilidade .

então jEG j = 21 n(n 1). G. e w de v e w. A notação é onsistente om a de textos lássi- os [BM76. X de vérti es de um grafo ou simplesmente por Æ(X ). onde n := jVG j. wg é denotado. Os elevérti es e os de E são arestas (edges ). então o G é denotado por VG e o onjunto EG . e E Um grafo é um par (V. Um par não-ordenado omo fv. V é um onjunto nito arbitrário V . por vw ou wv. onde X é um sub onjunto de VG . O onjunto de vérti es de um grafo de arestas por VG EG hGi Cortes e graus Para qualquer onjunto por ÆG (X ). Dois um grafo são adja entes se existe uma aresta om um onjunto de pares não-ordenados mentos de vw onde V são hamados é uma aresta. vérti es 1 de elementos de v extremos vérti e é adja ente a todos os outros. 101 Æ (X ) . Se ada grafo é ompleto. Nessas ondições.Apêndi e A Teoria dos Grafos Este apêndi e é um resumo da terminologia e notação bási as da teoria dos grafos. Um onjunto X de vérti es separa um vérti e x de outro y se x 2 X enquanto y 2 VG n X . Se os vérti es v e w são os extremos da aresta. E ). O tamanho (veja apêndi e E) de um grafo G é o número hGi := jVG j + jEGj. dizemos também que o orte Æ(X ) separa x de y. indiferentemente. que têm um extremo em 1 X e outro em Um par não-ordenado é um onjunto om exatamente dois elementos. denotamos o onjunto de todas as arestas VG n X . Um orte ( ut ) é qualquer onjunto da forma Æ (X ). Se G é ompleto. Die00℄ sobre o assunto.

. Para Um que simpli ar. O subgrafo induzido de G que tem X por onjunto de vérti es é denotado por G[X ℄. Dizemos que v0 é a origem e que vk é o término do passeio. ujos vérti es são distintos dois a dois. O número jÆ(v)j é o grau de v. F ). Podemos denotar esse subgrafo por G[F ℄. A soma dos graus de P todos os vérti es de um grafo v2VG jÆ (v )j = 2jEG j. e1 . A origem e o término do aminho são os seus Um extremos. i lo ( y le ) é uma trilha fe hada om pelo menos três arestas. denotamos por G Y o grafo G[VG n Y ℄. : : : . é igual ao dobro do número de arestas:  Um vérti e é número isolado se tem grau (G) := maxv jÆ(v)j 0 . Para qualquer onjunto F de arestas de G. ek . ou seja. um passeio sem vérti es repetidos. es revemos Æ(v) no lugar de Æ(fvg). O subgrafo de G induzido por um sub onjunto F de EG é o grafo (V (F ). ou seja.Teoria dos Grafos 102 Se v é um vérti e. onde V (F ) é o onjunto de todos os vérti es que são extremo de algum elemento de F . i los. aminhos e ir uitos passeio (walk ) é uma seqüên ia (v0 . e2 . podemos es rever G f. EG [ F ) de G. v1 . Se Y = fyg. Se H é subgrafo próprio de G. Uma trilha é um passeio ujas arestas são distintas duas a duas. v1 . Dizemos que H é um subgrafo induzido de G se EH é o onjunto de todas as arestas de G que têm ambos os extremos em VH . denotamos por G + F o grafo (VG . podemos es rever G y. Se F = ff g. Se VH = VG . v2 . : : : . Um grafo uma das in lusões é própria. vk ). vk são vérti es e ada ei é uma aresta om extremos vi 1 e vi . : : : . denotamos por G Fo subgrafo gerador de G ujo onjunto de arestas é EG n F . Um aminho (path ) é um passeio seqüên ia de vérti es. podemos omitir as arestas e representar um passeio por sua (v0 . Subgrafos H é subgrafo de um grafo G se VH  VG e EH  EG . vk ) em v0 . O grau máximo em G é o . dizemos que H é um subgrafo gerador (spanning subgraph ) de G. podemos es rever G + f . Se F = ff g. Para qualquer sub onjunto Y de VG . O passeio é fe hado se vk = v0 e aberto em aso ontrário. um passeio sem arestas repetidas. Se F é um onjunto de pares não-ordenados de elementos de VG . G F G[X ℄ G Y G[F ℄ G+F Passeios.

Um passeio é gerador se ontém todos os vérti es do grafo. v1 . É laro que um grafo G é onexo se e somente se ÆG (X ) 6= . então jEF j = jVF j (F ). Se F é uma oresta. em parti ular. qualquer oresta F tal que VF = VG e EF  EG . Todo grafo onexo Uma tem uma árvore geradora. Para qualquer par (x. i los e ir uitos. Se T é uma árvore. o número de arestas de C . para todo sub onjunto não vazio e próprio X de VG . Uma árvore geradora (spanning tree ) de um grafo G é qualquer subgrafo gerador de G que seja uma árvore. w) de seus vérti es. a trilhas. O omprimento de um aminho ou ir uito C é jEC j. ada omponente de uma oresta é uma árvore. Analogamente. existe um passeio om origem v e término w . vk ) tal que vi 6= vj sempre que i < j . então jET j = jVT j 1. ex eto se i = 0 e j = k . ou seja. para todo par (v. Portanto. : : : . O onjunto de arestas de um aminho ou ir uito Conexão e omponentes onexo se. É laro Um que a denição se apli a. onde (F ) é o número de omponentes de F . Um omponente de um grafo G é qualquer subgrafo onexo ma2 ximal de G. EC . Subgrafos minimais H0 de G H que tenha a propriedade em são denidos de maneira análoga. 2 Um subgrafo H de G é maximal om relação a uma dada propriedade se não é subgrafo próprio de um outro subgrafo questão. Às vezes onvém onfundir um omponente om o seu Um grafo é onjunto de vérti es. Um aminho gerador é também onhe ido omo hamiltoniano. aminho um ir uito gerador é onhe ido omo C é denotado por EC . Florestas e árvores Uma oresta é um grafo sem i los. Uma oresta geradora de um grafo G é qualquer subgrafo gerador de G que seja uma oresta. y ) de vérti es em uma árvore. árvore (tree ) é uma oresta onexa.103 ir uito é um i lo (v0 . existe um e um só aminho de x a y . isto é. ir uito hamiltoniano. aminhos.

3 Um multi onjunto pode ter mais de uma ópia de ada um de seus elementos. Mais pre isamente. w ) de vérti es de G. Um grafo bipartido Uma tal que (bipartite graph ) é um grafo munido de uma bipartição. Outro exemplo: i los e ir uitos podem ter apenas duas arestas (mas não menos que isso). Y g de VG Æ(X ) = EG . Mais expli itamente.Teoria dos Grafos 104 Grafos bipartidos biparti ão de um grafo G é qualquer partição fX. . (4) o interior de um elemento de E não ontém elementos de V nem pontos que pertençam a outro elemento de E . tem-se vw 2 EG se e somente se algum elemento de E tem extremos (v) e (w). por exemplo. Um ar o é a união de um número nito de segmentos de reta no plano que seja homeomorfa ao intervalo fe hado [0. o grau de um vérti e é a somas das multipli idades das arestas que nele in idem. Um mapa é um par (V. as imagens de 0 e 1 sob esse homeomorsmo são os extremos do ar o. Um grafo é um grafo Multigrafos Às vezes. Um grafo admite uma bipartição se e somente se não tem ir uito de omprimento ímpar [BM76℄. Assim. 1℄ da reta. ou seja. E ) onde (1) V é um onjunto nito de pontos do plano. para todo par (v. E ) e uma bijeção de de VG em V tal que. Custos e pesos é uma função que asso ia um número e a ada aresta Para qualquer onjunto F de arestas do grafo. (3) elementos diferentes de E têm diferentes onjuntos de extremos. a existên ia de várias  ópias de uma mesma aresta. (2) todo elemento de E é um ar o entre dois elementos de V . G é planar se existe um mapa (V. um multigrafo onsiste em um onjunto nito V e um multi onjunto3 E de pares não-ordenados de elementos de V . A terminologia e notação denidas para grafos se estendem aos multigrafos om as devidas adaptações. Dizemos nesse aso que temos um multigrafo. onvém admitir a existên ia de arestas múltiplas em um grafo. o número de ópias é a multipli idade do elemento. denotamos Suponha que e de um grafo. Grafos planares planar se for isomorfo a um mapa.

dizemos que (F ) é o usto de F e (H ) o usto de H . (H ) omo (EH ). então .105 por (F ) a soma dos f para f em (F ) := P f 2F f : (F ) = 0. Se H é um subgrafo do grafo em questão. Se F =. ( ) F: denimos . Algo análogo a onte e quando e é interpretado omo peso da aresta e. Se e é interpretado omo usto da aresta e.

106 Teoria dos Grafos .

isto é. Se o onjunto x é N . respe tivamente. o valor da função x em j . j ) de A. Dizemos também que A é uma M  N . de índi es de um vetor xQ Se todos os omponentes são números ra ionais. dizemos que x está denido sobre N ou é indexado por N . Se i e j são elementos de M e N . o vetor nulo será qualquer que seja o seu onjunto de índi es. A relação  é denida de modo análogo. O vetor ara terísti 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 ontrário. Se Q é um sub onjunto de N então xQ denota a restrição de x a Q. Se x é um vetor sobre um onjunto N e j é um elemento de N então xj denota o omponente j de x. Um vetor denotado por x é nulo se xj 0 =0 para ada índi e j. Se forem todos inteiros. x  y. dizemos que M A é o onjunto de índi es de linhas e A. dizemos que Matrizes Uma matriz é uma função que leva o produto artesiano de dois onjuntos nitos em um onjunto de números reais. Como nossos interesses são omputa ionais. o vetor ujo omponente q é xq para ada q em Q. dizemos que o vetor é inteiro. dizemos que o vetor é ra ional. ou seja. são vetores sobre um mesmo onjunto de índi es e xj Se xey  yj para ada j . que trata de programação semidenida).Apêndi e B Vetores e Matrizes Um vetor é uma função que leva um onjunto nito arbitrário  o onjunto de índi es  em um onjunto de números reais. quase todos os vetores do texto são ra ionais (a ex eção  a no apítulo 7. Se uma matriz tem domínio N M  N . ou o onjunto de índi es de olunas de matriz sobre M N ou indexada por 107 xy x0 . então Aij denota o omponente (i.

Uma matriz é quadrada se seus onjuntos de índi es de linhas e seja. j ). identidade É I tal que Iii = 1 por I . a linha i de A é a oluna i > de A. então xy é a soma q2Q xq . Uma matriz A é simétri a > se A = A. O produto de um vetor y sobre M por A é o vetor o número yA .Vetores e Matrizes 108 A em (i. Se P e Q são sub onjuntos de M e N . Dizemos que a matriz é ra ional se todos os seus omponentes são ra ionais e inteira se todos os seus omponentes são inteiros. > A transposta de uma matriz A sobre M  N é a matriz A sobre > > N  M denida por Aij = Aji . respe tivamente. se y P é o vetor ara terísti o de um Q de N . É laro que toda matriz simétri a é quadrada. I Uma matriz para ada i. j Aij xj . Por exemplo. o valor de A?j Ai? AP Q A> olunas são iguais. Uma linha de A é um vetor sobre N : a linha i de A é o vetor ujo omponente j é Aij para ada j em N . evidente que toda matriz diagonal é simétri a. Uma matriz D é diagonal se for quadrada e se Dij = 0 sempre que i 6= j . a matriz sobre P  Q ujo omponente (p. É laro que a transposta de A é A. Produtos x e y sobre um mesmo onjunto N . então AP Q é a restrição de A a P  Q. quaisquer que é uma matriz diagonal Matrizes identidade são denotadas sejam seus onjuntos de índi es. q) vale Apq para ada p em P e ada q em Q. ou seja. Portanto. que onven ionamos denotar por x(Q). o produto x por y é o número Para quaisquer vetores (interno) de xy := P j 2N xj yj : xy = y x. ou seja. A oluna j de A será denotada por AMj ou A?j e a linha i por AiN ou Ai? . Suponha agora que A é uma matriz sobre M  N . A oluna j de A é denida analogamente. 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. (Ax)i = j Aij xj P e (yA)j = i yi Aij . Assim. 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 . Uma matriz quadrada que AB = BA = I . É É menos evidente que (AB ) C = A (BC ). O h i. ou seja. > É evidente que yA = A y . é o produto de vetores desde que ada produto faça sentido. O tamanho de um número inteiro é o número de ara teres (diga- vetor mos dígitos de imais) na representação do número (veja apêndi e E). k) Ai? B?k .109 P P j é o número i yi Aij . a propriedade asso iativa y (Ax) = (yA) x. a inversão ujo omponente da ordem das somas: P i yi (Pj Aij xj ) = Pj (Pi yiAij )xj : Para qualquer matriz N . mas não menos verdadeira. Normas e tamanhos Denotamos por matriz B tal Uma tal matriz kxk a norma do vetor x. (i. É menos evidente. kxk Esse número pode ser interpretado omo o omprimento geométri o do x. Em suma. kxk := pxx. A é inversível se existe uma B é inversa de A. yA é uma ombinação linear das linhas de A enquanto Ax é uma ombinação linear das olunas de A. 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 número inteiro é denotado por um número ra ional om numerador h i h =.

2 e o apêndi e E. b. ) hAi + hbi + h i é Assim. o tamanho de . É laro que o tamanho de uma matriz não é inferior ao número de omponentes da matriz. i de seus omponentes. O tamanho de uma matriz hAi. hAi . Essas denições de tamanho são asos parti ulares do on eito geral de tamanho a que se refere a seção 1. tamanho de A é denotado por O um onjunto de vetores e matrizes ra ionais é a soma dos tamanhos dos elementos do onjunto. um sistema (A.

ex eto talvez uma. matrizes elementares H elementar Demonstração de B.1 : Para toda matriz simétri 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. uma matriz que Emm E =1 indexada por e E?j = I?j M M é elementar se existe para ada j distinto de m. digamos H . O seguinte lema ara teriza tais matrizes. Para qualquer matriz simétri a X indexada por M  M e qualquer m em M tal que Xmm 6= 0. onde ada E (i) é uma matriz elementar indexada por ma E M  M . Uma matriz quadrada é elementar se oin ide om a identidade na diagonal e em todas as olunas. Uma matriz quadrada matriz quadrada Y X é positiva semidenida se existe uma tal que X = Y Y>: É laro que toda matriz positiva semidenida é simétri a. m em M tal Toda matriz E é inversível e sua inversa. Se H (i) é a inversa de E (i) para ada i então o produto de (p)    H (1) é a inversa de E (1)    E (p) . A prova do lema depende de alguns on eitos que passamos a denir. Um produto de matrizes elementares é qualquer matriz da for(1)    E (p) . Lema B. também é elementar: Hmm = 1 e Him = Eim para ada i distinto de m e H?j = I?j para ada j distinto de m. vamos des rever um algoritmo X e devolve uma matriz real Y tal que X ou um vetor y tal que yX y < 0. é fá il determinar uma matriz elementar E > tal que a matriz simétri a Z := E X E tem a seguinte estrutura: que re ebe qualquer matriz simétri a =Y Y> Zmm = Xmm e Zmj = Zjm = 0 .1: A prova de que apenas uma das alternativas vale é simples: se X = Y Y > então yX y = y (Y Y >) y = (yY )(Y > y) = (yY )(yY )  0 : Para provar que uma das alternativas vale. Mais pre isamente.Vetores e Matrizes 110 Matrizes positivas semidenidas A ara terização de matrizes positivas semidenidas que des revemos a seguir é usada no apítulo 7.

Seja u o vetor denido por um = 1 e ui = 0 para ada i distinto de m. Segue daí que para qualquer matriz simétri a X indexada por M  M existe um produto F de matrizes elementares tal que a matriz simétri a para ada j Z.) Se P = M e Zpp  0 para ada p em P então Z X = GZ G> . ui = 0 para i distinto de m e j e um é es olhido de modo que 2um Zmj + Zjj < 0. Finalmente.111 2 0 0 0 0 0 P M nP P 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. é diagonal e Z_ pp = p Zpp. Zmm < 0 para algum m em M . Eim = Xim =Xmm para ada i distinto de m e E?j = I?j para ada j distinto de m. yX y < 0. (Veja gura B. mas Y = G Z_ Z_ X = Y Y>. Então (uF ) X (uF ) = u (F X F >) u = uZ u = Zmm < 0.1: Estrutura da matriz m. Seja u o vetor denido da seguinte maneira: uj = 1. Em suma.M nP =0 e. Então Zmm = 0 mas Zmj 6= 0 para algum j . distinto de := Z F XF> P de M tal que ZP P é m em M n P . y = uF . para ada Zm? 6= 0.1. Zmm = 0 tem a seguinte estrutura: existe um sub onjunto uma matriz diagonal. ZP. Basta tomar omo E a matriz elementar denida por Emm = 1. onde e é a matriz diagonal denida por Suponha agora que yX y < 0. 2 . Então (uF ) X (uF ) = uZ u < 0 e portanto para para y = uF . onde G é a inversa de F . suponha que P 6= M e seja m um elemento de M n P . Portanto.

: : : .1 poderá não ser ra ional seja ra ional. : : : . o vetor y é ra ional e a matriz Y é ra ional ex eto pela raiz quadrada na linha 28. Nessas ondições. ex eto pela raiz quadrada. 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 faça se Zmm 6= 0 então E H I para i de 1 a n faça Eim Zim =Zmm para i de 1 a n faça Him Eim Emm Hmm 1 Z E Z E> F EF G GH  F G = GF = I para m de 1 a n faça se Zmm < 0 então u 0 um 1 devolva uF se Zmm = 0 então j 1 enquanto j  n e Zmj = 0 faça j j+1 se j  n então u 0 uj 1 um Zjj =2Zmj se Zmj > 0 então um um 1 senão um um + 1 devolva uF pZ para i de 1 a n faça Zii ii devolva GZ Figura B. .2: X Y X O algoritmo PosSemidef re ebe uma matriz quadrada f1. ng e devolve uma matriz quadrada = Y Y > ou um vetor y tal que yX y < 0.Vetores e Matrizes 112 Convém observar que a matriz mesmo que a matriz X Y no lema B. o onsumo de tempo do algoritmo é polinomial. ng  f1. Se a matriz indexada por tal que X é ra ional.

para ada j em N1 . M3 g e fN1 . Em- bora o pl tenha sido formulado omo um problema de minimização. 113 P(A. para ada j em N3 : para ada para ada (C. Problema de programação linear problema de programação linear. Chv83. para ada i em M3 . impli itamente. M2 . qualquer das partes de nossas partições pode ser vazia. Ao ontrário da denição usual.1) para denotar esse pl. i em M2 . uma vez que minimizar 1 x é o mesmo que maximizar x. N3  a subentendida nessa notação. Feo01℄. nossa denição in lui.Apêndi e C Programação Linear Este apêndi e é um resumo da terminologia e de alguns fatos bási os de programação linear [Pad99. N3 g de M e N respe tivamente. a seqüên ia de M1 . M2 . N2 . M3 . um vetor indexado por N 1 e partições fM1 . N2 . um vetor b indexado por M . ou programa linear. N1 . ) i em M1 . onsiste no seguinte: Dada uma matriz A indexada por M  N . ou simplesmente pl. ) . b. b. Veja nossas onvenções de notação no apêndi e B. en ontrar um vetor x indexado por N que Um minimize sob as restrições Usaremos a abreviatura onjuntos x (Ax)i (Ax)i (Ax)i xj xj  bi = bi bi   0  0 P(A. problemas de maximização. S h86.

0 para ada i em M3 : para ada (C.2) Convém usar uma notação espe í a para o dual: o pl (C. Dualidade dual do pl transposta de A e os Há uma importante relação de dualidade entre pls. ) x Ax x  b.1)  é o primal e o outro  digamos (C. onde é a N1 . b. b). o problema é viável (feasible ). é omum dizer que um deles  digamos (C. ) yb (yA)j (yA)j (yA)j yi yi  j =    j em N1 . b. ) será denotado por X (A. b). Em dis ussões sobre um par dual de pls. P(A. N2 . o problema é ilimitado (unbounded ). Dizemos que o problema é limitado (bounded ) se existe um número ! tal que x  ! para todo x em X (A. o problema um vetor minimize sob as restrições P(A. .  0: se reduz a en ontrar (C. b) Y (A. b). solution ) Assim. Caso ontrário. onjuntos de índi es são . ).2) será denotado por D(A. b) têm solução ótima. M3 . aso ontrário. uma do problema é qualquer vetor x solução viável (feasible que satisfaz as restrições. O onjunto de todas as soluções viáveis do problema P(A.3) . Problemas anni os Se M1 = M x que e N1 =N . b) é vazio. dizemos que o problema é inviável (infeasible ). N3 . M2 . desrespeita o signi ado da palavra solução. ) é o pl P( A> . É laro que problemas inviáveis e ilimitados não uma X (A. e solução ótima é qualquer solução viável x que minimize x. ada omponente de um vetor x indexado por N é uma variável primal e ada omponente de um vetor y indexado por M é uma variável dual . Se X (A. M1 . j para ada j em N3 .Programação Linear 114 A tradição impõe uma terminologia que.2)  é o dual . b. Adotada essa onvenção. . 0 para ada i em M1 . j para ada j em N2 . A> O É laro que esse pl também pode ser es rito assim: en ontrar um vetor y indexado por M que maximize sob as restrições D(A. infelizmente. b) e seu onjunto de soluções viáveis por Y (A.

x =  = = = 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 . que esse é o pl anni o primal. dizendo P x Pj j j minimize j sob as restrições Aij xj xj  bi  0 i. Lema C.1 (da dualidade): Para todo x em X (A. porque y  0 e Ax  b. ) tem-se x  y b. b) e todo y em Y (A. É laro que poderíamos enun iar (C.2). às vezes.  0: (C.115 Diz-se.3).4) anni o dual.3) onsiste em en ontrar um vetor maximize sob as restrições Pode-se dizer que esse é o pl yb yA y y que  .1) e (C. N1 = N então as restrições de (C.3) e (C. A Demonstração: Se M1 =M e demonstração do aso geral é on eitualmente análoga mas tipogra amente indigesta: em virtude das restrições de (C.4) garantem as desigualdades x  (yA) x = y (Ax)  y b. e portanto qualquer algoritmo que resolva o pl anni o primal poderia ser usado para resolver um pl arbitrário. A primeira vale porque  yA e x  0. pois qualquer pl é equivalente a um pl que tem essa forma. a última. para ada j : para ada O dual do pl (C. Lema da dualidade Há uma relação fundamental entre as soluções viáveis de um pl e as soluções viáveis de seu dual. sem notação matri ial.

1: para mostrar que o problema é limitado. AM1 N1 .5) dá as  ondições de folgas omplementares primais e (C. tem-se x = y b se e somente se as folgas de x e y são omplementares. b) e todo y em Y (A.1 sugere o seguinte on eito. para ada j em N1 [ N3 . a (C. ) x em X (A. Lema C. têm folgas omplementares ( omplementary sla kness ) se. Demonstração: A demonstração do lema C.1 deixa laro que x = (yA) x e y (Ax) = y b. ). estaremos mostrando também que blema teorema Ele leva à seguinte observação. ) tal que .6) as de folgas omplementares duais. para ada xj = 0 ou yi = 0 ou i em M1 [ M3 . por exemplo. ) D(A. Folgas omplementares A demonstração do lema C. Dois vetores x e y.6) Há quem diga que (C. óbvia mas impor- y é solução ótima do pro- . temos e. b.6). de fra o da dualidade.Programação Linear 116  yM1 bM1 + yM2 bM2 + yM3 bM3 = onde yb . b. Eis outra onseqüên ia do lema C. b) é solução y em Y (A. tante: para tornar evidente que um erto vetor ótima do problema P(A. temos (yA)j = j (C.2 (das folgas omplementares): Para todo x em X (A. denota a restrição de A a M1  N1 .5) e y (Ax) = y b equivale a (C. indexados por M e N respe tivamente. basta exibir um vetor x = y b : Com isso. um tanto pomposamente. basta exibir um elemento de Y (A.5) (Ax)i = bi : (C. . b) P(A. 2 se e somente se Mas x = (yA) x x = y b equivale Teorema da dualidade O teorema da dualidade dá as ondições em que um pl tem solução ótima e garante que as soluções ótimas do pl e de seu dual têm o mesmo valor: . 2 O lema é às vezes hamado. ).

para min x = max yb x y x variando em X (A. b. PS82. Gon89. pode ser resumido da seguinte maneira: a menos que os dois pls sejam inviáveis. b. Mas existem algoritmos. onhe idos omo métodos de pontos interiores. N3 de índi es. b) e y em Y (A. M3 . (Outra família de algoritmos polinomiais. b. mais espe i amente. b. se o problema P(A. . N2 . seu onsumo de tempo não é limitado por uma função polinomial do número de omponentes do sistema (A. ). ). desde que estejamos dispostos a dizer que min x = +1 quando o pl primal é inviável. dos dois programas lineares. b) e y em Y (A. Embora o Simplex seja e iente em média. o Simplex de ide se os problemas P(A. 2 O primeiro algoritmo desse tipo foi publi ado por Kha hiyan [Kha79. ) . b.117 Para qualquer sistema (A. Ao re eber um sistema ra ional tos desses vetores tem numerador e denominador limitados superiormente pelo tamanho do sistema (A. Se A. que max y b = +1 quando o pl dual é ilimitado.3 (da dualidade): Esse teorema. Esta identidade vale mesmo quando um dos pls é inviável. existem x em X (A. ) . também onhe ido omo teorema forte da dualidade. b. N1 . b. Veja apêndi- e E. Algoritmos de programação linear O élebre algoritmo Simplex resolve qualquer par dual de pro- (A. b. Cada omponente gramas lineares. ). M2 . ) . apazes de resolver qualquer pl em tempo polinomial. ) e os onjunM1 . ) é viável e limitado então tem solução ótima. S h86. ) e D(A. .) Para resolver o problema P(A. x e y . b) são viáveis e em aso armativo produz soluções ótimas ra ionais. apare eu mais tarde [Kar84. O onsumo de tempo não é limitado nem mesmo por uma função polinomial do tamanho de (A. ). ) tais que x = y b. onhe ido omo 2 Esses algoritmos são polinomiais mas não fortemente polinomiais. Gon92℄. muito diferentes do Simplex. Teorema C. esse algoritmo onsome uma quantidade de tempo limitada por um polinmio no tamanho de (A. b. GLS93℄ e  ou algoritmo dos elipsóides (ellipsoid method ). et . b e forem ra ionais então podemos supor que x e y também são ra ionais.

Suponha que temos um bom algoritmo para esse problema. ) em tempo limitado por uma função polinomial de  e h i apenas. O tamanho de x é limitado por 2hAi + 2hbi. b. isto é. b e ra ionais. Se  e h i são limitados por um  e temos um bom algoritmo de separação (veja o exer íP(A. b. portanto. Programação linear e algoritmos de separação Muitos problemas ombinatórios podem ser representados.3) então o problema 3 O onsumo de tempo não depende. um algoritmo ujo onsumo de tempo é limitado por um polinmio em e hxi. de manei-  P(A. ou seja. de ide se o problema P(A. ). polinmio em io C. Mesmo que o número de linhas de A não seja limitado por um polinmio em  . em aso negativo. b. b. Lovász e S hrijver mostraram [GLS93. ) em tempo limitado por um polinmio em  e h i se dispusermos de um bom algoritmo para o ra aproximada. b) e. tal Suponha agora que o problema de otimização ombinatória que deu origem a P(A. S h86℄ que um algoritmo de separação pode ser ombinado om o algoritmo dos elipsóides de modo a resolver o problema P(A. determinar uma restrição violada. b.3  Gröts hel. o número de linhas de A pode ser uma função exponen ial do número de olunas. é possível resolver o problema P(A. ) A.4 : Existe um algoritmo polinomial que. b. . Numa tal lasse de programas lineares. por problemas da forma . b). Veja o exer í io C. b. ao re eber um sistema ra ional (A.  := maxi fhAi? i + hbi ig. devolve uma solução ótima ra ional x.3. ) pode ser resolvido em tempo limitado por um polinmio em  . ou seja. O onsumo de tempo do algoritmo é limitados por um polinmio em hAi + hbi + h i. ) tem tamanho . em aso armativo. ) tem solução e. do número de linhas do sistema. uma linha i tal que (Ax)i < bi . Digamos que  é o tamanho da maior linha de (A.Programação Linear 118 Fato C. om seguinte Problema da separação: De idir se um dado vetor x está em X (A.

des rito no apítulo 5. Exer í ios C.4) são viáveis. b) é vazio se e somente se existe um vetor y0 em Y (A. 1 .3) e (C. um vetor Lema C. b. b.7) denota o vetor ujos omponentes são todos iguais a bo e um algoritmo para o problema. 0) tal que y b > 0 (veja exer í io C. Seja A a matriz de in idên ia de S. ou seja. b. e) de A vale 1 se e 2 Æ (S ) e vale 0 em aso ontrário. O problema da viabilidade equivale ao aso em que P(A.119 Problemas de viabilidade O problema da viabilidade onsiste em en ontrar um vetor viável P(A.4). (C. ). Agora onsidere número indexada por o problema de de idir se um dado vetor não-negativo por EG onde 1 x indexado satisfaz as restrições Ax  1 . basta exibir um y0 vetor de inviabilidade. o omponente (S. omputa ionalmente mais simples que o aso geral. b). uma função exponen ial do jVG j). Es- O algoritmo deve re eber o .2 Muitos problemas ombinatórios envolvem vetores não-negativos e Verique que. ) = 0 no problema . a matriz S  EG ujos omponentes são denidos da seguinte maneira: para ada S em S e ada e em EG . É do problema laro que o problema pode não ter solução. o onjunto X (A. en ontrar um elemento de X (A.3 Sejam s e t dois vérti es de um grafo G e seja S a oleção de todos VG que ontêm s mas não ontêm t. C. (O número os sub onjuntos de de tais sub onjuntos é. O método primal-dual. nesse aso. isto é. às vezes. os problemas (C. isto é. tipi amente. O teorema da dualidade garante então que ambos os problemas têm solução ótima. b e uma matriz A sem omponentes negativos e sem linhas nulas.1 Transforme um programa linear arbitrário num programa anni o equivalente. C. tira pro- veito dessa observação para propor um pro edimento de resolução de programas lineares. Para erti ar a inexistên ia de solução.5 (de Farkas): Para qualquer sistema (A. 0) tal que y0 b > 0. ). 0 em Y (A. e esse aso é.

Mostre também que se Y (A. ao aso em que os omponentes de C. numa primeira versão. b) é vazio.7) estiver satisfeita e 0 em aso ontrário. Sugestão: Limite-se. Prove armações análogas depois de tro ar os papéis de X (A. 1g. b) e Y (A. y0 um elemento de Y (A. Seja . O onsumo de tempo de seu algoritmo deve ser limitado por um polinmio em hGi + hxi. b) é ilimitado. vérti es s e t e um vetor ra ional não-negativo x e deve de- volver 1 se (C. Mostre que X (A. ) não é vazio então o problema D(A. ). 0) tal que y0 b > 0.4 x estão todos em f0. .Programação Linear 120 grafo G.

: : : . podemos usar a notação [X 6= x℄. Um espaço dis reto de probabilidade é um par ( . Variáveis aleatórias variável aleatória sobre é uma função X : ! f1. A esperança (ou valor esperado) da variável aleatória X Uma é o número E[X ℄ := Pn [ =i ℄ : Lema D. então Pr[X ℄  1 E[X ℄  121 Pr[ ℄ E[ ℄ . Um evento é o on1 (S ) para algum sub onjunto S de f1 . se S = fxg. [X > x℄ e [X  x℄. [X < x℄. Espaços dis retos de probabilidade medida dis reta de probabilidade sobrePum onjunto é uma função P : ! [0. P) onde é um Uma onjunto nito e não-vazio e sobre P é uma medida dis reta de probabilidade . um evento X por [X = x℄. onde ada i é um número real. De forma análoga.1 Se ( . 1 (S )).Apêndi e D Teoria das Probabilidades Neste apêndi e resumimos os on eitos usados nas análises probabilísti as apresentadas nos apítulos 6 e 7. n g. : : : . denotado A probabilidade do evento [X 2 S ℄ é o número P(X por Pr[X 2S ℄. 1℄ para a qual P( ) := !2 P(! ) = 1. [X  x℄. Tradi ionaljunto X 1 (S ) é denotado por [X 2 S ℄ ou simplesmente mente. ng. P) é um espaço dis reto de probabilidade e X é uma variável aleatória sobre i=1 i Pr X (desigualdade de Markov): ujos valores são todos não-negativos.

para toda família A1 . A2 . : : : . assim.2. 1℄ é F -aditiva se. então E[X ℄ = i i Pr[X =i℄  i  Pr[X =i℄ =  Pr[X ℄ : 2 P Demonstração: Se Às vezes é útil Pr[X  E[X ℄℄   1. : : : . : : : . F S . n g é o onjunto de valores de X . F . o adjetivo pode ser omitido. Infelizmente. O espaço dis reto de probabilidade de é hamado e denotado por . Pn medidas dis retas de probabilidade sobre . f1 . F) P é F-aditiva e P( ) = 1. : : : de onjuntos de F . Uma função P : F ! [0. P1 )      ( . Pn ) é usual. para todo de onjuntos de um onjunto . 1℄ P((!1. (Veja os exer í ios D. 2 F nA 2 F A F i Ai 2 F A1 . sua formalização depende de alguns on eitos não-triviais. É fá il on luir do ontexto se estamos Dizemos que se tratando de medidas ou espaços ontínuos ou dis retos.Teoria das Probabilidades 122 para todo número positivo . F ). denotamos por de elementos de . !n) Qn P : n ! [0. P) onde F é uma  -álgebra de um onjunto e P é uma medida ontínua de probabilidade sobre ( . !n)) := i=1 Pi (!i) P n ( n. Para uma oleção é uma -álgebra para toda família de sub onjuntos de é a interse ção de todas as -álgebras que ontêm B. Um espaço ontínuo de probabilidade é um terno ( . rees rever a desigualdade de Markov assim: Espaço produto Sejam n P1 . a - em e . A2 . Tal bilidade sobre -uplas a função denida por é uma medida dis reta de proba- . o onjunto de todas as Seja . Vale ressaltar que espaços ontínuos de probabilidade são usados apenas no apítulo 7.1 e D. P(SiAi ) = Pi P(Ai) : P é uma medida ontínua de probabilidade sobre ( . .) Seja F uma  -álgebra de . P) espaço produto ( . : : : F B  álgebra gerada por B Uma oleção de se de sub onjuntos de um onjunto . Como n n (!1. P : : : . Espaços ontínuos de probabilidade A generalização da denição de medida de probabilidade para os hamados espaços ontínuos é intuitiva.

não é 2 -aditiva. A de . a função tal que Seja o intervalo [0. z) : y. 1 A função .123 Os on eitos denidos para espaços dis retos de probabilidade (evento. F.3 : =1 a esfera unitária em 1 Rn entrada na ori- : kxk=1g y z F (y.2 : fA denota a função ara terísti a de um fA (!) ou seja.) se estendem naturalmente a espaços ontínuos de probabilidade. fA(!) = 0 se ! 62 A. esperança. P : 2 ! [0. o onjunto em fx 2 Rn . Na verdade. et . denida de maneira similar sobre a oleção 2 de todos os sub onjuntos de . A área de . b) fA(x) dx . Distribuição uniforme ontínua Aqui vamos nos restringir a sub onjuntos de Rn . então ( . pre isamos de  -álgebras. isto é. 1℄. F. Por isso. para todo onjunto P(A) := então ( . variável aleatória. Exemplo D. onsidere a fatia da esfera. Para quaisquer de depende da paridade : e onde . 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. Seja a e e -álgebra gerada pelo onjunto . P) A em F. Z Seja se ! 2Ae -álgebra gerada om 0  a < [a. 1℄ que seja 2 -aditiva. P) é um espaço de probabilidade. Se. z 2 g n := f (x) dx n 2k+1 k . é um espaço de probabilidade. 1) F e a pela oleção de todos os intervalos da forma b < 1. não existe função P : 2 ! [0. Nos próximos exemplos. z ) := fx 2 : xy > 0 xz  0g F  R fF (y. Se n para todo onjunto 1 A em F. sub onjunto Exemplo D. pois isso é su iente para os asos tratados no texto e simpli a a denição.

hamamos de distribuição uniforme ontínua (ou simplesmente distribuição uniforme) qualquer medida de probabilidade ontínua P sobre ( . 1) .2. que é denida de maneira análoga à do exemplo D.2 Prove que a interse ção de duas é uma -álgebra.Teoria das Probabilidades 124 Rn e F é uma -álgebra de . sn denidas . Distribuição normal A distribuição normal sobre R é denida por Z 1 P(A) := p 2 e para todo onjunto x2 =2 dx A na -álgebra usual de R. sobre um onjunto u D. : : : . D. xn são variáveis aleatórias independentes om distribui- ção normal. : : : .2 e D. então x é uma variável aleatória om distribuição normal.4 Se x1 .3 são exemplos de distribuições uniformes.3 Se e v é uma - . s 1 . -álgebras sobre um onjunto Prove que a interse ção de innitas é uma -álgebra. Exer í ios D. então o vetor por s om omponentes x si := p 2 i x1 +    + x2n tem distribuição uniforme na esfera unitária. -álgebras := os(2v)p 2ln u são variáveis aleatórias independentes om distribuição uniforme no intervalo [0. As medidas de probabilidade apresentadas nos exemplos D. F ) denida por R dx P(A) := R ffA((xx)) dx Se é um sub onjunto de para todo onjunto A em F.1 A oleção de todos os sub onjuntos de um onjunto álgebra de D.

d}. dgg omo onjunto de arestas pode ser representado pela palavra ({a.d}. Qualquer seqüên ia de ara teres será hamada de uma palavra. por meio de palavras. sentado por uma seqüên ia de pares Por exemplo.d}}) : Um vetor ra ional indexado por um onjunto nito E pode ser repre(e. dg.d}. fb. a palavra (({a.{a. Leiserson e Rivest [CLR92℄. }. b. }.({a. nos livros de Aho. onde e é um elemento de E .{{a.b}. Não é difí il representar números inteiros. Papadimitriou [Pap94℄ e Papadimitriou e Steiglitz [PS82℄. denotado por 125 hwi.12).{b. grafos. o grafo om fa. bg. é o número de hwi .({ . matrizes. por exemplo. Por exemplo.{a.({a.-2). }.Apêndi e E Complexidade Computa ional Este apêndi e dene a terminologia e os fatos bási os de omplexidade omputa ional usados no texto.b}. Palavras Para resolver um problema usando um omputador é ne essário des rever os dados do problema por meio de uma seqüên ia de ara teres. O tamanho de uma palavra w. Um tratamento ompleto do assunto pode ser en ontrado.d}.({b. . Knuth [Knu68℄. números ra ionais. vetores.{ . Cormen. g. g.7)) odi a um vetor indexado pelo onjunto das arestas do grafo a ima. . Hop roft e Ullman [AHU74℄. }. et .0).b. dg omo onjunto de vérti es e ffa. e ).3/2). fa. fa. f . Garey e Johnson [GJ79℄.

Complexidade Computa ional 126 w ara teres usados em ( ontando-se multipli idades). 1 Assim. não fazemos distinção entre um objeto e uma palavra que o representa.2. de um vetor reduz-se então à soma dos tamanhos de seus omponentes. `)' e `. ou seja. Em geral. `('. `}'. O tamanho h i = Peh e i. Essa denição é um aso on reto do on eito geral de tamanho a que se refere a seção 1. não é ne essário ontar rigorosamente os ara teres `{'. O tamanho de um inteiro log j j log j j + log j. não há mal em subestimar o tamanho de um objeto. O tamanho dos números inteiros e ra ionais mere e espe ial atenção.' dos exemplos anteriores. Para os nossos propósitos.

Analogamente. se é um número inteiro e . j é essen ialmente2 .

é um número inteiro não nulo então o tamanho =.

um de problemas são: o sigla MST. . 2 Mais pre isamente. Problema miltoniano? PCH (G) : Um dado grafo G possui um ir uito ha- Problema MST (G. digamos. ): Dados um grafo G e um usto e em Q  para ada aresta e. é. O tamanho de uma instân ia é o tamanho de uma palavra que representa a instân ia. o tamanho de é dlog(j j + 1)e. Um problema que pede uma resposta do tipo sim ou não é hamado de problema de de isão. denotado pela sigla PCH e o problema da árvore geradora mínima (minimum spanning tree problem ). essen ialmente. denotado pela Informalmente. do ra ional Problemas PCH MST problema é uma questão ou tarefa. ins- Assim. Já um problema que pro ura um elemento de um onjunto de soluções viáveis que seja melhor possível em relação 1 Como veremos adiante. metade do número de ara teres. nossas estimativas serão feitas a menos de fatores ons- tantes e portanto não fará diferença dizer que o tamanho de uma palavra é. en ontrar uma árvore geradora de usto mínimo. Cada onjunto espe í o de dados de um problema dene uma tân ia do problema. Exemplos problema do ir uito hamiltoniano (Hamiltonian ir uit problem ). . qualquer grafo dene uma instân ia do problema PCH e qualquer grafo om ustos asso iados às suas arestas é uma instân ia do problema MST.

Um modelo de omputação é uma des rição abstrata e on ei- tual (não ne essariamente realista) de um omputador que será usado para exe utar um algoritmo. Os problemas PCH e MST são exemplos de problemas de de isão e otimização. Esse modelo é apaz de exe utar operações envolvendo números ra ionais. Exemplo de operações elementares típi as são operações aritméti as entre números e omparações. operações elementares Um modelo de omputação espe i a as que um algoritmo pode exe utar e o ritério empregado para medir a quantidade de tempo que ada operação onsome. No ritério logarítmi o o onsumo de tempo de ada operação depende do tamanho dos operandos (logarithmi números e. O modelo de omputação RAM (random a ess ma hine ) [CR73℄ RAM baseia-se na manipulação de ara teres.127 a algum ritério é um problema de otimização. Algoritmos e modelo de omputação Um algoritmo3 é uma seqüên ia nita de instruções ou operações que resolve um problema. respe tivamente.

ost riterion ). Por exemplo. a multipli ação de dois onsome essen ialmente h i h.

o onsumo de tempo de ada operação elementar independe do tamanho dos operandos. ost ou seja. é empregado em todo o texto. Supõe-se que ada operação envolvendo números reais onsome apenas uma unidade de tempo. aparentemente menos realista. Este modelo é hamado de real-RAM [PS85℄. que supõe que ada operação elementar onsome uma quantidade de tempo onstante (uniform riterion ). i unidades de tempo. Um outro ritério para medir o onsumo de tempo. é pre iso men ionar um modelo de omputação que é útil. 3 A formalização matemáti a lássi a de um algoritmo é a máquina de Turing. Este modelo é equivalente ao anterior se o tamanho dos operandos for limitado por uma função polinomial do tamanho da instân ia do problema. embora não seja realista e fuja de nossa onvenção sobre representação de objetos por palavras. é apaz de manipular números reais arbitrários. real-RAM . ex eto no apítulo 7. juntamente om operandos de tamanho limitado. é o ritério uniforme. Esse modelo. mesmo uma operação omo raiz quadrada. Este ritério de onsumo de tempo onstante por operação elementar. Finalmente. usado no apítulo 7.

O algoritmo A é polinomial se resolve o problema em tempo O (p(n)) para alguma função polinomial p. Por exemplo. Isto orresponde à hamada análise do pior aso (worst ase analysis ) do algoritmo. )i. ) omo uma função de Ao expressar a quantidade de tempo onsumida por um algoritmo. (G. Critério de e iên ia: lasses P. Por exemplo. a versão de de isão do problema está em P. 5 Está in luído aqui. independentemente. A lasse NP (abreviação de NP nondeterministi polynomial time ) é omposta pelos problemas de de isão para os quais uma resposta armativa possui um erti ado que pode ser veri ado em tempo polinomial.Complexidade Computa ional 128 Análise de algoritmos e algoritmos polinomiais Ao analisarmos um algoritmo em um determinado modelo de om- 4 omo uma função putação queremos estimar o seu onsumo de tempo do tamanho da instân ia do problema. dizemos que um A resolve um problema em tempo O(f (n)). ) 6 MST da por P. por Cobham [Cob65℄ e Edmonds [Edm65b℄. É laro algoritmo que o on eito de algoritmo polinomial depende não só do algoritmo mas também do modelo de omputação. Mais pre isamente. o tempo ne essário para que o algoritmo de ida se a palavra dada é uma representação válida de uma instân ia do problema. existe um objeto C  p(n) om é sim se e somente se a resposta é dito um erti ado polinomial (ou A quantidade de espaço onsumida pelo algoritmo é negligen iada no presente texto. O objeto C em P e uma função polinomial do problema hC i  p(hI i) tal que a resposta a a 0 (I )  . para ada instân ia I (I. Mais pre isamente. NP e o-NP Por um al. C ) 4 é sim. a lasse NP é formada pelos problemas de de isão para os quais existe um problema tais que. algoritmo e iente entendemos um algoritmo polinomi- Este ritério de e iên ia foi proposto. exprimimos o onsumo de tempo de algoritmos para o MST h(G. O(f (n)) ignoramos os fatores onstantes. se existe uma onstante tal que a quantidade de tempo 5 onsumida por A para resolver uma instân ia I do problema é limitada por f (hI i). existe uma árvore geradora em G de usto não superior a ? 6 . para uma função f de Z em Z. impli itamente. um usto e em Q  para ada aresta e de G e um número em Q  . Dados um grafo G. A lasse de todos os problemas de de isão que podem ser resolvidos por algoritmos polinomiais é denotaP (G. já que existem algoritmos polinomiais para resolvê-la [CLR92℄.

um veri ador (I ) . então A é um algoritmo Uma  T 0 para denotar a existên ia de uma 0 redução de  a  . P A lasse o-NP é denida tro ando-se sim por não na denição de NP.129 erti ado urto) da resposta sim a 0 para  . é evidente que P  NP \ o-NP. Dois problemas são ditos polinomialmente polinomial. Isto impli a que existe um algoritmo polinomial para um problema NP- ompleto se e somente se P NP. pro- Este problema é Para uma introdução às lasses P e NP baseada na fábula dos Cavaleiros da Távola Redonda. um problema de de isão  6= NP? o-NP está em o-NP se admite um erti ado polinomial para a resposta não . Com um algoritmo polinomial in rédulo pode. o problema se a resposta a uma dada instân ia PCH. Usamos a notação equivalentes se um pode ser reduzido ao outro. Os problemas em NP \ o-NP admitem erti ados polinomiais para as respostas sim e não . O primeiro problema que se demonstrou ser NP- ompleto é o blema da satisfatibilidade 7 (satisability problem ). Um problema  em NP é NP- ompleto se ada problema em NP pode ser reduzido a 0 reduzido a  . Logo. É evidente que se 0 perten e a P e  = pode ser perten e a P. então pode-se tomar a seqüên ia de instruções realizadas por um algoritmo polinomial para resolver (I ) omo erti ado polinomial da resposta sim a (I ) . se A é um algoritmo polinomial. então   . G do problema do ir uito hamiltoniano é sim então 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. Claramente P  NP. veja Lovász e Plummer [LP86℄ e Kohayakawa e Soares [KS95℄. testar a validade de uma resposta sim. Dizemos que um problema  pode ser reduzido a um 0 0 problema  se  T  . ainda que isso não tenha sido provado até agora. de 0 tal forma que. Por exemplo. Em parti ular. 8 Conhe ida omo redução de Turing ou redução de Cook [GJ79℄. perten e a NP. já que se  é um problema em P. É rença de muitos que a lasse NP é maior que a lasse P. bem omo versões de de isão de todos os problemas no texto. ou seja. matemáti o onhe ido pelo rótulo  P 7 Este é o intrigante problema 6= NP? . NP- ompletude redução8 de um problema  a um problema 0 é um algoritmo A que resolve  usando uma subrotina hipotéti a A0 que resolve 0 . após gastar uma quantidade de tempo polinomial. T .

MinFS. MaxSat é NP-difí il. não ne essariamente em NP. omo Sat é NP- ompleto.1 é NP (Cook [Coo71℄. MinCC. já que um algoritmo polinomial para MaxSat pode ser adaptado para resolver Sat em tempo polinomial. MinCV. é  tên ia de um algoritmo polinomial para O problema Sat NP-dí il se a exis- impli a em P = NP. Assim. Um problema :  2 . Mo hila. Teorema E. MinMCut. 2 Os problemas Es alonamento. Empa o- MaxCut. existe uma valoração que satisfaz todas as láusulas em C? Problema Sat Teorema E.Complexidade Computa ional 130 uma simpli ação do problema MaxSat des rito no apítulo 6. Cook [Coo71℄ e Karp [Kar72℄ mostraram que vários problemas dis utidos no presente texto são NP-difí eis. ) MST é um exemplo de algoritmo fortemente polinomial. a existên ia de um tal algoritmo impli a em P = NP. (C) Dada uma oleção C de láusulas booleanas. TSPM e TSP são NP - Algoritmos fortemente polinomiais Um algoritmo polinomial é fortemente polinomial ou genuinamente polinomial se o número de operações elementares realizadas não depende do tamanho dos números ( aso exista algum) que denem uma instân ia do problema. Vários algoritmos men ionados neste texto são fortemente polinomiais. difí eis.2 : tamento. já que o número de operações elementares realizadas é propor ional a hGi loghGi. Um exemplo de algoritmo polinomial que não é fortemente polinomial é o algoritmo de Eu lides [S h86℄ para en ontrar o máximo divisor omum entre dois inteiros positivos e . O algoritmo de Kruskal [CLR92℄ para o problema (G. MinTC. Levin [Lev73℄): - ompleto. MaxSat. por exemplo.

já que o número de operações elementares realizadas pelo algoritmo é essen ialmente h i + h..

. i. Outro exemplo não fortemente polinomial é o algoritmo dos elipsóides de Kha hiyan [Kha79℄ que resolve problemas de programação linear e realiza um número de operações elementares que depende do tamanho dos números envolvidos (apêndi e C).

Aqui estamos supondo que ada número ra ional é representados omo quo iente entre dois números inteiros.131 Algoritmos pseudopolinomiais em Seja  um problema e I o seu onjunto de instân ias. . problemas omo Sat. que onso- me uma quantidade de tempo limitada por uma função polinomial nas variáveis hI i e Max(I ). Em em parti ular. O problema  é NP- ompleto no sentido forte ou fortemente NP ompleto se p é NP- ompleto para alguma função polinomial p. por exemplo. Seja If := fI 2 I : Max(I )  f (hI i)g para alguma função f de Z Z e seja f o problema  restrito ao onjunto de instân ias If . que não envolvem números. É laro que todo algoritmo polinomial também é pseudopolinomial. são NP- ompletos no sentido forte. (I ) := 0 dena Max se nenhum número inteiro o orre em I. . Max algoritmo pseudopolinomial para  é um algoritmo . Para ada I I seja Max(I ) o maior número inteiro em valor absoluto que o or- re em I. Um (3=17) = 17 Por exemplo. a versão a seguir do problema do aixeiro viajante (TSP) omo problema de de isão. Problema TSPD (G. Considere. O algoritmo Mo hila-Exato do apítulo 2 é um algoritmo pseudopolinomial que não é polinomial.

um usto e em Q  para ada aresta e de G e um número ra ional . ): Dados um grafo G.

. existe um ir uito hamiltoniano em G de usto não superior a .

já que o problema PCH é essen ialmente esta versão de de isão do TSP restrita a instân ias onde o usto e de ada aresta e é 1 ou jVG j +1 e . ? O problema TSPD é NP- ompleto no sentido forte.

MinCC. 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℄. TSPM e TSP são NP-difí eis no sentido forte. são NP-difí eis no sentido forte. =  NP. om ex eção do problema Mo hila. é jVG j (demonstração do teorema 8. Teorema E. MinFS. não ne essariamente em NP. Um problema tido forte  .2. Max (I ) . O TSP é um exemplo de problema NP-difí il no Todos os problemas no enun iado do teorema E. MinMCut. MinTC. MinCV. MaxSat.5). Empa otamento. MaxCut. é NP-dí il no sen- se a existên ia de um algoritmo pseudopolinomial para impli a em P sentido forte.3 : Os problemas Es alonamento.

3 Mostre que se  E.4 Mostre que se 0 E. então é um problema de de isão. 0 está em NP e . E. .Complexidade Computa ional 132 Exer í io E. então   T é NP-difí il.1 Mostre que se E. 0 .5 Mostre que o problema TSPD está em NP e que os problemas TSP é um problema de de isão.2 Mostre que se então  1 T 2 2 T 3  e 1 T 3 0 . é NP- ompleto e 0 T  e TSPD são polinomialmente equivalentes. . então  está em NP. está em P e  T 0 . está em P.

V. 1986. Approximate solution of NP optimization problems. A fast and simple randomized parallel algorithm for the maximal independent set problem. Babai e A. 2. A. Stru ture preserving redu tions among onvex optimization problems. A. URL: http://www. P. 1980. Do umenta the solution of traveling salesman problems. Itai. Extra III:645656. Protasi. P. Mathemati a.uni-bielefeld. Ausiello. Computer and System S ien es. Theoreti al Computer [p. Ausiello. [p. [ADP80℄ 150(1):155. 96℄ A s aling te hnique for better Pro eedings of the Fifth Annual ACMSIAM Symposium on Dis rete Algorithms (SODA). Springer. 74℄ V. Cook.Bibliograa [ABCC98℄ D. 21℄ [ABI86℄ N.html. Cres enzi. 99℄ [ACP95℄ G. Ausiello. On Pro eedings of the International Congress of Mathemati ians. D'Atri e M. Alon. [p. p. 1998. Applegate. L. S ien e. 7(4):567583. Cres enzi e M. Gambosi. Vol. In 240. 233 network design. Protasi. [p. Chvátal e W. Protasi. [AG94℄ M. Aggarwal e N. 93. 1994. 1995. Bixby. Journal of Algorithms. Garg.mathematik. R. 60℄ 133 . Mar hetti-Spa amela e M. + [ACG 99℄ G. Kann. 1999. [p. iii. Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. [p. 97. 98.de/do umenta/ xvol-i m/17/17. Journal of 21:136153. 99℄ G. G.

Arora. 2. Pro eedings of the 36th Annual Symposium on Foundations of Computer S ien e (FOCS). P. Karger. 1998. p. [AHU74℄ [p. 1995. Approximating the independen e number via the -fun tion. Prenti e-Hall. M. and inapproximability. Redu tions. Lund. Aumann e Y. 26. [AR98℄ Network Flows. An O(log k) approximate min- ut max-ow theorem and approximation algorithm. [p.D. Interior point methods in semidenite pro- gramming with appli ations to ombinatorial optimization. Arora. Orlin. Klein e R. blems. 80:231 237. Motwani. [Aro95℄ 27(1):291301. 1995. odes. M. D. SIAM Journal on Optimization. J. Ravi.L. Alizadeh. 33 ted planar graph tsp. Grigni. Magnanti e J. Prin eton Univer- S. [Ali95℄ SIAM Journal on Computing. 404413. When trees ollide: an approximation algorithm for the generalizad Steiner problem on networks. R. Sudan e M. 85℄ A. [p. [Aro94℄ SIAM [p. T. Alon e N. Analysis of Computer Algorithms. [p. [p. Proof veri ation and intra tability of approximation pro- Pro eedings of the 33rd Annual Symposium on Foundations of Computer S ien e (FOCS).N. + [ALM 92℄ 5:1351. Szegedy. 2℄ In . Arora.B. 33℄ Y. 1998.K. The Design and Addison-Wesley.R. In [p. Aho. [p.BIBLIOGRAFIA 134 + [AGK 98℄ S. 24(2):440456. 1995. 125℄ [AK98℄ N. Agrawal.E. 33℄ Probabilisti Che king of Proofs and Hardness of Approximation Problems. 22℄ A. PhD Thesis. p.V. Rabani. PCPs. 99℄ [AMO93℄ R. 1994. Mathemati al Programming. 1974. Journal on Computing. 60℄ F. Woloszyn. In 41. C. Kahale. 2427. P. 15. 1998. Hop roft e J. p. sity. Ahuja. Arora. 2℄ S. 85℄ S. 1992. A polynomial-time approximation s heme for weigh- Pro eedings of the Nineth ACMSIAM Symposium on Dis rete Algorithms (SODA). 27. 1993. Ullman. [AKR95℄ [p. [p. Klein e A.

74℄ R. Teo e R. 1998. Konjevod. In R. Vohra. editores. Vempala. The Probabilisti Method. Reed. 1999. Even. Goldrei h. Algorithms.P. G. 2000. Williamson. 104℄ S heduling Algorithms. Asano e D. 1976. PhD Thesis. Blum. Bertsimas. 60℄ G. 100105. N.BIBLIOGRAFIA [Aro98℄ 135 S. Spen er. On the power of two-point sampling. C lines u. 24(3):105114. Blum. 47. 21℄ [BTV99℄ mized rounding algorithms.Z. 1998. vertex-ordering problems. Fernandes e B. Ríos-Mer ado. [BYE81℄ Operations Resear h Letters. Bar-Yehuda e S. [p. E. Massa husetts Institute of Te hnology.. 70℄ T. Polynomial time approximation s hemes for Eu lidean traveling salesman and other geometri problems. C. Springer. 2. Journal of Complexity. 5:96106. p. [BM76℄ J. 2℄ Graph Theory with Appli ati- Ma millan/Elsevier. 101. Ravi e S. 45(5):753782. [CG89℄ [p. ons. Springer. 1998. 96115. 1991. Arora. On dependent rando- P. 75℄ .A. [p. Bru ker.R. 33℄ B. Bondy e U. ed.E. C. D. Semi- denite other relaxations for minimum bandwidth and In Pro eedings of the 30th Annual ACM Symposium on Theory of Computing (STOC). [Bru98℄ [p. 137152. R. A linear time approximation algorithm for the weighted vertex over problem.S. volume 1412 of Le ture Notes in Computer S ien e. [Blu91℄ A.G. [AS92℄ Journal of the ACM. 1981. [AW00℄ [p. [CFR98℄ 2:198203. 1989. 22℄ John Wiley. Bixby. Pro eedings of the 6th Conferen e on Integer Programming and Combinatorial Optimization (IPCO). Boyd e R. p. Alon e J. Journal of [p. Multi uts in unweighted graphs with bounded degree and bounded treewidth. [p. gorithms for MAX SAT. Improved approximation alIn Pro eedings of the Eleventh ACM-SIAM Symposium on Dis rete Algorithms (SODA). 74℄ A. Chor e O.A. 1998. [p. [BKRV98℄ [p. 1992. 15. [p. p. [p. 85℄ Algorithms for Approximate Graph Coloring. Murty.

85℄ . H. C lines u. editor. Rivest. 4(3):233235. 1979. [Coo71℄ Logi .L. 10. p. E. [p. The omplexity of theorem-proving pro edures. 2000. Cobham. [Chv79℄ V. [p. North-Holland. T. An improved approximation algorithm for multiway ut. and System S ien es.A. 1992. [p. 2430. 61. Cormen. 1973. Coman Jr. 128℄ S. [Chv83℄ V. Carnegie Mellon University. 128. Re khow. 87. Cres enzi e V. In Y. 1971. 74℄ Introdu tion to [p. [p. Approximate k-msts and k-Steiner trees via the primal-dual method and Lagrangean relaxation.A. [p. /www ompendium/.A. 20. 59. Christodes. 33. Methodology and Philo- p.P. 1995. C.. Karlo e Y. 1976. 375. [p. [CKR00℄ Freeman. 1983. blem.E. Liu. Algorithms. Te hni al Report 388. 127℄ F. 113℄ [p. Cook e R. Chudak. 8. Kann.BIBLIOGRAFIA 136 [Chr76℄ N. 130℄ [Cob65℄ A. 39℄ Linear Programming. sophy of S ien e. 99℄ G. 125. editores. 151158. Leiserson e R. Chvátal. J. T. Time-bounded random a ess ma hines. 2001. 21℄ A greedy heuristi for the set- overing pro- Mathemati s of Operations Resear h. & Sons. Bar-Hillel. [CK00℄ John Wiley A Compendium of NP Optimization URL: http://www. Worst- ase analysis of a new heuristi for the traveling salesman problem. In Pro eedings of the 8th Conferen e on Integer Programming and Combinatorial Optimization Conferen e (IPCO). [CRW01℄ Journal of Computer and System S ien e. Journal of Computer 60(3):564574. Cook. In 130℄ [CR73℄ S. 2000.nada. Chvátal. [CJLL95℄ P.G.K. Pro eedings of the 3rd Annual ACM Symposium on the Theory of Computing (STOC). Roughgarden e D. 15. Williamson. S heduling Theory and its Appli ations.kth. [p. The intrinsi omputational di ult of fun tions. Lenstra e Z. 1965.se/viggo P. 17. 7:354 [p. [CLR92℄ [p.H. Chrétienne. Rabani. A eito para publi ação. 21℄ Problems. MIT Press.

S. [p. [Erd67℄ P. 85℄ Maximum mat hing and a polyhedron with Journal of Resear h of the National Bureau of 69:125130. [p. The omplexity of multiterminal SIAM Journal on Computing. ness.. 0. [p. 22. p.M. 1967. 59℄ E. Laurent. [p. S. Sudan. SIAM Journal on Dis rete Mathemati s. 99℄ [DL97℄ M. 1973. URL: http://www. [p.H. L. Standards B. Canadian Journal [p. Paths. C. Divide-and- onquer In Pro eedings of the 36th Annual Symposium on Foundations of Computer S ien e (FOCS). Edmonds.uni-trier. em húngaro). 2000. Even. e . of Combinatorial Theory. 1986. Non-uniform Random Variate Generation. On a ombinatorial game. [EK00℄ Geometry of Cuts and Metri s. 1965. 7(89). 33℄ approximation algorithms via spreading metri s. 60℄ J. Deza e M. 1995. Rao e B. Dahlhaus. 34. 1965. Johnson. [Edm65b℄ [p. Edmonds. Papadimitriou. Engebretsen e M. [ENRS95℄ G. 75. 17:449467. 33. Springer.D. 128℄ Approximation hardness Eletroni Colloquium on Computational Complexity. 26. [Edm65a℄ J. A. Erd®s. trees. 85℄ L. A note on two problems in onnexion with graphs. 2. [Dij59℄ E. 23(4):864894. Gráfok páros körüljárású részgráfjairól (On bipartite subgraphs of graphs. Naor. D. P. Journal [p. Chor e M. 6271. Yannakakis. p. Karpinski.de/e /. Erd®s e J. 1998. Selfridge. 2000. Numeris he Mathematik. [p. [ES73℄ Matematikai Lapok. ed. [Die00℄ R. 22. Springer. 1994. 14:298301. 85℄ P. [Dev86℄ A geometri approa h to between11(4):511 [p.W. [p. 523. uts. Dijkstra. Seymour e M. 2. 1997. 96℄ of tsp with bounded metri s. and owers. 1 -verti es. 18:283288. Devroye. S hieber. of Mathemati s. 84℄ Graph Theory. + [DJP 94℄ Springer. J. 1959. 74℄ . Ser. Diestel.BIBLIOGRAFIA [CS98℄ 137 B. 101℄ [p. 269271.

with appli ations to max 2sat and Pro eedings of the Third Israel Symposium on Theory of Computing and Systems (ISTCS). 2. In 1999. 1997. 60℄ gorithms for network design problems. 223232. [p. 1. 182189. R. 1995. In 1995. 82(1-2.P. 74℄ P.P. 61℄ . Goldberg. Amster- [p. Improved approximation al- Pro eedings of the Fifth ACM-SIAM Symposium on Dis rete Algorithms (SODA). [GGL95℄ bise tion. In [GGW98℄ H. Feige e M. 1974. [FF56℄ L. dam. Gröts hel e L. 60℄ U. 2℄ sis of memory allo ation algorithms. 189196. Erd®s e J. Goemans.X. of ombinatori s. Gabow. Goemans. Feige. Ser. p. 1998. volume 1671 of Le ture Notes in Computer S ien e. Randomized rounding for semidenite programs Randomization.R. 2001. É. Approximating the value of two prover proof systems. A ser pu- [p. Plotkin. 85℄ Handbook Elsevier S ien e B. Mathemati al Programming.L. network. 33. [FG95℄ Maximal ow through a Canadian Journal of Mathemati s. 85℄ M. editores. 74. max di ut. Williamson. [p. 85℄ A. R. Graham.B. Williamson. S. Worst- ase analy- Pro eedings of the 4th Annual ACM Symposium on the Theory of Computing (STOC).D.X. p. Spen er. An e ient approximation algorithm for the survivable network design problem. + [GGP 94℄ Algorithmi a. D. M. 67 [p. [p. Ullman.L. Improved approximation algorithms for max k- ut and max 81. B):1340. Approximation. 113℄ 8:399404. p.V. 70℄ U. natori s. 143150. 1994. Graham e J. variations on the max ut example.V. [Feo01℄ [p. 1956. Algoritmos de Programação Linear. p. Frieze e M. Tardos e D. Feolo. [Fei99℄ The Probabilisti Method in Combi- A ademi Press. Ford e D. p. Garey. 60.N. M. [FJ97℄ [p. Jerrum. Lovász..BIBLIOGRAFIA 138 [ES74℄ P. Springer. Goemans e D. bli ado pela EDUSP. Vol. [p.X. 1972.R. A.R. In [GGU72℄ M. Fulkerson. [p. and Combinatorial Optimization. Shmoys.

1996. Gonzaga. ed. 45:15631581. 35. 129. examples and impli ations. 20℄ N. 117℄ R. 131℄ [GLS93℄ Geometri Algo- M. Garey e D. editor.S.L. SIAM [p. [Gon92℄ C. Graham. Path following methods for linear programming.X. 1979. . In H. 1998. Approximate maxow and min-(multi) ut theorems and their appli ations.S. 98℄ Journal of [p. XVII Jornada p. v. 117. Guimarães. edi- Progress in Mathemati al Programming: Interior Point and Related Methods. SIAM Journal on Computing. 2.S. M. 33℄ 25:235251. Journal on Computing. 12. Johnson. 1989. 98. 17:416429. Mathemati al Programming. de Atualização em Informáti a. [Goe97℄ [p. [GVY96℄ volume II. [p..R. 84. Gröts hel. 6. S hrijver. V. de Moura. 77. Algoritmos de aproximação para proble- mas de otimização. p. 19. Semidenite programming in ombinato- rial optimization.L. the ACM.C. 34(2):167227. 1978. Bounds for ertain multipro essor anomalies. 1993.P. Lovász e A. [p. [p. Complexity results for mul- tipro essor s heduling under resour e onstraints. Springer. rithms and Combinatorial Optimization. 26. 1992. Johnson. Johnson. 125. 128. Yannakakis. Garg. Megiddo. 1969. An algorithm for solving linear program- ming problems in O(n3 L) operations.C. [Gon89℄ Springer.R. 1997. Strong NP- ompleteness re- sults: Motivations. 8. Vazirani e M. 1975. 84℄ C. 82. [p. In N. 20. L. Freeman. [GJ79℄ 25:499508. [p. Goemans.V. 91℄ Computers and Intra tability: a Guide to the Theory of NP-Completeness. 2. [GJ78℄ 4:397411. Graham.S.R. Garey e D. [Gra66℄ SIAM Review. 147.BIBLIOGRAFIA [GJ75℄ 139 M. 21℄ [Gui98℄ K. Garey e D. M. Bounds on multipro essing timing anomalies. SIAM Journal on Applied Mathemati s. Bell System Te hni al Journal. SBC. [p. 117℄ tor. 96. 49. [p. [p. 65. 1966. Gonzaga. 14. 79:143161. 6℄ [Gra69℄ R. 118℄ M.

38℄ D. 74℄ [GW95a℄ M. 52. In Pro eedings of the Eleventh ACM-SIAM Symposium on Dis rete Algorithms (SODA).S. 2001. 79. New 3=4 -approximation algorithms for the maximum satisability problem. 85℄ Pro eedings of the 29th Annual ACM Symposium on the Theory of Computing (STOC). 33. 38. [GW94℄ Algorithmi a. Yannakakis. Garg. 61℄ M. Approximation algorithms for the set overing and vertex over problems. Goemans e D. 1998. [Hal00℄ E. A eito para publi ação.P. 85℄ Improved approximation algorithms for the vertex over problem in graphs and hypergraphs. [p. Goemans e D. Primal-dual approxi- mation algorithms for feedba k problems in planar graphs.X. SIAM [p. Dis rete Applied [p. [p. 18:320. SIAM Journal on [p. 11(3):555556. [p. Williamson.P. In Pro eedings of the 33th Annual ACM Symposium on Theory of Computing (STOC). Computing. 1995. [p. Combinatori a. Journal on Dis rete Mathemati s. 85℄ M. Vazirani e M.X. Goemans e D. Some optimal inapproximability results.G. 7:656666.P. Williamson. [GW01℄ 18(1):3759. 50. 59. Improved approxima- tion algorithms for maximum ut and satisability problems using semidenite programming. puting. SIAM Journal on Com- [p.P. A general approximation te hnique for onstrained forest problems.V. Mathemati s. 61℄ M. 1994.S. [Ho 82℄ 15(1):3540. 60℄ . 1986. Williamson. 96℄ [Hås97℄ J. 42:11151145. 36. Halperin. Primal-dual approximation algorithms for integral ow and multi ut in trees. 60℄ M. 1997. p. Approximation algo- rithms for max 3- ut and other problems via omplex semidenite programming.BIBLIOGRAFIA 140 [GVY97℄ N. 110. Williamson.X. [p. V. 1982. Williamson. 2000. Håstad. 59. [GW98℄ Journal of the ACM. 24. Ho hbaum.X. 69. p. In [HH86℄ N. Ho hbaum. Hall e D. Goemans e D.P. 67. 1995. A fast approximation al- gorithm for the multi overing problem. Goemans e D.X. 329337. 1997. [p. [GW95b℄ 24(2):296317.

1999. Approximation algorithms for ombinatorial problems.H. 84℄ John . Ho hbaum e D. Hu.S. 1997. 20. [IK75℄ [p. Johnson. 1987. 38. 1978. Journal of the ACM. editor. Vazirani e D. A polynomial approximation s heme for ma hine s heduling on uniform pro essors: SIAM Journal on Computing. Kim. Using dual approximation algorithms for s heduling problems: theoreti al and pra - Journal of the ACM.E. ti al results. 75. Ibarra e C.-J. on algorithms. 96℄ ow. 1974. [HPS94℄ 10:291295.S.P. 12. Itai. 59. 34(1):144162. A. Ho hbaum e D.S. Multi ommodity network ows. Analysis of Christodes' heuristi : some paths are more di ult than y les. ar h.C. iii. 9:256 278. 99℄ [HS87℄ D. 33℄ O. I. Johnson. [Joh87℄ [p. 89. 2. [Ita78℄ 22:463468. 33℄ K. Letters. M ndoiu. [p. 26. Two- ommodity 25(4):596611.A. Operations Resear h [p. Wiley. Journal of Computer and System S ien es. 39. 61℄ the element onne tivity problem. Prömel e A. [p. 1994.S. Hoogeveen. 1991. Shmoys. 96℄ 9:898900.BIBLIOGRAFIA [Ho 97℄ 141 D. 2. 1988. 74℄ M. [Joh74℄ D.B. Hougardy. Multivariate Statisti al Simulation.B. 21. Operations Rese- [p. 21.E. [p. Williamson. 26. [p. using the dual approa h. Shmoys. [p. [JMVW99℄ Journal of the [p. 22℄ S. Fast approximation algorithms for the knapsa k and sum of subset problems. [p. Ho hbaum. 1975.V. 60. Probabilisti ally he kable proofs and their onsequen es for approximati- Dis rete Mathemati s. 17:539551. 1963. A primal-dual s hema based approximation algorithm for In Pro eedings of the Tenth Annual ACM-SIAM Symposium on Dis rete Algorithms (SODA). Hard Problems. 74℄ [Hoo91℄ J. Steger. Jain. 1987. 33. 136:175223. ACM. Approximation Algorithms for NP- PWS Publishing. [Hu63℄ T. H. 39℄ [HS88℄ D. V. 484489. 65. p.

[Kha79℄ [p.L. Kleinberg e M. [p. 2000. mum multiway ut. SIAM Journal on Dis rete Mathemati s.M. [p. Magnanti. A new polynomial-time algorithm for linear programming. 130℄ [Kar84℄ N. Complexity of Com- p. Nemhauser. The Lovász theta fun ti- on and a semidenite programming relaxation of vertex over.gate h. The traveling salesman problem.V. V. editores. [p. Karmarkar. Sweden. [Kar72℄ [p. Reinelt e G. Ball. 4:373395. In M. 20:191194. 61. .X. 1972. Monma e G. Jain e V.E. [Kar96℄ Combinatori a. 87. 668678. How good is the Goemans-Williamson max ut algorithm? In Pro eedings of the 28th Annual ACM Symposium on the Theory of Computing (STOC). puter Computations. In R. 1979. p.edu/ people/home/kjain/. [KG98℄ [p. editores. Primal-dual approximation algorithms for metri fa ility lo ation and k-median problems. Klein. 11(2):196204. Stein.BIBLIOGRAFIA 142 [JRR95℄ M. That her. In 1999.E. A polynomial algorithm for linear pro- Soviet Mathemati al Doklady. p. [p. Rounding algorithms for a geometri embedding of mini- Pro eedings of the 31st Annual ACM Symposium on Theory of Computing (STOC). 85℄ L. Karlo. 74℄ [Kan92℄ On the Approximability of NP- omplete Optimization Problems. 85103. G. Kann. 225330. [p. 2℄ R. 90.G. 130℄ + [KKS 99℄ D. Kha hiyan. 91. M.O. 427434. 1998. Rinaldi. C. 21℄ K.L.M. p. Karp. Young.L. 1984. Royal Institute of Te hnology. 1995. P. Miller e J. 17th International Symposium on Mathemati al Programming (ISMP). Holland. [JV00℄ Network Models. gramming. North- [p. C. 34℄ . 1996. URL: http://www. Redu ibility among ombinatorial problems. 85℄ J.R. 117. Thorup e N. Plenum. T. PhD Thesis. 1992. Goemans. 117℄ H. Jünger. Vazirani. Karger.

Ravi. mation Transmission. Journal [p. 1955. Karger. 21:498516. Lin e B. 1973. Knuth. [p. L. 33℄ H. [p. [p. 21℄ Operations Resear h. Journal on Computing.E. 1997. Kohayakawa e J. A 7=8 -approximation for max 3-sat? In Pro eedings of 38th Annual Symposium on Foundations of Computer S ien e (FOCS). Matroids. The 3. 45(2):246265. R. Livro do XX Colóquio Y. 99℄ Fundamental Algorithms. [p. Kellerer e U. [p. Journal of the ACM. [KRAR95℄ of 3(1):5971. [KS95℄ Combinatori a. 72. 63. [Lev73℄ Combinatorial Optimization: Networks and Holt. Knuth. Sudan e U. [KMSV99℄ [p. M. 1976. 21℄ An approxima- te max-ow min- ut relation for undire ted multi ommodity ow. 74. of Combinatorial Optimization. 125℄ [Knu68℄ D. An ee tive heuristi algorithm for the traveling salesman problem. Rinehart and Winston. Karlo e U. Motwani e M. [p. 38℄ Problems of Infor[p. volume 2 Art of Computer Programming. 85℄ S. 130℄ S.a . Approximate graph oloring by semidenite programming. Universal sorting problems. 406415. [LK73℄ 9:265266. Khanna. . [p. Addison-Wesley. Brasileiro de Matemáti a.E. Levin. 1998. A new fully polynomial time approximation s heme for the knapsa k problem. 85℄ [Law76℄ E. Demonstrações Transparentes e a Impossibilidade de Aproximações. [Knu98℄ D. Rao.W. Kuhn. 1995. 129℄ The Hungarian method for the assignment Naval Resear h Logisti s Quarterly. A. P. problem. 1999. 60℄ [KZ97℄ H. Kernighan. 75. Agrawal e R. ed. Vazirani. Pfers hy. [p. p.il/zwi k/.L. volume 1 of The Art of Computer Programming. Motwani. Zwi k. 1995. IMPA. On syn- SIAM ta ti versus omputational views of approximability. Klein. 95. [p.W. 1999. with appli ations. 84℄ H.A.math. 99. S. Sudan. 1968. URL: http://www. [KP99℄ 28(1):164191. 2:8397. [Kuh55℄ 15(2):187202. Soares. Seminumeri al Algorithms.BIBLIOGRAFIA [KMS98℄ 143 D. R. 1998. Lawler. 1973. Addison-Wesley.tau..

21. [Lub86℄ Journal of the ACM. Wigderson. 74℄ M. Plummer. 1986. International Computer S ien e Institute. 13(4):383390. Steger. CIMPA. and related pro28(4):12981309. A ser publi ado pela zation. John Wiley.L. J. E. [LLRS90℄ 15(2):215245. On the ratio of optimal integral and fra tional overs. [p. Dis rete Mathemati s. tori a. Re- moys. Guillotine subdivisions approximate polygonal subdivisions: a simple polynomial-time approxima- tion s heme for geometri tsp. H. editores. [MPS98℄ k-mst. [LR99℄ [p. 2001. A.H. 15(4):10361053. 78. Semidenite programs and ombinatorial optimi- Brazilian Summer S hool on Combinatori s and Algorithms. Te hni al Report TR-035.BIBLIOGRAFIA 144 [LLR95℄ N. [p.B. M. London e Y. Linial. 2. [LP86℄ L. Rinnooy Kan e D. 17. Luby e A. Rabinovi h. 33℄ E. 75℄ J. SIAM Journal on Computing.B.D. Elsevier. Multi ommodity max-ow min- ut theorems and their use in designing approximation algorithms. [Mit99℄ [p. 22. [p. volume 1367 of Le ture Notes in Computer S ien e. Lenstra. 1986. Luby. editores. 22℄ Le tures on Proof Veri ation and Approximation Algorithms. [LW95℄ 46(6):787832. Mayr. 1999. 158. E.K. print of the 1985 original.G. 129℄ T. 21℄ L. Mit hell. 1999. Springer. Prömel e A. 1995. 85℄ Mat hing Theory. blems. p. [p. Pairwise independen e and derandomization. Lovász. [Lov75℄ [p. Combina- [p. iii. Lovász. 1990. 1998. SIAM Journal on Computing. 1975. [p. In Springer.S. The geometry of graphs and some of its algorithmi appli ations. [p. 33℄ A simple parallel algorithm for the maximal independent set problem. Rao. Sh- The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. 99℄ . Leighton e S. 1995. 39℄ [Lov01℄ L. Lawler. Lovász e M.J.

University of Helsinki. 1995. 98. [Pad99℄ M. p. A primal-dual approximation algorithm for the Steiner forest problem. Optimization. Martello e P. 99℄ lity of the traveling salesman problem. John Wiley. Papadimitriou. Toth. p. 85℄ [MR95b℄ R. [OM87℄ P. 2000. rev. Prenti e-Hall. Papadimitriou e K. Mahajan e H. Derandomizing semidenite programming based approximation algorithms. approximation and omplexity lasses. On the approximabi- In Pro eedings of the 32nd Annual ACM Symposium on Theory of Computing (STOC). Probabilisti onstru tion of deterministi algorithms: Approximating pa king integer programs. 162169. Raghavan. exp. C. 74℄ [Rav94℄ R. 1990. Orponen e H. System S ien es. Ramesh. ed. 59.H. nal of Computer and System S ien es. Ravi. [p. 21℄ [MT90℄ S. 50(4):185189. 74℄ Knapsa k Problems: Algorithms and Computer Implementations.H. [p. Motwani e P. Raghavan. Information Pro essing Letters. 1994. 60℄ . bridge University Press. Padberg. 117. [PY91℄ C. 131℄ [PS85℄ F. 1982. 1985.BIBLIOGRAFIA [MR95a℄ 145 S. Yannakakis. In Pro eedings of the 36th Annual Symposium on Foundations of Computer S ien e (FOCS). 125. Te hni al Report C-28. Steiglitz. 1991. Papadimitriou e M.P. [p. 96℄ Springer. [PS82℄ [p. 125℄ Combinatorial Optimization: Algorithms and Complexity. Cam- [p. 2. Addison- [p. [Pap94℄ C. [p. Vempala. 113℄ Computational Complexity. 1999. [p. [p. On approximation preserving redu tions: Complete problems and robust measures.H. Papadimitriou e S.H. Mannila.I.. 1987. 126133. 95. Jour- 37:130143. [p. 1994. 1988. [Rag88℄ Journal of Computer and 43:425440. 99℄ P. 127℄ C. An Introdu tion. Preparata e M. Wesley. Linear Optimization and Extensions. [PV00℄ Computational Geometry: Springer. Randomized Algorithms. [p. [p. 1995. Shamos.

Reinelt. 33℄ . In K. 16℄ Randomized rounding. Robins e A. [p. 332341. [p. A sub- onstant error-probability low- degree test. Lewis. Vazirani. blems. 23:555565. Theory of Linear and Integer Programming. [p. Journal on Computing. 7:365374. Rosenkrantz. Ravi e D.P. An approximation algorithm for Pro eedings of the Sixth ACM-SIAM Symposium on Dis rete Algorithms (SODA). R. S hrijver. URL: http://www. Improved steiner tree approxi- Pro eedings of the Tenth ACM-SIAM Symposium on Dis rete Algorithms (SODA). 1532.E. Williamson.iwr. [p. number 1444 in Le ture Notes in Computer S ien e. 475484. 130℄ S. 59. 1986. Gonzalez. [p. 2000. 10. Zelikovsky. 770779. 1977. 96. In [RZ00℄ G. 1976. In 1997. 74℄ S. In 2000. Sahni e T. p.B. 28(2):526541. 113. 90. [S h86℄ [p. mation in graphs. p. [SG76℄ [p. p. SIAM [p. Pro eedings of the International Workshop on Approximation Algorithms for Combinatorial Optimization. de/groups/ omopt/software/TSPLIB95/. 1999.uni-heidelberg. editores. 60℄ minimum- ost vertex- onne tivity problems. SIAM Journal on Computing. [RT87℄ P. Rajagopalan e V. and a sub- onstant error-probability PCP ha- Pro eedings of the 29th Annual ACM Symposium on Theory of Computing (STOC). Raghavan e C. [RSL77℄ [p. 1987. 96℄ D. 117. Safra. [RV99℄ 6:563581. TSPLIB [RS97℄ R. Raz e S. Primal-dual RNC approximation algorithms for set over and overing integer programs. 118.J.D.BIBLIOGRAFIA 146  A Library of Sample Instan es for the TSP.V. 21℄ [Rei00℄ G. 82. Jansen e J. 61℄ [RW95℄ R. Shmoys. Combinatori a. P- omplete approximation pro- Journal of the ACM. 98℄ [Shm98℄ D. [p. 33. p. 60℄ A. An analysis of several heuristi s for the traveling salesman problem. Springer.M. 1995. Rolin. Using linear programming in the design and analysis of approximation algorithms: two illustrative problems. John Wiley. ra terization of NP. Stearns e P. 1998. Thompson.

[p. Vazirani. 2001. 70. iii. Università di Roma La Sapienza. MassaD. [p. 60℄ [WGMV95℄ D. p. 2. 1999. Williamson. [p. 1998. 85℄ 29(2):648670. 1999. D. 85℄ . SIAM. In p. Goemans. pela Springer. 74. SIAM Journal on Com- [p. Vazirani. an mat hing instan es. Skutella. [Wil98℄ 15:435454.V. 1993. 472481. Steger. [WG94℄ PhD [p. 1994. Spen er. Williamson. Approximability of NP-optimization problems. 85℄ D. 355364. husetts Institute of Te hnology. PhD Thesis. 1987. M. 1995. 74℄ A. Te hni al Report RC 21409. 59115. Trevisan.V. Mihail e V. Semidenite relaxations for parallel ma hine s heduling. 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). 20.P. [p. Thesis.X. 33℄ A. A ser publi ado pela Springer. [p. 60℄ On the Design of Approximation Algorithms for a Class of Graph Problems. [Wil93℄ Combinatori a. 1998. [Ste01℄ [p.X. 21. Williamson. Improved approximation guarantees for pa king and overing integer programs. In Brazilian Summer S hool on Combinatori s and Algorithms. Approximation Algorithms. p.P. A primal-dual approximation algorithm for generalized Steiner network problems. 2001. [p. 33. puting. Watson Resear h Center (IBM Resear h Division). 2℄ Le ture notes on approximation algo- rithms. In Pro eedings of the 39th Symposium on Foundations of Computer S ien e (FOCS).BIBLIOGRAFIA [Sku98℄ 147 M. 85℄ [Sku99℄ M. Skutella. Srinivasan. 2℄ A ser publi ado [p. T.P.P. CIMPA. Convex quadrati and semidenite program- ming relaxations in s heduling. Goemans. [Vaz01℄ V.J. [p. Redu tions and (Non-)Approximability. Williamson e M. M. 1996. 98℄ [Tre96℄ L. [Sri99℄ Ten Le tures on the Probabilisti Method. [Spe87℄ J.

[p. with appli ations to max ut and other problems. R. On the approximation of maximum satisability. 17(3):475502.Índi e 148 [WSV00℄ [Yan94℄ Handbook of Semidenite Programming: Theory. 74℄ U. Saigal e L. Vandenberghe. M. and Appli ations. 85℄ . Zwi k. p. Wolkowi z. Algorithms. 2000. 679687. Kluwer. [Zwi99℄ Journal of Algorithms. In Pro eedings of the 31st Annual ACM Symposium on Theory of Computing (STOC). Outward rotations: a tool for rounding solutions of semidenite programming relaxations. [p. 1999. editores. 86℄ H. 1994. [p. 74. Yannakakis.

3 arredondamento. 129  0. 102 n. 108 yA. 94 T. 128 ( ). 118 dos elipsóides. 130 genuinamente Ay. 93 Aproximação-Primal-Dual. 17 (transposição). 109 fortemente polinomial. 107 G[F ℄. 103 149 . 104 Aho. 127 de aproximação. 109. 74 análise de pior aso. 108 xQ . 131 Rand. 108 Æ( ).Índi e AP. 130 MST. 72 polinomial. 4. 82 h i (tamanho). 108 Ai? . 63 pseudopolinomial. 13 kxk. 99 -aproximação. 109 xy. 22. 101 Agrawal. 4. 85 Alon. 60 múltipla. 23 probabilísti a. 2. 63 de separação. 63 probabilísti o. 108 APX. 108 A?j . 122 árvore. 117 Alizadeh. 101. 122 Euler. 117 Edmonds. 125 > algoritmo. 102 G + F . 108 AB . 128 AP-redução. 125 Arora. 63 RandEsfera. 108 AP Q . 102 G F . 101 e iente. 4 bx . 15 polinomial. 128 probabilísti o. 15 exato. 102 T + F . 63. 79 RandUni. 15 polinomial. 72 Simplex. 66 -álgebra. 102 G Y . 88 adja entes. 45 A> . 101 aresta. 102 G[X ℄. 82.

128 PO. 89 MAXNP. 49 geradora.ÍNDICE 150 de Steiner. 128 bipartição. 74 láusula. 15 ir uito. 8. 51 de grafo. 98. 17. 38 Babai. 107 omprimento de aminho. 103 ir uito. 15 es alonamento. 103 mínimo. 15 obertura. 8 Blum. 105 aminho. 101 oleção laminar. 101 máximo. 8 emparelhamento. 2. 102 euleriano. 14 métri o. 87. 103 de matriz. 103 ir uito. 49 subgrafo. 19 por arestas. 99 NP. 15 aresta. 113 i lo. 21 oluna de matriz. 21 Bondy. 99 máxima. 82 o-NP. 60 bin pa king. 64 booleana. 35 Cobham. 96. 14 aminho. 47. 129 FPTAS. 107 de vetor. 39. 74 por onjuntos. 2 Coman. 128 polinomial. 65 Atalho. 5 oresta de Steiner. 129. 128 Chor. 105 omponente aixeiro viajante. 103 hamiltoniano. 102 hamiltoniano. 28 erti ado urto. 105 . 77 mínimo. 109 onjunto ativo. 57 anni o pl. 16 obertura. 103 vetor. 125 orte. 8 Ausiello. 64 satisfeita. 88 PTAS. 108 ( ). 21 Chvátal. 88 o-NP. 59 Bru ker. 88 P. 20. 21 Christodes. 130 Cormen. 8 Bar-Yehuda. 19 por vérti es. 75 Chrétienne. 115 Central. 99 MAXSNP. 98. 104 obre ( oleção). 127 usto de árvore. 15 gerador. 82 Cook. 4. 128 NPO. 89 ativo. 129 onvexo. 103 Asano. 99 ritério logarítmi o. 58 Cres enzi. 2. 127 uniforme. 49 onvexo. 103 lasse APX.

79. 85 variável. 115 teorema. 26. 103 de probabilidade. 122 gerador. 74. 19. 89 plenamente Dahlhaus. 61 Empa otamento-Next-Fit. 119 de um pl. 50. 102 Empa otamento. 21 Gonzaga. 103 Engebretsen. 75 Es alonamento. 15 triangular. 49 geradora. 90. 96. 101 ( ). 96. 42. 2. 117 teorema fra o. 131 emparelhamento. 33 perfeito. 5961. 5 grafo. 116 Ford. 121. 19. 75 Even. 124 dual. 89 estrela. 68 E[X ℄. 116 e (= 2. 14 euleriano. 15 Devroye. 98. 122 esperança. 60. 74. 131 FPTAS. 121 EG . 102 normal. 114 dis reto. 6 Gonzalez. 121 esquema de aproximação. 52 folgas aproximadas. 44 omplementares. 60 Deza. 43. 34 D'Atri. 2. 22. 89 polinomial. 99 empa otamento unidimensional. 96 desigualdade polinomial. 60 fortemente NP- ompleto. 42. 103 minimal. 5. 67. 98 es alonamento. 89 Fulkerson. 17 gerador. 97 de Markov. 90 Gabow. 114 oresta. 96 Goemans. b). 2. 85 Goldrei h.ÍNDICE 151 transversal. 114 Feige. 101 Edmonds. 46 Æ( ). 101 espaço onexo. 79. 125. 123 ompleto. 85 Erd®s. 102 D(A. 101 em máquinas idênti as. 128 Edmonds. 26. 117 Es alonamento-Graham. 47. 17. 85 evento. 91. 121 produto. 27. 20 Gambosi. 101 extremos de Dijkstra.71828 : : :). 104 . . 17 elipsóides. 117 de Steiner. 102 planar. 117 teorema forte. 101 distribuição aminho. 122 ontínuo. 59 aresta. 19 Garey. 60 G[X ℄. 17 Garg. 121 Diestel. 103 dualidade lema. 5 bipartido. 114 Farkas. 121 Euler. 104 esfera unitária.

115 Hoogeveen. 21 Levin. 125 Hn . 22. 91. 60 knapsa k problem. 131 junção. 96 hitting set problem. 98. 121 96. 130 Lewis. 114 Luby. 20 10 Knuth. 75 Itai. 85 Jünger. 2 viável. 2. 21. Guimarães. 34. 74 Lund. 129 inviável. 74. 95 Grigni. 2. 21 Mar hetti-Spa amela. 130 Karpinski. 21 matriz. 99 J (y). 6. 125 lema da dualidade. 108 simétri a. 102 Khanna. 107 inteira. 117. 26. 39. 96 Ibarra. 22 Kim. 118. 59. Kruskal. 36. 21 Kha hiyan. 9 Kohayakawa. Leighton. 26 Kann. 60. 117 Karp. 26 K -multi orte. 42. 75. 89. 108 inversa. 108 indexada por. 22. 130 grau de vérti e. 85 Karmarkar. 87. 20. 2. 38. 12. 130 126 Kuhn. 21 Håstad. 38 Hamiltonian ir uit problem. 91. 59. 74. 21. 90. 2 Liu. ). 99 I (matriz identidade). 63. 126 linha de matriz. 21. 96 Leiserson. 12. 108 ra ional. 44 Hop roft. 2. 42 J (y. 110 identidade. 21 Kernighan. 119 Hougardy. 75. 85 Karlo. 20. 99 Karger. 39. 96 limitado. 114 ilimitado. 109 positiva semidenida. 60 hamiltoniano aminho. 129 Hall. 125 de Farkas. 82. 58 K - aminho. 85 ir uito. 108 inviável. 110 quadrada. 118 Klein. 99. 103 Laurent. 2. 21 Mannila. 24. 96 Martello. 125. 22 das folgas aproximadas. 108 I (y).ÍNDICE 152 Graham. 103 Lawler. 45 Mahajan. 33. 99 Johnson. 107 elementar. 117. 2. 33 46 Ho hbaum. 85. 2. 45 Lenstra. Markov. 108 . 114 Lin. 117. 96 Gröts hel. 22. 109 inversível. 96 Kellerer. 21 instân ia. 2. 21 Lovász. 16 limiar de aproximação.

104 ontínua. 122 método mutuamente independentes. 91. 70. 131 Max MinPath. 2. 8 set multi over problem. 113 P ( lasse de omplexidade). 103 minimum edge over problem. 75 das esperanças ondi ionais. 97 MinCV-Ho hbaum. 3 Orponen. 49 MinFS-GW. 58 O(f (n)). 85. 103 mo hila. 23 primal-dual. 19. 23. 65 omputação. 35. 131 MinCA. 32. 130 no sentido forte. 10. ). 38 NP MinCC-Chvátal. 8. 127 opt(I ). b. 121. 48 MaxCut-GW. 129 no sentido forte. 43 NP-difí il. 128 MinCV. 88 MinCC-Ho hbaum. 33 NPO. 26 (I ). 73 MinTC. 122 multiterminal- ut. 4 network design problems. 34 multiway- ut. 26 transposta. 19 ut problem. 126 MaxSat-Johnson. 34 dis reta. 44 não-negativo. 109 dos pontos interiores. 8. 9 MinCut. 11 Mo hila-IK" . 15. 96 P(A. 12 modelo de MaxSat. 108 MinMCut-GVY. 121 Murty. 46 MaxCut. 99 MaxSat-Combinado-GW. 41. 131 primal. 60 norma. 2. 26 MAXSNP. 99 mínimo. 129 Padberg. 128 P 6= NP?. 99 Mayr. 67 Motwani. 38 \ o-NP. 25 número harmni o. 117 NP. 99 Mo hila. 57 MaxCC. 10 maximum overage problem. 74. 89 Mo hila-Exato. 77 MAXNP. 74 de aproximação primal-dual. 129 MinCC. 38 multi ut problem. 125 tamanho. 113 palavra. 73. 26 multigrafo. 107 MinMCut. 69 MST. 128 dual. 126 vertex over problem. 36 MinFS. 79 MinTJ. 34. 33 spanning tree problem.ÍNDICE 153 sobre. 58 maximal. 95. 101 medida de probabilidade. 21. 58. 35 NP- ompleto. 65 multi orte. 60. 35 n. 127 MaxSat-GW. 125 . 51 minimal. 77 MinTC-BE. 26 set over problem. 122 operações elementares.

57 término. 97 V. 88 empa otamento positivo. 60 em máquinas idênti as. 45 matriz por vetor. 88 anni o. 34. 21 dual. 88 APX-difí il. 23. 96 polinomialmente equivalente. 114 problema. 19 Pr[ ℄. 88. 5. 58. 99. 38 aresta. 131 NP-difí il. 126 PCH. 97 60. 108 . 26. 4 unidimensional. 34. 96 origem. 43 vetor por matriz. 131 Partição. subgrafo. 90. 105 D. 126 fe hado. 113 NP- ompleto. 10. 59. 127 limitado. 105 onjuntos. 60 orte pl. 46 valoração. 65 separação. 95. 114 problema de/do/da árvore geradora mínima. 114 otimização. 114 programação linear. 102 aminho mínimo. 115 mo hila. 35. 19. 129 de isão. 131 NPO- ompleto.ÍNDICE 154 Papadimitriou. 114 multi obertura mínima fortemente NP- ompleto. 119 produto de aproximado dual. 97. 60 transversal mínima. 126 de peso mínimo. 3. 38 orte. 21 oresta de Steiner. 58 Plummer. 91 passeio. 14. 99 variável. 73. 97 viabilidade. 131 por onjuntos. 77 vérti es. 108 aproximado primal. 102 ir uito hamiltoniano. 73 PCP. 102 aixeiro viajante. 130 no sentido forte. 3. 8. 113 máximo. 115 mínimo. 26 ilimitado. 129 restrito máxima. 114 es alonamento Prömel. 117. 102 primal. 95 maximização. 108 dual. 121 emparelhamento perfeito primal. 97 onexão ponto-a-ponto. 58. 45 matrizes. 49 APX- ompleto. 95 minimização. 114 multiuxo uniforme. 33 inviável. 91 partition. 129 no sentido forte. 126 PO. 43 viável. 33 multi orte mínimo. 125. 126 obertura máxima. 129 satisfatibilidade. 118 T -junção mínima. 47. 3. 32. 98. 99 obertura mínima por peso de arestas. 77 anni o.

77 separação Rajagopalan. 4 R-oresta. 5 S hrijver. 129 satisfatibilidade. 129 s heduling. b. 82 programação de inaproximabilidade. A. 66 Rao. 39. A. 118 Seymour. 33 RAM. 65. 113. 99. b. y). 42 vetorial. 78 semidenido. 113 Rivest. . 117 Rand. 99 provas veri áveis probabilisti amente. 77 Robins. 79. b. 110 RAD(A. 113 resultados vetorial. 20. 125 semidenida. 85 RandEsfera. Q > . 87 Rinaldi. 89 Saigal. 74 programação. 73 satisability. 96 pseudo- láusulas. 89. 82 Q. 96. 4 matriz. 90. 118 Selfridge. 2 Protasi. 10 Rinnooy Kan. 70 Sahni. 60 Prömel. 21 relaxação linear. 16 RP(A. y. 83 Rosenkrantz. 21. 127 real. 21 dinâmi a. 42 155 redução. 65. 129 máxima. 74 semidenida positivos. R > . ). 78 restrições quadráti o. 2. 82 de programa linear. 98. 129 RandUni. 122 PSD Safra. 127 algoritmo de. 26. 59. 98 PTAS.ÍNDICE vetores. R  . 82. 84 Soares. 43 -álgebra. 49 ra ionais não-negativos. 86 PV (W. 108 programa dual. 4 Sat. 85 Simplex. 4 R. 72 solução randomized rounding. 96. 113 primal. 34 Shmoys. b). . y. 45 Raghavan. Q  . 129 Reinelt. 21 linear. 33 RAP(A. 96 Ramesh. 117. b). 63 Skutella. 99 (W.

3. 114 Ravi. 59. 2. 45 (I ). 33 razão de aproximação. 64 RD(A. 114 viável. 131 Steiner. 74 Raz. 3 Stearns. 127 Steger. 2. 117. 99 Steiglitz. 43 real-RAM. 88 Sol ótima. 2. b. 88. y). 60 Spen er. 98.). 125. 49 . 96 Srinivasan. 16 esperada.

2. 101 do uxo máximo vetor. 85. 20. 2. 101 v( ). 22 TSPM-Christofides. 119 transversal. 114 mínima. 64 aleatória. 96 Williamson. 21. 79. 90. 74. 109 Vazirani. 58 Vandenberghe. 102 de uma solução. 107 da dualidade. 95. 108 viabilidade. 107 e orte mínimo. 125 uniform multi ommodity ow problem. 26. 99 Z. 34. 74. 4 . 26. Z. 64 grafo. 126 primal. 42 Yannakakis. 105 T -junção. 114 matriz ra ional. 14 74. 82 x( ). b). 4. 33. 2 Wigderson. 101 dual. 2. 121 Sudan. 102 teorema vérti es da dualidade. 4. 74 ra ional. 2 val(I. 50. 107 forte de inviabilidade.ÍNDICE 156 Steiner forest problem. 2 próprio. 4. 129 Ullman. 35 vérti e. 2. 101 14 w( ). 65 t( ). 14 Woloszyn. 86 TSPM. número ra ional. 5961. 2. 85 TSPLIB. 67. 99 ótimo. ). 86 variável. 21 Wolkowi z. 105 Trevisan. 33 VG . métri o. 102 valor. 4. 88 49 subgrafo. 46 viável. 105 X (A. 107 fra o inteiro. Z>. 99 valoração. 116 nulo. 95. 99 vertex over problem. 102 gerador. 46 traveling salesman problem. 85. 125 vetor ra ional. 102 esperado. 95 número inteiro. 107 Thompson. 117 indexado por. 33. 109 isolado. 75 TSP. 109 Vempala. 109 palavra. 3 Szegedy. 17 X  0. 4. 114 instân ia. val(S ). 2 induzido. 2. 119 da dualidade. 33 ara terísti o. 42 TSPM-RSL. 107 Toth. 121 tamanho de de láusula booleana. 16 Turing. 105 Y (A. 105 y( ). 117 adja entes. S ). 107 transposta. 14. 4. 21 sobre.

85 157 .ÍNDICE Zelikovsky. 74. 60 Zwi k.

Sign up to vote on this title
UsefulNot useful