Teorema de Cook-Levin

Dados L  ∈  NP y una string x, construimos φx tal que x ∈ L ssi φx ∈  CNF-SAT.

Idea: Sea M una verificadora de L indiferente y con 2 cintas.

φx es un "patrón de trazas" de las corridas exitosas de M con input x y u (u certificado de x).



3SAT

CNF-SAT  ≤ p 3SAT

Idea: usar regla de la resolución al revés.

Uso de la NP completitud de 3SAT

INDSET es NP completo

INDSET = {⌊(G, k)⌋ ∣ ∃ S ⊆ N(G), ∣S∣ ≥ k, ∀ uv ∈ S, uv ∉ E(G)}

INDSET  ∈  NP porque el certificado es el conjunto S.

Mostramos 3SAT  ≤ p INDSET.


Sea φ = ⋀ Ci una formula en FNC3. Sea m el número de cláusulas de φ, construimos un grafo G tal que φ⌋ ∈ 3SAT ↔ ⌊(G, m)⌋ ∈ INDSET.

Cada cláusula C de φ tiene ≤ 3 literales, entonces hay ≤ 7 asignaciones que la satisfacen.

Construimos para C un cluster de 7 nodos, marquamos cada uno con las asignaciones que satisfacen su cluster.

Conectamos dos puntos si pertenecen a clusters distintos y representan asignaciones inconsistentes (ie, 1 variables es asignada a 1 en un nodo y 0 en el otro).

Conectamos entre si todos los puntos de un mismo cluster.



VERTEXCOVER es NP completo

Reducción descrita en Sipser, teorema 7.44.

Búsqueda vs decisión

Supongamos P = NP. Para todo lenguaje L  ∈  NP y una verificadora M para L, existe una MT B corriendo en tiempo polinomial que construye un certificado para todo input x ∈ L.

Demostración:

P vs NP y NP completitud

Como manejar problemas NP-completos

EXP vs NEXP

NEXP = ⋃ c ≥ 0NTIME(2nc).

Ejercicio: encontrar la definición equivalente con certificados.

Teorema:

EXPNEXP implica PNP

Supongamos P=NP. Sea L ∈ NTIME(2nc), y M una MT para L.

Sea Lpad = {x012xc ∣ x ∈ L}. Mostramos que Lpad ∈  NP:

Entonces si P=NP, Lpad ∈ P y existe Mʹ deterministica que decide Lpad.

Entonces L ∈ EXP: para decidir si x ∈ L, lo padeamos con 012xc y vemos si esto pertenece a Lpad usando Mʹ.

El problema de la factorización

Existen problemas naturales que se sospecha estar en NP  \  P sin ser NP completos.

Factorización:

Dado n, m ∈ ℕ  tal que 1 ≤ m ≤ n, ¿ n tiene un factor d tal que 1 < d < m?

Se sospecha que FACTOR no está en P, ni es NP completo ni coNP completo.

Observación: el problema ¿ n ∈ ℕ  es un número compuesto? es una versión relajada de FACTOR y está en P (equivalentemente, PRIMES está en P).


Otros problemas en NP, sospechados de estar en NP  \  (P  ∪  NPC)

Teorema de Ladner

Si PNP, existe un lenguaje en NP  \  P que no es NP completo.

Idea: definir un problema tal que para ciertos inputs de tamaño n, el problema es resolver SAT (para que no este en P), y en otros inputs no hacer nada (para que no sea NP completo).

Prueba detallada adaptada de Arora y Barak

Referencias