(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: