Reduções de Problemas Difíceis

Documentos relacionados
Redução de Cook-Levin e Considerações Finais

Problemas NP-completos

P, NP e NP-Completo. André Vignatti DINF- UFPR

Análise e Projeto de Algoritmos

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

Análise de Algoritmos. Slides de Paulo Feofiloff

Complexidade de Algoritmos

Coloração. Carolina Moraes e Lucas Glir

Problemas de Busca (a.k.a NP) - parte 2

Projeto e Análise de Algoritmos

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

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

Paulo Guilherme Inça. 7 de dezembro de 2016

Melhores momentos AULA 24. Algoritmos p.906/953

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

Análise e Projeto de Algoritmos

Análise e Síntese de Algoritmos

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

Problemas NP-Completos Bolas Mágicas

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

Provadores de Teoremas baseados em contagem

5COP096 TeoriadaComputação

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

Lógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.

Teoria da Complexidade Computacional

2.6 O ALGORITMO DPLL. Preliminares

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

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

Algoritmos de aproximação - Problema do caixeiro viajante

O Problema da 3- Coloração de Grafos

Teoria e Algoritmos em Grafos

Complexidade computacional

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.

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

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

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

André Vignatti DINF- UFPR

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

Teorema 1 - Todo corte de arestas de um grafo conexo G contém pelo menos uma aresta em comum com qualquer árvore geradora de G. Exemplo 2 - Seja T:

Mercados de Emparelhamento

Complexidade de Algoritmos. Edson Prestes

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Grafo planar: Definição

INTRATABILIDADE e NP-COMPLETUDE

Teoria dos Grafos. Conjuntos de Corte e Conectividade

PCC104 - Projeto e Análise de Algoritmos

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Jogos de Anti-Coordenação e Colorações Estáveis em Grafos. Renato Lui Geh NUSP:

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

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

TEORIA DE COMPLEXIDADE

Complexidade computacional

Polinomial: função de complexidade é O(p(n)), onde p(n) é um polinômio.

Complexidade de Algoritmos. Edson Prestes

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

Complexidade de Algoritmos

Teoria dos Grafos. Cobertura, Coloração de Arestas, Emparelhamento

Complexidade de Algoritmos

Introdução à classe de problemas NP- Completos

ANÁLISE DE ALGORITMOS (INF 1721)

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.

Camile Frazão Bordini

Em vários problemas, é preciso particionar os vértices de um grafo em conjunto de vértices independentes.

Árvores Árvores Geradoras de Custo Mínimo 0/16

Laços Fortes e Fracos

Lógica para Computação Primeiro Semestre, Aula 10: Resolução. Prof. Ricardo Dutra da Silva

3 Problema de decisão em esquemas conceituais

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Teoria dos Grafos. Coloração de Vértices

Teoria dos Grafos. Edson Prestes

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

Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

Ciclos hamiltonianos e o problema do caixeiro viajante

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

Lista de Exercícios 9 (Extra): Soluções Grafos

Algoritmos de Aproximação Segundo Semestre de 2012

A complexidade do problema sanduíche para grafos fortemente cordais-(2,1)

Teoria dos Grafos. Árvores

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

Casamento em GB. Casamento em Grafos. Notas. Teoria dos Grafos - BCC204, Casamento em Grafos. Notas. Descrição

Barganha e Poder em Redes

Grafos: caminhos (matriz adjacência)

TEMA 2 PROPRIEDADES DE ORDEM NO CONJUNTO DOS NÚMEROS REAIS

x y Grafo Euleriano Figura 1

Introdução à Teoria dos Grafos. Isomorfismo

Combinando relações. Exemplo Seja A = {1, 2, 3} e B = {1, 2, 3, 4}. As relações

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

15 - Coloração Considere cada um dos grafos abaixo:

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3

Teoria dos Grafos. Grafos Planares

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.

Complexidade e algoritmos para algumas

BCC204 - Teoria dos Grafos

Oferta de Serviços. Grafo Planar. Notas. Teoria dos Grafos - BCC204, Planaridade. Notas

Teoria dos Grafos. Edson Prestes

Relações Positivas e Negativas

Fundamentos de Matemática. Lista de Exercícios Humberto José Bortolossi Argumentos e Exercícios de Revisão

Transcrição:

Reduções de Problemas Difíceis André Vignatti DINF- UFPR

Reduções de Problemas Difíceis Na figura abaixo, esquema das reduções que vamos (tentar) ver. Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT SET 3D MATCHING VERTEX COVER CLIQUE ZOE SUBSET SUM ILP RUDRATA CYCLE TSP Como conseqüência, tais problemas são NP-Completos.

3SAT INDEPENDENT SET Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT SET 3D MATCHING VERTEX COVER CLIQUE ZOE SUBSET SUM ILP RUDRATA CYCLE TSP

3SAT INDEPENDENT SET 3SAT Entrada: cláusulas com 3 literais. Por exemplo: (x y z)(x y z)(x y z)(x y), Objetivo: encontrar uma atribuição verdadeira INDEPENDENT SET Entrada: grafo G e um número g Objetivo: encontrar g vértices não adjacentes Devemos relacionar lógica booleana com grafos!

3SAT INDEPENDENT SET Antes, fazer um pré-processamento para retirar cláusulas com somente um literal. (PODE? PORQUÊ?) Dada instância I do 3SAT, criamos instância (G, g) do INDEPENDENT SET como segue: G tem um triângulo para cada cláusula (ou uma aresta, se a cláusula tem dois literais), com vértices nomeados pelos literais da cláusula G tem arestas adicionais entre vértices que representam literais opostos O objetivo g é definido como o número de cláusulas. Claramente, esta construção leva tempo polinomial.

3SAT INDEPENDENT SET Exemplo de transformação da instância do 3SAT para o INDEPENDENT SET: (x y z)(x y z)(x y z)(x y),

3SAT INDEPENDENT SET Não podemos esquecer: Também precisamos reconstruir a solução da primeira instância numa solução para a segunda. (COMO FAZER?) A redução funciona? Como sempre, há duas coisas para mostrar:

1. Se há um INDEPENDENT SET S de g vértices em G: Vamos mostrar que existe (e é obtido em tempo polinomial) uma atribuição verdade a I. Para uma variável x, S não pode conter ambos vértices x e x, porque estão conectados por uma aresta. Se S contém x, atribuir TRUE a x, Se S contém x, atribuir FALSE a x. Como S tem g vértices, então deve ter um vértice para cada cláusula. Então a atribuição de TRUE e FALSE descrita acima satisfaz todas as cláusulas.

2. Se não há um INDEPENDENT SET S de g vértices em G: Devemos mostrar então que a fórmula booleana I é insatisfatível. Vamos provar a contrapositiva: Se I for satisfatível, então G tem um INDEPENDENT SET de tamanho g. Mas isso é fácil: em cada cláusula, escolha um literal cujo a atribuição seja TRUE (deve haver pelo menos um), e adicione o vértice correspondente a S. Você percebe por que S é um conjunto independente? (Exercício)

SAT 3SAT Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT SET 3D MATCHING VERTEX COVER CLIQUE ZOE SUBSET SUM ILP RUDRATA CYCLE TSP

SAT 3SAT Este é um tipo interessante e comum de redução, de um problema a um caso especial de si mesmo. Queremos mostrar que o problema continua a ser difícil mesmo se suas entradas são restritas de alguma forma. Tais reduções modificam a instância de modo a livrar-se da característica proibida (cláusulas com 4 literais), mantendo a instância essencialmente a mesma.

SAT 3SAT Redução: Dada uma instância do SAT, analise cada cláusula: Se a cláusula tiver 3 literais, use a mesma cláusula para o 3SAT. Se a cláusula tiver > 3 literais, ou seja, (a 1 a 2... a k ) troque por isso: (a 1 a 2 y 1 )(y 1 a 3 y 2 )(y 2 a 4 y 3 )... (y k 3 a k 1 a k ) A conversão é claramente de tempo polinomial.

A redução funciona? Como sempre, 2 coisas para mostrar: 1. Se há uma atribuição verdadeira para o 3SAT: Então devemos mostrar que há uma atribuição verdadeira para o SAT. Vamos olhar somente as cláusulas transformadas (as outras não foram modificadas): Se (a 1 a 2 y 1 )(y 1 a 3 y 2 )(y 2 a 4 y 3 )... (y k 3 a k 1 a k ) estão todas satisfeitas, então pelo menos um dos literais a 1,..., a k deve ser TRUE: C.c. (se a 1,..., a k são todos FALSE) y 1 deve ser TRUE, obrigando y 2 ser TRUE, e assim por diante, até obrigar a última cláusula ser FALSE. Como pelo menos um dos literais a 1,..., a k é TRUE, então (a 1 a 2... a k ) também é TRUE.

2. Se não há uma atribuição verdadeira para o 3SAT: Então devemos mostrar que não há atribuição verdadeira para o SAT. Vamos provar a contrapositiva: Se há atribuição verdadeira para o SAT, então há atribuição verdadeira para o 3SAT. Se (a 1 a 2... a k ) é TRUE, então algum a i deve ser TRUE. Faça y 1,..., y i 2 ser TRUE, e os outros y s serem FALSE. Isso garante que a cláusula transformada seja TRUE.

3SAT mais restrito Na verdade, 3SAT permanece difícil mesmo sob a restrição de que nenhuma variável apareça em mais de três cláusulas. Redução: Suponhamos que na instância 3SAT, a variável x aparece em k > 3 cláusulas. Substitua a sua primeira aparição por x 1, sua segunda aparição por x 2 e assim por diante. Por último, acrescente as cláusulas: (x 1 x 2 )(x 2 x 3 )... (x k x 1 ) Faça o mesmo para cada variável que aparece mais de três vezes. Exercício: Mostrar que a redução acima funciona.

INDEPENDENT SET VERTEX-COVER Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT SET 3D MATCHING VERTEX COVER CLIQUE ZOE SUBSET SUM ILP RUDRATA CYCLE TSP

INDEPENDENT SET VERTEX-COVER Algumas reduções dependem da criatividade ao relacionar dois problemas totalmente diferentes. Outras simplesmente se atentam ao fato de que um problema é um simples disfarce de outro. Teorema: Um conjunto de nós S é um VERTEX-COVER de G = (V, E) se e somente se V S é um INDEPENDENT SET de G.

INDEPENDENT SET VERTEX-COVER Redução: Dada uma instância (G, g) do INDEPENDENT SET, basta procurar um VERTEX COVER de G com V g nós. Se existe VERTEX-COVER S, então pegue os nós V S para o INDEPENDENT SET. A redução funciona? Como sempre, há duas coisas para mostrar:

1. Se existe VERTEX-COVER com V g nós: Devemos mostrar que existe um INDEPENDENT SET com g nós. Os nós que não são do VERTEX-COVER não estão conectados por arestas se estivessem conectados, algum dos vértices deveriam estar no VERTEX-COVER Há g nós que não são do VERTEX-COVER, portanto formando um INDEPENDENT SET de tamanho g.

2. Se não existe VERTEX-COVER com V g nós: Devemos mostrar então que não existe INDEPENDENT SET com g nós. Vamos provar a contrapositiva: (Exercício)

INDEPENDENT SET CLIQUE Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT SET 3D MATCHING VERTEX COVER CLIQUE ZOE SUBSET SUM ILP RUDRATA CYCLE TSP

INDEPENDENT SET CLIQUE INDEPENDENT SET e CLIQUE também são fáceis de reduzir um ao outro. Defina o complemento de um grafo G = (V, E) como sendo G = (V, E), onde E contém precisamente as arestas que não estão em E. Teorema: Um conjunto de nós S é um INDEPENDENT SET de G se e somente se S é um CLIQUE de G.

INDEPENDENT SET CLIQUE Redução Transforme a instância (G, g) do INDEPENDENT SET na instância (G, g) de CLIQUE. (Exercício: mostre que a redução é válida (use os dois passos, como fizemos nas reduções anteriores))