Table Of Content(cid:3)(cid:0)(cid:3)(cid:3)(cid:0)(cid:0)(cid:3)(cid:0)(cid:3)(cid:0)(cid:3)(cid:3)(cid:0)(cid:0)
(cid:3)(cid:3)(cid:2)(cid:2)(cid:1)(cid:2)(cid:0)(cid:1)(cid:0)(cid:3)(cid:1)(cid:2)(cid:3)(cid:0)(cid:1)(cid:2)(cid:3)(cid:2)(cid:0)(cid:3)(cid:1)(cid:0)(cid:1)(cid:3)(cid:2)(cid:0)(cid:0)(cid:1)(cid:3)(cid:2)(cid:2)(cid:0)(cid:1)(cid:3)(cid:2)(cid:3)(cid:1)(cid:0)(cid:1)(cid:0)(cid:3)(cid:2)(cid:3)(cid:0)(cid:1)(cid:0)(cid:2)(cid:1)(cid:2)(cid:3)(cid:2)(cid:3)(cid:1)(cid:0)(cid:1)(cid:0) UNIVERSIDADE DE CAMPINAS - UNICAMP
(cid:3)(cid:2)(cid:1)(cid:2)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:3)(cid:1)(cid:0)(cid:3)(cid:0)(cid:3)(cid:2)(cid:0)(cid:3)(cid:1)(cid:0)(cid:2)(cid:3)(cid:1)(cid:0)(cid:2)(cid:3)(cid:1)(cid:0)
(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1) INSTITUTO DE COMPUTAC¸A˜O - IC
Algoritmos de Aproximac¸a˜o
Fla´vio Keidi Miyazawa
Campinas, 2001-2018
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 1/312
Suma´rio
Suma´rio I
1 Suma´rio
2 ProblemasdeOtimizac¸a˜oCombinato´ria
3 ComplexidadeComputacional
4 Motivac¸a˜o
5 Aproximac¸a˜oAbsoluta
6 FatordeAproximac¸a˜o
7 EscalonamentodeTarefas
8 CoberturaporVe´rtices
9 CoberturaporConjuntos
10 EsquemasdeAproximac¸a˜o
11 FPTASparaoProblemadaMochila
12 CaixeiroViajante
13 Programac¸a˜oLineareInteira
14 Me´todoPrimal
15 Fatordeaproximac¸a˜oassinto´tico
16 APTASparaProblemadoEmpacotamento
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 2/312
Suma´rio
Suma´rio II
17 IntroducaoaDualidadeemProgramacaoLinear
18 Me´todoDual
19 Introduc¸a˜oaoMe´todoPrimal-Dual
20 Me´tododeAproximac¸a˜oPrimal-Dual
21 ProblemadeLocalizac¸a˜odeFacilidades
22 DualFitting
23 ProblemadaFlorestadeSteiner
24 TeoriadasProbabilidades
25 AlgoritmosAproximadosProbabil´ısticos
26 SatisfatibilidadeMa´xima
27 Programac¸a˜oSemidefinidaeProblemadoCorteMa´ximo
28 PTASparaEscalonamentodeTarefas
29 Inaproximabilidade,ClassesdeComplexidadeePCP
30 Te´cnicaMe´tricaeProblemadoK-Multicorte
31 Equil´ıbriodeNash,BuscaLocaleJogoMulticast
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 3/312
ProblemasdeOtimizac¸a˜oCombinato´ria
Problemas de Otimizac¸a˜o Combinato´ria
(cid:73) Dom´ınio Finito (enumera´vel)
(cid:73) Func¸a˜o de Otimizac¸a˜o: Custos, Comprimentos, Quantidades
(cid:73) Objetivo: Minimizac¸a˜o ou Maximizac¸a˜o
Exemplo: Problema do Caixeiro Viajante (TSP)
(cid:73) Entrada:
- Grafo na˜o orientado: G = (V,E),
- Custos nas arestas: c ≥ 0, ∀e ∈ E.
e
(cid:73) Objetivo:
Encontrar um tour (ciclo hamiltoniano) de custo m´ınimo que visita
cada ve´rtice exatamente uma vez.
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 4/312
ProblemasdeOtimizac¸a˜oCombinato´ria
Encontre o ciclo hamiltoniano de custo m´ınimo
A
10
5
C 9
6
B 3
9 D
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 5/312
ProblemasdeOtimizac¸a˜oCombinato´ria
ciclo hamiltoniano de custo m´ınimo: 27
A
10
5
C 9
6
B 3
9 D
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 6/312
ProblemasdeOtimizac¸a˜oCombinato´ria
Algoritmo Ingeˆnuo para o TSP: Tentar todos os tours.
Complexidade: O(n!), onde n = |V|.
Algoritmo Bom = Algoritmo Polinomial (Cobham’64&Edmonds’65)
Provavelmente na˜o existam algoritmos eficientes para o TSP
Outros exemplos dif´ıceis:
(cid:73) Atribuic¸a˜o de Frequ¨eˆncias em Telefonia Celular
(cid:73) Empacotamento de Objetos em Conteˆineres
(cid:73) Escalonamento de Funciona´rios em Turnos de Trabalho
(cid:73) Escalonamento de Tarefas em Computadores
(cid:73) Classificac¸a˜o de Objetos
(cid:73) Colorac¸a˜o de Mapas
(cid:73) Projetos de Redes de Computadores
(cid:73) Va´rios outros...
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 7/312
ComplexidadeComputacional
Complexidade Computacional
Problemas de Decisa˜o
(cid:73) Exemplo: Dado grafo G, existe um ciclo hamiltoniano em G ?
(cid:73) Exemplo: Dado grafo completo G = (V,E), func¸a˜o de peso nas
arestas c : E → Z+ e um inteiro positivo K, existe um ciclo
hamiltoniano em G, de peso no ma´ximo K ?
(cid:73) Exemplo: Dado um mapa M e um inteiro K, posso colorir M com
K cores sem conflitos ?
(cid:73) Exemplo: Dado grafo completo G = (V,E), pesos nas arestas
c : E → Z+, ve´rtices s e t e um inteiro positivo K, existe um
caminho em G, de s para t, de peso no ma´ximo K ?
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 8/312
ComplexidadeComputacional
Reduc¸a˜o polinomial entre problemas
P e´ polinomialmente redut´ıvel a P (P (cid:22) P ) se
1 2 1 2
(cid:73) ∃ Ti que transforma instaˆncia I de P para instaˆncia I de P
1 1 2 2
(cid:73) ∃ Ts que transforma soluc¸a˜o S de I para soluc¸a˜o S de I
2 2 1 1
(cid:73) Ti e Ts teˆm complexidade de tempo polinomial
I2:=Ti(I1)
InstânciaI1 I2
S2:=A2(I2)
Solução S1 S2
S1:=Ts(S2)
Consequ¨eˆncias:
Se P e´ “polinomial” enta˜o P e´ “polinomial”.
2 1
Se P e´ “exponencial” enta˜o P e´ pelo menos “exponencial”.
1 2
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 9/312
ComplexidadeComputacional
Reduc¸a˜o polinomial entre problemas de decisa˜o
P e´ polinomialmente redut´ıvel a P (P (cid:22) P ) se
1 2 1 2
(cid:73) ∃ T que transforma instaˆncia I de P para instaˆncia I de P
1 1 2 2
(cid:73) I tem soluc¸a˜o se e somente se I tem soluc¸a˜o
1 2
(cid:73) T e´ polinomial
Consequ¨eˆncias:
Se P e´ “polinomial” enta˜o P e´ “polinomial”.
2 1
Se P e´ “exponencial” enta˜o P e´ pelo menos “exponencial”.
1 2
Fla´vioKeidiMiyazawa (Unicamp) AlgoritmosdeAproximac¸a˜o Campinas,2001-2018 10/312
Description:Considere um evento e e variáveis xe formuladas como: xe = { 1 se evento e Lema: (desigualdade de Markov) Se (Ω,Pr) é um espaço discreto de.