Lista 6 de Análise de Algoritmos

Propaganda
Lista 6 de Análise de Algoritmos
1. Prove que os seguintes problemas estão em NP:
(a) clique: Dado um grafo G e um natural k decidir se G contém um clique com ≥ k vértices;
(b) conjunto-independente: Dado um grafo G e um natural k decidir se G contém um
conjunto independente com ≥ k vértices;
(c) col: Dado um grafo G e um inteiro k decidir se os vértices admitem um coloração própria
com k cores, isto é, os vértices podem ser pintados com k cores distintas de modo que não
há vértices adjacentes da mesma cor;
(d) 3-col: Dado um grafo G decidir se os vértices admitem um coloração própria com 3 cores,
isto é, os vértices podem ser pintados com 3 cores distintas de modo que não há vértices
adjacentes da mesma cor;
(e) 3-sat: Dada uma fórmula booleana em que as clausulas têm 3 literais, decidir se a fórmula
é satisfazı́vel;
(f) vértice-cobertura: Dado um grafo G e um natural k decidir se G tem uma cobertura
por vértice com ≤ k vértices;
(g) mochila: Dados os valores s e v e um conjunto X onde cada elemento x ∈ X tem associado
um tamanho t(x) e um valor v(x), determinar se existe B ⊆ X tal que a soma dos tamanhos
dos elementos de B é no máximo s e a soma dos valores dos elementos de B é pelo menos v.
2. (difı́cil) Prove que 2-sat está em P.
3. Assuma que exista um algoritmo eficiente para sat. Exiba um algoritmo eficiente que recebe uma
fórmula booleana e determina, caso exista, uma atribuição que satisfaça a fórmula.
4. Assuma que exista um algoritmo eficiente para col. Exiba um algoritmo eficiente que recebe
um grafo e determina o menor número de cores necessárias para uma coloração própria do grafo.
Dado um algoritmo eficiente para esse último problema, exiba um algoritmo eficiente para colorir
propriamente um grafo com o menor número de cores possı́veis.
5. Assuma que exista um algoritmo eficiente para clique. Exiba um algoritmo eficiente que recebe
um grafo e determina o maior tamanho de um clique nesse grafo.
6. Escreva a instância do 3-sat obtida através da redução feita em sala a partir de sat quando a
instância do sat é
(x ∨ y ∨ z̄ ∨ w ∨ u ∨ z̄) ∧ (x̄ ∨ ȳ ∨ z ∨ w̄ ∨ u ∨ v) ∧ (x ∨ ȳ ∨ z̄ ∨ w ∨ u ∨ v̄) ∧ (x ∨ ȳ)
7. Desenhe o grafo da redução de sat para clique vista em aula quando a instância do sat é
(x ∨ ȳ ∨ z) ∧ (x̄ ∨ y ∨ z̄) ∧ (x̄ ∨ y ∨ z) ∧ (x ∨ ȳ ∨ z̄)
8. Prove:
(a) se A 6p B e B ∈ P então A ∈ P;
(b) se A 6p B e B 6p C então A 6p C;
1
(c) e A 6p B e A é NP-difı́cil então B é NP-difı́cil.
9. Vale que se A, B ∈ P então A 6p B e B 6p A?
10. Mostre que clique6p conjunto-independente.
11. Mostre que clique6p vértice-cobertura e conclua que vértice-cobertura é NP-completo.
12. Mostre que 3-sat6p conjunto-independente.
13. (difı́cil) Assuma que vértice-cobertura é NP-completo e prove que circuito-hamiltoniano
é NP-completo.
14. Considere o seguinte algoritmo para determinar se um grafo (V, A) com n vértice s m arestas tem
um clique de tamanho
k: primeiro são gerados todos os subconjunto de V com exatamente k
n
k
vértices, são k = O(n ) subconjuntos. Em seguida verifica-se se algum deles induz um subgrafo
completo, devolvendo sim no caso afirmativo e n~
ao caso contrário. Supondo que o grafo é dado
pela sua matriz de adjacências, determine a complexidade desse algoritmo. Por que ele não é uma
prova de que P = NP?
2
Download