algoritmos de aproximac¸ao˜ - instituto de …fkm/lectures/aprox.pdffl´avio keidi miyazawa...
TRANSCRIPT
UNIVERSIDADE DE CAMPINAS - UNICAMPINSTITUTO DE COMPUTACAO - IC
Algoritmos de Aproximacao
Flavio Keidi Miyazawa
Campinas, 2001-2018
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 1 / 312
Sumario
Sumario I1 Sumario2 Problemas de Otimizacao Combinatoria3 Complexidade Computacional4 Motivacao5 Aproximacao Absoluta6 Fator de Aproximacao7 Escalonamento de Tarefas8 Cobertura por Vertices9 Cobertura por Conjuntos
10 Esquemas de Aproximacao11 FPTAS para o Problema da Mochila12 Caixeiro Viajante13 Programacao Linear e Inteira14 Metodo Primal15 Fator de aproximacao assintotico16 APTAS para Problema do Empacotamento
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 2 / 312
Sumario
Sumario II17 Introducao a Dualidade em Programacao Linear18 Metodo Dual19 Introducao ao Metodo Primal-Dual20 Metodo de Aproximacao Primal-Dual21 Problema de Localizacao de Facilidades22 Dual Fitting23 Problema da Floresta de Steiner24 Teoria das Probabilidades25 Algoritmos Aproximados Probabilısticos26 Satisfatibilidade Maxima27 Programacao Semidefinida e Problema do Corte Maximo28 PTAS para Escalonamento de Tarefas29 Inaproximabilidade, Classes de Complexidade e PCP30 Tecnica Metrica e Problema do K-Multicorte31 Equilıbrio de Nash, Busca Local e Jogo Multicast
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 3 / 312
Problemas de Otimizacao Combinatoria
Problemas de Otimizacao Combinatoria
I Domınio Finito (enumeravel)I Funcao de Otimizacao: Custos, Comprimentos, QuantidadesI Objetivo: Minimizacao ou Maximizacao
Exemplo: Problema do Caixeiro Viajante (TSP)I Entrada:
- Grafo nao orientado: G = (V ,E),- Custos nas arestas: ce ≥ 0, ∀e ∈ E .
I Objetivo:Encontrar um tour (ciclo hamiltoniano) de custo mınimo que visitacada vertice exatamente uma vez.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 4 / 312
Problemas de Otimizacao Combinatoria
Encontre o ciclo hamiltoniano de custo mınimo
B
C
A
D9
3
9
5
10
6
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 5 / 312
Problemas de Otimizacao Combinatoria
ciclo hamiltoniano de custo mınimo: 27
B
C
A
D9
3
9
5
10
6
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 6 / 312
Problemas de Otimizacao Combinatoria
Algoritmo Ingenuo para o TSP: Tentar todos os tours.Complexidade: O(n!), onde n = |V |.Algoritmo Bom = Algoritmo Polinomial (Cobham’64&Edmonds’65)Provavelmente nao existam algoritmos eficientes para o TSPOutros exemplos difıceis:
I Atribuicao de Frequencias em Telefonia CelularI Empacotamento de Objetos em ConteineresI Escalonamento de Funcionarios em Turnos de TrabalhoI Escalonamento de Tarefas em ComputadoresI Classificacao de ObjetosI Coloracao de MapasI Projetos de Redes de ComputadoresI Varios outros...
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 7 / 312
Complexidade Computacional
Complexidade Computacional
Problemas de Decisao
I Exemplo: Dado grafo G, existe um ciclo hamiltoniano em G ?
I Exemplo: Dado grafo completo G = (V ,E), funcao de peso nasarestas c : E → Z+ e um inteiro positivo K , existe um ciclohamiltoniano em G, de peso no maximo K ?
I Exemplo: Dado um mapa M e um inteiro K , posso colorir M comK cores sem conflitos ?
I Exemplo: Dado grafo completo G = (V ,E), pesos nas arestasc : E → Z+, vertices s e t e um inteiro positivo K , existe umcaminho em G, de s para t , de peso no maximo K ?
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 8 / 312
Complexidade Computacional
Reducao polinomial entre problemasP1 e polinomialmente redutıvel a P2 (P1 P2) se
I ∃ Ti que transforma instancia I1 de P1 para instancia I2 de P2
I ∃ Ts que transforma solucao S2 de I2 para solucao S1 de I1I Ti e Ts tem complexidade de tempo polinomial
I1
S2:=A2(I2)
S2
I2I2:=Ti(I1)
S1:=Ts(S2)S1Solução
Instância
Consequencias:Se P2 e “polinomial” entao P1 e “polinomial”.Se P1 e “exponencial” entao P2 e pelo menos “exponencial”.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 9 / 312
Complexidade Computacional
Reducao polinomial entre problemas de decisao
P1 e polinomialmente redutıvel a P2 (P1 P2) seI ∃ T que transforma instancia I1 de P1 para instancia I2 de P2
I I1 tem solucao se e somente se I2 tem solucaoI T e polinomial
Consequencias:Se P2 e “polinomial” entao P1 e “polinomial”.Se P1 e “exponencial” entao P2 e pelo menos “exponencial”.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 10 / 312
Complexidade Computacional
Classes de Complexidade:P, NP, NP-Completo, NP-Difıcil
X ∈ P:X pode ser decidido em tempo polinomial.
X ∈ NP:X tem certificado curto e verificavel em tempo polinomial.
X ∈ NP-Completo:X ∈ NP e ∀Y ∈ NP, Y X .
X ∈ NP-Difıcil:∀Y ∈ NP, Y X , onde X nao necessariamente pertencea NP.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 11 / 312
Complexidade Computacional
P
NP−Difíceis
NP−Completos
Polinomiais
NP
Vários Problemas Práticos
Conjectura: P=NP ?Premio de 1 milhao de US$.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 12 / 312
Complexidade Computacional
Problemas em P
I Dado um conjunto de numeros S, existe n ∈ S tal quen =
∑i∈S\n i ?
I Decida se um dado grafo G e conexo ?
I Dado grafo completo G = (V ,E), pesos nas arestas c : E → Z+,vertices s e t e um inteiro positivo K , existe um caminho em G, des para t , de peso no maximo K ?
I Posso colorir um mapa com 4 cores sem conflitos ?
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 13 / 312
Complexidade Computacional
Problemas em NP-Completo
I Dado um conjunto de numeros S, existe N ⊆ S tal que∑i∈N i =
∑i∈S\N i ?
I Dado grafo G, existe um ciclo hamiltoniano em G ?
I Dado grafo completo G = (V ,E), pesos nas arestas c : E → Z∗ eum inteiro positivo K , existe um ciclo hamiltoniano em G, de pesono maximo K ?
I Dado grafo completo G = (V ,E), pesos nas arestas c : E → Z,vertices s e t e um inteiro positivo K , existe um caminho em G, des para t , de peso no maximo K ?
I Posso colorir um mapa com 3 cores sem conflitos ?
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 14 / 312
Complexidade Computacional
Problemas NP-difıceisI Varios problemas praticos sao NP-difıceis
Exemplos:I Problema do Caixeiro ViajanteI Atribuicao de Frequencias em Telefonia CelularI Empacotamento de Objetos em ConteineresI Escalonamento de Funcionarios em Turnos de TrabalhoI Escalonamento de Tarefas em ComputadoresI Classificacao de ObjetosI Coloracao de MapasI Projetos de Redes de ComputadoresI Varios outros...
I P6=NP⇒ nao existem algoritmos eficientes para problemasNP difıceis
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 15 / 312
Complexidade Computacional
Comparando tempos polinomiais e exponenciaisf (n) n = 20 n = 40 n = 60 n = 80 n = 100n 2,0×10−11seg 4,0×10−11seg 6,0×10−11seg 8,0×10−11seg 1,0×10−10segn2 4,0×10−10seg 1,6×10−9seg 3,6×10−9seg 6,4×10−9seg 1,0×10−8segn3 8,0×10−9seg 6,4×10−8seg 2,2×10−7seg 5,1×10−7seg 1,0×10−6segn5 2,2×10−6seg 1,0×10−4seg 7,8×10−4seg 3,3×10−3seg 1,0×10−2seg2n 1,0×10−6seg 1,0seg 13,3dias 1,3×105sec 1,4×1011sec3n 3,4×10−3seg 140,7dias 1,3×107sec 1,7×1019sec 5,9×1028sec
Supondo um computador com velocidade de 1 Terahertz (mil vezesmais rapido que um computador de 1 Gigahertz).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 16 / 312
Complexidade Computacional
Comparando tempos polinomiais e exponenciaisf (n) Computador atual 100×mais rapido 1000×mais rapido
n N1 100N1 1000N1n2 N2 10N2 31.6N2n3 N3 4.64N3 10N3n5 N4 2.5N4 3.98N42n N5 N5 + 6.64 N5 + 9.973n N6 N6 + 4.19 N6 + 6.29
Fixando o tempo de execucao
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 17 / 312
Motivacao
Algoritmos de AproximacaoI Abordagem para tratar problemas NP-difıceis− Problemas NP-difıceis precisam de alguma solucao
I Algoritmos eficientes (polinomiais)− Maioria dos algoritmos de aproximacao sao rapidos− Adequados para instancias grandes onde exatos sao proibitivos
I Garantia de “proximidade” com a solucao otima− Analise formal da qualidade das solucoes geradas− Analises formais indicam como medir qualidade de solucoes
viaveis quaisquerI Novas classes de complexidade em NP-difıcil− Problemas em NP-completo sao polinomialmente equivalentes,mas− problemas de otimizacao apresentam dificuldades distintas
sob o ponto de vista de aproximacaoI Agregar valor teorico a heurısticas (conhecidas)− Area academica valoriza analises formais
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 18 / 312
Motivacao
I Inspiracao para o desenvolvimento de heurısticas− Heurısticas aproveitam propriedades estruturais de algoritmosaproximados
I Desenvolvimento de teorias recentes− Area que tem recebido grande atencao pela comunidadeacademica− Novas tecnicas no desenvolvimento de algoritmos− Teorias revelando inaproximabilidade de problemas
I Desenvolvimento de algoritmos exatos− Algoritmos exatos usam solucoes viaveis para limitar busca− Algoritmos exatos baseados em enumeracoes e algoritmos de
aproximacaoI Teoria dos Jogos− Mesmo tipo de analise para o Preco da Anarquia
I Analise de algoritmos online− Algoritmos onde nao ha informacao sobre proximos eventos
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 19 / 312
Motivacao
Experimentos Computacionais
I Williamson’93Problema do Emparelhamento: Grafos de ate 131.000 vertices,em torno de 2% do otimo
I Goemans & Willamson’94Problema do Corte Maximo: Grafos de ate 200 vertices, em tornode 4% do otimo
I Homer & Peinado’94Problema do Corte Maximo: Grafos de ate 13.000 verticesImplementacao distribuida do algoritmo de Goemans &Williamson
I Hall’95Problema da Arvore de Steiner: Grafos de ate 1000 nos / 60.000arestas em torno de 7% do otimo
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 20 / 312
Motivacao
I Hu & WeinProblema da Floresta de Steiner: Grafos com ate 64 vertices, emtorno de 5% do otimo
I Johnson, Minkoff, Phillips’00Problema da Arvore de Steiner com Penalidades: Grafos com ate76.000 vertices. Solucoes proximas da otima
I Barahona & Chudak’99Facility Location Problem: Tecnica hıbrida em grafos com 3000facilidades e 3000 clientes, em torno de 1% do otimo
I Mihail, Mostrel, Dean & Shallcross’95Survivable Network Design Problem: Software da Bellcore.Solucoes proximas da otima.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 21 / 312
Motivacao
Grandes Desafios
I Instancias em circuitos VLSIJohnson’90: Problema do Caixeiro Viajante em Grafos com1.2 milhao de vertices (e aumentando)Outras instancias grandes ocorrem em cristalografia
I Limitantes carosPara muitas instancias nao e nem possıvel se resolver programaslineares/semidefinidos em tempo razoavel (muito usados paradesenvolver algoritmos de aproximacao)
I Mundo real tem diversas instancias grandesAtualmente sao resolvidos em partes.Exemplos: Projetos de circuitos VLSI, escalonamento detrabalhadores, localizacao de equipamentos emtelecomunicacoes...
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 22 / 312
Motivacao
Principais Tecnicas
I Metodos CombinatoriosI Programacao DinamicaI Metodos baseados em Progamacao LinearI Metodos ProbabilısticosI Programacao SemidefinidaI Tecnicas de Inaproximabilidade
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 23 / 312
Motivacao
Alguns Problemas
I Escalonamento de Tarefas (Scheduling)I Cobertura por Conjuntos (Set Cover)I Problema da Mochila (Knapsack)I Empacotamento de Barras (Bin Packing)I Caixeiro Viajante (TSP)I Floresta de SteinerI Satisfatibilidade Maxima (Max-SAT)I Corte Maximo (Max-CUT)I Clique Maximo (Max-Clique)I Localizacao de Facilidades
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 24 / 312
Motivacao
Medidas em Algoritmos de Aproximacao
I Aproximacao AbsolutaI Fator de AproximacaoI Fator de Aproximacao AssintoticoI Fator de Aproximacao Probabilıstico
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 25 / 312
Aproximacao Absoluta
Aproximacao Absoluta
Dado um algoritmo A e instancia I,I OPT(I) e o tamanho da solucao otimaI A(I) e o tamanho da solucao gerada por A sobre I
A tem aproximacao absoluta k se
|A(I)− OPT(I)| ≤ k ∀ instancia I.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 26 / 312
Aproximacao Absoluta
Coloracao de Grafos PlanaresDef.: Um grafo G = (V ,E) e dito ser planar se e possıvel desenha-lono plano, tal que duas arestas so se interceptam em pontos de V quesao suas extremidades em comum.
Problema COLORACAO-PLANAR: Dado um grafo planar simplesG = (V ,E), colorir os vertices de G com o menor numero de cores,onde vertices adjacentes devem ter cores distintas.
Teorema: COLORACAO-PLANAR e NP-difıcil.
Teorema: Existe uma 1-aproximacao absoluta para o problema daCOLORACAO-PLANAR (Appel & Haken’76)Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 27 / 312
Aproximacao Absoluta
Uma 3-aproximacao absoluta
Ideia do algoritmo: Inducao com o seguinte teorema
Teorema: Se G e planar simples, entao G tem pelo menos um verticede grau ≤ 5Prova. O Teorema de Euler para grafos planares conexos, diz que
|E | = |V |+ |F | − 2,onde F e o conjunto de faces de uma imersao de G no plano.Exercıcio: Prove este teorema.
Usando este teorema, podemos provar que
|E | ≤ 3|V | − 6 (Exercıcio)
Usando a relacao do numero de arestas e a soma total de graus, oresultado segue (Exercıcio).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 28 / 312
Aproximacao Absoluta
ALGORITMO 6-CORES G = (V ,E)1 Se E = ∅ entao,2 cor(v) := 1, ∀v ∈ V .3 senao, se G e bipartido, V = (X ,Y ) entao4 cor(x):= 1, ∀x ∈ X e cor(y):= 2, ∀y ∈ Y .5 senao,6 seja v ∈ V tal que grau(v) ≤ 57 Pinte G′ := G − v recursivamente.8 Seja c ∈ 1, . . . ,6 cor nao presente nos adjacentes de v9 cor(v) := c.
Teorema: 6-Cores e uma 3-aproximacao absoluta.Prova. Se E = ∅ ou G e bipartido,
6-Cores(G) = OPT(G)caso contrario, OPT(G) ≥ 3
6-Cores(G)− OPT(G) ≤ 3.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 29 / 312
Aproximacao Absoluta
Uma 2-aproximacao absoluta
Teorema: Descreva um algoritmo 5-Cores que e uma 2-aproximacaoabsoluta.Prova. Exercıcio.Ideia: Baseado no algoritmo 6-Cores. Seja v o vertice removido.• Se vizinhos de v usam ≤ 4 cores, pinte v com cor faltante.• Caso contrario, considere uma imersao de G no plano.S.P.G. seja 1, . . . ,5 os vizinhos de v , numerados no sentido horarioem torno de v e seja i e j dois vizinhos nao consecutivos (na ordemcıclica) de v .Tente recolorir i com a cor de j trocando as duas cores a partir de i .Se for possıvel, voce tera uma cor disponıvel para v . Caso contrario,procure repintar outros vertices.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 30 / 312
Aproximacao Absoluta
Coloracao de Arestas
Problema COLORACAO DE ARESTAS: Dado um grafo G, colorir asarestas de G com o menor numero de cores, onde arestas adjacentesdevem ter cores distintas.
Aplicacoes: Escalonamento com horarios, coloracao de fios emcircuitos, etc.
Teorema: (Holyer’81) O problema de Coloracao de Arestas eNP-difıcil.
Teorema: (Vizing’64) E possıvel colorir as arestas de G com ∆(G) + 1cores, onde ∆(G) e o maior grau de um vertice em G.
Corolario: Existe um algoritmo com aproximacao absoluta 1 para oproblema de Coloracao de Arestas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 31 / 312
Aproximacao Absoluta
Resultados Negativos: Sensibilidade a escala
Problema da Mochila
Problema MOCHILA: Dados itens S = 1, . . . ,n com peso vi etamanho si inteiros, i = 1, . . . ,n, e inteiro B, encontrar S′ ⊆ S quemaximiza
∑i∈S′ vi tal que
∑i∈S′ si ≤ B.
Teorema: Se P 6= NP entao nao existe algoritmo de tempo polinomialcom aproximacao absoluta k para o problema da Mochila, paraqualquer k fixo.Prova. Suponha existir algoritmo A e k talque |OPT(I)− A(I)| ≤ k ,
e k limitado por polinomio de n.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 32 / 312
Aproximacao Absoluta
Seja I := S = (1, . . . ,n), v = (v1, . . . , vn), (s1, . . . , sn),B umainstancia qualquer.Seja I′ := S = (1, . . . ,n), v = (v ′1, . . . , v
′n), (s1, . . . , sn),B uma
instancia onde v ′i := (k + 1) · vi .
OPT(I)
A(I)
OPT(I’)
A(I’)
K
K’
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 33 / 312
Aproximacao Absoluta
(k + 1)OPT(I) = OPT(I′)Seja Sol a solucao de I correspondente ao gerado por A em I′.
|OPT(I′)− A(I′)| ≤ k
=⇒|(k + 1) · OPT(I)− (k + 1)Sol | ≤ k
=⇒(k + 1) · |OPT(I)− Sol | ≤ k .
=⇒|OPT(I)− Sol | ≤ k
k + 1.
=⇒|OPT(I)− Sol | ≤ 0.
=⇒OPT(I) = Sol
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 34 / 312
Aproximacao Absoluta
Problema do Clique Maximo
Def.: Dado um grafo G = (V ,E), um conjunto S ⊆ V e um clique se∀u, v ∈ S ⇒ u, v ∈ E.
Problema CLIQUE: Dado um grafo G, encontrar um clique em G decardinalidade maxima.
Teorema: (Karp’72) CLIQUE e um problema NP-difıcil.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 35 / 312
Aproximacao Absoluta
Inaproximabilidade absoluta do Clique Maximo
Def.: Seja Gm grafo com m copias de G e vertices de copias distintasligados.
Fato: Se o maior clique de G tem tamanho k entao, o maior clique deGm tem tamanho k ·m.
Teorema: Se P 6= NP entao nao existe algoritmo de tempo polinomialcom aproximacao absoluta k para o problema do Clique, paraqualquer valor k limitado por polinomio de n.Prova.Suponha existir algoritmo A e constante k tal que
|OPT(G)− A(G)| ≤ k ∀ instancia I
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 36 / 312
Aproximacao Absoluta
Entao
|OPT(Gk+1)− A(Gk+1)| ≤ k|(k + 1) · OPT(G)− A(Gk+1)| ≤ k
Seja Sol o maior clique em uma copia feita por A(Gk+1).Sol tem tamanho pelo menos A(Gk+1)
k+1 .=⇒
|(k + 1) · OPT(G)− (k + 1)Sol | ≤ k .
=⇒|(k + 1)(OPT(G)− Sol)| ≤ k .
=⇒|OPT(G)− Sol | ≤ k
k + 1.
=⇒|OPT(G)− Sol | ≤ 0.
=⇒Sol = OPT(G)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 37 / 312
Fator de Aproximacao
Fator de Aproximacao
Dado um algoritmo A e instancia I,I OPT(I) e o tamanho da solucao otimaI A(I) e o tamanho da solucao gerada pelo algoritmo AI A e algoritmo de aproximacao com fator α se
A(I) ≤ α · OPT(I) ∀I, para minimizacao
A(I) ≥ α · OPT(I) ∀I, para maximizacao
I A tem fator α justo se ∀ε > 0 temos que
∃I tal que A(I) > (α− ε)OPT(I), para minimizacao
∃I tal que A(I) < (α + ε)OPT(I), para maximizacao
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 38 / 312
Escalonamento de Tarefas
Escalonamento de TarefasProblema ESCALONAMENTO: Dados uma lista de tarefasL = (J1, . . . , Jn), cada uma com tempo t(Ji) e m maquinas identicas,encontrar uma particao de L, (M1, . . . ,Mm), tal que maxi t(Mi) emınimo.Teorema: ESCALONAMENTO e NP-difıcil.
Algoritmo de Graham: Escalonar a proxima tarefa na maquina commenos tempo.
GRAHAM (m,n, t)1 para j de 1 a m faca Mj ← ∅2 para i de 1 a n faca
3 seja k uma maquina tal que∑i∈Mk
ti e mınimo
4 Mk ← Mk ∪ i5 devolva M1, . . . ,Mm
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 39 / 312
Escalonamento de Tarefas
Exemplo:
L= ( )
Algoritmo Graham
Graham(L) = 16
OPT(L) = 10
Escalonamento Ótimo
2 3 1 5 4 5 10
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 40 / 312
Escalonamento de Tarefas
Teorema: Graham(L) ≤ 2 OPT(L) .Prova.Seja Jk a ultima tarefa terminada no escalonamento.
k
Graham(L)Graham(L)−tk
OPT(L) ≥ maxi t(Ji) ≥ t(Jk )
OPT(L) ≥ 1m
∑i
t(Ji) ≥ Graham(L)− t(Jk )
I.e., 2 · OPT(m,n, t) ≥ Graham(L).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 41 / 312
Escalonamento de Tarefas
Algoritmo LPT - Longest Processing Time
LPT (m,n, t)1 Ordene as tarefas tal que t1 ≥ t2 ≥ . . . ≥ tn.2 devolva Graham (m,n, t)
Teorema: LPT(m,n, t) ≤ 32 OPT(m,n, t) .
Prova.Seja k a tarefa que terminou por ultimo no escalonamento LPT.
Se n ≤ m ou tk =LPT(m,n, t) entao LPT(m,n, t) = OPT(m,n, t).
Senao, temos que OPT(m,n, t) ≥ 2tk . I.e., tk ≤ OPT(m,n,t)2 .
Sabemos que: LPT(L) ≤∑
i tim + tk ,
∑i ti
m ≤ OPT(L) e tk ≤ OPT(m,n,t)2
Assim, LPT(L) ≤ OPT(L) + OPT(m,n,t)2 = 3
2OPT(m,n, t)
Esta analise e justa ?Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 42 / 312
Escalonamento de Tarefas
Teorema: LPT(m,n, t) ≤ 43 OPT(m,n, t) .
Prova. Por contradicao. Suponha que exista instancia tal queLPT(L)OPT(L) >
43 . Considere tal instancia com menor numero de tarefas.
Por ser contra-exemplo com menor numero de tarefas, temos que tn ea ultima tarefa a ser executada.
LPT(L) ≤∑
i tim + tn e OPT(L) ≥
∑i ti
m
Assim, LPT(L) ≤ OPT(L) + tn.
Isto e, 43 <
LPT(L)OPT(L) ≤ 1 + tn
OPT(L) .
O que nos da: OPT(L) < 3tn.
Como tn e a menor tarefa, todas as maquinas tem no maximo 2tarefas. Segue que o escalonamento obtido por LPT e otimo, dandouma contradicao (Exercıcio).Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 43 / 312
Escalonamento de Tarefas
Lema: O fator 43 do algoritmo LPT e justo.
Prova. Exercıcio.
Considere m = 4 e n = 9 tarefas, onde t1 = t2 = 7, t3 = t4 = 6,t5 = t6 = 5, t7 = t8 = 4, e t9 = 4. Extrapole para uma instancia comm maior e veja o limite de LPT
OPT .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 44 / 312
Escalonamento de Tarefas
Notas adicionais
Algoritmo k -GRAHAM (m,n, t)1 considere que t1, . . . tk sao as k maiores tarefas da instancia2 obtenha um escalonamento otimo Sk das k primeiras tarefas3 escalone as n − k tarefas restantes sobre Sk usando Graham4 devolva o escalonamento obtido
Teorema: k-Graham(L) ≤ (1 + ξ) OPT(L), onde ξ = 1−1/m1+k/m .
Teorema: Dado ε > 0, existe um algoritmo com fator de aproximacao(1 + ε) para o problema de ESCALONAMENTO.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 45 / 312
Cobertura por Vertices
Cobertura por VerticesProblema COBERTURA POR VERTICES: Dados grafo G = (V ,E),encontrar C ⊆ V tal que u, v ∩ C 6= ∅ ∀u, v ∈ E e |C| e mınimo.
Aplicacao: Dado um museu, dispor um numero mınimo de guardasque cubram todas os corredores do museu.
Resultados Negativos
Teorema: COBERTURA POR VERTICES e NP-difıcil.
Teorema: Se existir uma α-aproximacao para o problema da cobertura porvertices com α < 7/6 entao P=NP (Hastad’97).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 46 / 312
Cobertura por Vertices
Encontre uma cobertura por vertices:
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 47 / 312
Cobertura por Vertices
Cobertura por Vertices:
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 48 / 312
Cobertura por Vertices
Lema: Algoritmo guloso que iterativamente remove (escolhe) o vertice demaior grau tem fator de aproximacao Ω(log(n))Prova. Exercıcio. Ideia: Considere o grafo bipartido abaixo e aremocao dos vertices na particao do lado de baixo.
1 2 3 4 5 6 7 8
3 4 5 6 7 8
2 3 4 5 6 7 8
Construa grafos com a mesma ideia e n grande.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 49 / 312
Cobertura por Vertices
Algoritmo Guloso por ArestaIdeia: Encontrar um emparelhamento maximal.COBERTURA-VERTICES-GULOSO (G)1 C ← ∅2 enquanto E 6= ∅3 escolha (i , j) ∈ E4 C ← C ∪ i , j5 remova todas as arestas adjacentes a i e j6 retorne CTeorema: Cobertura-Vertices-Guloso e uma 2-aproximacao (Gavril).Prova. Arestas escolhidas formam um emparelhamento maximal.
C
Qualquer cobertura por vertices deve ter cardinalidade ≥ |C|/2.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 50 / 312
Cobertura por Conjuntos
Cobertura por Conjuntos
Def.: Dada uma colecao S de subconjuntos de E dizemos que S cobre E , oue uma cobertura de E , se ∪S∈SS = E .
Problema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c(S), S ∈ S, encontrar cobertura S′ ⊆ S
que minimiza c(S′).Resultados Negativos
Teorema: COBERTURA POR CONJUNTOS e NP-difıcil.
Teorema: Nao ha algoritmo de aproximacao com fator (1− ε) ln |E |,para qualquer ε > 0, para o problema da cobertura por conjuntos, amenos que P = NP (Dinur, Steurer’14).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 51 / 312
Cobertura por Conjuntos
Encontre uma cobertura por conjuntos:
1
34
56
7
8
9
2
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 52 / 312
Cobertura por Conjuntos
Cobertura por conjuntos:
1
34
56
7
8
9
2
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 53 / 312
Cobertura por Conjuntos
Detecao de Virus
Aplicacao (Williamson/IBM): Sao determinadas algumas sequenciaspara cada vırus, cada sequencia com 20 ou mais bytes, em um totalde 900 sequencias. O objetivo e encontrar o menor conjunto desequencias que detecta todos os 500 vırus.
I Conjuntos: Cada sequencia determina um conjunto de vırus quecontem a sequencia.
I Conjunto Base: Conjunto de todos os vırus.
Algoritmo Guloso: 190 subsequenciasLimitante para solucao otima: 185 subsequencias
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 54 / 312
Cobertura por Conjuntos
Estrategia Gulosa:Pegar sempre o conjunto de menor peso relativo.
MINCC-CHVATAL (E , S, c)
1 se E = ∅2 entao devolva ∅3 senao seja Z em S tal que cZ/|Z ∩ E | e mınimo4 E ′ ← E \ Z5 S′ ← S ∈ S : S ∩ E ′ 6= ∅ 6 seja c′ a restricao de c a S′
7 T ′ ← MINCC-CHVATAL (E ′, S′, c′)8 devolva Z ∪ T ′
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 55 / 312
Cobertura por Conjuntos
Lema: Se Z ∈ S e tal que c(Z )/|Z | e mınimo, entaocZ|Z |≤ OPT(E , S, c)
|E |Prova.Seja S∗ uma cobertura otima.
cZ|Z ||E | ≤
cZ|Z |∑
S∈S∗ |S|
≤∑
S∈S∗cS|S||S|
=∑
S∈S∗ cS
= c(S∗)
= OPT(E , S, c) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 56 / 312
Cobertura por Conjuntos
Teorema: O algoritmo MINCC-CHVATAL e uma Hn-aproximacaopolinomial para o MINCC (E , S, c), onde n := |E | e
Hn := 1 + 12 + 1
3 + · · ·+ 1n .
Prova. Prova por inducao em |E |.Se |E | = 0, o teorema e claramente valido.Considere instancia (E , S, c), |E | > 0.
c(Z ∪ T ′) =
= cZ + c′(T ′)≤ |Z |
n OPT(E , S, c) + H|E ′|OPT(E ′, S′, c′)
≤ |Z |n OPT(E , S, c) + Hn−|Z |OPT(E , S, c)
=(1
n+
1n
+ · · ·+ 1n
+ Hn−|Z |
)OPT(E , S, c)
≤(1
n+
1n − 1
+ · · ·+ 1n − |Z |+ 1
+ Hn−|Z |
)OPT(E , S, c)
= Hn OPT(E , S, c) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 57 / 312
Cobertura por Conjuntos
Teorema: O fator de aproximacao do algoritmo MINCC-CHVATAL e justo.Prova.
E := 1, . . . ,n,S := E , 1, . . . , n,
c(E) := 1+ε ec(i) := 1/i para cada i .
Cobertura de custo mınimo e E.OPT(E , S, c) = 1+ε.
MINCC-CHVATAL produz conjunto 1, . . . , n.MINCC-CHVATAL(E , S, c) = Hn.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 58 / 312
Cobertura por Conjuntos
ExercıcioMostre que o fator de aproximacao do algoritmo que escolhe (eremove) a cada iteracao o vertice de maior grau, e uma O(log n)aproximacao para o problema da cobertura por vertices.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 59 / 312
Esquemas de Aproximacao
Esquemas de AproximacaoDef.: Esquema de aproximacao de tempo polinomial (PTAS):famılia de algoritmos Aε, ε > 0, para um problema tal que Aε e uma
(1 + ε)-aproximacao para um problema de minimizacao,(1− ε)-aproximacao para um problema de maximizacao.
Exemplo de complexidades de tempo: O(n1ε ), O(n25
1ε ) e O(1
εn3).
Def.: Esquema de aproximacao de tempo polinomial completo (FPTAS):PTAS Aε tal que Aε tem tempo polinomial em 1
ε .
Exemplo de complexidades de tempo: O(1εn
2) e O( 1ε2
n5).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 60 / 312
FPTAS para o Problema da Mochila
Problema da MochilaProblema MOCHILA: Dados itens S = 1, . . . ,n com valor vi etamanho si inteiros, i = 1, . . . ,n, e inteiro B, encontrar S′ ⊆ S quemaximiza
∑i∈S′ vi tal que
∑i∈S′ si ≤ B.
Estrategia:Mudar escala dos valores e aplicar algoritmo exato.
Def.: Seja A(i , v) ≡ comprimento total mınimo de subconjunto de1, . . . , i com valor exatamente v (∞ se nao existir tal conjunto).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 61 / 312
FPTAS para o Problema da Mochila
V
V ′ = bnεc
vi
v ′i
Mudanca de escala e arredondamentoPerda em valor de cada item: V
n/ε .
No pior caso: n Vn/ε = εV ≤ εOPT
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 62 / 312
FPTAS para o Problema da Mochila
ALGORITMO MOCHILA-EXATO(B,n, s, v)1 V ← maxi vi2 para i ← 0 ate n faca A(i ,0)← 03 para w ← 1 ate nV faca A(0,w)←∞4 para i ← 1 ate n faca5 para w ← 1 ate nV faca6 se vi ≤ w entao7 A(i ,w)← min(A(i − 1,w), si + A(i − 1,w − vi))8 senao9 A(i ,w)← A(i − 1,w)
Complexidade de Tempo: O(n2 · V ).
Solucao na posicao (n,w): w = maxw ′ : A(n,w ′) ≤ B.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 63 / 312
FPTAS para o Problema da Mochila
Itens∖
Val. 0 1 2 . . . w−vi . . . w . . . nV
∅ 0 ∞ ∞ . . . ∞ . . . ∞ . . . ∞1. . .1 0 . . . . . . . . .
1. . .2 0 . . . . . . . . ....
... . . . . . . . . .
1. . .i−1 0 . . . A(i−1,w−vi) . . . A(i−1,w) . . .
1. . .i 0 . . . A(i ,w) . . ....
... . . . . . . . . .
1. . .n 0 . . . . . . . . .
A(i ,w) =
min((A(i−1,w) , si +A(i − 1,w−vi)) se vi ≤ wA(i − 1,w) C. c.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 64 / 312
FPTAS para o Problema da Mochila
ALGORITMO MOCHILA-IKε(B,n, s, v)1 V ← maxi vi2 K ← εV
n3 v ′i ←
⌊ viK
⌋∀i % I.e., v ′i =
⌊nε
viV
⌋4 Execute Mochila-Exato(B,n, s, v ′)
Teorema: Mochila-IKε e um FPTAS.Prova. Seja
S a solucao encontrada por Mochila-IKε,O∗ uma solucao otima de I eOPT o valor de uma solucao otima.
Kv ′i ≤ vi ≤ K (v ′i + 1)
vi ≤ K (v ′i + 1) =⇒ Kv ′i ≥ vi − K
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 65 / 312
FPTAS para o Problema da Mochila
Portanto, ∑i∈S
vi ≥∑i∈S
K · v ′i
≥∑i∈O∗
K · v ′i
≥∑i∈O∗
(vi − K ) =∑i∈O∗
vi − |O∗|K
≥∑i∈O∗
vi − nK =∑i∈O∗
vi − εV
≥ OPT− ε · OPT = (1− ε) · OPT.
Complexidade de Tempo: O(n2V ′)=O(n2⌊
VK
⌋)=O(n3 1
ε ).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 66 / 312
Caixeiro Viajante
Caixeiro Viajante
Problema TSP: Dados um grafo G e um custo ce em Q≥ para cadaaresta e, determinar um circuito hamiltoniano C que minimize c(C).
B
C
A
D9
3
9
5
10
6
Grafo G
B
C
A
D9
3
9
5
10
6
Circuito Hamiltoniano de G de custo 27
Aplicacoes:• Perfuracao e solda de circuitos impressos.• Determinacao de rotas de custo mınimo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 67 / 312
Caixeiro Viajante
Resultados NegativosTeorema: Dado um grafo G, o problema de decidir se G tem um circuitohamiltoniano e NP-completo.
Teorema: Nao existe uma α-aproximacao para o TSP, para qualquer valor α,computavel polinomialmente, a menos que P=NPProva. Suponha existir α-aproximacao para o TSP.
Dado G = (V ,E) seja G′ = (V ′,E ′, c′) tal que• V ′ = V• E ′ = V × V
• c′(e) =
1 se e ∈ E ,α|V | caso contrario
Se G tem circuito hamiltoniano, OPT(G′) = |V |
caso contrario, OPT(G′) > α|V |.
=⇒ Decidimos existencia de circuito hamiltoniano em G.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 68 / 312
Caixeiro Viajante
Caixeiro Viajante Metrico
Def.: Os custos de um grafo satisfazem desigualdade triangular se
c(i , j) ≤ c(i , k) + c(k , j), ∀i , j , k ∈ V
i j
k
c(i,j)
c(i,k) c(k,j)
Problema TSP-Metrico: Dados um grafo G com desigualdadetriangular e um custo ce em Q≥ para cada aresta e, determinar umcircuito hamiltoniano C que minimize c(C).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 69 / 312
Caixeiro Viajante
Estrategia:Encontrar ciclo gerador e fazer “shortcuts” (atalhos).
ALGORITMO ATALHO(P),Trilha fechada P = (v0, . . . , vm)1 w0 ← v0
2 n← 03 para i de 1 a m faca4 se vi /∈ w0, . . . ,wn5 entao n← n + 16 wn ← vi
7 retorne w0, . . . ,wnv
v
v3
v41
2
v
v
v3
v41
2
0v
v5
v5
0v
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 70 / 312
Caixeiro Viajante
Teorema: Uma arvore geradora de custo mınimo pode ser encontradaem tempo polinomial.Teorema: G tem ciclo euleriano⇔ G e conexo e grau(v)=par, ∀v ∈ V.
Teorema: Encontrar um ciclo euleriano pode ser feito em tempo polinomial.
TSPM-ROSENKRANTZ-STEARNS-LEWIS (G, c)
1 T ← MINIMUM-SPANNING-TREE (G, c)
2 T ′ ← T u ET
3 P ← CICLO-EULERIANO (T ′)4 C ← ATALHO (P)
5 devolva C
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 71 / 312
Caixeiro Viajante
91 2
4
8
67
3
5
10
0
Ciclo Euleriano
T T+ET
0
1 2
3
54
Atalho
Teorema: TSPM-Rosenkrantz-Stearns-Lewis e uma 2-aproximacao.Prova.
c(T ) ≤ OPT(G) =⇒ c(T + ET ) ≤ 2OPT(G).Atalhos nao pioram o custo da solucao.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 72 / 312
Caixeiro Viajante
Algoritmo de ChristofidesEstrategia:Aumentar a arvore apenas o suficiente para encontrar ciclo euleriano.
Teorema: O problema de encontrar um emparelhamento perfeito depeso mınimo pode ser resolvido em tempo polinomial.
TSPM-CHRISTOFIDES (G, c)
1 T ← MINIMUM-SPANNING-TREE (G, c)
2 seja I o conjunto dos vertices de grau ımpar de T3 M ← EMPARELHAMENTO-PERFEITO-M INIMO (G[I], c)
4 T ′ ← T u M5 P ← CICLO-EULERIANO (T ′)6 C ← ATALHO (P)
7 devolva C
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 73 / 312
Caixeiro Viajante
AtalhoCiclo Euleriano
T T+M
6
0 1
2
4
5
78
9
100 1
2
33
4
5
67
Teorema: TSPM-Christofides e uma 32 -aproximacao.
Prova. Um circuito em I define dois emparelhamentos alternantes emI.Assim, c(M) ≤ 1
2OPT(G).Portanto c(C) ≤ c(T ) + c(M) ≤ OPT(G) + 1
2OPT(G) = 32OPT(G).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 74 / 312
Programacao Linear e Inteira
Programacao Linear e Inteira
Problema PL: Dados matriz A = (aij) ∈ Qm×n, vetores c = (ci) ∈ Qn eb = (bi) ∈ Qm, encontrar vetor x = (xi) ∈ Qn (se existir) que
minimize c1x1 + c2x2 + · · ·+ cnxn
sujeito a
a11x1 + a12x2 + · · ·+ a1nxn ≤ b1a21x1 + a22x2 + · · ·+ a2nxn ≥ b2
......
...am1x1 + am2x2 + · · ·+ amnxn = bmxi ∈ Q
Teorema: PL pode ser resolvido em tempo polinomial.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 75 / 312
Programacao Linear e Inteira
Problema PLI: Dados matriz A = (aij) ∈ Qm×n, vetores c = (ci) ∈ Qn
e b = (bi) ∈ Qm, encontrar vetor x = (xi) ∈ Zn (se existir) que
minimize c1x1 + c2x2 + · · ·+ cnxn
sujeito a
a11x1 + a12x2 + · · ·+ a1nxn ≤ b1a21x1 + a22x2 + · · ·+ a2nxn ≥ b2
......
...am1x1 + am2x2 + · · ·+ amnxn = bmxi ∈ Z
Teorema: PLI e um problema NP-difıcil.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 76 / 312
Programacao Linear e Inteira
Def.: Chamamos o conjunto de pontos P,
P :=
x ∈ Qn :
a11x1 + a12x2 + · · ·+ a1nxn ≤ b1...
......
am1x1 + am2x2 + · · ·+ amnxn ≥ bm
como sendo um poliedro.Def.: Se yi ∈ P e αi ∈ Q, i = 1, . . . ,n dizemos quey = α1y1 + α2y2 + · · ·+ αnyn e uma combinacao convexa dos pontos y ′i s seαi ≥ 0 e α1 + · · ·+ αn = 1Def.: Os vertices de P sao os pontos de P que nao podem ser escritos comocombinacao convexa de outros pontos de P
v2
v5
v1
v3
v4
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 77 / 312
Programacao Linear e Inteira
Teorema: Uma solucao que e vertice do PL pode ser encontrada emtempo polinomial.
Algoritmos polinomiais para resolver PL:I Algoritmo dos elipsoides eI Metodo dos pontos interiores.
Algoritmos exponenciais para resolver PL:I Metodo simplex (tempo medio polinomial).
Formulacao atraves de Variaveis BinariasConsidere um evento e e variaveis xe formuladas como:
xe =
1 se evento e ocorre,0 se evento e nao ocorre.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 78 / 312
Programacao Linear e Inteira
Emparelhamento em Grafos Bipartidos
Def.: Dado um grafo G = (V ,E), dizemos que M ⊆ E e umemparelhamento de G se M nao tem arestas com extremos em comum.
Problema EMPARELHAMENTO-BIPARTIDO: Dados um grafo bipartidoG = (V ,E), e custos nas arestas c : E → Z, encontraremparelhamento M ⊆ E que maximize c(M).Aplicacao: Encontrar atribuicao de candidatos para vagasmaximizando aptidao total.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 79 / 312
Programacao Linear e Inteira
Formulacao para Emparelhamento em Grafos BipartidosFormulacao em Programacao Inteira
maximize∑e∈E
cexe
sujeito a
∑
e∈δ(v)
xe ≤ 1 ∀v ∈ V
xe ∈ 0,1 ∀e ∈ E
Relaxacao Linear
maximize∑e∈E
cexe
sujeito a
∑
e∈δ(v)
xe ≤ 1 ∀e ∈ E
0 ≤ xe ≤ 1 ∀e ∈ E
Teorema: Os vertices do poliedro relaxado do emparelhamentobipartido sao inteiros.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 80 / 312
Programacao Linear e Inteira
Exemplo:
Considere o seguinte grafo bipartido com custos unitarios:
e1
e2e4
e3
Programa Linearmaximize xe1 + xe2 + xe3 + xe4
sujeito a
xe1 + xe2 ≤ 1,xe3 + xe4 ≤ 1,xe1 + xe3 ≤ 1,xe2 + xe4 ≤ 1,0 ≤ xe1 ≤ 1,0 ≤ xe2 ≤ 1,0 ≤ xe3 ≤ 1,0 ≤ xe4 ≤ 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 81 / 312
Programacao Linear e Inteira
Temos 4 variaveis binarias no programa linearcorrespondente:
X = (xe1 , xe2 , xe3 , xe4)Os seguintes vetores sao solucoes otimas do programa linear:
X ′ = (1,0,0,1) X ′′ = (0,1,1,0) X ′′′ = (12,12,12,12
)
X’’X’ X’’’
I X ′ e X ′′ sao vertices do poliedro do emparelhamentoI X ′′′ e solucao otima, mas e combinacao convexa de X ′ e X ′′
(X ′′′ = 12X ′ + 1
2X ′′).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 82 / 312
Programacao Linear e Inteira
Fluxo Maximo e Corte MınimoDef.: Dado um grafo orientado G = (V ,E), capacidades c : E → Q+ evertices s e t , um fluxo de s para t e um vetor f ∈ QE , tal que∑
u
f (u, v)−∑
w
f (v ,w) = 0 ∀v ∈ V − s, t,
0 ≤ f (e) ≤ c(e) ∀e ∈ E ,
O valor do fluxo f e o valor∑
v f (s, v)Problema FLUXO-MAXIMO: Dado grafo orientado G = (V ,E),capacidades c : E → Q+ e vertices s e t , encontrar um fluxo de valormaximo de s para t .Teorema: Se as capacidades ce sao inteiras, entao os vertices dopoliedro do fluxo sao inteiros.Def.: Dado S ⊆ V , s ∈ S e t /∈ S, a capacidade do corte (S,S) e igual a∑
(u,v)∈(S,S) c(v ,w).Teorema: (Menger) Se ce = 1, ∀e, entao numero maximo de caminhosaresta disjuntos e igual ao numero mınimo de arestas necessarias paradesconectar s e t .Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 83 / 312
Programacao Linear e Inteira
Teorema: O valor do fluxo maximo de s para t e igual a capacidadedo menor corte separando s e t.
3
6
5
1
1
42
3
11
61
3
6
5
1
1
42
3
11
61
s t
G(V,E,c)
s t
Corte de capacidade 51
1
21
12
2
1
0
1
1
4
s t
fluxo de valor 5
Corolario: O numero maximo de caminhos aresta disjuntos de s a t eigual ao numero mınimo de arestas a serem removidas paradesconectar s e t.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 84 / 312
Programacao Linear e Inteira
Problema da MochilaProblema MOCHILA: Dados itens S = 1, . . . ,n com valor vi etamanho si inteiros, i = 1, . . . ,n, e inteiro B, encontrar S′ ⊆ S quemaximiza
∑i∈S′ vi tal que
∑i∈S′ si ≤ B.
maximize∑i∈[n]
vixi
sujeito a
∑i∈[n]
sixi ≤ B
xi ∈ 0,1 ∀i ∈ [n]
onde [n] = 1, . . . ,n.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 85 / 312
Programacao Linear e Inteira
Coberturas, Empacotamentos e Particoes
Seja E um conjunto e C uma colecao de subconjuntos de E .
Seja Ce := C ∈ C : e ∈ C e S ⊆ C tal que xC = 1⇔ C ∈ S.
• S e uma cobertura se∑C∈Ce
xC ≥ 1 ∀e ∈ E ,
• S e um empacotamento se∑C∈Ce
xC ≤ 1 ∀e ∈ E ,
• S e uma particao se ∑C∈Ce
xC = 1 ∀e ∈ E .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 86 / 312
Programacao Linear e Inteira
Problema da Cobertura por ConjuntosProblema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c(S), S ∈ S, encontrar cobertura S′ ⊆ S
que minimiza c(S′).minimize
∑S∈S
cSxS
sujeito a
∑S∈Se
xS ≥ 1 ∀e ∈ E
xS ∈ 0,1 ∀S ∈ S
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 87 / 312
Programacao Linear e Inteira
Problema da Localizacao de FacilidadesProblema LOCALIZACAO DE FACILIDADES: Dados potenciaisfacilidades F = 1, . . . ,n, clientes C = 1, . . . ,m, custos fi para“abrir” a facilidade i e custos cij ∈ Z para um cliente j ser atendido pelafacilidade i . Encontrar facilidades A ⊆ F minimizando custo para abriras facilidades em A e atender todos os clientesAplicacao: Instalar postos de distribuicao de mercadorias.
minimize∑i∈F
fiyi +∑ij∈E
cijxij
sujeito a
∑ij∈E
xij = 1 ∀j ∈ C,
xij ≤ yi ∀ij ∈ E ,yi ∈ 0,1 ∀i ∈ Fxij ∈ 0,1 ∀i ∈ F e j ∈ C.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 88 / 312
Programacao Linear e Inteira
Otimizacao × SeparacaoDef.: Problema da Separacao: Seja P ⊆ Rn um conjunto convexo ey ∈ Rn, determinar se y ∈ P, caso contrario, encontrar desigualdade ax ≤ btal que P ⊆ x : ax ≤ b e ay > b.
y
ax bP
Teorema: O problema de otimizacao de um programa linear pode serresolvido em tempo polinomial se e somente se o problema daseparacao para o poliedro do programa linear pode ser resolvido emtempo polinomial.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 89 / 312
Programacao Linear e Inteira
ALGORITMO PLANOS DE CORTE(P, c)P poliedro (nao necessariamente explıcito),c funcao objetivo
1 Q ← Poliedro inicial2 y ←OPT-LP(Q, c)
3 enquanto y pode ser separado de Q faca4 seja ax ≤ b desigualdade de P que separa y5 Q ← Q ∩ x : ax ≤ b6 y ←OPT-LP(Q, c)
7 se Q = ∅ retorne ∅8 senao retorne y .
y0
P
objetivofunção
Q
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 90 / 312
Programacao Linear e Inteira
y1
Q
y2
P
y1
Q
P
y1
y2
Q
y3
P
y1
y2
Q
y3
y4
objetivofunção
P
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 91 / 312
Programacao Linear e Inteira
Problema do EmparelhamentoDef.: Dado um grafo G = (V ,E), dizemos que M ⊆ E e umemparelhamento de G se M nao tem arestas com extremos em comum.
maximize∑e∈E
cexe
sujeito a
∑e∈δ(v)
xe ≤ 1 ∀v ∈ V ,
∑e∈E [S]
xe ≤ |S| − 12
∀S ⊆ V , |S| ımpar,
xe ∈ 0,1 ∀e ∈ E .
,
onde E [S] := e ∈ E : e tem ambos extremos em S.Teorema: Os vertices do poliedro relaxado do emparelhamento saointeiros (Edmonds’65).Teorema: O problema da separacao do poliedro relaxado doemparelhamento pode ser resolvido em tempo polinomial (Padberg &Rao’82).Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 92 / 312
Programacao Linear e Inteira
Problema do Caixeiro ViajanteProblema TSP: Dados um grafo G = (V ,E) e um custo ce em Q≥para cada aresta e, determinar um circuito hamiltoniano C queminimize c(C).
minimize∑e∈E
cexe
sujeito a
∑e∈δ(v)
xe = 2 ∀v ∈ V∑e∈δ(S)
xe ≥ 2 ∀S ⊂ V , S 6= ∅
(restricoes de subcircuito)xe ∈ 0,1 ∀e ∈ E
onde E [S] := e ∈ E : e tem ambos extremos em S.Teorema: O problema da separacao relativo as restricoes desubcircuito pode ser resolvido em tempo polinomial.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 93 / 312
Programacao Linear e Inteira
Problema da Floresta de Steiner
Seja G um grafo e R uma colecao de subconjuntos de VG.Def.: Uma R-floresta de G e qualquer floresta geradora F de G talque para todo R ∈ R, os elementos de R estao contidos em algumcomponente de F.
Problema Floresta de Steiner: Dados um grafo G, um custo ce emQ≥ para cada aresta e e uma colecao R de subconjuntos de VG,encontrar uma R-floresta F que minimize c(F ).Aplicacoes:
I Roteamento em circuitos VLSI.I Projeto de redes de conectividade.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 94 / 312
Programacao Linear e Inteira
Formulacao:
minimize∑e∈E
cexe
sujeito a
∑
e∈δ(S)
xe ≥ 1 ∀S ⊂ V : ∃R ∈ R, ∅ 6= S ∩ R 6= R
(desigualdades de corte)xe ∈ 0,1 ∀e ∈ E
Teorema: O problema da separacao relativo as desigualdades decorte pode ser resolvido em tempo polinomial.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 95 / 312
Metodo Primal
Metodo Primal: ArredondamentoArredondamento da Solucao Primal
Problema COBERTURA POR VERTICES: Dados grafo G = (V ,E) ecustos c : V → Q≥, encontrar S ⊆ V tal que u, v ∩ S 6= ∅∀u, v ∈ E e c(S) e mınimo.
(P)minimize c xsujeito a xi + xj ≥ 1 para cada ij em E ,
xi ≥ 0 para cada i em V .
MINCV-NT (G = (V ,E), c)
1 seja x uma solucao otima racional de (P)
2 S ← v ∈ V : xv ≥ 1/23 devolva S
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 96 / 312
Metodo Primal
Teorema: MINCV-NT e uma 2-aproximacao (Nemhauser,Trotter’75;Hochbaum’83).Prova. MINCV-NT produz uma cobertura de vertices:(S := v ∈ V : xv ≥ 1/2 e xi + xj ≥ 1 ∀ij ∈ E) =⇒ S e cobertura.
c(S) =∑i∈S
ci
≤∑i∈S
ci2 xi
= 2∑i∈S
ci xi
≤ 2∑i∈V
ci xi
= 2 c x≤ 2 OPT
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 97 / 312
Metodo Primal
Generalizacao para Cobertura por ConjuntosProblema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c(S) ∈ Q≥, S ∈ S, encontrar coberturaS′ ⊆ S que minimiza
∑S∈S′ c(S).
(P)
minimize c x
sob as restricoes∑S∈Se
xS ≥ 1 para cada e em E ,
xS ≥ 0 para cada S em S .
onde Se = S ∈ S : e ∈ S
MINCC-HOCHBAUM (E , S, c)
1 seja x uma solucao otima racional de (P)
2 para cada e em E faca fe ← |S ∈ S : e ∈ S|3 β ← maxe∈E fe4 T ← S ∈ S : xS ≥ 1/β5 devolva TFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 98 / 312
Metodo Primal
Teorema: O algoritmo MINCC-HOCHBAUM e uma β-aproximacaopolinomial para o MINCC (E , S, c), onde β e o numero maximo devezes que um elemento de E aparece em conjuntos de S.Prova. O custo da cobertura T produzida pelo algoritmo e
c(T ) =∑S∈T
cS
≤∑S∈T
cSβ xS
= β∑S∈T
cS xS
≤ β c x≤ β OPT(E , S, c) ,
onde a primeira desigualdade vale pois β xS ≥ 1 para todo S em T .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 99 / 312
Fator de aproximacao assintotico
Fator de Aproximacao AssintoticoAdequado quando o limiar de aproximacao e atingido apenaspara instancias “pequenas” do problemaDado um algoritmo A para um problema de minimizacao e instancia I,
I OPT(I) e o tamanho da solucao otimaI A(I) e o tamanho da solucao gerada pelo algoritmo AI A tem um fator de aproximacao assintotico α se
R∞A := inf
r ≥ 1 : ∃N > 0,
A(I)OPT(I)
≤ r ,OPT(I) > N≤ α
Definicao analoga pode ser feita para problemas de maximizacao.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 100 / 312
APTAS para Problema do Empacotamento
Notacao: Dados conjunto B ⊆ 1, . . . ,n e uma funcao qualquers : N→ R, denotamos por s(B) o valor
∑i∈B
si .
Problema EMPACOTAMENTO (n, c) Dados inteiro positivo n e, paracada i em 1, . . . ,n, um numero racional si no intervalo [0,1],encontrar uma particao B de 1, . . . ,n tal que s(B) ≤ 1 para todo Bem B e |B| seja mınimo.
Teorema: Nao existe α-aproximacao para o problemaEMPACOTAMENTO com α < 3/2, a menos que P = NP.Prova. Exercıcio. Dica: O problema de decisao da Particao eNP-completo.
Fato: Dado instancia L para o problema do EMPACOTAMENTO,
s(L) ≤ OPT(L)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 101 / 312
APTAS para Problema do Empacotamento
Teorema: (Fernandez de la Vega e Lucker’81) Existe algoritmopolinomial Aε, ε > 0, para o problema do EMPACOTAMENTO tal que
Aε(L) ≤ (1 + ε)OPT(L) + 1,para toda instancia L.
Vamos provar o seguinte resultado:
Teorema: (Fernandez de la Vega e Lucker’81) Existe algoritmo linearAε, ε > 0, para o problema do EMPACOTAMENTO tal que
Aε(L) ≤ (1 + ε)OPT(L) + βε,para toda instancia L, onde βε so depende de ε.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 102 / 312
APTAS para Problema do Empacotamento
NF (n, c)
1 k ← 12 Bk ← ∅3 para i de 1 a n faca4 se si ≤ 1− s(Bk )
5 entao Bk ← Bk ∪ i6 senao k ← k + 17 Bk ← i8 devolva B1, . . . ,Bk
Teorema: NF e uma 2-aproximacao polinomial para EMPACOTAMENTO.Prova. Exercıcio.
Lema: Se B = B1, . . . ,Bk e um empacotamento de L tal ques(Bi) ≥ 1− ε
2 , para i = 1, . . . , k − 1 e ε ∈ (0,1) entaok ≤ (1 + ε) · OPT(L) + 1
Prova. Exercıcio.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 103 / 312
APTAS para Problema do Empacotamento
Restringindo itens no tamanho e nos tipos
L tem no maximo k tipos diferentes de items cada um com tamanhopelo menos ε onde k e ε sao constantes.
0
2
1
0
3i1
i2
i3
i4
5ii1 i1i1 i4 i4i3
P
Representacao de um padrao em um vetor
k tipos diferentes em L cada item com tamanho pelo menos ε⇓
numero de padroes diferentes e constante.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 104 / 312
APTAS para Problema do Empacotamento
Algoritmo RSTk ,ε(L)
1. Produza todos os padroes P1,P2, . . . ,Pw possıveis de seempacotar items de L em um bin unitario.
2. Seja x∗ uma solucao otima do seguinte LP com no maximo kvariaveis nao nulas:
minimize∑
xis.a. P1 ·x1+P2 ·x2+· · ·+Pw ·xw = M,
xi ∈ Q∗
onde M e o vetor de multiplicidade dos itens de L.
3. Obtenha um empacotamento P da lista L arredondando paracima as variaveis x∗
4. Retorne P
Observacao: Na pratica, passo 2 pode ser feito pelo metodo deGeracao de Colunas de maneira muito rapida.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 105 / 312
APTAS para Problema do Empacotamento
Lema: RSTk ,ε(L) ≤ OPT(L) + kProva. Como ha no maximo k tipos diferentes em L, o LP
minimizew∑
i=1
xi
s.a. P1 ·x1+P2 ·x2+· · ·+Pw ·xw = M,
xi ∈ Q∗
tem k linhas e portanto existe uma solucao que e um ponto extremalcom no maximo k variaveis nao nulas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 106 / 312
APTAS para Problema do Empacotamento
Restringindo itens no tamanho
L tem items com tamanho pelo menos ε.
Ideia: Linear RoundingAgrupar os itens por tamanho em k sublistas e arredondar os itens decada sublista por cima.
Def.: Temos AB (BA) se ∃ funcao injetoraf :A→ B tal que s(i) ≤ s(f (i)).
Fato: Se AB entao OPT(A)≤OPT(B)
Def.: Seja A a lista com os itens da lista A arredondados para o maioritem da lista A.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 107 / 312
APTAS para Problema do Empacotamento
Linear Rounding: Suponha todos itens em L sao grandes (si > ε)Particione a lista em grupos de mesmo tamanho earredonde os itens de cada grupo, exceto os do maior grupo
L
ListaOriginal
RoundingLR
Linear
G0 G1 G2 Gk. . .
. . .G0 GkG2G1
εOPT
Ideia: OPT(LR) ≤ (1 + ε)OPT(L)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 108 / 312
APTAS para Problema do Empacotamento
Seja L ordenado de maneira nao crescente e L = (G0‖G1‖ . . . ‖Gk )onde k e Gi sao tais que |Gi |=q, i =0,. . ., k−1 e |Gk |≤q.
Fato: Gi Gi−1.
Fato: OPT(G1‖G2‖ . . . ‖Gk ) ≤ OPT(L)Prova. Note que
(G1‖G2‖ . . . ‖Gk ) (G0‖G1‖ . . . ‖Gk−1)
(G0‖G1‖ . . . ‖Gk−1‖Gk )
= L
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 109 / 312
APTAS para Problema do Empacotamento
Algoritmo RSε(L)1. Ordene L em ordem nao crescente de tamanho.
2. Dado q = dn · ε2e, particione L em grupos L = (G0‖G1‖ . . . ‖Gk )onde k e Gi sao tais que
|Gi |=q, i =0,. . ., k−1 e |Gk |≤q
3. Seja J ← (G1‖G2‖ . . . ‖Gk ).
4. P1..k ← RSTk ,ε(J)
5. P0 ← NF(G0)
6. Retorne P0‖P1..k
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 110 / 312
APTAS para Problema do Empacotamento
Lema: RSε(L) ≤ (1 + ε) · OPT(L) + βεProva. Como J L
RSTk ,ε(J) ≤ OPT(J) + kε≤ OPT(L) + kε
NF(G0) ≤ q = dn · ε2e≤ n · ε2 + 1≤ ε · s(L) + 1≤ ε · OPT(L) + 1
Portanto
RS(L) = RSTk ,ε(J)+NF(G0)
≤ (OPT(L)+kε)+ (ε · OPT(L)+1)
= (1+ε) · OPT(L)+βε
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 111 / 312
APTAS para Problema do Empacotamento
Algoritmo Aε(L)
1. Divida a lista L em L′ e L′′:L′ := i ∈ L : s(i) > ε/2 e L′′ := L \ L′.
2. P ′1 ←RSε/2(L′)
3. Empacote os itens de L′′ usando a estrategia NF testando nosbins gerados em P ′1 (se necessario use bins novos).
4. Retorne o empacotamento gerado no passo anterior.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 112 / 312
APTAS para Problema do Empacotamento
Teorema: Aε(L)≤ (1 + ε)OPT(L)+βεProva. Seja B1, . . . ,Bk os bins gerados por Aε. Temos dois casos:
Caso 1: NF gerou novos bins ao empacotar L′′.Entao
s(Bi) ≥ (1− ε/2), para todo i = 1, . . . , k − 1.
Portanto Aε(L) ≤ (1 + ε)OPT + 1.
Caso 2: NF nao gerou novos bins ao empacotar L′′.Logo
Aε(L) = RS(L′) ≤ (1 + ε)OPT + βε
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 113 / 312
Introducao a Dualidade em Programacao Linear
Dualidade em Programacao LinearConsidere o seguinte PL:
minimize c1x1 + c2x2 + c3x3
sujeito a
a11x1 + a12x2 + a13x3 ≥ b1
a21x1 + a22x2 + a23x3 = b2
a31x1 + a32x2 + a33x3 ≤ b3
x1 ≥ 0, x3 ≤ 0
Vamos delimitar o valor otimo do LP:Multiplique as restricoes por y1 ≥ 0, y2 e y3 ≤ 0:
y1(a11x1 + a12x2 + a13x3) ≥ y1b1
y2(a21x1 + a22x2 + a23x3) = y2b2
y3(a31x1 + a32x2 + a33x3) ≥ y3b3
Somando estas inequacoes obtemos:
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 114 / 312
Introducao a Dualidade em Programacao Linear
y1(a11x1 + a12x2 + a13x3) ≥ y1b1y2(a21x1 + a22x2 + a23x3) = y2b2y3(a31x1 + a32x2 + a33x3) ≥ y3b3
(y1a11 + y2a21 + y3a31)x1 +(y1a12 + y2a22 + y3a32)x2 +(y1a13 + y2a23 + y3a33)x3 ≥ (y1b1 + y2b2 + y3b3) = yb
Comparando com a funcao objetivo cx = c1x1 + c2x2 + c3x3, se
c1x1 ≥ (y1a11 + y2a21 + y3a31)x1
c2x2 = (y1a12 + y2a22 + y3a32)x2
c3x3 ≥ (y1a13 + y2a23 + y3a33)x3
Nestas condicoes, temos cx ≥ yb e portanto yb e limitante de cx
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 115 / 312
Introducao a Dualidade em Programacao Linear
Como x1 ≥ 0 e x3 ≤ 0, podemos simplificar as condicoes para tercx ≥ yb como:
c1 ≥ y1a11 + y2a21 + y3a31
c2 = y1a12 + y2a22 + y3a32
c3 ≤ y1a13 + y2a23 + y3a33
Naturalmente, queremos dentre todos os valores de y , o que melhordelimita cx ≥ yb, i.e., com yb maximo. Assim, obtemos o seguinteproblema dual:
maximize y1b1 + y2b2 + y3b3
sujeito a
y1a11 + y2a21 + y3a31 ≤ c1y1a12 + y2a22 + y3a32 = c2y1a13 + y2a23 + y3a33 ≥ c3y1 ≥ 0, y3 ≤ 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 116 / 312
Introducao a Dualidade em Programacao Linear
Convencao para nomear estes sistemas:Problema Primal
minimize c1x1 + c2x2 + c3x3
sujeito a
a11x1 + a12x2 + a13x3 ≥ b1a21x1 + a22x2 + a23x3 = b2a31x1 + a32x2 + a33x3 ≤ b3x1 ≥ 0, x3 ≤ 0
Problema Dual
maximize y1b1 + y2b2 + y3b3
sujeito a
y1a11 + y2a21 + y3a31 ≤ c1y1a12 + y2a22 + y3a32 = c2y1a13 + y2a23 + y3a33 ≥ c3y1 ≥ 0, y3 ≤ 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 117 / 312
Introducao a Dualidade em Programacao Linear
ExercıcioFaca exatamente a mesma analise feita anteriormente para se obterum dual (como limitante de um programa linear), mas em vez de partirde um problema de minimizacao, comece com um problema demaximizacao, e obtenha seu dual como um problema de minimizacao.
ExercıcioFaca o programa dual da formulacao relaxada dos seguintesproblemas:
I Problema da Cobertura de VerticesI Problema da Cobertura por ConjuntosI Problema de Localizacao de FacilidadesI Problema de Steiner
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 118 / 312
Introducao a Dualidade em Programacao Linear
Problemas Primal e DualProblema Primal
(P)
minimize c xsujeito a (Ax)i ≥ bi para cada i em M1 ,
(Ax)i = bi para cada i em M2 ,(Ax)i ≤ bi para cada i em M3 ,
xj ≥ 0 para cada j em N1 ,xj ≤ 0 para cada j em N3 .
Problema Dual
(D)
maximize y bsujeito a (yA)j ≤ cj para cada j em N1 ,
(yA)j = cj para cada j em N2 ,(yA)j ≥ cj para cada j em N3 ,
yi ≥ 0 para cada i em M1 ,yi ≤ 0 para cada i em M3 .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 119 / 312
Introducao a Dualidade em Programacao Linear
Lema: Seja (P) um programa primal de minimizacao e (D) seuproblema dual de maximizacao, entao cx ≥ yb para todo x ∈ P ey ∈ D.
Folgas ComplementaresDois vetores x e y , indexados por M e N respectivamente, temfolgas complementares se,
xj = 0 ou (yA)j = cj ∀j ∈ N1 ∪ N3 (folgas complementares primais)eyi = 0 ou (Ax)i = bi ∀i ∈ M1 ∪M3 (folgas complementares duais).
Lema: (das folgas complementares) Se (P) e um programa linear e(D) seu programa dual, x e y solucoes viaveis de (P) e (D) entao
(c x = y b) ⇔ (x e y satisfazem folgas complementares)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 120 / 312
Introducao a Dualidade em Programacao Linear
Teorema: (da dualidade) Se (P) e um programa linear deminimizacao e (D) seu programa dual (de maximizacao), entao valeexatamente uma das possibilidades:
1. (P) e (D) sao viaveis e OPT-LP(P)=OPT-LP(D).2. (P) e viavel e (D) e inviavel e OPT-LP(P) = −∞.3. (P) e inviavel e (D) e viavel e OPT-LP(D) =∞.4. (P) e (D) sao inviaveis.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 121 / 312
Introducao a Dualidade em Programacao Linear
Lema: (de Farkas) Exatamente um dos programas restritos temsolucao:
(RP)∃ x ∈ QN
(Ax)i ≥ bi ∀i ∈ M ,xi ≥ 0 ∀j ∈ N .
(RD)
∃ y ∈ QM
yb > 0(yA)j ≤ 0 ∀j ∈ N ,
yi ≥ 0 ∀i ∈ M .Prova.Considere o programa linear (P) e seu dual (D):
(P)min 0x
(Ax)i ≥ bi ∀i ∈ M ,xi ≥ 0 ∀j ∈ N .
(D)max yb
(yA)j ≤ 0 ∀j ∈ N ,yi ≥ 0 ∀i ∈ M .
Note que (P) e viavel se e so se (RP) e vıavel e o programa (D) esempre viavel pois y = 0 satisfaz as restricoes.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 122 / 312
Introducao a Dualidade em Programacao Linear
Como (D) e viavel, apenas as alternativas 1. ou 3. do Lema daDualidade podem ocorrer.
Caso 1: (P) e viavel e OPT-LP(P)=OPT-LP(D).
(P) viavel⇒ (RP) e viavel.(∀y ∈ (D), yb ≤ OPT-LP(D)= OPT-LP(P)=0
)⇒ (RD) e inviavel.
Caso 3: OPT-LP(D) =∞ e (P) e inviavel.
(P) inviavel⇒ (RP) e inviavel.(OPT-LP(D) =∞
)⇒(∃y ∈ (D) : yb > 0
)⇒ (RD) e viavel.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 123 / 312
Metodo Dual
Metodo Dual: Arredondamento
Arredondamento pela Solucao Dual
Se x e y sao solucoes otimas de (P) e (D), entao
xj > 0 =⇒ (yA)j = cj (folgas complementares primais)
Estrategia:
Resolver o programa dual e selecionar j onde (yA)j = cj .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 124 / 312
Metodo Dual
Problema COBERTURA POR VERTICES: Dados grafo G = (V ,E) ecustos c : V → Q≥, encontrar S ⊆ V tal que u, v ∩ S 6= ∅∀u, v ∈ E e c(S) e mınimo.
Formulacoes Primal e Dual
(P)min c x
xi + xj ≥ 1 ∀ij ∈ E ,xi ≥ 0 ∀i ∈ V .
(D)
max y(EG)∑e∈δ(v)
ye ≤ cv ∀v ∈ V ,
ye ≥ 0 ∀e ∈ E .
MINCV-HOCHBAUM (G, c)
1 seja y uma solucao otima de (D)
2 C ← v ∈ VG :∑
e∈δ(v)
ye = cv
3 devolva C
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 125 / 312
Metodo Dual
Exemplo:
e1 e2
1v v4
v32ve3
min xv1+xv2+xv3+xv4
xv1+xv2 ≥ 1(P) xv2 +xv4≥ 1
xv2+xv3 ≥ 1xv ≥ 0
max ye1+ye2+ye3
ye1 ≤ 1 (Dv1)ye1+ye2+ye3≤ 1 (Dv2)
(D) ye3≤ 1 (Dv3)ye2 ≤ 1 (Dv4)
ye ≥ 0Valor da solucao otima de (D) ⇒ y(E) = 1
y = (ye1 = 1, ye2 = 0, ye3 = 0)
Desigualdades de (D) justas: (Dv1) e (Dv2)
Solucao aproximada: v1, v2Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 126 / 312
Metodo Dual
Teorema: O algoritmo MINCV-HOCHBAUM produz uma cobertura porvertices.Prova. Se uv ∈ E entao (
∑e∈δ(u)
ye = cu ou∑
e∈δ(v)
ye = cv ) pois y e
otimo.
Teorema: O algoritmo MINCV-HOCHBAUM e uma 2-aproximacaopolinomial para o MINCV.Prova. Ao final do algoritmo, C e tal que
c(C) =∑v∈C
cv =∑v∈C
∑e∈δ(v)
ye
≤ 2∑
e∈EG
ye (∗)
≤ 2 OPT(G, c) .
(*) vale pois, ∀e ∈ E temos que ye aparece no maximo duas vezes nasoma.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 127 / 312
Metodo Dual
Metodo Dual: Selecao de Dual Maximal
Def.: Se y e uma solucao viavel para um programa dual, y e maximal
se nao existe solucao viavel y, com yi ≥ yi en∑
i=1
yi >
n∑i=1
yi .
Estrategia: Selecao atraves de Dual Maximal1. Encontre uma solucao dual viavel, maximal2. Selecione os objetos satisfeitos com igualdade no dual
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 128 / 312
Metodo Dual
Problema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c : S→ Q≥, encontrar cobertura S′ ⊆ S
que minimiza∑
S∈S′ c(S).
min∑S∈S
cSxS
(P)∑S∈Se
xS ≥ 1 ∀e ∈ E
xS ≥ 0 ∀S ∈ S,
onde Se := S ∈ S : e ∈ S
max∑e∈E
ye
(D)∑e∈S
ye ≤ cS ∀S ∈ S
ye ≥ 0 ∀e ∈ E
MINCC-HOCHBAUM (S,E , c)
1 seja y uma solucao viavel maximal de (D)
2 S′ ← S ∈ S :∑e∈S
ye = cS
3 devolva S′
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 129 / 312
Metodo Dual
Seja y um vetor maximal de (D) e S′ obtida de y pela algoritmoMINCC-HOCHBAUM.
Lema: S′ e uma cobertura por conjuntos.Prova. Se S′ nao e cobertura por conjuntos, entao existe e ∈ E naocoberto. Logo podemos “aumentar” ye ate que alguma desigualdadedual fique justa. Contrariando a maximalidade de y .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 130 / 312
Metodo Dual
Seja β := max|Se| : e ∈ E, onde Se = S ∈ S : e ∈ S.
Teorema: MINCC-HOCHBAUM e uma β-aproximacao para o problemada cobertura por conjuntos.Prova. Seja S′ o conjunto devolvido pelo algoritmo e y o vetor usadono passo 1 para gerar S′.
c(S′) =∑S∈S′
c(S) =∑S∈S′
∑e∈S
ye
≤∑e∈E
|Se|ye
≤∑e∈E
βye = β∑e∈E
ye
≤ β∑e∈E
ye = β OPT-LP
≤ β OPT
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 131 / 312
Introducao ao Metodo Primal-Dual
Metodo Primal-Dual
I Baseado em Folgas Complementares e Problemas de ViabilidadeI Muitas vezes produz algoritmos combinatorios
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 132 / 312
Introducao ao Metodo Primal-Dual
Metodo Primal-Dual Classico
(P)min c x
(Ax)i ≥ bi ∀i ∈ M ,xi ≥ 0 ∀j ∈ N .
(D)max yb
(yA)j ≤ cj ∀j ∈ N ,yi ≥ 0 ∀i ∈ M .
Folgas ComplementaresSe x e y sao solucoes otimas de (P) e (D), entao
xj = 0 ou (yA)j = cj (folgas complementares primais)yi = 0 ou (Ax)i = bi (folgas complementares duais)
Estrategia:Dado vetor y viavel de (D),
I obter x viavel de (P) satisfazendo folgas complementares com you
I obter y ′ tq. y ′′←y +y ′ e viavel em (D) e y ′′b>yb;repita processo com y ′′
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 133 / 312
Introducao ao Metodo Primal-Dual
Folgas ComplementaresSe x e y sao solucoes otimas de (P) e (D), entao
xj = 0 ou (yA)j = cj (folgas complementares primais)yi = 0 ou (Ax)i = bi (folgas complementares duais)
Dado vetor y viavel de (D),I(y) := i ∈ M : yi = 0 e J(y) := j ∈ N : (yA)j = cj .
(Viabil.) (Ax)i ≥ bi ∀i ∈ M ,xi ≥ 0 ∀j ∈ N .
+ (F.C.) (Ax)i = bi ∀i ∈ M \ I(y) ,xj = 0 ∀j ∈ N \ J(y) .
Problema Restrito Primal
(RP)
(Ax)i ≥ bi ∀i ∈ I(y) ,(Ax)i = bi ∀i ∈ M \ I(y) ,
xj ≥ 0 ∀j ∈ J(y) ,xj = 0 ∀j ∈ N \ J(y) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 134 / 312
Introducao ao Metodo Primal-Dual
Pelo Lema de Farkas, (RP) e viavel ou (RD) e viavel, nao ambos(exercıcio).
(RP)
(Ax)i ≥ bi ∀i ∈ I(y) ,(Ax)i = bi ∀i ∈ M \ I(y) ,
xj ≥ 0 ∀j ∈ J(y) ,xj = 0 ∀j ∈ N \ J(y) .
⊕ (RD)y ′b > 0
(y ′A)j ≤ 0 ∀j ∈ J(y) ,y ′i ≥ 0 ∀i ∈ I(y) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 135 / 312
Introducao ao Metodo Primal-Dual
I(y) := i ∈ M : yi = 0 e J(y) := j ∈ N : (yA)j = cj .
(D)max yb
(yA)j ≤ cj ∀j ∈ N ,yi ≥ 0 ∀i ∈ M .
(RD)y ′b > 0
(y ′A)j ≤ 0 ∀j ∈ J(y) ,y ′i ≥ 0 ∀i ∈ I(y) .
Lema: Se y e viavel para (D) e y ′ e viavel para (RD), entao, existeθ > 0 tal que y ′′ ← y + θ y ′ e tambem e viavel para (D).
Prova. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 136 / 312
Introducao ao Metodo Primal-Dual
Metodo PRIMAL-DUAL (A,b, c)
1 seja y um vetor viavel de (D)2 enquanto RP(A,b, y) nao tem solucao faca3 seja y ′ uma solucao do RD(A,b, y)4 se y + θy ′ em (D) para todo θ positivo5 entao devolva y ′
6 senao seja θ maximo tal que y + θy ′ e viavel em (D)7 y ← y + θy ′
8 seja x uma solucao do RP(A,b, y)9 devolva x e y
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 137 / 312
Introducao ao Metodo Primal-Dual
Problema do Fluxo Maximo
Problema FLUXO-MAXIMO: Dado um grafo orientado G = (N,A),capacidades c : A→ N e vertices s e t , encontrar um fluxo de valormaximo de s para t .
Simplificacao: adicionar aresta (t , s) sem restricao de capacidade.
s t
Objetivo: Encontrar fluxo que respeita conservacao de fluxo em todosos vertices e maximiza fluxo na aresta (t , s).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 138 / 312
Introducao ao Metodo Primal-Dual
Por conveniencia, vamos chamar a formulacao do fluxo de Dual.
(D)
max yts∑e∈δ+(i)
ye −∑
e∈δ−(i)
ye = 0 ∀i ∈ N,
yij ≤ cij ∀ij ∈ A,yij ≥ 0 ∀ij ∈ A.
Primal: encontrar x = x ′‖x ′′, x ′ indexado por N e x ′′ indexado por Aque
(P)
min∑ij∈A
cij x ′′ij
x ′t − x ′s ≥ 1 ,x ′i − x ′j + x ′′ij ≥ 0 ∀ij ∈ A,
x ′′ij ≥ 0 ∀ij ∈ A.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 139 / 312
Introducao ao Metodo Primal-Dual
Sobre o programa (P)
(P)
min∑ij∈A
cij x ′′ij
x ′t − x ′s ≥ 1 ,x ′i − x ′j + x ′′ij ≥ 0 ∀ij ∈ A,
x ′′ij ≥ 0 ∀ij ∈ A.Dado um corte S ⊂ N que separa s de t (i.e. s ∈ S e t /∈ S), defina
x ′i =
0 ∀i ∈ S1 ∀i ∈ N \ S
x ′′ij =
1 ∀ij ∈ δ+(S)0 ∀ij ∈ A \ δ+(S)
SS
s t1 1
0
00
0
0
0
1
1
1
1
10
00
0
0
1
Temos x = x ′‖x ′′ viavel para(P) definindo um corte comcapacidade dada pela funcaoobjetivo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 140 / 312
Introducao ao Metodo Primal-Dual
Problemas RestritosDado y , fluxo viavel seja
I := ij ∈ A : yij = 0 e J := ij ∈ A : yij = cij .Restrito Primal: encontrar x = x ′‖x ′′ viavel em (P) satisfazendo F.C.
(RP)
x ′t − x ′s ≥ 1 ,x ′i − x ′j + x ′′ij = 0 ∀ij ∈ A \ I,x ′i − x ′j + x ′′ij ≥ 0 ∀ij ∈ I,
x ′′ij ≥ 0 ∀ij ∈ J,x ′′ij = 0 ∀ij ∈ A \ J.
Restrito Dual: Se (RP) e inviavel, pelo Lema de Farkas, (RD) e viavel
(RD)
yts > 0 ,∑e∈δ+(i)
ye −∑
e∈δ−(i)
ye = 0 ∀i ∈ N,
yij ≤ 0 ∀ij ∈ J,yij ≥ 0 ∀ij ∈ I.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 141 / 312
Introducao ao Metodo Primal-Dual
(RD) viavel⇒ ∃ caminho aumentador P = (y ′) de s para t ,representando um fluxo adicional.
s t
(2,1)
(2,2)
s t
0 1
01
−1
(3,2)
(1,1)
(2,1)
Caminho aumentador
(c,y)=(capacidade,fluxo viável)Valor do fluxo inicial = 3
Fluxo no caminho = 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 142 / 312
Introducao ao Metodo Primal-Dual
(2,2)
s t
(3,2)
(c,y)=(capacidade,fluxo viável)
(2,2)
(1,0)
(2,2)
Valor do fluxo resultante = 4
(RD) inviavel⇒ (RP) e viavelSeja S := v ∈ N : existe caminho aumentador de s para v e
x ′i =
0 ∀i ∈ S1 ∀i ∈ N \ S
x ′′ij =
1 ∀ij ∈ δ+(S)0 ∀ij ∈ A \ δ+(S)
Temos que x = x ′‖x ′′ e viavel em (RP)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 143 / 312
Metodo de Aproximacao Primal-Dual
Metodo de Aproximacao Primal-Dual
Generalizacao do Metodo Primal-Dual Classico por F.C.aproximadas
(P)min c x
(Ax)i ≥ bi ∀i ∈ M ,xj ≥ 0 ∀j ∈ N .
(D)max yb
(yA)j ≤ cj ∀j ∈ N ,yi ≥ 0 ∀i ∈ M .
Folgas AproximadasDado 0 < α ≤ 1 ≤ β, x e y solucoes viaveis de (P) e (D)
x e y tem folgas α-Aproximadas no Primal sexj = 0 ou α cj ≤ (yA)j [ ≤ cj ]
x e y tem folgas β-Aproximadas no Dual seyi = 0 ou β bi ≥ (Ax)i [ ≥ bi ]
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 144 / 312
Metodo de Aproximacao Primal-Dual
Lema: Se x e y sao nao-negativos e satisfazem as condicoes defolgas α-aproximadas no primal e β-aproximadas no dual, entaoα c x ≤ β y b.Prova.
α c x ≤∑j∈N
α cj xj
≤∑j∈N
(y A)j xj
=∑i∈M
yi (A x)i
≤∑i∈M
yi β bi
= β y b
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 145 / 312
Metodo de Aproximacao Primal-Dual
Lema: (das Folgas Aproximadas) Se x e y sao solucoes viaveis de(P) e (D) satisfazendo folgas α e β aproximadas entao
x e uma βα -aproximacao em (P) e
y e uma αβ -aproximacao em (D).
Estrategia:Dado vetor y viavel de (D), valores α e β, onde 0 < α ≤ 1 ≤ β
I encontrar x viavel de (P) satisfazendo folgas α e β aproximadascom you
I encontrar y ′ tq. y ′′←y +y ′ e viavel em (D) e y ′′b>yb;repita processo com y ′′
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 146 / 312
Metodo de Aproximacao Primal-Dual
Folgas Aproximadasxj = 0 ou (yA)j ≥ α cj (folgas aproximadas primais)
yi = 0 ou (Ax)i ≤ β bi (folgas aproximadas duais)
Dado vetor y viavel de (D),I(y) := i ∈ M : yi = 0 e J(y , α) := j ∈ N : (yA)j ≥ α cj .
(Viabil.) (Ax)i ≥ bi ∀i ∈ Mxj ≥ 0 ∀j ∈ N
+(F.A.) (Ax)i ≤ β bi ∀i ∈ M \ I(y)xj = 0 ∀j ∈ N \ J(y , α)
Problema Restrito Aproximado Primal
(RAP)
(Ax)i ≥ bi ∀i ∈ M ,(Ax)i ≤ β bi ∀i ∈ M \ I(y) ,
xj ≥ 0 ∀j ∈ J(y , α) ,xj = 0 ∀j ∈ N \ J(y , α) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 147 / 312
Metodo de Aproximacao Primal-Dual
(RAP) e inviavel⇒ (RP) e inviavel⇒ (RD) e viavel⇒ (RAD) e viavel.
(RAP)
(Ax)i ≥ bi ∀i ∈ M ,(Ax)i ≤ β bi ∀i ∈ M \ I(y) ,
xj ≥ 0 ∀j ∈ J(y , α) ,xj = 0 ∀j ∈ N \ J(y , α) .
~⊕ (RAD)y ′b > 0
(y ′A)j ≤ 0 ∀j ∈ J(y , α) ,y ′i ≥ 0 ∀i ∈ I(y) .
Metodo PRIMAL-DUAL (A,b, c)
1 seja y um vetor viavel de (D)2 enquanto RAP(A,b, y , α, β) nao tem solucao faca3 seja y ′ uma solucao do RAD(A,b, y , α)4 se y + θy ′ e viavel em (D) para todo θ positivo5 entao devolva y ′
6 senao seja θ maximo tal que y + θy ′ e viavel em (D)7 y ← y + θy ′
8 seja x uma solucao do RAP(A,b, y , α, β)9 devolva x e y
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 148 / 312
Metodo de Aproximacao Primal-Dual
Problema da Transversal Mınima
Def.: Dado conjunto E e colecao S finita de subconjuntos de E, umconjunto T ⊆ E e uma transversal de S se T ∩ S 6= ∅, ∀S ∈ S.
Problema MINTC: Dados conjunto E , colecao finita S desubconjuntos de E e custos c : E → Q≥, encontrar transversal T de S
tal que∑
e∈T ce e mınimo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 149 / 312
Metodo de Aproximacao Primal-Dual
Formulacoes Primal e Dual:
(P)
min∑e∈E
cexe
∑e∈S
xe ≥ 1 ∀S ∈ S,
xe ≥ 0 ∀e ∈ E .
(D)
max∑S∈S
yS∑S∈Se
yS ≤ ce ∀e ∈ E ,
yS ≥ 0 ∀S ∈ S,
onde Se = S ∈ S : e ∈ S.
Estrategia: Obter x e y viaveis, com x binario, satisfazendo:
Folgas aproximadas primais:xe = 1⇒ αce ≤
∑S∈Se
yS ≤ ce para todo e ∈ E
Folgas aproximadas primais:yS > 0⇒ β ≥
∑e∈S
xe ≥ 1 para todo S ∈ S
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 150 / 312
Metodo de Aproximacao Primal-Dual
Problemas Restritos AproximadosConsidere α := 1 e β := max|S| : S ∈ S. Seja y , viavel dual e
I(y) := S ∈ S : yS = 0 e J(y) := e ∈ E :∑S∈Se
yS ≥ ce .
Restrito Aproximado Primal: encontrar x viavel em (P) satisfazendo F.A.
(RAP)
∑e∈E
xe ≥ 1 ∀S ∈ S,∑e∈S
xe ≤ β ∀S ∈ S \ I(y),
xe ≥ 0 ∀e ∈ J(y),xe = 0 ∀e ∈ E \ J(y).
(RAD)
∑S∈S
y ′S > 0 ,∑S∈S
y ′S ≤ 0 ∀e ∈ J(y),
y ′S ≥ 0 ∀S ∈ I(y).
Restrito Aproximado Dual: Se (RAP) e inviavel entao (RP) e inviavel epelo Lema de Farkas, (RAD) e viavel
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 151 / 312
Metodo de Aproximacao Primal-Dual
Algoritmo de Bar-Yehuda e Even
MINTC-BE (E , S, c)
1 J ← e ∈ E : ce = 0
2 yS ← 0, ∀S ∈ S
3 enquanto existe R ∈ S tal que J ∩ R = ∅ faca
4 aumente yR ate o maximo, mantendo validas as restricoes
5∑S∈Se
yS ≤ ce, ∀e ∈ R
6 seja f um elemento de R tal que∑S∈Sf
yS = cf
7 J ← J ∪ f
8 devolva J
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 152 / 312
Metodo de Aproximacao Primal-Dual
Lema: Seja J o conjunto devolvido por MINTC-BE, x o vetorcaracterıstico de J e y o vetor dual construıdo pelo algoritmo. Entao,
1. J e uma transvesal,2. x satisfaz folgas aproximadas primais com α = 1
xe = 0 ou 1 · ce ≤∑S∈Se
yS ≤ ce
3. y satisfaz folgas aproximadas duais com β = max|S| : S ∈ S:
ye = 0 ou β ·1 ≥∑e∈S
xe ≥ 1
Prova.Para verificar (1), note que se R ∈ S e J ∩ R = ∅ entao ha uma folgapara aumentar yR.Para verificar (2), note que um elemento e ∈ J foi escolhido porsatisfazer
∑S∈Se
yS = ce
Para verificar (3), note que∑e∈S
xe ≤ |S| ≤ β.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 153 / 312
Metodo de Aproximacao Primal-Dual
Teorema: O algoritmo MINTC-BE e uma β-aproximacao polinomialpara o MINTC (E , S, c), onde β := maxS∈S |S|.
Prova. Segue do Lema das Folgas Aproximadas.
ExercıcioUsando a abordagem vista para o problema da Transversal Mınima,apresente uma 2-aproximacao para o problema da Cobertura porVertices.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 154 / 312
Problema de Localizacao de Facilidades
Problema de Localizacao de FacilidadesProblema LOCALIZACAO (facility location problem): Dados potenciaisfacilidades F = 1, . . . ,n, clientes C = 1, . . . ,m, custos fi para“abrir” a facilidade i e custos cij ∈ Z para um cliente j ser atendido pelafacilidade i . Encontrar facilidades A ⊆ F minimizando o custo paraabrir as facilidades em A e atender todos os clientes
Aplicacoes: Instalacao de postos de distribuicao de mercadorias,construcao de redes de telecomunicacao.
Teorema: O problema MINCC e um caso particular do problemaLOCALIZACAO.
Corolario: (Raz & Safra’97) O problema de LOCALIZACAO nao podeser aproximado em ε log |E |, para alguma constante ε > 0, a menosque P = NP.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 155 / 312
Problema de Localizacao de Facilidades
Problema de Localizacao de Facilidades Metrico
Custos satisfazem desigualdade triangular:
cij ≤ cij ′ + ci ′j ′ + ci ′j i , i ′ ∈ F e j , j ′ ∈ C
j j ′
ii ′
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 156 / 312
Problema de Localizacao de Facilidades
Vamos ver uma 3-aproximacao de Jain e Vazirani’01usando tecnica primal-dual:
Programa inteiro:
minimize∑i∈F
fiyi +∑ij∈E
cijxij
sujeito a
∑ij∈E
xij ≥ 1 ∀j ∈ C,
yi − xij ≥ 0 ∀ij ∈ E ,xij ∈ 0,1 ∀i ∈ F e j ∈ C,yi ∈ 0,1 ∀i ∈ F .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 157 / 312
Problema de Localizacao de Facilidades
Programa Relaxado Primal:
(P) tal que
min∑i∈F
fiyi +∑ij∈E
cijxij∑ij∈E
xij ≥ 1 ∀j ∈ C ,
yi − xij ≥ 0 ∀i ∈ F , j ∈ C ,xij ≥ 0 ∀i ∈ F , j ∈ C ,yi ≥ 0 ∀i ∈ F .
Programa Dual:
(D) tal que
max∑j∈C
αj
αj − βij ≤ cij ∀i ∈ F , j ∈ C ,∑j∈C
βij ≤ fi ∀i ∈ F ,
αj ≥ 0 ∀j ∈ C ,βij ≥ 0 ∀i ∈ F , j ∈ C .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 158 / 312
Problema de Localizacao de Facilidades
Metodo Primal-Dual com folgas aproximadas primais:
xij = 1 ⇒ 13cij ≤ αj − βij ≤ cij
yi = 1 ⇒ 13 fi ≤
∑j∈C βij ≤ fi
e folgas complementares duais:
αj > 0 ⇒∑
i∈F xij = 1
βij > 0 ⇒ yi = xij
Isto nos da uma 3-aproximacao para o problema da LOCALIZACAO.Entretanto, vamos usar um resultado mais forte para usa-lo noproblema da k -MEDIANA.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 159 / 312
Problema de Localizacao de Facilidades
Estrategia do algoritmo:I Inicialmente comece as variaveis duais nulas.
I Aumente uniformemente as variaveis α’s ate que uma variavel αjtenha seu crescimento limitado por uma aresta ij (αj − βij ≤ cij ).Neste caso a variavel βij tambem comeca a aumentar.
I Uma facilidade e justa quando tem a soma dos valores βincidentes a ela igual ao seu custo. Neste ponto as variaveisduais associadas param de crescer.
I O conjunto das facilidades abertas e um subconjunto dasfacilidades justas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 160 / 312
Problema de Localizacao de Facilidades
FACILITY-JV (F,C,C)Inicializacoes
1 A← C % Conjunto de clientes ativos
2 S ← ∅ % Conjunto de arestas especiais
3 R ← ∅ % Conjunto de arestas especiais inativas
4 Ft ← ∅ % Facilidades temporariamente abertas
5 para cada j em C faca αj ← 0
6 para cada i ∈ F e j ∈ C faca βij ← 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 161 / 312
Problema de Localizacao de Facilidades
Fase 17 enquanto A 6= ∅ faca8 aumente uniformemente αj e βij para j ∈ A e ij ∈ S \ R ate que9 (a) αj = cij para algum ij ∈ (F \Ft × A) \ S ou
10 (b) αj = cij para algum ij ∈ (Ft × A) \ S ou11 (c)
∑j∈C βij = fi para algum i ∈ F \ Ft .
12 se (a) foi satisfeita para algum ij entao13 S ← S ∪ ij14 senao se (b) foi satisfeita para algum ij entao15 τ(j)← i % testemunha de j16 A← A \ j17 senao se (c) foi satisfeita para algum i entao18 para cada j tal que ij ∈ S faca τ(j)← i19 A← A \ j : ij ∈ S20 R ← R ∪ ij : ij ∈ S21 Ft ← Ft ∪ iFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 162 / 312
Problema de Localizacao de Facilidades
Fase 222 H ← (VH ,EH) onde
23 VH := Ft24 EH := i ′i ′′ : i ′, i ′′ ∈ VH e ∃ j ∈ C, com i ′j ∈ S e i ′′j ∈ S
25 I ← (Conjunto independente maximal de H)
26 para todo j ∈ C faca
27 se τ(j) ∈ I entao
28 φ(j)← τ(j) ( (φ(j), j) e conexao direta)
29 senao
30 seja i ∈ I tal que (i , τ(j)) ∈ H
31 φ(j)← i ( ij e conexao indireta)
32 devolva (I, φ)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 163 / 312
Problema de Localizacao de Facilidades
Aumentando αj e βij de apenas um cliente
i
j
i
j
i
j
i
j
i
j
(1) (2) (3)
(5)(4)
αj = 0βj = 0
fi = 3cij = 4
βj = 0
fi = 3cij = 4αj = 4
βj = 0
fi = 3cij = 4αj = 3
βj = 3
fi = 3cij = 4αj = 7
βj = 1
fi = 3cij = 4αj = 5
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 164 / 312
Problema de Localizacao de Facilidades
Aumentando αj e βij de dois clientes
cij′′ = 4
i
j ′
j ′′
i
j ′
j ′′
i
j ′
j ′′
i
j ′
j ′′
(1) (2)
(4)(3)
fi = 3cij′ = 3
βij′ = 0βij′′ = 0
βij′ = 0βij′′ = 0
αj′ = 5αj′′ = 5βij′ = 2βij′′ = 1βij′′ = 0
αj′ = 4αj′′ = 4βij′ = 1
αj′ = 0αj′′ = 0
αj′ = 3αj′′ = 3
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 165 / 312
Problema de Localizacao de Facilidades
Para provar que FACILITY-JV e uma 3-aproximacao, usaremos oteorema das folgas aproximadas com as seguintes condicoes:
Folgas aproximadas primais:
xij = 1, ij indireto ⇒ 13cij ≤ αj − βij ≤ cij
xij = 1, ij direto ⇒ αj − βij = cij
yi = 1 ⇒∑
j∈C βij = fi
e folgas complementares duais:
αj > 0 ⇒∑
i∈F xij = 1
βij > 0 ⇒ yi = xij
Note que o unico lugar frouxo sao as folgas para as arestas indiretas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 166 / 312
Problema de Localizacao de Facilidades
Lema: (Folga aproximada primal 1)
xij = 1 e ij e direta⇒ αj − βij =cij
Prova.Caso 1: βij = 0
Neste caso, αj cresceu apenas para cobrir o custo cij poisi ja estava aberta.
Caso 2: βij > 0
Neste caso, αj pode passar de cij , mas quando issoocorre, ij fica especial e βij cresce junto com αj mantendoa igualdade αj − βij =cij .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 167 / 312
Problema de Localizacao de Facilidades
Lema: (Folga aproximada primal 2)
xij = 1 e ij e indireta⇒ 13
cij≤αj − βij≤cij
Prova. Neste caso, note que βij = 0 e αj ≤ cij .Agora, vamos mostrar que cij ≤ 3αj .Seja i ′ := τ(j). Deve existir i ′ ∈ I e j ′ ∈ C tal que
Ii ′i ∈ Hi ′ i
j ′
j
cij ≤ ci ′j + ci ′j ′ + cij ′
≤ αj + αj ′ + αj ′
≤ αj + αj + αj (pois raio de j parou depois do de j ′)= 3αj
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 168 / 312
Problema de Localizacao de Facilidades
Lema: (Folga aproximada primal 3)
yi = 1 ⇒∑j∈C
βij = fi
Prova. Cada facilidade temporariamente aberta, em Ft , devesatisfazer a condicao (c) (linha 11) pelo comando da linha 21:∑
j∈C
βij = fi
O resultado segue pois o conjunto I das facilidades abertas (yi = 1) esubconjunto de Ft .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 169 / 312
Problema de Localizacao de Facilidades
Lema: (Folga aproximada dual 1)
αj > 0⇒∑i∈F
xij =1.
Prova. Exercıcio.
Lema: (Folga aproximada dual 2)
βij > 0⇒ yi =xij
Prova. Exercıcio (basta considerar casos quando yi = 0 e yi = 1).
Teorema: (Jain e Vazirani’01) FACILITY-JV e uma 3-aproximacao parao problema da LOCALIZACAO.
Prova. Segue do lema das folgas aproximadas e dos 5 lemasanteriores.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 170 / 312
Dual Fitting
Dual Fitting
Suponha (P) um problema primal do tipo(
min cx sujeito a x ∈ P).
Suponha (D) um problema dual do tipo(
max yb sujeito a y ∈ D).
Ideia:I Obter uma solucao inteira x para (P) e um vetor y (guiado para
ser um dual) mas y nao necessariamente viavel para (D).
I Apesar de y nao ser viavel, yb “paga” o valor da solucao primal.
I Obter fator f tal que y ← yf
e viavel para (D).
I Assim, cx ≤ y b = fy bf
= f y b ≤ f OPT.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 171 / 312
Dual Fitting
Problema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c : S→ Q≥, encontrar cobertura S′ ⊆ S
que minimiza∑
S∈S′ c(S).
Relaxacao e dual:
min∑S∈S
cSxS
(P)∑S∈Se
xS ≥ 1 ∀e ∈ E
xS ≥ 0 ∀S ∈ S,
onde Se := S ∈ S : e ∈ S
max∑e∈E
ye
(D)∑e∈S
ye ≤ cS ∀S ∈ S
ye ≥ 0 ∀e ∈ E
Ideia: Aumentar (a partir de 0) variaveis y de maneira a pagar por umasolucao inteira. Depois obter fator f que transforma y/f em dual viavel.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 172 / 312
Dual Fitting
Aumento uniforme de ye, para todo elemento ativo e ∈ A
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 173 / 312
Dual Fitting
MINCC-DUAL-FITTING (S,E , c)
1 faca S′ ← ∅2 faca A← E (conjunto de elementos ativos)3 faca ye ← 0 para todo e ∈ E4 enquanto A 6= ∅ faca5 aumente uniformemente ye para todo e ∈ A ate que∑
e∈R∩A
ye = cR para algum R ∈ S \ S′
6 S′ ← S′ ∪ R7 A← A \ R8 devolva (S′, y)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 174 / 312
Dual Fitting
Lema: Seja (S′, y) solucao devolvida por MINCC-DUAL-FITTING.Entao, ∑
S∈S′cS =
∑e∈E
ye
Prova. Exercıcio.
Fato: Note que y pode nao ser dual viavel.Prova. Exercıcio
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 175 / 312
Dual Fitting
Lema: Seja (S′, y) devolvido por MINCC-DUAL-FITTING eS = e1, . . . ,ek ∈ S′ e s.p.g., temos ye1 ≤ ye2 ≤ . . . ≤ yek . Entao
k∑i=l
yel = (k − l + 1)yel ≤ c(S)
Prova. Note que se yel aumentou ate um valor t , todos os outrosvalores yej para j = l , . . . , k tambem chegaram a t , sem violar o custode S.
1 kl...
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 176 / 312
Dual Fitting
Lema: Se y e devolvido por MINCC-DUAL-FITTING entaoy
Hne dual
viavel para (D), onde Hn = 1 + 12 + 1
3 + · · ·+ 1n
Prova. Seja R = e1, . . . ,ek ∈ S′ e s.p.g. ye1 ≤ ye2 ≤ . . . ≤ yek .Aplicando lema anterior para l = 1, . . . , k temos
l = 1, k ye1 ≤ c(R) ⇒ ye1c(R) ≤ 1
k
l = 2, (k − 1) ye2 ≤ c(R) ⇒ ye2c(R) ≤ 1
k−1...
l = k , yek ≤ c(R) ⇒ yekc(R) ≤ 1
Somando as desigualdades acimak∑
i=1
yei
c(R)≤ Hk
Assim,∑e∈R
ye
Hn≤ c(R).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 177 / 312
Dual Fitting
Teorema: O algoritmo MINCC-DUAL-FITTING e uma Hn-aproximacaopara o Problema da Cobertura por Conjuntos.
ExercıcioReescreva o algoritmo MINCC-DUAL-FITTING como um algoritmoguloso.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 178 / 312
Problema da Floresta de Steiner
Problema da Floresta de Steiner
Seja G um grafo e R uma colecao de subconjuntos de VG.
Def.: Uma R-floresta de G e qualquer floresta geradora F de G talque para todo R ∈ R, os elementos de R estao contidos em algumcomponente de F.
Problema Floresta de Steiner: Dados um grafo G, um custo ce emQ≥ para cada aresta e e uma colecao R de subconjuntos de VG,encontrar uma R-floresta F que minimize c(F ).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 179 / 312
Problema da Floresta de Steiner
Def.: Um conjunto S ⊂ V e chamado ativo se existe R ∈ R tal que
R ∩ S 6= ∅ e R \ S 6= ∅
S := S ⊂ V : S e conjunto ativo eSe := S ∈ S : e ∈ δ(S)
Formulacoes (P) e (D):
(P)
min∑e∈E
cexe∑e∈δ(S)
xe ≥ 1 ∀S ∈ S ,
xe ≥ 0 ∀e ∈ E .
(D)
max∑S∈S
yS∑S∈Se
yS ≤ ce ∀e ∈ E ,
yS ≥ 0 ∀S ∈ S .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 180 / 312
Problema da Floresta de Steiner
Se existir x inteiro viavel em (P) e y viavel em (D) satisfazendo folgasα e β aproximadas, com α = 1 e β = 2, temos
xe = 1 ⇒∑S∈Se
yS = ce (folgas aproximadas primais)
yS > 0 ⇒∑
e∈δ(S)
xe ≤ 2 (folgas aproximadas duais)
Entao, pelo lema das folgas aproximadas, x e uma 2-aproximacao. MasI Folgas aproximadas primais sao faceis de se obter.I Folgas aproximadas duais sao difıceis de se obter.
Estrategia: Usar uma nova folga aproximada dual mais flexıvelTrocar yS > 0 ⇒
∑e∈δ(S)
xe ≤ 2
por yS > 0 ⇒
∑S∈SF
∑e∈δ(S)
xe
|SF |≤ 2
onde SF e o conjunto dos componentes ativos da floresta sendoconstruıda, em cada iteracao do algoritmo.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 181 / 312
Problema da Floresta de Steiner
Componentes ativos em uma iteracaoObservacoes sobre o algoritmo:
I Constroi dual viavel que comeca com 0.I Usa numero limitado de conjuntos ativos.I Conjuntos ativos usados tem propriedade laminar.I Folgas aproximadas primais validas em cada iteracao.I Folgas aproximadas duais flexıveis validas em cada iteracao.I No fim do algoritmo, as arestas desnecessarias sao podadas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 182 / 312
Problema da Floresta de Steiner
I F : Floresta sendo construıda.I SF : Componentes ativas de FI Aresta externa: exatamente um extremo em uma componente de SFI F0: Floresta F logo antes da poda.I F1: Floresta final apos a poda.
MINFS-GW (G, c,R)
1 F ← (V , ∅)2 para cada S em S faca yS ← 03 enquanto SF 6= ∅ faca4 aumente uniformemente yS ate o maximo ∀S ∈ SF mantendo5
∑S∈Se
yS ≤ ce para cada aresta externa e
6 seja f uma aresta externa tal que∑
S∈SfyS = cf
7 F ← F + f8 F0 ← F9 seja F1 uma R-floresta minimal de F0
10 devolva F1Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 183 / 312
Problema da Floresta de Steiner
Cırculos representam o crescimento das variaveis duais.Discos sao steiner nodes (nao tem requisitos de conectividade).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 184 / 312
Problema da Floresta de Steiner
Componentes inativos nao tem crescimento nas variaveis duais.No final, e feita a poda das arestas desnecessarias.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 185 / 312
Problema da Floresta de Steiner
Lema: No inıcio de cada iteracao temos∑S∈SF
|δF1(S)|
|SF |≤ 2 .
Prova. Seja C o conjunto de componentes de F no inıcio da iteracao.Seja H = (C,EH) tal que U,W∈EH ⇔ ∃u,w∈F1 : u∈U,w ∈W .
A
A
I
I
AA
Como F1 e minimal, todas as folhas de H sao ativas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 186 / 312
Problema da Floresta de Steiner
SejaSF os componentes ativos de F eZF os componentes inativos de F com grau nao nulo.
Como H e floresta temos∑S∈SF
|δF1(S)|+∑
S∈ZF
|δF1(S)| =∑
S∈VH
|δH(S)|
= 2|EH |≤ 2(|SF |+ |ZF | − 1)
< 2|SF |+ 2|ZF |
Portanto ∑S∈SF
|δF1(S)| ≤ 2|SF |+ 2|ZF | −∑
S∈ZF
|δF1(S)|
≤ 2|SF | .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 187 / 312
Problema da Floresta de Steiner
Lema: No inıcio de cada iteracao, vale a desigualdade∑S∈S
|δF1(S)| yS ≤ 2∑S∈S
yS ,
Prova. Por inducao no numero de iteracoes:Inicialmente y = 0 e a desigualdade vale.Suponha que a desigualde vale no inıcio de uma iteracao.Durante a iteracao, yS e acrescido de θ se e somente se S ∈ SF .Assim, o lado esquerdo da desigualdade e acrescido de∑
S∈SF
|δF1(S)|θ
enquanto o lado direito e acrescido de
2|SF |θ.
Pelo lema anterior, a desigualdade vale.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 188 / 312
Problema da Floresta de Steiner
Teorema: O algoritmo MINFS-GW e uma 2-aproximacao para oMINFS.Prova.
c(F1) =∑e∈F1
ce
=∑e∈F1
∑S∈Se
yS (folgas 1-aprox. primais)
=∑S∈S
|δF1(S)| yS (invertendo as somas)
≤ 2∑S∈S
yS (pelo lema anterior)
≤ 2 OPT(G, c,R) .
ExercıcioMostre que e possıvel melhorar um pouco a analise do teoremaobtendo um fator de aproximacao de
(2− 1
n
), no lugar de 2.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 189 / 312
Teoria das Probabilidades
AXIOMAS DE PROBABILIDADE
Def.: Um espaco de probabilidade tem 3 componentes:I Um espaco amostral Ω
I Uma famılia F de eventos, cada E ∈ F e t.q. E ⊆ Ω.I Funcao de probabilidade Pr : F → R+
E ∈ F e dito ser simples ou elementar se |E | = 1
Iremos considerar apenas espacos discretos de probabilidade.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 190 / 312
Teoria das Probabilidades
Def.: Uma funcao de probabilidade e qualquer funcao Pr : F → R+
t.q.I ∀E ∈ F temos 0 ≤ Pr(E) ≤ 1I Pr(Ω) = 1I Para toda sequencia finita ou enumeravel de eventos mutuamente
exclusivos E1,E2, . . . , temos
Pr(E1 ∪ E2 . . .) = Pr(E1) + Pr(E2) + . . .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 191 / 312
Teoria das Probabilidades
ExemploConsidere o lance de um dado de 6 lados.
I Ω = 1, . . . ,6
Exemplo de eventos que podemos considerarI E ′ = Evento do dado mostrar numero par.I E ′′ = Evento do dado mostrar numero menor ou igual a 3.I E ′′′ = Evento do dado mostrar numero primo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 192 / 312
Teoria das Probabilidades
Def.: Dois eventos E e F sao ditos serem independentes sse
Pr(E ∩ F ) = Pr(E) · Pr(F )
e eventos E1, . . . ,Ek sao mutuamente independentes sse∀I ⊆ 1, . . . , k temos
Pr(⋂i∈I
Ei) = Πi∈IPr(Ei).
Lema: (Limitante da Uniao) Dados eventos E1,E2, . . . temos
Pr(⋃i≥1
Ei) ≤∑i≥1
Pr(Ei)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 193 / 312
Teoria das Probabilidades
Def.: Uma variavel aleatoria discreta (v.a.) sobre Ω e uma funcao
X : Ω→ λ1, . . . , λn, onde cada λi e um numero real.
Def.: Um evento (X ∈ S) e o conjunto X−1(S) para S ⊆ λ1, . . . , λn.
Notacao: Dado variavel aleatoria X e valor real a, o evento “X = a”representa o conjunto e ∈ Ω : X (e) = a.Analogamente para (X 6= x), (X < x), (X ≤ x), (X > x) e (X ≥ x).
Def.: A probabilidade do evento (X ∈ S) e o numero Pr(X−1(S)),denotado por Pr(X∈S).
Assim,Pr(X = a) =
∑e∈Ω: X(e)=a
Pr(e).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 194 / 312
Teoria das Probabilidades
Def.: A esperanca (ou valor esperado) da variavel aleatoria X e onumero
E[X ] :=∑n
i=1 λi Pr(X=λi) .
ExemploConsidere o lancamento de dois dados e Xi o valor do i-esimo dado,i = 1,2. Seja X = X1 + X2. Entao
E [X ] = 2136
+ 3 · 236
+ · · ·+ 12 · 136
= 7
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 195 / 312
Teoria das Probabilidades
LINEARIDADE DA ESPERANCA
Teorema: Para qualquer colecao finita de variaveis aleatoriasdiscretas X1, . . . ,Xn com esperancas finitas
E
[n∑
i=1
Xi
]=
n∑i=1
E [Xi ]
Observacao: Note que nao ha restricoes sobre a independencia dasvariaveis aleatorias X1, . . . ,Xn.
Lema: Dados variavel aleatoria X e constante c, temosE [c · X ] = c · E [X ].
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 196 / 312
Teoria das Probabilidades
ExemploConsidere o exemplo do lance de dois dados.Seja X1 a v.a. do valor do primeiro dado.Seja X2 a v.a. do valor do segundo dado.Seja X a v.a. da soma dos valores dos dois dados.Note que X = X1 + X2. Assim,
E [X ] = E [X1 + X2]
= E [X1] + E [X2]
= 2 ·6∑
i=1
i · 16
= 7
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 197 / 312
Teoria das Probabilidades
VARIAVEIS ALEATORIAS DE BERNOULLI E BINOMIAIS
Considere um experimento que tem probabilidade de sucesso p efalha de 1− p.Seja Y uma v.a. tal que
Y =
1 se experimento tem sucesso0 caso contrario
Entao, Y e dita ser v.a. de Bernoulli ou v.a. Indicadora.
Lema: Se Y e v.a. de Bernoulli com Pr(Y = 1) = p,entao E [Y ] = p.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 198 / 312
Teoria das Probabilidades
Considere uma sequencia de n experimentos independentes, cada umcom probabilidade de sucesso igual a p.Se X e o numero de sucessos nos n experimentos, dizemos que Xtem distribuicao binomial.
Def.: Uma v.a. binomial (v.a.b.) X com parametros n e p, denotadopor B(n,p) e definida pela seguinte distribuicao de probabilidade comj = 0,1, . . . ,n:
Pr(X = j) =
(nj
)pj(1− p)n−j
ExercıcioMostre que
∑nj=0 Pr(X = j) = 1.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 199 / 312
Teoria das Probabilidades
Lema: Se X e uma v.a. binomial B(n,p), entao E [X ] = n · p.Prova. Seja Xi v.a. de bernoulli do i-esimo experimento.Entao, X =
∑ni=1 Xi e portanto
E [X ] =n∑
i=1
E [Xi ]
= n · p
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 200 / 312
Teoria das Probabilidades
DISTRIBUICAO GEOMETRICA
Def.: Uma v.a. X e dita ser geometrica (v.a.g.) com parametro p setem distribuicao
Pr(X = n) = (1− p)n−1 · p.
I.e., a probabilidade de jogar uma moeda n − 1 vezes com coroa (oufalha) e na n-esima dar cara (sucesso).
Lema: Se X e uma v.a.g. com parametro p, entao
E [X ] =1p.
Prova. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 201 / 312
Teoria das Probabilidades
Lema: (desigualdade de Markov) Se (Ω,Pr) e um espaco discreto deprobabilidade e X e uma variavel aleatoria sobre Ω cujos valores saotodos nao-negativos, entao
Pr(X≥λ) ≤ 1λ
E[X ]
para todo numero positivo λ.Prova. Se λ1, . . . , λn e o conjunto de valores de X , entao
E[X ] =∑
i
λi Pr(X=λi)
≥∑λi≥λ
λPr(X=λi)
= λPr(X≥λ) .
As vezes e util reescrever a desigualdade de Markov assim:
Pr(X≥λE[X ]) ≤ 1λ.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 202 / 312
Teoria das Probabilidades
Desigualdades uteisFato: Se m ≥ 1 e |t | ≤ m entao(
1 +tm
)m
≤ et .
Exemplo: Se n ≥ 1 entao(1 +
1n
)n
≤ e e(
1− 1n
)n
≤ 1e.
Veja outras emhttp://dl.acm.org/citation.cfm?doid=242581.242585
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 203 / 312
Algoritmos Aproximados Probabilısticos
Algoritmos Aproximados Probabilısticos
Vamos supor a existencia de uma funcao RAND. Dado ρ ∈ [0,1]RAND(ρ): devolve 1 com probabilidade ρ e 0 com probabilidade 1− ρ.Def.: Um algoritmo que usa a funcao RAND e chamado deprobabilıstico.
Def.: Um algoritmo probabilıstico e polinomial se o numero dechamadas de RAND e o consumo de tempo das demais operacoes elimitado por um polinomio no tamanho da instancia.
Def.: Dado instancia I e algoritmo probabilıstico A, seja XI a variavelaleatoria representando o valor da solucao produzida por A sobre I.Dizemos que A e uma α-aproximacao probabilıstica se
E[XI ] ≥ αOPT(I) no caso de problema de maximizacao eE[XI ] ≤ αOPT(I) no caso de problema de minimizacao.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 204 / 312
Algoritmos Aproximados Probabilısticos
Solucoes Aproximadas com Alta Probabilidade
Seja XI ≥ 0 uma variavel aleatoria cujo valor e o valor da solucaogerada pelo algoritmo A sobre I para um problema de minimizacao.Pela Desigualdade de Markov, temos
Pr(XI ≥ (α + ε)OPT(I)) ≤ E[XI ]
(α+ε)OPT(I)
≤ αOPT(I)(α+ε)OPT(I)
=α
α+ε.
Dado λ ∈ (0,1), seja k := dlog αα+ε
λe e YI o melhor resultado obtido aoaplicar A sobre I k vezes. Entao
Pr(YI ≥ (α + ε)OPT(I)) ≤ λ.
λ pequeno⇒ solucoes dentro da aproximacao com alta probabilidade.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 205 / 312
Algoritmos Aproximados Probabilısticos
Arredondamento Probabilıstico
Problema COBERTURA POR CONJUNTOS: Dados conjunto E ,subconjuntos S de E , custos c : S→ Q≥, encontrar cobertura S′ ⊆ S
que minimiza∑
S∈S′ c(S).
Relaxacao:
min∑S∈S
cSxS
(P)∑S∈Se
xS ≥ 1 ∀e ∈ E
xS ≥ 0 ∀S ∈ S,
onde Se := S ∈ S : e ∈ S
Ideia: Resolver (P) e considerar cada xS como uma probabilidadepara obter S.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 206 / 312
Algoritmos Aproximados Probabilısticos
MINCC-AP1 (S,E , c)
1 seja x solucao (otima) de (P)
2 seja T ← ∅3 para cada S ∈ S faca4 inclua S em T com probabilidade xS
5 devolva T
Lema: Se T e devolvido por MINCC-AP1, entao E [∑S∈T
cS] ≤ OPT
Prova.
E [∑S∈T
cS] =∑S∈S
cS · Pr(S pertencer a T )
=∑S∈S
cS xS ≤ OPT
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 207 / 312
Algoritmos Aproximados Probabilısticos
Lema: Se T e devolvido por MINCC-AP1 e f e elemento de E, entaoPr(f nao ser coberto por T ) ≤ 1
e ≈ 0,37.
Prova. Seja f ∈ E e s.p.g. considere Sf = S1, . . . ,St os conjuntosque contem f .
Pr(f nao ser coberto por T )
= Pr(S1 /∈ T ) · Pr(S2 /∈ T ) · . . . · Pr(St /∈ T )
= (1− xS1) · (1− xS2) · . . . · (1− xSt )
≤ (1− 1t
) · (1− 1t
) · . . . · (1− 1t
)
= (1− 1t
)t
≤ 1e
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 208 / 312
Algoritmos Aproximados Probabilısticos
Aumentando as chances de obter cobertura
Versao Monte Carlo
MINCC-AP (S,E , c)
1 seja S′ ← ∅ e k = 2 log |E |2 para i ← 1 ate k faca3 Ti ← MINCC-AP1 (S,E , c).4 S′ ← S′ ∪ Ti
5 devolva S′
Lema: Se S′ e devolvido por MINCC-AP entao E [c(S′)] ≤ 2 log |E |OPTProva. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 209 / 312
Algoritmos Aproximados Probabilısticos
Lema: Se S′ e devolvido por MINCC-AP entaoPr(S′ e cobertura de E) ≥ 1− 1
|E | .
Prova. Dado f ∈ E , temos que Pr(f nao ser coberto por Ti) ≤ 1e .
Assim, Pr(f nao ser coberto por S′) ≤(1
e
)2 log |E |= 1|E |2 .
Dado e ∈ E , seja Ee o evento do elemento e nao ser coberto por S′.
Pr(S′ nao e cobertura)
= Pr(⋃e∈E
Ee)
≤∑e∈E
Pr(Ee)
≤∑e∈E
1|E |2
=1|E |
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 210 / 312
Algoritmos Aproximados Probabilısticos
Versao Las Vegas
MINCC-AP-LAS-VEGAS (S,E , c)
1 seja S′ ← ∅ e i ← 12 enquanto S′ nao e cobertura faca3 Ti ← MINCC-AP1 (S,E , c).4 S′ ← S′ ∪ Ti
5 i ← i + 16 devolva S′
Teorema: Mostre que o numero de passos esperado do algoritmoMINCC-AP-LAS-VEGAS e O(log |E |).Prova. Exercıcio. Dica: Divida as iteracoes em sequencias de 2 log |E |iteracoes: S1,S2, . . .. Considere a possibilidade de parar na sequenciaSi como uma variavel geometrica.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 211 / 312
Satisfatibilidade Maxima
Satisfatibilidade MaximaDef.: Uma literal e uma variavel booleana ou sua negacao.
Def.: Uma clausula C sobre variaveis booleanas V , e uma disjuncaode literais, todas associadas a variaveis distintas.
Dada clausula C sobre variaveis de V , denotaremos porC0 ⊆ V : e o conjunto das variaveis “complementadas”C1 ⊆ V : e o conjunto das variaveis “nao-complementadas”.
Exemplo: Se C e a clausula (a ∨ b ∨ c) entao,C1 = a e C0 = b, c.
Def.: Uma valoracao de V e um vetor x indexado por V com valoresem 0,1.
Def.: A valoracao x satisfaz C se xv = 1 para algum v ∈ C1 ou xv = 0para algum v ∈ C0.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 212 / 312
Satisfatibilidade Maxima
Def.: Uma formula esta em Forma Normal Conjuntiva (FNC) se aformula e uma conjuncao de clausulas.
Exemplo de formula booleana em FNC
φ = (a ∨ b ∨ c) ∧ (a ∨ c) ∧ (a ∨ b ∨ d) ∧ (d ∨ c) ∧ (d ∨ a)
Problema MAXSAT (V , C) Dada uma colecao C de clausulas sobre umconjunto V de variaveis, encontrar uma valoracao x de V quesatisfaca o maior numero possıvel de clausulas de C.
Teorema: O problema MAXSAT e um problema NP-difıcil.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 213 / 312
Satisfatibilidade Maxima
Algoritmo de JohnsonAtribui 0 ou 1 para as variaveis com probabilidade 1
2
MAXSAT-JOHNSON (V , C)
1 para cada v em V faca2 xv ← RAND (1
2)
3 devolva x
onde RAND (p), para p ∈ [0,1], devolve 1 com probabilidade p e 0 comprobabilidade 1− p.
Teorema: Se X e a variavel cujo valor e o numero de clausulassatisfeitas por uma valoracao produzida por MAXSAT-JOHNSON e todaclausula tem pelo menos k variaveis entao
E[X ] ≥(
1− 12k
)OPT(V , C) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 214 / 312
Satisfatibilidade Maxima
Prova. Para cada clausula C, defina uma variavel aleatoria ZC como:ZC := 1 se valoracao produzida satisfaz C eZC := 0 em caso contrario.
Pr(ZC=0) ≤ 1/2k ⇒ Pr(ZC=1) ≥ 1− 1/2k .
Assim,
E[X ] = E[∑C∈C
ZC ]
=∑C∈C
E[ZC ]
≥ (1− 12k )|C|
≥ (1− 12k ) OPT(V , C)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 215 / 312
Satisfatibilidade Maxima
Teorema: O algoritmo MAXSAT-JOHNSON e uma 0,5-aproximacaoprobabilıstica polinomial para o MAXSAT.
Prova. Direto do teorema anterior, para k = 1.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 216 / 312
Satisfatibilidade Maxima
Algoritmo de arredondamento probabilısticoDado valor ρ ∈ (0,1), arredondar ρ com probabilidade ρ
(P)
max∑C∈C
zC∑v∈C0
(1− xv ) +∑v∈C1
xv ≥ zC ∀ C ∈ C ,
0 ≤ zC ≤ 1 ∀ C ∈ C ,0 ≤ xv ≤ 1 ∀ v ∈ V .
MAXSAT-GW (V , C)
1 seja (x , z) uma solucao otima racional de (P)2 para cada v em V faca3 xv ← RAND (xv )4 devolva x
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 217 / 312
Satisfatibilidade Maxima
Teorema: Se (V , C) e instancia do MAXSAT, cada clausula com nomaximo k variaveis e XC e a variavel aleatoria cujo valor e o numerode clausulas satisfeitas por uma valoracao produzida porMAXSAT-GW (V , C), entao
E[XC] ≥(
1−(1− 1
k)k)
OPT(V , C) .
Prova. Seja C ∈ C e ZC a variavel com valor 1 se a valoracaoproduzida satisfaz C e 0 caso contrario. Se t e o numero de variaveisde C entao
Pr(ZC=1) = 1−∏
v∈C0
xv∏
v∈C1
(1− xv )
≥ 1−(∑
v∈C0xv +
∑v∈C1
(1− xv )
t
)t
= 1−( t −
∑v∈C0
(1− xv )−∑
v∈C1xv
t
)t
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 218 / 312
Satisfatibilidade Maxima
Troca por função linear0
1
f (z) ≥ g(z)
f (z) = 1− (1− z/t)t
g(z) = zf (1)
≥ 1−(
t − zC
t
)t
= 1−(
1− zC
t
)t
≥(
1−(
1− 1t
)t)zC
≥(
1−(
1− 1k
)k)zC .
Teorema: O algoritmo MAXSAT-GW e uma 0,63-aproximacaoprobabilıstica polinomial para o MAXSAT.Prova. Segue do teorema anterior junto com a seguinte desigualdade(
1− 1k
)k
≤ 1e∀k ≥ 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 219 / 312
Satisfatibilidade Maxima
Algoritmo Combinado
MAXSAT-JOHNSON: Melhor performance para clausulas grandes
MAXSAT-GW: Melhor performance para clausulas pequenas
Ideia: Pegar a melhor solucao entre MAXSAT-JOHNSON eMAXSAT-GW
MAXSAT-COMBINADO-GW (V , C)
1 x ← MAXSAT-JOHNSON (V )
2 x ← MAXSAT-GW (V , C)
3 seja s o numero de clausulas de C satisfeitas por x4 seja s o numero de clausulas de C satisfeitas por x5 se s ≥ s6 entao devolva x7 senao devolva x
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 220 / 312
Satisfatibilidade Maxima
Teorema: O algoritmo MAXSAT-COMBINADO-GW e uma0,75-aproximacao probabilıstica polinomial para o MAXSAT.Prova. Seja Ck := C ∈ C : |C| = k (clausulas com k variaveis),Seja XC var. aleat. do valor da solucao gerada por MAXSAT-COMBINADO-GW.Seja XC var. aleat. do valor da solucao gerada por MAXSAT-JOHNSON.Seja XC var. aleat. do valor da solucao gerada por MAXSAT-GW.
E[XC] ≥ E[12(XC + XC
)] =
12(E[XC] + E[XC]
)≥ 1
2
∑k
∑C∈Ck
((1− 2−k ) + (1− (1− k−1)k )zC
)≥ 1
2
∑k
∑C∈Ck
(1− 2−k + 1− (1− k−1)k)zC
≥ 12
∑k
∑C∈Ck
32
zC
≥ 34
OPT(V , C) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 221 / 312
Satisfatibilidade Maxima
Desaleatorizacao
Metodo das Esperancas Condicionais (Erdos & Selfridge’ 74):Estrategia:
I Calculo das esperancas condicionais eficientementeI Iterativamente fazer a proxima escolha sem piorar o valor
esperado.I Determinacao de todas as escolhas nos leva a um algoritmo
determinıstico com valor nao pior que o valor esperado inicial.
Exemplo: Desaleatorizacao do Algoritmo de Johnson
MAXSAT-JOHNSON (V )
1 para cada v em V faca2 xv ← RAND (1
2)
3 devolva x
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 222 / 312
Satisfatibilidade Maxima
E [X |x1 = 1]
E [X |x1 = 0]
E [X |x1 = 0, x2 = 0, x3 = 0]
E [X |x1 = 0, x2 = 0, x3 = 1]
E [X |x1 = 0, x2 = 1, x3 = 0]
E [X |x1 = 0, x2 = 1, x3 = 1]
E [X |x1 = 1, x2 = 0, x3 = 0]
E [X |x1 = 1, x2 = 0, x3 = 1]
E [X |x1 = 1, x2 = 1, x3 = 0]
E [X |x1 = 1, x2 = 1, x3 = 1]
E [X ]
E [X |x1 = 0, x2 = 0]
E [X |x1 = 0, x2 = 1]
E [X |x1 = 1, x2 = 0]
E [X |x1 = 1, x2 = 1]
Escolhas de x1, x2 e x3 tais que
E [X ] ≤ E [X |x1] ≤ E [X |x1, x2] ≤ E [X |x1, x2, x3]
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 223 / 312
Satisfatibilidade Maxima
MAXSAT-JOHNSON-DESALEATORIZADO (V , C)
1 D ← C2 para cada v em V faca3 se ESPCOND (v ,1,D) ≥ ESPCOND (v ,0,D)4 entao xv ← 15 para cada C em D faca6 se v ∈ C17 entao D ← D \ C8 senao C0 ← C0 \ v9 senao xv ← 0
10 para cada C em C faca11 se v ∈ C012 entao D ← D \ C13 senao C1 ← C1 \ v14 devolva x
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 224 / 312
Satisfatibilidade Maxima
Procedimento para calcular esperanca condicional:v : variavel booleanai : valor atribuıdo para a variavel vD: Conjunto de clausulas
Procedimento ESPCOND (v , i ,D)
1 esp ← 02 para cada C em D faca3 k ← |C1|+ |C0|4 se v ∈ Ci5 entao esp ← esp + 16 senao se v ∈ C1−i7 entao esp ← esp + (1− 2−k+1)8 senao esp ← esp + (1− 2−k )9 devolva esp
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 225 / 312
Satisfatibilidade Maxima
Teorema: O algoritmo MAXSAT-JOHNSON-DESALEATORIZADO e uma0,5-aproximacao polinomial para o MAXSAT.Prova. Seja X a variavel aleatoria do numero de clausulas em Csatisfeitas por uma valoracao produzida pelo algoritmo MAXSAT-JOHNSON(V ).Como probabilidade de xv =1 e 1
2 e probabilidade de xv =0 e 12 , temos
E[X ] =12
E[X |xv =1] +12
E[X |xv =0]
≤ 12
E[X |xv =i] +12
E[X |xv =i]
= E[X |xv =i] = E[X |xv ]
onde i e o valor escolhido pelo algoritmo para a variavel xv .O mesmo raciocınio segue para outras variaveis. I.e.,
E[X ] ≤ E[X |xv1 ] ≤ E[X |xv1 , xv2 ] ≤ . . . ≤ E[X |xv1 , . . . , xvn ] .
Como 0,5 OPT(V , C) ≤ E[X ] e o ultimo termo e um valordeterminıstico, o teorema segue.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 226 / 312
Programacao Semidefinida e Problema do Corte Maximo
Programacao SemidefinidaProblema MAXCUT: Dados um grafo G = (V ,E) e um peso we emQ≥ para cada aresta e, encontrar um corte R que maximize w(R).
Exemplo:
1
2
1
1
2
3
4
3
Teorema: MAXCUT e NP-difıcil.Teorema: Se P 6=NP entao MAXCUT nao aproximavel em tempopolinomial em 16/17− ε (Hastad’97).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 227 / 312
Programacao Semidefinida e Problema do Corte Maximo
Aplicacao: Particao por similaridade
i jwij = diferenca entre i e j.
Maximizar peso das diferencas
Minimizar peso das diferencas
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 228 / 312
Programacao Semidefinida e Problema do Corte Maximo
Formulacao Quadratica: Encontrar x que
Max 12
∑ij∈E
wij(1− xi xj)
xi xi = 1 ∀i ∈ V
1
2
1
1
2
3
4
3+1
−1
−1
−1
+1
Se xixj = −1wij(1− xixj) = wij(1− (−1)) = 2wij
Se xixj = +1wij(1− xixj) = wij(1− (+1)) = 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 229 / 312
Programacao Semidefinida e Problema do Corte Maximo
Relaxacao VetorialI Trocar (relaxar) xi por vetor Yi? (n-dimensional)
xi =⇒ Yi?
I I.e., trocar x por uma matriz Y .xx1x2...
xn
=⇒
YY1?Y2?
...Yn?
I Yi? · Yi? : Vetor na esfera unitaria
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 230 / 312
Programacao Semidefinida e Problema do Corte Maximo
xi · xj ⇒ Yi? · Yj? = (YY>)ij
(YY>)ij =
...
Yi?...
• . . . Yj? . . .
ij
(Q)
Formulacao Quadratica:Max 1
2∑
ij∈E wij(1− xi xj)
xi xi = 1 ∀i ∈ V⇓
(R)
Formulacao Relaxada:Max 1
2∑
ij∈E wij(1− (Y Y>)ij)
(Y Y>)ii = 1 ∀i ∈ V
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 231 / 312
Programacao Semidefinida e Problema do Corte Maximo
Relaxacao Vetorial
1
2
3
4
−1
−1
+1
0
+1
0 0
000
0 0
00 0
0Y =
−1
000
0 0
00 0
0
1 2 3 4
−1
0
0
0
+1 +1
Y = T
x = −1 +1 +1−1
1 2 3 4
+12
1 3
4
+1−1
−1
xixj = (YY T )ij e (YY T )ii = 1I.e.,
Max12
∑ij∈E
wij(1− (Y Y>)ij) ≥ OPT(G,w)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 232 / 312
Programacao Semidefinida e Problema do Corte Maximo
Algoritmo de Goemans e WilliamsonIdeia: Distribuir vetores na esfera unitaria, considerando forcas de repulsao
MAXCUT-GW (G,w)
1 Y ← solucao otima de (R)2 s ← RANDESFERA(V )3 S ← i ∈ V : sYi? > 0 4 devolva δ(S)
S
S
s
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 233 / 312
Programacao Semidefinida e Problema do Corte Maximo
Lema: Pr( ij ∈ δ(S) ) ≥ 1π arccos ((Y Y>)ij) .
Prova.Pr( ij ∈ δ(S) ) = Pr( syi > 0 e syj ≤ 0 ) + Pr( syi ≤ 0 e syj > 0 ) ,
onde yi = Yi? e yj = Yj?.
yj yj
yi
yj Sε yj Sεyi ε S
yj
yi yi
yi ε S yj Sεyi ε S
yi
yj
yj Sε
yi ε S
θθ
e
θ
θ
e
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 234 / 312
Programacao Semidefinida e Problema do Corte Maximo
Exemplo no R3 (fatia).
Pr( ij ∈ δ(S) ) =θ
2π+
θ
2π=θ
π
=arccos(yiyj)
π
=1π
arccos ((Y Y>)ij)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 235 / 312
Programacao Semidefinida e Problema do Corte Maximo
Teorema: E[w(δ(S))] ≥ 0,878 OPT(G,w) .Prova.
E[w(δ(S))] =∑ij∈E
wij Pr( ij ∈ δ(S) )
≥∑ij∈E
wij1π
arccos ((Y Y>)ij)
≥ 0,87812
∑ij∈E
wij(1− (Y Y>)ij) Troca por funcao linear
≥ 0,878 OPT(G,w) .
Teorema: MAXCUT-GW e uma 0,878-aproximacao probabilısticapolinomial.Teorema: O algoritmo MAXCUT-GW pode ser desaleatorizado(Mahajan e Ramesh’ 95).Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 236 / 312
Programacao Semidefinida e Problema do Corte Maximo
1π arccos(x) ≥ 0,878 1
2(1− x) .
0,8781
2(1− x)
1
πarccos(x)
0
0,2
0,8
1
−1 −0,5 0 0,5 1
0,6
0,4
Troca por funcao linear
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 237 / 312
Programacao Semidefinida e Problema do Corte Maximo
Programa Vetorial × Programa Semidefinido
Def.: X e positiva semidefinida (X 0),se ∃Y quadrada tal que X = Y Y>.
Programa Vetorial:Max 1
2∑
ij∈E wij(1− (Y Y>)ij)
(Y Y>)ii = 1 ∀i ∈ V⇓
Programa Semidefinido:Max 1
2∑
ij∈E wij(1− Xij)
Xii = 1 ∀i ∈ VX 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 238 / 312
Programacao Semidefinida e Problema do Corte Maximo
Programas SemidefinidosPrograma Semidefinido: Encontrar matriz quadrada X tal que
Min∑
ij∈V×V wij(Xij)
AkijXij = bk ∀k ∈ MX 0
I Dado uma matriz positiva semidefinida X , e possıvel obter umamatriz Y tal que X = YY T em tempo polinomial (modelo comnumeros reais).
I Solucoes de um programa semidefinido nao necessariamenteracional.
I Podemos encontrar solucoes arbitrariamente proximas da otimaatraves do Metodo do Elipsoide e do Algoritmo de PontosInteriores.
I Obtencao de solucoes otimas ou bem proximas das otimas(inevitavel pois solucoes otimas podem ser irracionais) [Goemans& Williamson, Homer & Peinado, Poljak & Rendl]
I RANDESFERA pode ser implementado de maneira aproximadapor geradores de numeros pseudo-aleatorios em [0,1] (Knuth’98)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 239 / 312
PTAS para Escalonamento de Tarefas
PTAS para Escalonamento de Tarefas
Problema ESCALONAMENTO: Dados uma lista de tarefasL = (J1, . . . , Jn), cada uma com tempo t(Ji) e m maquinas identicas,encontrar uma particao de L, (M1, . . . ,Mm), tal que maxi t(Mi) emınimo.
Teorema: O problema ESCALONAMENTO e um problema fortementeNP-completo.
Corolario: Nao existe FPTAS para ESCALONAMENTO, a menos queP = NP.
Vamos apresentar um PTAS para ESCALONAMENTO
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 240 / 312
PTAS para Escalonamento de Tarefas
Def.: Um algoritmo Rε e dito ser (1 + ε)-restrito para o problemaESCALONAMENTO se dado ε, tempo T e uma instancia (L, t ,m)devolve:
I ∅ - se nao existe um escalonamento com tempo T ouI S - onde S e um escalonamento com val(S) ≤ (1 + ε)T .
Lema: Seja L := maxmaxj t(Jj) ,∑
j t(Ji )
m , entao
OPT(L) ∈ [L,2L]
Prova. Note que o algoritmo ESCALONAMENTO-GRAHAM devolve umescalonamento limitado por maxj t(Jj) +
∑j t(Ji )
m ≤ 2L
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 241 / 312
PTAS para Escalonamento de Tarefas
Ideia: Construir algoritmo (1 + ε)-restrito e fazer busca binaria.Algoritmo de Hochbaum e Shmoys’88Este algoritmo usa um algoritmo (1 + ε)-restrito Rε como subrotina.
ESCALONAMENTO-HSε (L,m, t)1 S← ESCALONAMENTO-GRAHAM(L,m, t)2 T ′ ← maxmaxj t(Jj) ,
∑j t(Ji )
m 3 T ′′ ← 2T ′
4 ε′ ← ε3
4 enquanto T ′′ − T ′ > ε′T ′ faca5 seja T ← T ′+T ′′
26 S′ ← Rε′(L,m, t ,T )7 se S′ 6= ∅ entao8 T ′′ ← T ;9 S← S′;
10 senao11 T ′ ← T12 devolva S
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 242 / 312
PTAS para Escalonamento de Tarefas
Teorema: (Hochbaum & Shmoys’88) ESCALONAMENTO-HS e umPTAS para o problema do Escalonamento.Prova. A cada iteracao temos escalonamento S′ e intervalo [T ′,T ′′] que:• val(S′) ∈ [T ′,T ′′(1 + ε′)],• T ′′ ≤ T ′ + εT ′
• T ′ ≤ OPT.O algoritmo para com escalonamento S que
val(S) ≤ (1 + ε′)T ′′
≤ (1 + ε′)(T ′ + ε′T ′)= (1 + ε′)2T ′
≤ (1 + 2ε′ + ε′2)OPT
≤ (1 + ε)OPT
Complexidade de tempo: polinomial no tamanho da instancia e em 1ε .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 243 / 312
PTAS para Escalonamento de Tarefas
Algoritmo (1 + ε)-restritoSubrotina: algoritmo (1+ε)-restrito, RGε, para tarefas com tempomaior que εT .
Rε(L,m, t ,T )1 G← j ∈ L : t(j) > εT2 P ← L \G3 SG ← RGε(G,m, t ,T )4 se SG = ∅ entao devolva ∅5 senao6 preencha SG com itens em P usando ESCALONAMENTO-GRAHAM
7 se val(S) > (1 + ε)T entao devolva ∅8 senao devolva S
Lema: O algoritmo Rε e um algoritmo (1 + ε)-restrito.
Prova. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 244 / 312
PTAS para Escalonamento de Tarefas
Algoritmo (1 + ε)-restrito - Itens Grandes
Subrotina: algoritmo exato, Exatoε,k , para encontrar escalonamentoem tempo T , quando ha ate k tempos diferentes.Se nao existir tal escalonamento devolve ∅.
Ideia: Definir tempos fixos e arredondar tempos de processamentopara baixo.
RGε(G,m, t ,T )1 para cada j ∈ G faca2 seja i tal que t(j) ∈ [ εT + iε2T , εT + (i + 1)ε2T )3 t ′(j)← εT + iε2T4 k ← b1/ε2c5 S← Exatoε,k (G,m, t ′,T )6 devolva a particao S
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 245 / 312
PTAS para Escalonamento de Tarefas
Lema: O algoritmo RGε e um algoritmo (1 + ε)-restrito.Prova.Note que t ′(j) ∈ εT , εT +ε2T , . . . , εT +(k−1)ε2T , εT +k ε2T.
Seja S 6= ∅ um escalonamento gerado por RGε(G,m, t ′,T ).
Note queI ha no maximo 1
ε tarefas em cada processador;I perda devido ao arredondamento e no maximo ε2T .
Portanto o tempo total de processamento em um processador em S
usando tempo de processamento t e no maximo (1 + ε)T .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 246 / 312
PTAS para Escalonamento de Tarefas
Algoritmo exato para tarefas grandes e tempos restritos
Dado instancia (G,m, t ′,T ) e inteiro k , onde t ′(j) ≥ εT e ha nomaximo k tempos distintos em t ′, encontrar escalonamento S comtempo no maximo T , se existir.Daremos a versao de decisao deste algoritmo:Decidir se um conjunto L de tarefas pode ser executado em tempo Tusando no maximo m processadores
Estrategia: Programacao Dinamica.
I Numero de possiblidades de se escalonar apenas em umamaquina e polinomial.
I Para m maquinas, teste todas as possibilidades em uma maquinae verifique para cada possibilidade se as demais tarefas podemser executadas em m − 1 maquinas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 247 / 312
PTAS para Escalonamento de Tarefas
DecisaoExatoε,l(G,m, t ′,T )1 para i = 1 ate k faca2 si ← εT + (i − 1)ε2T3 ni ← |j ∈ G : t ′(j) = si|4 seja Q ← (a1, . . . ,ak ) :
∑ki=1 aisi ≤ T e 0 ≤ ai ≤ ni
5 M(0, . . . ,0)← 06 para cada (a1, . . . ,ak ) ∈ Q faca M(a1, . . . ,ak )← 17 para a1 ← 0 ate n1 faca8 para a2 ← 0 ate n2 faca9 . . .
10 para ak ← 0 ate nk faca11 se (a1, . . . ,ak ) /∈ Q entao12 seja (b1, . . . ,bk ) ∈ Q tal que M(a1−b1, . . . ,ak−bk ) e mınimo.13 M(a1, . . . ,ak )← 1 + M(a1 − b1, . . . ,ak − bk )14 se M(n1, . . . ,nk ) ≤ m devolva SIM
15 senao devolva NAO
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 248 / 312
PTAS para Escalonamento de Tarefas
Lema: Dados instancia (G,m, t ′) e tempo T , onde G tem no maximo ktempos de processamentos distintos em t ′, algoritmo DecisaoExatoε,kdecide se G pode ser escalonado em m maquinas com tempo maximoT em tempo polinomial.Prova. Como ni ≤ n, i = 1, . . . , k , temos
I |Q| = O(nk )
I Passo 4 e 6: tempo O(k nk )
I Passos 11–13: tempo O(k nk )
I Passos 7–13: tempo O(k n2k )
Portanto o algoritmo tem complexidade de tempo O(k n2k ), que epolinomial quando k e constante.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 249 / 312
Inaproximabilidade, Classes de Complexidade e PCP
InaproximabilidadeProblema de Otimizacao
I I: Conjunto de instancias.I Sol(I): Conjunto de solucoes para cada I ∈ I.I val(I,S): Valor da solucao S ∈ Sol(I).
Problema de MinimizacaoEncontrar S ∈ Sol(I) tal que val(I,S) e mınimo.
Problema de MaximizacaoEncontrar S ∈ Sol(I) tal que val(I,S) e maximo.
Solucao OtimaSolucao mınima (maxima) para problema de minimizacao
(maximizacao).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 250 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Classes de AproximabilidadeNPO - Extensao dos problemas de NP a problemas de otimizacao
I ∃ funcao polinomial p tal que 〈S〉 ≤ p(〈I〉), ∀I ∈ I, ∀S ∈ Sol(I).I Dado palavra X , ∃ algoritmo polinomial que decide se X ∈ I.I Dado objeto Y e I ∈ I, ∃ algoritmo polinomial que decide se Y ∈ Sol(I).I Dado I ∈ I e S ∈ Sol(I), ∃ algoritmo polinomial que calcula
val(I,S).
PO - Problemas de NPO para os quais existe algoritmo polinomialexato
APX - Problemas de NPO para os quais existe α-aproximacaopolinomial, para α constante.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 251 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Fato: PO ⊆ FPTAS ⊆ PTAS ⊆ APX ⊆ NPO
Possıvel configuracao para estas classes:
APXFPTAS PTAS NPOPO
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 252 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Teorema: MOCHILA ∈ FPTAS.
Teorema: ESCALONAMENTO ∈ PTAS.
Teorema: Os seguintes problemas de otimizacao em grafos planaressao NP-difıceis e admitem PTAS (Baker’94): Conjunto independente,cobertura mınima, conjunto dominante, empacotamento de triangulos.
Teorema: Os problemas EMPACOTAMENTO, MAXCUT, MAXSAT,MINCV, MINFS, TSPM pertencem a APX.
Teorema: MINCC, MINMCUT, MINTC, TSP pertencem a NPO.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 253 / 312
Inaproximabilidade, Classes de Complexidade e PCP
NP-Completo no sentido forte
Max(I): maior numero inteiro em valor absoluto que ocorre em I ∈ I;Max(I) := 0 se nenhum numero inteiro ocorre em I.
Ip:= I ∈ I : Max(I) ≤ p(〈I〉) para uma funcao polinomial p.
Π e NP-completo no sentido forte ou fortemente NP-completose existe funcao polinomial p tal que Πp e NP-completo.
Teorema: O problema da Mochila nao e fortemente NP-completo.Prova. Exercıcio.
Teorema: Os seguintes problemas em grafos planares sao fortementeNP-completos: Conjunto independente, cobertura mınima, conjuntodominante, empacotamento de triangulos.Prova. Exercıcio.
Teorema: O problema ESCALONAMENTO e um problema fortementeNP-completo.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 254 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Teorema: (Garey & Johnson’78) Seja Π ∈NPO fortementeNP-completo tal que val(I,S) e inteiro nao-negativo ∀I ∈ I e∀S ∈ Sol(I). Se p(n,m) e uma funcao polinomial tal que
OPT(I) ≤ p(〈I〉,Max(I)), ∀I ∈ I
e Π ∈ FPTAS, entao P = NP.Prova. Seja Π problema de minimizacao (analogo para maximizacao).Seja A um FPTAS para Π.
Seja ε :=1
p(〈I〉,Max(I)) + 1. Em tempo polinomial temos
val(I,A(ε, I))− OPT(I) ≤ εOPT(I)
=OPT(I)
p(〈I〉,Max(I)) + 1
< 1 ,
para toda instancia I. I.e., val(I,A(ε, I)) = OPT(I).Este teorema e valido tambem para numeros racionais.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 255 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Teorema: Se PO = FPTAS, entao P = NP.Prova. Exercıcio.
Teorema: Se FPTAS = PTAS, entao P = NP.Prova. Exercıcio.
Teorema: Se PTAS=APX, entao P=NP.Prova. Exercıcio.
Teorema: Se APX=NPO, entao P=NP.Prova. Exercıcio.
Teorema: Se P = NP, entao PO = NPO.Prova. Veja Ausiello, Crescenzi, Gambosi, Kann,Marchetti-Spaccamela e Protasi’99.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 256 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Completude para problemas de Otimizacao
Uma AP-reducao de um problema de otimizacao Π a um problema deotimizacao Π′ (Π ≤AP Π′) e um terno (f ,g, β) onde f e g sao algoritmose β e um racional positivo tais que:
(AP1) f recebe racional positivo δ e instancia I de Π, e devolveuma instancia f (δ, I) de Π′;
(AP2) g recebe racional positivo δ, instancia I de Π e um elementoS′ em Sol(f (δ, I)), e devolve g(δ, I,S′) em Sol(I);
(AP3) para todo numero racional positivo δ, os algoritmos f (δ, ·) eg(δ, ·, ·) sao polinomiais; e
(AP4) para toda instancia I de Π, todo numero racional positivo δ,e todo S′ em Sol(f (δ, I)), vale que se(1− δ) OPT(f (δ, I)) ≤ val(f (δ, I),S′) ≤ (1 + δ) OPT(f (δ, I)) ,entao(1− βδ) OPT(I) ≤ val(I,g(δ, I,S′)) ≤ (1 + βδ) OPT(I) .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 257 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Instância
Solução
I
S′ := A′(I′)
S′
I′
S(1± δ)-aproximacao(1± βδ)-aproximacao
Π Π′
S := g(δ, I,S′)
I′ := f (δ, I)
Teorema: Se Π1 ≤AP Π2 e Π2 ≤AP Π3, entao Π1 ≤AP Π3.Prova. Exercıcio.
Teorema: Se Π esta em NPO, Π′ esta em APX e Π ≤AP Π′, entao Πesta em APX.Prova. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 258 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Teorema: Se Π ∈ NPO, Π′ ∈ PTAS e Π ≤AP Π′, entao Π ∈ PTAS.Prova. Seja A′ um PTAS para Π′ e (f ,g, β) uma AP-reducao de Π aΠ′. Vamos fazer um esquema de aproximacao A para Π.
A (ε, I)1 ε′ ← ε/β
2 I′ ← f (ε′, I)3 S′ ← A′(ε′, I′)4 S ← g(ε′, I,S′)5 devolva S
Instância
Solução
I
S′ := A′(I′)
S′
I′
S(1± ε′)-aproximacao(1± ε)-aproximacao
Π Π′
S := g(ε′, I,S′)
I′ := f (ε′, I)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 259 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Def.: Um problema Π em APX e APX-completo se cada problema emAPX pode ser AP-reduzido a Π.
Teorema: (Papadimitriou & Yannakakis’91 e Khanna, Motwani, Sudan& Vazirani’99) O problema MAXSAT e APX-completo.
Def.: Um problema Π, nao necessariamente em APX, e APX-difıcil sea existencia de um esquema de aproximacao polinomial para Πimplica em P = NP.
Teorema: Os problemas EMPACOTAMENTO, MAXCUT, MAXSAT,MINCC, MINCV, MINFS, MINMCUT, MINTC, TSPM e TSP saoAPX-difıceis.
Def.: Um problema Π em NPO e NPO-completo se cada problema emNPO pode ser AP-reduzido a Π.
Teorema: (Orponen e Mannila’87) O problema TSP e NPO-completo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 260 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Limiares de aproximacao
Def.: O limiar de aproximacao (approximation threshold) de umproblema de minimizacao (maximizacao) e o maior (menor) limitanteinferior (superior) de todos os α para os quais existe umaα-aproximacao polinomial para o problema.
Lema: Se P = NP entao o limiar de aproximacao de todo problemaem NPO e 1.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 261 / 312
Inaproximabilidade, Classes de Complexidade e PCP
A tabela seguinte mostra alguns resultados sobre os limiares deaproximacao para varios problemas, considerando P 6= NP.
problema limiar de aproximacao
MOCHILA = 1 (Ibarra & Kim’75) (o problema esta em FPTAS)ESCALONAMENTO = 1 (Hochbaum & Shmoys’88) (o problema esta em PTAS)EMPACOTAMENTO ≥ 3/2 (Garey & Johnson’79)MAXCUT ≤ 16/17 (Hastad’97)MAXSAT ≤ 7/8 (Hastad’97)MINCV ≥ 7/6 (Hastad’97)TSPM ≥ 131/130 (Engebretsen & Karpinski’00)MINCC (E , S, c) > ε log |E |, para alguma constante ε > 0 (Raz & Safra’97)MINTC (E , S, c) > ε log |E |, para alguma constante ε > 0
(equivalente ao MINCC (Ausiello, D’Atri & Protasi’80)TSP (G, c) > f (〈G, c〉), para toda funcao f computavel
em tempo polinomial (Sahni & Gonzalez’76)CLIQUE(V ,E) < 1/|V |1−ε (Zuckerman’07) para todo ε > 0
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 262 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Provas Verificaveis Probabilisticamente
Classe NPI Alfabeto Σ = 0,1I Linguagem L ⊆ Σ∗
I L ∈ NP⇔ ∀I ∈ L existe certificado “curto” CI e algoritmopolinomial V que verifica que I ∈ L.
Sistemas de Provas PCP (Probabilistically Checkable Proofs)Def.: Dada instancia I, 〈I〉 = n, funcoes r(n) e q(n), e uma sequenciaτ de bits aleatorios, dizemos que V e um verificador(r(n),q(n))-restrito se existem funcoes inteiras r(n) = O(r(n)) eq(n) = O(q(n)) tal que
I V, acessa I e r(n) primeiros bits de τ eI determina q(n) posicoes de Π, i1, i2, . . . , iq(n)I acessa Πi1 ,Πi2 , . . . ,Πiq(n)
e responde ACEITA ou REJEITA
deterministicamente.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 263 / 312
Inaproximabilidade, Classes de Complexidade e PCP
V (I, τ,Π)
I : 〈I〉 = n τ : |τ | = r(n) bits aleatorios
i1 i2 i3 iq(n)
Verificador (r(n),q(n))-restrito
Πi1 Πi2 Πi3 Πq(n)
Prova Π
Geracao de q(n) posicoes independente de Π ACEITA/REJEITA
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 264 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Def.: Uma linguagem L ∈ Σ∗ esta em PCP(r(n),q(n)) se e so seexiste um verificador (r(n),q(n))-restrito tal que
I Para todo I ∈ L, ∃ ΠI ∈ Σ∗ :Prτ (V (I, τ,ΠI) = ACEITA) = 1
I Para todo I /∈ L, ∀ Π ∈ Σ∗
Prτ (V (I, τ,Π) = ACEITA) < 14
No lugar de 14 poderıamos ter no lugar, qualquer valor constante β,
onde 0 < β < 1.
Nova caracterizacao de NP
Teorema: (Arora, Lund, Motwani, Sudan & Szegedy’92)PCP(log n,1) = NP.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 265 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Inaproximabilidade do MAX3SAT
Problema MAX3SAT (V , C) Dada uma colecao C de clausulas sobreum conjunto V de variaveis, cada clausula com exatamente 3variaveis, encontrar uma valoracao x de V que satisfaca o maiornumero possıvel de clausulas de C.
Teorema: Se P 6= NP entao MAX3SAT /∈ PTAS.Prova.Vamos mostrar que
MAX3SAT ∈ PTAS⇒ ∃ algoritmo polinomial para decidir L,para qualquer L ∈ NP.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 266 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Seja L ∈ NP e I ∈ Σ∗. Vamos considerar a pertinencia I ∈ L.
Como L ∈ PCP(log n,1) existe verificador V , (log n,1)-restrito para L.
Dado I vamos mostrar como construir em tempo polinomial umainstancia SI para MAX3SAT tal que
I ∈ L ⇒ SI e satisfatıvelI /∈ L ⇒ no maximo 1
4 das clausulas de SI pode ser satisfeita(a fracao e independente de I)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 267 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Dado sequencia τ de bits aleatorios, onde |τ | = r(n) = O(log n),verificador V obtem enderecos i1, i2, . . . , ik em Π, onde k e constante.
V devolve ACEITA ou REJEITA considerando os k valoresΠi1 ,Πi2 , . . . ,Πik da prova Π.
Considere todas as atribuicoes de k bits para estes enderecos para osquais V responde ACEITA.
Seja Sτ uma formula em 3-Sat que representa estas atribuicoes, Sτcom no maximo K clausulas de 3 variaveis.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 268 / 312
Inaproximabilidade, Classes de Complexidade e PCP
V (I, τ,Π)
I : 〈I〉 = n τ : |τ |= r(n)=O(log n) bits aleatorios
i1 i2 i3 ik
Sτ :=Formula em 3-Sat para respostas ACEITOde atribuicoes de (bi1 , . . . ,bik )# clausulas de Sτ ≤ K = f (k) = O(1)
bi1 bi2 bi3 bik
Geracao de k = O(1) posicoes independente de Π AC/RE
Verificador (log n,1)-restrito
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 269 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Agora, considere todos os m := 2r(n) valores possıveis para bitsaleatorios, τ1, τ2, . . . , τm.
Considere a formula S := Sτ1
∧Sτ2
∧. . .∧
Sτm
I ∈ L ⇒ ∃ΠI tal que SI e satisfatıvel
I /∈ L ⇒ ∀Π no maximo 14 das formulas Sτi
pode ser satisfeita simultaneamente
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 270 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Para Sτi nao ser satisfeita, basta uma de suas clausulas (de nomaximo K ) nao ser satisfeita.
Vamos calcular uma fracao maxima de clausulas satisfeitas
S := Sτ1
∧Sτ2
∧. . .∧
Sτm/4︸ ︷︷ ︸satisfeitas
∧Sτm/4+1
∧. . .∧
Sτm︸ ︷︷ ︸nao satisfeitas
Assim, se I /∈ L no maximoK · m
4 + (K − 1) · 3m4
K ·m= 1− 3
4Kdas
clausulas podem ser satisfeitas.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 271 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Assim,• ou todos as clausulas de S sao satisfeitas,
• ou no maximo(
1− 34K
)das clausulas de S sao satisfeitas.
Portanto, se tivermos uma α-aproximacao para o MAX3SAT, comα >
(1− 3
4K
), podemos decidir a existencia de uma prova Π para I.
Teorema: Se P 6= NP, entao MAXSAT /∈ PTAS.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 272 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Inaproximabilidade do CLIQUE
Teorema: (Zuckerman’07) Se existir uma n1−ε-aproximacao polinomialpara o problema CLIQUE, para qualquer ε > 0, entao P = NP.
Este resultado usa o sistema PCP. Provaremos algo mais fraco.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 273 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Teorema: Se existir uma α-aproximacao polinomial para o problemaCLIQUE, para qualquer constante α > 0, entao P = NP.
Prova.Vamos mostrar queCLIQUE ∈ APX⇒ ∃ algoritmo polinomial para decidir L, onde L ∈ NP.
Seja L ∈ NP e I ∈ Σ∗. Vamos considerar a pertinencia I ∈ L.
Como L ∈ PCP(log n,1) existe verificador V , (log n,1)-restrito para L.Dado I vamos construir um grafo GI para o problema CLIQUE tal que
I ∈ L ⇒ ω(GI) = f (n)
I /∈ L ⇒ ω(GI) <14 f (n)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 274 / 312
Inaproximabilidade, Classes de Complexidade e PCP
A cada consulta de bits aleatorios τ , |τ | = r(n) = O(log n), V obtem kenderecos i1, i2, . . . , ik
V consulta Πi1 ,Πi2 , . . . ,Πik e devolve ACEITA ou REJEITA.
Seja GI = (VI ,EI) grafo tal queI VI sao todas as sequencias de r(n) + k bits (τ,bi1 ,bi2 , . . . ,bik ) tal
que V consulta os enderecos i1, i2, . . . , ik e os valores(bi1 ,bi2 , . . . ,bik ) para estas posicoes fazem V devolver ACEITO.
I Dados dois vertices v ′ e v ′′,
v ′ = (τ ′,bi ′1, . . . ,bi ′k
) e v ′′ = (τ ′′,bi ′′1, . . . ,bi ′′k
)
v ′, v ′′ ∈ EI se nao ha conflito no valor de dois bits de mesmaposicao.
Note que GI pode ser construido em tempo polinomial.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 275 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Dado prova Π qualquer,
ω(GI) ≥ |τ : V (I, τ,Π) = ACEITA|= 2r(n)Prτ (V (I, τ,Π) = ACEITA)
Dado um clique C em GI , |C| = ω(GI), existe prova ΠC , consistentecom todos os vertices de C
ω(GI) ≤ |τ : V (I, τ,ΠC) = ACEITA|= 2r(n)Prτ (V (I, τ,ΠC) = ACEITA)
Portanto
ω(GI) = 2r(n) maxΠ
Prτ (V (I, τ,Π) = ACEITA)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 276 / 312
Inaproximabilidade, Classes de Complexidade e PCP
Pela definicao de sistemas PCP,
maxΠ
Prτ (V (I, τ,Π) = ACEITA)
= 1 se I ∈ L< 1
4 se I /∈ L
Assim,• ou existe clique de tamanho f (n),• ou o clique maximo e menor que 1
4 f (n),onde f (n) = 2r(n).
Portanto, se tivermos uma 4-aproximacao para o CLIQUE podemosdecidir a existencia de uma prova Π para I.
Fortalecendo o verificador para probabilidade de 1/α, no lugar de 1/4,provamos que nao existe uma α-aproximacao para o CLIQUE.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 277 / 312
Tecnica Metrica e Problema do K-Multicorte
Tecnica MetricaDef.: Dados grafo G e conjunto K de pares de vertices, um caminhode s a t e um K -caminho se s, t ∈ K .
Def.: Um conjunto M de arestas e um K -multicorte se nao existeK -caminho no grafo G −M.
Problema MINMCUT (G,K , c) Dados grafo G, conjunto K de pares devertices e custo ce ∈ Q≥ para cada e ∈ EG, encontrar um K -multicorteM que minimize c(M) =
∑e∈M ce.
Teorema: O problema MINMCUT (G,K , c) e polinomial quando|K | = 1 ou |K | = 2 e NP-difıcil quando |K | ≥ 3.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 278 / 312
Tecnica Metrica e Problema do K-Multicorte
Seja P o conjunto de todos os K -caminhos. O seguinte programalinear e uma relaxacao para MINMCUT.
Encontrar um vetor x indexado por EG que
(P)
minimize∑e∈E
ce xe∑e∈EP
xe ≥ 1 para cada P em P ,
xe ≥ 0 para cada e em EG .
Algoritmo de Garg, Vazirani e Yannakakis:
MINMCUT-GVY (G,K , c), K 6= ∅.1 seja x uma solucao otima racional de (P).2 k ← |K |3 M ← CENTRAL (G, k ,K , c, x)
4 devolva MFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 279 / 312
Tecnica Metrica e Problema do K-Multicorte
Apresentaremos o algoritmo CENTRAL e a prova do seguinte lemaposteriormente.
Lema: O algoritmo CENTRAL produz um K -multicorte M em tempopolinomial tal que
∑e∈M ce ≤ (4 ln 2k) c x .
Teorema: (Garg, Vazirani, Yannakakis’96) O algoritmoMINMCUT-GVY e uma (4 ln 2k)-aproximacao polinomial para oMINMCUT (G,K , c), sendo k := |K | > 0.Prova.
c(M) =∑e∈M
ce ≤ (4 ln 2k) c x ≤ (4 ln 2k) OPT(G,K , c) .
A linha 1 de MINMCUT-GVY pode ser executada em tempopolinomial, pois temos algoritmo de separacao para as desigualdadesde (P).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 280 / 312
Tecnica Metrica e Problema do K-Multicorte
Algoritmo CentralO algoritmo CENTRAL separa pelo menos um par de s, t ∈ K emcada chamada recursiva.
Para isto, o algoritmo encontra um corte (S,T ) tal que
1. nenhum par em K esta em S,
2. algum par em K tem extamente um vertice em S
3. c(δ(S)) e razoavelmente pequeno.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 281 / 312
Tecnica Metrica e Problema do K-Multicorte
Sejax(s,u) := min
∑e∈EP
xe : P e um caminho de s a u.
V (s, ρ) := v ∈ VG : x(s, v) ≤ ρ .
Ideia: Imagine que as arestas do grafo sao tubos, sendo xe ocomprimento e ce a area da seccao transversal do tubo e.
Denote por ϑ(s, ρ) o volume da parte da tubulacao que dista nomaximo ρ de s:
ϑ(s, ρ) := cA xA +∑
uv∈δ(S), u∈S cuv (ρ− x(s,u)) ,
onde S := V (s, ρ) e cA e xA sao as restricoes de c e x , ao conjuntoA :=EG[S].
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 282 / 312
Tecnica Metrica e Problema do K-Multicorte
s
S
c(δ(S))
S := ϑ(s, ρ)
ce = secao transversal do tuboxe = comprimento do tuboc(δ(S)) = custo do corte
ρ
0
ϑ(s, ρ)
ρ12
Descontinuidades podem ocorrer pela inclusao de toda uma aresta.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 283 / 312
Tecnica Metrica e Problema do K-Multicorte
CENTRAL (G, k ,K , c, x), |K | ≤ k1 se K = ∅2 entao devolva ∅3 senao se c x = 04 entao devolva e ∈ EG : xe > 05 senao sejam s, t ∈ K6 seja v1, . . . , vn tal que x(s, v1) ≤ · · · ≤ x(s, vn)7 para i de 1 a n faca pi ← x(s, vi)
8 j ← 1 + maxi : pi = 09 enquanto ϑ(s,pj) > ((2k)2pj − 1) 1
k c x faca j ← j +110 S ← V (s,pj−1)
11 T ← VG \ S12 B ← EG[T ]
13 GB ← (VG,B)
14 KB ← K \ s′, t ′ : S separa s′ de t ′15 MB ← CENTRAL (GB, k ,KB, cB, xB)
16 devolva δ(S) ∪MBFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 284 / 312
Tecnica Metrica e Problema do K-Multicorte
Lema: Em uma chamada, temos pj−1 <12 , e portanto x(s,u) < 1
2 paratodo u ∈ S.Prova.Seja h o menor natural tal que ph ≥ 1
2 .Temos que 2 ≤ h ≤ n ja que pn ≥ x(s, t) ≥ 1 e p1 = 0.
Como ϑ(s,ph) ≤ c x e k ≥ 1 temos
ϑ(s,ph) ≤ c x
≤((2k)2ph − 1
)1k
c x
assim, h nao satisfaz condicao da linha 9 e portanto j ≤ h.
Corolario: Em uma chamada, para um par s, t, temos s ∈ S et /∈ S. Alem disso, se si , ti ∈ K − s, t, entao si /∈ S ou ti /∈ S.Prova. Exercıcio.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 285 / 312
Tecnica Metrica e Problema do K-Multicorte
Lema: Ao fim da linha 10 do algoritmo CENTRAL, temos que
c(δ(S)) ≤ (2 ln 2k)(
cA xA + cδ(S)xδ(S) + 1k c x
),
onde A := EG[S].Prova. Note que apos a linha 9, temos
pj−1 < pj , (1)
ϑ(s,pj) ≤ ((2k)2pj − 1) 1k c x . (2)
ϑ(s,pj−1) ≥ ((2k)2pj−1 − 1) 1k c x e (3)
De (3) e (2) temos que
ϑ(s,pj) + 1k c x
ϑ(s,pj−1) + 1k c x
≤ (2k)2(pj−pj−1) . (4)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 286 / 312
Tecnica Metrica e Problema do K-Multicorte
Tomando-se o logaritmo natural do lado esquerdo de
ϑ(s,pj) + 1k c x
ϑ(s,pj−1) + 1k c x
≤ (2k)2(pj−pj−1) . (5)
obtemos
ln(ϑ(s,pj) + 1
k c x)− ln
(ϑ(s,pj−1) + 1
k c x)
=
=
∫ pj
pj−1
ddρ
ln(ϑ(s, ρ) + 1
k c x)
dρ
=
∫ pj
pj−1
c(δ(S))
ϑ(s, ρ) + 1k c x
dρ ,
(note que ϑ(s, ρ) e uma funcao linear com coeficiente c(δ(S))).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 287 / 312
Tecnica Metrica e Problema do K-Multicorte
Tomando-se o logaritmo natural do lado direito de
ϑ(s,pj) + 1k c x
ϑ(s,pj−1) + 1k c x
≤ (2k)2(pj−pj−1) . (6)
obtemos
2(pj − pj−1) ln 2k =
∫ pj
pj−1
(2 ln 2k) dρ .
Como o logaritmo e uma funcao crescente, concluımos de (6) que∫ pj
pj−1
c(δ(S))
ϑ(s, ρ) + 1k c x
dρ ≤∫ pj
pj−1
(2 ln 2k) dρ .
Entao, para algum ρ no intervalo (pj−1,pj) temos que
c(δ(S))
ϑ(s, ρ) + 1k c x
≤ (2 ln 2k).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 288 / 312
Tecnica Metrica e Problema do K-Multicorte
Assim,
c(δ(S)) ≤ (2 ln 2k)(ϑ(s, ρ) +1k
c x)
≤ (2 ln 2k)(cA xA +∑
uv∈δ(S), u∈S
cuv (ρ− x(s,u)) +1k
c x)
≤ (2 ln 2k)(cA xA +∑
uv∈δ(S)
cuv xuv +1k
c x)
= (2 ln 2k)(cA xA + cδ(S)xδ(S) +1k
c x)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 289 / 312
Tecnica Metrica e Problema do K-Multicorte
Teorema: O algoritmo CENTRAL (G, k ,K , c, x) produz umK -multicorte M em tempo polinomial tal que
c(M) ≤ (2 ln 2k)(1 + 1k |K |)c x . (7)
Prova. Por inducao em |K |.
Se K = ∅ ou c x = 0, claramente (7) vale.Suponha que K 6= ∅ e c x > 0.Neste caso, o algoritmo devolve M := δ(S) ∪MB. Assim,
c(δ(S) ∪MB) = c(δ(S)) + cB(MB)
≤ (2 ln 2k)(cA xA + cδ(S)xδ(S) +
1k
c x + (1 +1k|KB|)cB xB
)= (2 ln 2k)
(c x +
1k
c x +1k|KB|cB xB
)≤ (2 ln 2k)
(c x +
1k
c x +1k
(|K | − 1)c x)
≤ (2 ln 2k)(1 +1k|K |)c x .
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 290 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Equilıbrio de Nash e Busca Local
I Internet: Rede gigantesca com grande quantidade de usuarios ecomplexa estrutura socio-economica
I Usuarios podem ser competitivos, cooperativos,...
I Situacoes envolvendo Teoria dos Jogos e Computacao
Ref.: Cap. 12 - Local Search do livro Algorithm Design de Kleinberg eTardos
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 291 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Um jogo Multicast
I Jogadores podem construir links entre nos
I Ha um no origem
I Cada jogador representa um no destino
I Cada jogador quer conectar o no origem ate seu no destino
I Ha cooperacao na construcao da rede. Isto e, o custo de um linke dividido igualmente entre os usuarios que o utilizam
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 292 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Definicao
DadosI Grafo direcionado G = (V ,E)
I Custo positivo ce para cada aresta e.I Vertice fonte sI k vertices destinos t1, . . . , tk
Cada usuario i procura encontrarI caminho orientado Pi do vertice s ate ti pagando menos
Custo para
I usuario i e c(Pi) =∑e∈Pi
ce
ke, onde ke numero de caminhos usando e
I sistema e c(P1, . . . ,Pk ) =∑
i
c(Pi) (custo social)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 293 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Jogo
Regras do Jogo:I Cada usuario fica estavel ou muda sua rota (pagando menos)
baseado apenas na configuracao atual
I Em um estado do jogo com caminhos (P1, . . . ,Pk ), denotamospor E+ ⊆ E as arestas usadas em pelo menos um caminho.
I O custo social e o custo dos caminhos escolhidos pelosjogadores:
c(P1, . . . ,Pk ) =k∑
i=1
c(Pi) =∑
e∈E+
ce
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 294 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Exemplo 1
I Temos dois jogadores: 1 e 2I Cada um tem duas alternativas: uma rota externa e uma interna.
t1
1 1
s
t2
4 8
5
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 295 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Exemplo 1
I Considere que inicialmente os jogadores usam as rotas externas.I O jogador 1 paga 4 e o jogador 2 paga 8I O custo social e igual a 12.
t2t1
4 85
s
1 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 296 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Exemplo 1
I O jogador 2 muda para a rota interna e seu custo cai para 6I O custo social cai para 10
t2t1
4 8
5
s
1 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 297 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Exemplo 1
I O jogador 1 tem incentivo a mudarI Cada jogador paga 2,5 + 1, e estamos em um equilıbrioI O custo social cai para 7 (solucao final tambem e otima)
t2t1
5
4 8
s
1 1
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 298 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Definicoes e NotacaoI A Estrategia do jogador i e o conjunto de rotas de s para tiI O estado do jogo em um momento e dado pelos k caminhos
(P1, . . . ,Pk ) no momentoI O otimo social e o menor valor possıvel de uma solucao (dos k
caminhos), possivelmente nao esta em equilıbrio.I Um usuario i esta insatisfeito no estado atual, se ele pode mudar
sua rota por outra de custo melhorI Estado em Equilıbrio de Nash quando nao ha usuarios
insatisfeitosI O Preco da Estabilidade razao entre a melhor solucao em
equilıbrio com o otimo socialI O Preco da Anarquia razao entre a pior solucao em equilıbrio com
o otimo socialI Melhor resposta: movimento para estrategia de maior ganho
positivoFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 299 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Precos da anarquia e da estabilidade para minimizacao
Otimo Social = OPT
Preco da Anarquia =PE
OPTMelhor equilıbrio = ME
Preco da Estabilidade =MEOPT
Pior equilıbrio = PE
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 300 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Exemplo 2I Na rede abaixo ha k jogadores todos com mesmo destino tI Considere todos usando a aresta da direitaI Estamos em um equilıbrio com custo k (cada jogador paga 1).
I O otimo social tem custo 1 (cada jogador paga1k
).
k Jogadores
k
s
t
1
Teorema: O preco da anarquia deste jogo Multicast e k.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 301 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Metodo da Funcao Potencial e o Preco da Estabilidade
Def.: Uma funcao potencial exata Φ e uma funcao queI mapeia cada vetor de estrategia P para um valor real tal queI se P = (P1, . . . ,Pi , . . . ,Pk ) e
P ′i 6= Pi e uma estrategia alternativa para o jogador i, entao
Φ(P)− Φ(P ′) = ci(Pi)− ci(P ′i ),
onde P ′ = (P1, . . . ,P ′i , . . . ,Pk )
Fato: Seja Φ uma funcao potencial exata para o jogo do Multicastcom dinamica de melhor resposta. Se jogador i muda sua estrategiade Pi para P ′i , e o vetor de estrategia muda de P para P ′, entao
Φ(P) > Φ(P ′).
Isto e, Φ e estritamente decrescente apos jogadas.Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 302 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Funcao Potencial para MulticastDado vetor de estrategias P = (P1, . . . ,Pk ), denote por
Φ(P) =∑
e
ce · H(ke),
ondeH(t) = 1 +
12
+ · · ·+ 1t
e H(0) = 0
ke e o numero de caminhos de P que usam e
Lema: Φ e uma funcao potencial exata.Prova. Exercıcio
Fato: Φ(P) e limitado inferiormente.Prova. Exercıcio
Lema: O jogo Multicast com a dinamica de melhor resposta convergepara um equilıbrio de Nash.Prova. ExercıcioFlavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 303 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Preco da EstabilidadeLema: Se P = (P1, . . . ,Pk ) e um vetor de estrategia, entao
c(P) ≤ Φ(P) ≤ H(k)c(P).
Teorema: O preco da estabilidade do jogo Multicast e no maximo H(k).Prova. Seja:OPT um vetor de estrategia otimo (otimo social)O um vetor de estrategia em equilıbrio obtido a partir de OPTP um vetor de estrategia em Equilıbrio de Nash de menor custo
c(P) ≤ c(O)
≤ Φ(O)
≤ Φ(OPT)
≤ H(k) · c(OPT)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 304 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Lema: O preco da estabilidade H(k) do problema de Multicast e justo(melhor possıvel).Prova.
s
1 + εt1 t2 t3 tk−1 tk
0 0 0
12
131
0 0
1k−1
1k
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 305 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Observacoes
I Tempo de convergencia do problema Multicast pode serexponencial
I Encontrar otimo social e um problema NP-difıcil.
Exercıcio: Mostre que encontrar o otimo social do problema Multicaste um problema NP-difıcil. Sugestao: por Cobertura por Conjuntos.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 306 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Complexidade de se encontrar Equilıbrio de Nash emJogos Potenciais
O quao difıcil e encontrar um algoritmo polinomial para encontrar umequilıbrio de Nash ?
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 307 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Classe PLS - Polynomial Local Search Problems
Em um problema de otimizacao (minimizacao) temos:
I conjunto de instancias II para entrada x ∈ I, temos um conjunto de solucoes viaveis F (x)
I para toda solucao s ∈ F (x) temos um custo cx (s)
I um oraculo que diz se s pertence ou nao a F (x) e em casopositivo, computa cx (s)
O problema consiste em dado x ∈ I, encontrar s ∈ F (x) tal que cx (s) emınimo.
A versao de maximizacao e analoga.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 308 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Um problema de otimizacao local e um problema de otimizacao ondeI ha uma vizinhanca Nx (s) ⊂ F (x) para cada x ∈ I e s ∈ F (x)
I e uma solucao s de F (x) e um mınimo local se cx (s) ≤ cx (s′)para todo s′ ∈ Nx (s).
O objetivo e encontrar uma solucao que e mınimo local.
Um problema de otimizacao local pertence a PLS se temos umoraculo que, para qualquer instancia x ∈ I e solucao s ∈ F (x), decidese s e otimo local, e se nao for, devolve s′ ∈ Nx (s) com cx (s′) < cx (s).
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 309 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Def.: (Johnson, Papadimitriou, Yannakakis’88) Um problema P ePLS-completo se esta em PLS e se para todo problema Q de PLS, hauma reducao polinomial de Q para P, tal que qualquer otimo local deP corresponde a um otimo local de Q.
Ha varios problemas em PLS-completo (Circuit-SAT com pesos, buscade otimos locais relativos ao TSP, MAXCUT, SAT, etc)
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 310 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Problema da Satisfatibilidade com Pesos (LSAT -Local SAT):
I Seja φ uma formula em Forma Normal Conjuntiva (FNC)C1 ∧ . . . ∧ Cm
I cada clausula Cj com peso wj .I Uma atribuicao logica qualquer das variaveis e uma solucao de φ.I O valor de uma solucao s e o peso total das clausulas satisfeitas
por s.I A vizinhanca de s sao as atribuicoes obtidas trocando o valor de
apenas uma variavel de s.I O objetivo e encontrar uma solucao que e mınimo local.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 311 / 312
Equilıbrio de Nash, Busca Local e Jogo Multicast
Teorema: (Krentel’89) O problema LSAT e um problemaPLS-completo.
Teorema: (Fabrikant, Papadimitriou, Talwar’04) O problema de seencontrar um equilıbrio puro de Nash em jogos potenciais, onde amelhor resposta e computada em tempo polinomial, e PLS-completo.
Flavio Keidi Miyazawa (Unicamp) Algoritmos de Aproximacao Campinas, 2001-2018 312 / 312