Algoritmos de Aproximação Segundo Semestre de 2012

Documentos relacionados
Complexidade computacional

Complexidade de Algoritmos. Edson Prestes

Melhores momentos AULA 24. Algoritmos p.906/953

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Complexidade computacional

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise de Algoritmos. Slides de Paulo Feofiloff

TEORIA DE COMPLEXIDADE

Complexidade computacional

Aula 10: Tratabilidade

Complexidade de Algoritmos. Edson Prestes

Análise de Algoritmos

INTRATABILIDADE e NP-COMPLETUDE

Complexidade Parametrizada - Intratabilidade Uéverton S. Souza - UFF

Uma forma de classificação

Teoria da Complexidade Computacional

Análise e Projeto de Algoritmos

Aula 19: Lifting e matrizes ideais

PCC104 - Projeto e Análise de Algoritmos

Algoritmos de Aproximação Segundo Semestre de 2012

Análise de Algoritmos

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

Geometria Computacional

5COP096 TeoriadaComputação

PCC173 - Otimização em Redes

Uma Introdução Sucinta à Teoria dos Grafos

PCC104 - Projeto e Análise de Algoritmos

Problemas Intratáveis ou computação eficiente X computação ineficiente

Teoria da Computação. Complexidade computacional classes de problemas

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205

Projeto e Análise de Algoritmos

Algoritmos de Aproximação para o Problema do Caixeiro Viajante

Análise de Algoritmos

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Complexidade computacional

Como saber se um problema está em NP e não está em P?

Teoria da Complexidade Computacional

Jogos de soma zero com dois jogadores

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo

O Problema da 3- Coloração de Grafos

Introdução a Teoria dos Grafos Raimundo Macêdo

RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT. Aluno: Mikail Campos Freitas Orientador: Prof.

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE

Por que não encontramos algoritmos polinomiais para muitos problemas?

Análise e Síntese de Algoritmos

Complexidade e algoritmos para algumas

ERRATA Uma Introdução Sucinta a Algoritmos de Aproximação

Percursos em um grafo

ANÁLISE DE ALGORITMOS (INF 1721)

Algoritmos de aproximação - Problema de cobertura por conjuntos

Antes do Teorema de Hall, alguns conceitos importantes...

COMPLEXIDADE PARAMETRIZADA PARTE 1. Rafael Coelho.

Teoria da Computação. Computabilidade e complexidade computacional

Complexidade de Algoritmos

Por que não encontramos algoritmos polinomiais para muitos problemas?

A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Teoria dos problemas completos em NP algumas notas

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Problemas de otimização

ANÁLISE DE ALGORITMOS (INF 1721)

CI065 CI755 Algoritmos e Teoria dos Grafos

Problemas NP-completos

Introdução à Teoria da Computação Exercícios

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Teoria e Algoritmos em Grafos

Classes de Complexidade

MAC5722 Complexidade Computacional

Teoria e Algoritmos em Grafos

Projeto e Análise de Algoritmos

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:

Grafos e Algoritmos Raimundo Macêdo. Teorema de Hall (Prova por Indução)

Preliminares. Profa. Sheila Morais de Almeida. agosto

Turing e Complexidade

Aula 12: Programação Inteira

Otimização Combinatória - Parte 4

Coloração. Carolina Moraes e Lucas Glir

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Aula 10: Decidibilidade

GABRIEL BUJOKAS

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

CAMINHOS, CIRCUITOS, CAMINHOS MÍNIMOS E CONEXIDADE

Continuidade de processos gaussianos

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Ponto q está no polígono?

Percursos em um grafo

Curso: MAT 221- CÁLCULO DIFERENCIAL E INTEGRAL IV Professor Oswaldo Rio Branco de Oliveira Período: Segundo Semestre de 2008

Teoria dos problemas completos na classe NP

Resolução do problema do caixeiro viajante assimétrico (e uma variante) através da relaxação Lagrangeana

Aula 9: Máquinas de Turing

A Topologia de um Problema de Decisão

Aula 01. Murilo V. G. da Silva DINF/UFPR

Classes de Complexidade

Transcrição:

Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1

Problema de decisão Problema de decisão: conjunto I de instâncias e função f : I {SIM, NÃO} Aproximação p. 2

Problema de decisão Problema de decisão: conjunto I de instâncias e função f : I {SIM, NÃO} Exemplo: Problema circuito hamiltoniano. I: conjunto de todos os grafos. Para todo G em I, { f(g) = SIM NÃO se G tem um circuito hamiltoniano caso contrário Aproximação p. 2

Problema de decisão Problema de decisão: conjunto I de instâncias e função f : I {SIM, NÃO} Exemplo: Problema circuito hamiltoniano. I: conjunto de todos os grafos. Para todo G em I, { f(g) = SIM NÃO se G tem um circuito hamiltoniano caso contrário O valor de f(x) é a resposta do problema para a instância X em I. Aproximação p. 2

Modelo de computação Algoritmo: programa escrito em uma linguagem como C ou Pascal. Aproximação p. 3

Modelo de computação Algoritmo: programa escrito em uma linguagem como C ou Pascal. Custo de uma operação: proporcional ao número de bits dos operandos Custo de um acesso à memória: proporcional ao número de bits dos operandos. Aproximação p. 3

Modelo de computação Algoritmo: programa escrito em uma linguagem como C ou Pascal. Custo de uma operação: proporcional ao número de bits dos operandos Custo de um acesso à memória: proporcional ao número de bits dos operandos. (Isto é polinomialmente equivalente à máquina de Turing.) Aproximação p. 3

Modelo de computação Algoritmo: programa escrito em uma linguagem como C ou Pascal. Custo de uma operação: proporcional ao número de bits dos operandos Custo de um acesso à memória: proporcional ao número de bits dos operandos. (Isto é polinomialmente equivalente à máquina de Turing.) Um algoritmo resolve ou decide um problema de decisão (I,f) se, para cada X em I, o algoritmo encontra a resposta para X, isto é, o algoritmo calcula f(x). Aproximação p. 3

A classe P Um algoritmo resolve (ou decide) um problema de decisão (I,f) em tempo O(T(n)) se, para cada n em N e cada X em I com X = n, o algoritmo encontra a resposta f(x) para X em tempo O(T(n)). Aproximação p. 4

A classe P Um algoritmo resolve (ou decide) um problema de decisão (I,f) em tempo O(T(n)) se, para cada n em N e cada X em I com X = n, o algoritmo encontra a resposta f(x) para X em tempo O(T(n)). Um problema de decisão é solúvel em tempo polinomial se existe algum k para o qual existe um algoritmo que resolve o problema em tempo O(n k ). Aproximação p. 4

A classe P Um algoritmo resolve (ou decide) um problema de decisão (I,f) em tempo O(T(n)) se, para cada n em N e cada X em I com X = n, o algoritmo encontra a resposta f(x) para X em tempo O(T(n)). Um problema de decisão é solúvel em tempo polinomial se existe algum k para o qual existe um algoritmo que resolve o problema em tempo O(n k ). Tais problemas são ditos tratáveis. Aproximação p. 4

A classe P Um algoritmo resolve (ou decide) um problema de decisão (I,f) em tempo O(T(n)) se, para cada n em N e cada X em I com X = n, o algoritmo encontra a resposta f(x) para X em tempo O(T(n)). Um problema de decisão é solúvel em tempo polinomial se existe algum k para o qual existe um algoritmo que resolve o problema em tempo O(n k ). Tais problemas são ditos tratáveis. Classe de complexidade P: conjunto dos problemas de decisão tratáveis (isto é, que são solúveis em tempo polinomial) Aproximação p. 4

A classe NP Considere o problema circuito hamiltoniano. Aproximação p. 5

A classe NP Considere o problema circuito hamiltoniano. Se a resposta para uma instância G for SIM, então existe um circuito hamiltoniano C no grafo. Aproximação p. 5

A classe NP Considere o problema circuito hamiltoniano. Se a resposta para uma instância G for SIM, então existe um circuito hamiltoniano C no grafo. Dados G e C, é possível verificar em tempo polinomial em G se C é de fato um circuito hamiltoniano em G ou não. Aproximação p. 5

A classe NP Considere o problema circuito hamiltoniano. Se a resposta para uma instância G for SIM, então existe um circuito hamiltoniano C no grafo. Dados G e C, é possível verificar em tempo polinomial em G se C é de fato um circuito hamiltoniano em G ou não. Ou seja, temos como certificar eficientemente que a resposta SIM está correta. Aproximação p. 5

A classe NP Considere o problema circuito hamiltoniano. Se a resposta para uma instância G for SIM, então existe um circuito hamiltoniano C no grafo. Dados G e C, é possível verificar em tempo polinomial em G se C é de fato um circuito hamiltoniano em G ou não. Ou seja, temos como certificar eficientemente que a resposta SIM está correta. Conseguimos certificar eficientemente a resposta NÃO? Surpreendentemente, não se conhece nenhum método de certificação eficiente para a resposta NÃO no caso do problema circuito hamiltoniano. Aproximação p. 5

A classe NP Classe de complexidade NP: problemas para os quais a resposta SIM pode ser certificada e verificada em tempo polinomial. Aproximação p. 6

A classe NP Classe de complexidade NP: problemas para os quais a resposta SIM pode ser certificada e verificada em tempo polinomial. Mais precisamente, um problema de decisão está em NP se existe um algoritmo A tal que 1. para qualquer instância X do problema com resposta SIM, existe Y em Σ tq A(X,Y) devolve SIM; 2. para qualquer instância X do problema com resposta NÃO, para todo Y em Σ, A(X,Y) devolve NÃO; 3. A consome tempo polinomial em X. Aproximação p. 6

A classe NP Classe de complexidade NP: problemas para os quais a resposta SIM pode ser certificada e verificada em tempo polinomial. Mais precisamente, um problema de decisão está em NP se existe um algoritmo A tal que 1. para qualquer instância X do problema com resposta SIM, existe Y em Σ tq A(X,Y) devolve SIM; 2. para qualquer instância X do problema com resposta NÃO, para todo Y em Σ, A(X,Y) devolve NÃO; 3. A consome tempo polinomial em X. Y é chamado de certificado para SIM da instância X. certificado = prova Aproximação p. 6

Definição alternativa de NP IDEIA Verificador: algoritmo aleatorizado, que olha apenas alguns bits da prova escolhidos aleatoriamente. Faz alguns cálculos e, dependendo do resultado, aceita a prova ou não. Aproximação p. 7

Definição alternativa de NP IDEIA Verificador: algoritmo aleatorizado, que olha apenas alguns bits da prova escolhidos aleatoriamente. Faz alguns cálculos e, dependendo do resultado, aceita a prova ou não. Para qq instância X do problema com resposta SIM, existe Y Σ tq V(X,Y) devolve SIM com alta probabilidade; Aproximação p. 7

Definição alternativa de NP IDEIA Verificador: algoritmo aleatorizado, que olha apenas alguns bits da prova escolhidos aleatoriamente. Faz alguns cálculos e, dependendo do resultado, aceita a prova ou não. Para qq instância X do problema com resposta SIM, existe Y Σ tq V(X,Y) devolve SIM com alta probabilidade; Para qq instância X do problema com resposta NÃO, para todo Y Σ, V(X,Y) devolve NÃO com boa probabilidade; Aproximação p. 7

Definição formal Instância X codificada em n bits. Verificador usa r(n) bits aleatórios para escolher q(n) bits aleatórios de Y. Aproximação p. 8

Definição formal Instância X codificada em n bits. Verificador usa r(n) bits aleatórios para escolher q(n) bits aleatórios de Y. Verificador escolhe uma função f : {0,1} q(n) {0,1}, e calcula f nos q(n) bits de Y. Aceita se f tem valor 1, senão rejeita Y. Aproximação p. 8

Definição formal Instância X codificada em n bits. Verificador usa r(n) bits aleatórios para escolher q(n) bits aleatórios de Y. Verificador escolhe uma função f : {0,1} q(n) {0,1}, e calcula f nos q(n) bits de Y. Aceita se f tem valor 1, senão rejeita Y. Se a resposta para X é SIM, existe Y tq o verificador aceita Y com probabilidade pelo menos c. (parâmetro c é a completude do verificador) Aproximação p. 8

Definição formal Instância X codificada em n bits. Verificador usa r(n) bits aleatórios para escolher q(n) bits aleatórios de Y. Verificador escolhe uma função f : {0,1} q(n) {0,1}, e calcula f nos q(n) bits de Y. Aceita se f tem valor 1, senão rejeita Y. Se a resposta para X é SIM, existe Y tq o verificador aceita Y com probabilidade pelo menos c. (parâmetro c é a completude do verificador) Se a resposta para X é NÃO, para todo Y, o verificador aceita Y com probabilidade no máximo s < c. (parâmetro s é a robustez do verificador) Aproximação p. 8

Classes PCP Instância X codificada em n bits. Verificador usa r(n) bits aleatórios para escolher q(n) bits aleatórios de Y. Verificador escolhe uma função f : {0,1} q(n) {0,1}, e calcula f nos q(n) bits de Y. Aceita se f tem valor 1, senão rejeita Y. Se a resposta para X é SIM, existe Y tq o verificador aceita Y com probabilidade pelo menos c. Se a resposta para X é NÃO, para todo Y, o verificador aceita Y com probabilidade no máximo s < c. PCP c,s (r(n),q(n)): problemas de decisão para os quais existe um tal verificador. Aproximação p. 9

Classes PCP PCP c,s (r(n),q(n)): problemas de decisão para os quais existe um tal verificador. Aproximação p. 10

Classes PCP PCP c,s (r(n),q(n)): problemas de decisão para os quais existe um tal verificador. Da definição original de NP: para todo problema Π em NP, existe um polinômio p tq Π PCP 1,0 (0,p(n)). Aproximação p. 10

Classes PCP PCP c,s (r(n),q(n)): problemas de decisão para os quais existe um tal verificador. Da definição original de NP: para todo problema Π em NP, existe um polinômio p tq Π PCP 1,0 (0,p(n)). Teorema do PCP: Existe uma constante positiva k tq NP PCP 1,1/2 (O(lgn),k). Aproximação p. 10

Classes PCP PCP c,s (r(n),q(n)): problemas de decisão para os quais existe um tal verificador. Da definição original de NP: para todo problema Π em NP, existe um polinômio p tq Π PCP 1,0 (0,p(n)). Teorema do PCP: Existe uma constante positiva k tq NP PCP 1,1/2 (O(lgn),k). Discussão: na aula. 2 clgn = n c bits da prova; 2 2k funções f distintas em k bits. Aproximação p. 10

Constraint satisfaction problem n variáveis x 1,...,x n m restrições sobre subconjuntos das n variáveis Aproximação p. 11

Constraint satisfaction problem n variáveis x 1,...,x n m restrições sobre subconjuntos das n variáveis Objetivo: encontrar atribuição de valores para as variáveis que satisfaça o maior número das restrições. Aproximação p. 11

Constraint satisfaction problem n variáveis x 1,...,x n m restrições sobre subconjuntos das n variáveis Objetivo: encontrar atribuição de valores para as variáveis que satisfaça o maior número das restrições. Existe a versão com peso nas restrições também. Aproximação p. 11

Constraint satisfaction problem n variáveis x 1,...,x n m restrições sobre subconjuntos das n variáveis Objetivo: encontrar atribuição de valores para as variáveis que satisfaça o maior número das restrições. Existe a versão com peso nas restrições também. Casos especiais: MAX CUT, MAX SAT. (Restrição é satisfeita se resulta em valor 1.) Aproximação p. 11

Constraint satisfaction problem n variáveis x 1,...,x n m restrições sobre subconjuntos das n variáveis Objetivo: encontrar atribuição de valores para as variáveis que satisfaça o maior número das restrições. Existe a versão com peso nas restrições também. Casos especiais: MAX CUT, MAX SAT. (Restrição é satisfeita se resulta em valor 1.) Corolário do Teorema do PCP: Não existe α-aproximação para este problema com α > 1/2, a menos que P = NP. (Ideia da prova na aula.) Aproximação p. 11

Variantes do PCP Teorema: Para quaisquer constantes ǫ, δ > 0, NP PCP 1 ǫ,1/2+δ (O(lgn),3), onde o verificador só pode usar as funções par ou ímpar. Aproximação p. 12

Variantes do PCP Teorema: Para quaisquer constantes ǫ, δ > 0, NP PCP 1 ǫ,1/2+δ (O(lgn),3), onde o verificador só pode usar as funções par ou ímpar. par(x i,x j,x k ) = 1 sse x i +x j +x k é par ímpar(x i,x j,x k ) = 1 sse x i +x j +x k é ímpar Aproximação p. 12

Variantes do PCP Teorema: Para quaisquer constantes ǫ, δ > 0, NP PCP 1 ǫ,1/2+δ (O(lgn),3), onde o verificador só pode usar as funções par ou ímpar. par(x i,x j,x k ) = 1 sse x i +x j +x k é par ímpar(x i,x j,x k ) = 1 sse x i +x j +x k é ímpar Odd/even constraint satisfaction problem Restrições só do tipo par(x i,x j,x k ) e/ou ímpar(x i,x j,x k ). Aproximação p. 12

Variantes do PCP Teorema: Para quaisquer constantes ǫ, δ > 0, NP PCP 1 ǫ,1/2+δ (O(lgn),3), onde o verificador só pode usar as funções par ou ímpar. par(x i,x j,x k ) = 1 sse x i +x j +x k é par ímpar(x i,x j,x k ) = 1 sse x i +x j +x k é ímpar Odd/even constraint satisfaction problem Restrições só do tipo par(x i,x j,x k ) e/ou ímpar(x i,x j,x k ). Corolário: Não existe α-aproximação para este problema com α > 1/2, a menos que P = NP. Aproximação p. 12

Variantes do PCP Teorema: Para quaisquer constantes ǫ, δ > 0, NP PCP 1 ǫ,1/2+δ (O(lgn),3), onde o verificador só pode usar as funções par ou ímpar. par(x i,x j,x k ) = 1 sse x i +x j +x k é par ímpar(x i,x j,x k ) = 1 sse x i +x j +x k é ímpar Odd/even constraint satisfaction problem Restrições só do tipo par(x i,x j,x k ) e/ou ímpar(x i,x j,x k ). Corolário: Não existe α-aproximação para este problema com α > 1/2, a menos que P = NP. Uma 1/2-aproximação é trivial. (razão melhor possível, a menos que P = NP) Aproximação p. 12

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Para problemas de maximização, v OPT(I)(1 ab(1 α)). Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Para problemas de maximização, v OPT(I)(1 ab(1 α)). Para a = 7 e b = 1, obtemos razão 7α 6. Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Para problemas de maximização, v OPT(I)(1 ab(1 α)). Para a = 7 e b = 1, obtemos razão 7α 6. 7α 6 > 1 2 implica α > 13 14, donde... Aproximação p. 13

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Aproximação p. 14

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Teorema: Para qq constante α > 13/14 0,928, se existe α-aproximação para MAX E3SAT, então P = NP. Aproximação p. 14

L-redução para MAX E3SAT Cada restrição ímpar(x 1,x 2,x 3 ) corresponde às cláusulas x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3, x 1 x 2 x 3. Se ímpar(x 1,x 2,x 3 ) = 1, 4 cláusulas satisfeitas, senão apenas 3. Semelhante para par. Análise da L-redução apresentada na aula. Teorema: Para qq constante α > 13/14 0,928, se existe α-aproximação para MAX E3SAT, então P = NP. Teorema: Para qq constante α > 7/8 0,875, se existe α-aproximação para MAX E3SAT, então P = NP. Aproximação p. 14

Unique Games Tipo particular de constraint satisfaction problem: as variáveis podem não ser binárias; as restrições são sempre sobre duas variáveis; Aproximação p. 15

Unique Games Tipo particular de constraint satisfaction problem: as variáveis podem não ser binárias; as restrições são sempre sobre duas variáveis; para cada restrição f(x i,x j ), cada valor de x i (ou x j ) determina um único valor de x j (ou x i ) tq f(x i,x j ) = 1. Aproximação p. 15

Unique Games Tipo particular de constraint satisfaction problem: as variáveis podem não ser binárias; as restrições são sempre sobre duas variáveis; para cada restrição f(x i,x j ), cada valor de x i (ou x j ) determina um único valor de x j (ou x i ) tq f(x i,x j ) = 1. Variáveis assumem valores em um conjunto L = [k]. Aproximação p. 15

Unique Games Tipo particular de constraint satisfaction problem: as variáveis podem não ser binárias; as restrições são sempre sobre duas variáveis; para cada restrição f(x i,x j ), cada valor de x i (ou x j ) determina um único valor de x j (ou x i ) tq f(x i,x j ) = 1. Variáveis assumem valores em um conjunto L = [k]. Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Aproximação p. 15

Unique Games Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Aproximação p. 16

Unique Games Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Objetivo: encontrar atribuição de valores de L aos vértices que satisfaça o maior número de arestas possíveis. Aproximação p. 16

Unique Games Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Objetivo: encontrar atribuição de valores de L aos vértices que satisfaça o maior número de arestas possíveis. Aresta uv é satisfeita se f(i,j) = 1 onde i é o rótulo de u e j é o rótulo de v. Aproximação p. 16

Unique Games Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Objetivo: encontrar atribuição de valores de L aos vértices que satisfaça o maior número de arestas possíveis. Aresta uv é satisfeita se f(i,j) = 1 onde i é o rótulo de u e j é o rótulo de v. Decidir se todas as arestas podem ser satisfeitas é fácil! Aproximação p. 16

Unique Games Formulação com um grafo: um vértice para cada variável aresta uv para cada restrição f sobre variáveis u e v permutação π uv : L L para cada aresta uv tq π uv (i) = j se f(i,j) = 1. Objetivo: encontrar atribuição de valores de L aos vértices que satisfaça o maior número de arestas possíveis. Unique Games Conjecture (UGC): Para todo ǫ, δ > 0, existe constante k = k(ǫ,δ) > 0 tq é NP-difícil, dada uma instância I com L = k e m arestas, decidir se OPT(I) (1 ǫ)m ou OPT(I) δm. Aproximação p. 17

L = {0,...,k 1} MAX 2LIN(k) e LUGC Para cada aresta uv, temos c uv L tq π uv (i) = i c uv modk. (uv satisfeita sse recebe rótulos ij tq i j = c uv modk) Aproximação p. 18

L = {0,...,k 1} MAX 2LIN(k) e LUGC Para cada aresta uv, temos c uv L tq π uv (i) = i c uv modk. (uv satisfeita sse recebe rótulos ij tq i j = c uv modk) Linear Unique Games Conjecture (LUGC): Para todo ǫ, δ > 0, existe constante k = k(ǫ,δ) > 0 tq é NP-difícil, dada uma instância I do MAX 2LIN(k) com m arestas, decidir se OPT(I) (1 ǫ)m ou OPT(I) δm. Aproximação p. 18

L = {0,...,k 1} MAX 2LIN(k) e LUGC Para cada aresta uv, temos c uv L tq π uv (i) = i c uv modk. (uv satisfeita sse recebe rótulos ij tq i j = c uv modk) Linear Unique Games Conjecture (LUGC): Para todo ǫ, δ > 0, existe constante k = k(ǫ,δ) > 0 tq é NP-difícil, dada uma instância I do MAX 2LIN(k) com m arestas, decidir se OPT(I) (1 ǫ)m ou OPT(I) δm. Relação entre o MAX 2LIN(k) e o Problema do Multicorte Instância do MAX 2LIN(k): (G = (V,E),k,c) Aproximação p. 18

L = {0,...,k 1} MAX 2LIN(k) e LUGC Para cada aresta uv, temos c uv L tq π uv (i) = i c uv modk. (uv satisfeita sse recebe rótulos ij tq i j = c uv modk) Linear Unique Games Conjecture (LUGC): Para todo ǫ, δ > 0, existe constante k = k(ǫ,δ) > 0 tq é NP-difícil, dada uma instância I do MAX 2LIN(k) com m arestas, decidir se OPT(I) (1 ǫ)m ou OPT(I) δm. Relação entre o MAX 2LIN(k) e o Problema do Multicorte Instância do MAX 2LIN(k): (G = (V,E),k,c) Instância do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Aproximação p. 18

MAX 2LIN(k) e Multicorte Instância do MAX 2LIN(k): I = (G = (V,E),k,c) Instância I do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Aproximação p. 19

MAX 2LIN(k) e Multicorte Instância do MAX 2LIN(k): I = (G = (V,E),k,c) Instância I do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Lema 1: Para cada ǫ, 0 ǫ 1, dada qq solução viável de I que satisfaça pelo menos (1 ǫ) E arestas, existe solução viável de I de custo no máximo ǫ E. (Prova vista em aula.) Aproximação p. 19

MAX 2LIN(k) e Multicorte Instância do MAX 2LIN(k): I = (G = (V,E),k,c) Instância I do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Lema 1: Para cada ǫ, 0 ǫ 1, dada qq solução viável de I que satisfaça pelo menos (1 ǫ) E arestas, existe solução viável de I de custo no máximo ǫ E. (Prova vista em aula.) Lema 2: Para cada ǫ, 0 ǫ 1, dada qq solução viável de I de custo no máximo ǫ E, existe solução viável de I que satisfaz pelo menos (1 2ǫ) E arestas. (Um pouco mais complicado... Só comentários.) Aproximação p. 19

Consequência Instância do MAX 2LIN(k): I = (G = (V,E),k,c) Instância I do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Corolário: Dada UGC, para qq constante α 1, não existe α-aproximação para o Multicorte a menos que P = NP. Aproximação p. 20

Consequência Instância do MAX 2LIN(k): I = (G = (V,E),k,c) Instância I do multicorte: G = (V,E ) com V = V L e aresta em E entre (u,i) e (v,j) sse uv E e i j = c uv Pares s = (u,i) e t = (u,j) para todo u V e i j. Corolário: Dada UGC, para qq constante α 1, não existe α-aproximação para o Multicorte a menos que P = NP. Teorema: Dada UGC, não existe α-aproximação para o MAX CUT com constante α tq α > min 1 x 1 1 π arccos(x) 1 2 (1 x) 0,878, a menos que P = NP. Aproximação p. 20

MAX CUT Versão equivalente da UGC: Bipartite Unique Games Conjecture (BUGC): UGC para G bipartido com m arestas e todo vértice de um lado da bipartição com mesmo grau. Aproximação p. 21

MAX CUT Versão equivalente da UGC: Bipartite Unique Games Conjecture (BUGC): UGC para G bipartido com m arestas e todo vértice de um lado da bipartição com mesmo grau. Teorema: Dada BUGC, para qq cte γ > 0 e ρ ( 1,0), NP PCP(logn,2), onde completude é 2 1(1 ρ) γ e robutez é π 1 arccos(ρ)+γ, e aceita se os 2 bits diferem. Aproximação p. 21

MAX CUT Versão equivalente da UGC: Bipartite Unique Games Conjecture (BUGC): UGC para G bipartido com m arestas e todo vértice de um lado da bipartição com mesmo grau. Teorema: Dada BUGC, para qq cte γ > 0 e ρ ( 1,0), NP PCP(logn,2), onde completude é 2 1(1 ρ) γ e robutez é π 1 arccos(ρ)+γ, e aceita se os 2 bits diferem. Teorema: Dada UGC, a menos que P = NP, não existe α-aproximação para o MAX CUT com constante α tq α > min 1 x 1 1 π arccos(x) 1 2 (1 x) 0,878. Aproximação p. 21

Fim... OBRIGADA PELA ATENÇÃO!!! Aproximação p. 22