versión para imprimir
Transcripción
versión para imprimir
La Jerarquı́a Polinomial IIC3242 IIC3242 – La Jerarquı́a Polinomial 1 / 20 Motivación: Soluciones exactas Al estudiar la clase NP consideramos preguntas “existenciales”: I ¿Existe una asignación de verdad que satisface a una fórmula proposicional? I ¿Existe una solución entera para un sistema de ecuaciones lineales enteras? I ¿Existe un camino Hamiltoniano en un grafo? ¿Cambia la complejidad de estos problemas si hacemos preguntas “exactas”? IIC3242 – I ¿Existe exactamente una asignación de verdad que satisface a una fórmula proposicional? I ¿Cuál es la complejidad de este problema? ¿Está en NP? La Jerarquı́a Polinomial 2 / 20 Soluciones exactas: La clase DP Para responder a las preguntas anteriores necesitamos definir una nueva clase de complejidad. Idea detrás de esta clase: Noción de solución exacta se reduce a hacer dos consultas. I ¿Es cierto que existe una asignación de verdad que satisface la fórmula proposicional ϕ? I ¿Es cierto que no existen al menos dos asignaciones de verdad que satisface ϕ? Definición (Clase de complejidad DP) L ∈ DP si y sólo si existen lenguajes L1 ∈ NP y L2 ∈ co-NP tales que L = L1 ∩ L2 . IIC3242 – La Jerarquı́a Polinomial 3 / 20 unique-SAT y la clase DP Una definición formal del primer problema que queremos estudiar: unique-SAT = {ϕ | ϕ es una fórmula proposicional tal que existe exactamente una asignación de verdad que satisface ϕ} Ejercicio Demuestre que unique-SAT ∈ DP. ¿Es unique-SAT completo para DP? IIC3242 – I Este es un problema abierto. I ¿Existen problemas completos para esta clase? La Jerarquı́a Polinomial 4 / 20 Un primer problema completo para DP Sea 3-CNF-SAT-UNSAT el siguiente lenguaje: 3-CNF-SAT-UNSAT = {(ϕ, ψ) | ϕ y ψ son conjunciones de 3-clausulas, ϕ es satisfacible y ψ no es satisfacible} Teorema 3-CNF-SAT-UNSAT es DP-completo. Ejercicio Demuestre el teorema. IIC3242 – La Jerarquı́a Polinomial 5 / 20 Un problema natural que representan a DP Notación clique-number(G ) = máx{k | G tiene un clique de tamaño k}. Usamos este número para definir dos problemas en grafos: CLIQUE = {(G , k) | clique-number(G ) ≥ k} exact-CLIQUE = {(G , k) | clique-number(G ) = k} Ejercicio ¿Cuál es la complejidad de CLIQUE? I IIC3242 – ¿Son distintas las complejidades de CLIQUE y exact-CLIQUE? La Jerarquı́a Polinomial 6 / 20 Un problema natural que representan a DP Teorema exact-CLIQUE es DP-completo. Ejercicio Demuestre el teorema. IIC3242 – La Jerarquı́a Polinomial 7 / 20 La relación entre NP y DP Es fácil ver que NP ⊆ DP y co-NP ⊆ DP. I ¿Cómo se demuestra esto? ¿Cuál es la relación entre NP y DP? IIC3242 – I ¿Es NP 6= DP? I Este es un problema abierto, y hay una buena explicación de porque. La Jerarquı́a Polinomial 8 / 20 La relación entre NP y DP Teorema NP = DP si y sólo si NP = co-NP. Demostración: (⇐) Suponga que NP = co-NP. Si L ∈ DP: L = L1 ∩ L2 , con L1 ∈ NP y L2 ∈ co-NP. I Por hipótesis: L2 ∈ NP. Por lo tanto: L = L1 ∩ L2 , con L1 , L2 ∈ NP. Pero NP es cerrado bajo intersección. I IIC3242 – Concluimos que L ∈ NP. La Jerarquı́a Polinomial 9 / 20 La relación entre NP y DP (⇒) Suponga que NP = DP. Como co-NP ⊆ DP: co-NP ⊆ NP. Por lo que también tenemos que NP ⊆ co-NP: L ∈ NP IIC3242 – La Jerarquı́a Polinomial ⇒ ⇒ ⇒ L ∈ co-NP L ∈ NP L ∈ co-NP (ya que co-NP ⊆ NP) 10 / 20