Otros problemas NP

Anuncio
Otros problemas NP-completos
Notación: si L es completo para C, decimos que L es C-completo.
¿Cómo podemos demostrar que un problema L es NP-completo?
- Nos basta con demostrar que L ∈ NP y que existe una
reducción polinomial de SAT a L.
Antes de utilizar esta técnica tenemos que pensar que versión de
SAT usar.
- En general es más fácil utilizar fórmulas en alguna forma
normal.
65
Otros problemas NP-completos
Una versión de SAT muy útil:
CNF-SAT = {ϕ | ϕ es una fórmula en CNF y ϕ es satisfacible}.
¿Es CNF-SAT NP-completo?
- Podemos modificar la demostración del Teorema de Cook para
mostrar esto.
Teorema: CNF-SAT es NP-completo.
66
Otros problemas NP-completos
Ahora podemos usar la idea inicial para mostrar que otros
problemas son NP-completos.
Algunos ejemplos:
- 3-CNF-SAT = {ϕ | ϕ es una fórmula en CNF que contiene tres
literales por cláusula y es satisfacible}.
- 3-COL = {G | G es una grafo 3-coloreable}.
- PRO-ENT = {(A, ~b) | A es una matriz de enteros, ~b es un vector de
enteros y existe un vector de enteros ~
x tal que A~
x ≤ ~b}.
67
Conjetura de Cook
Conjetura de Cook: PTIME ( NP.
- No existe un algoritmo eficiente para resolver SAT.
- Tampoco existen algoritmos eficientes para resolver ninguno de
los problemas NP-completos.
¿Cuán fundamental es este problema?
68
Conjetura de Cook
Desde la página del Clay Mathematics Institute:
“In order to celebrate mathematics in the new millennium, The Clay
Mathematics Institute of Cambridge, Massachusetts (CMI) has named
seven Prize Problems. The Scientific Advisory Board of CMI selected
these problems, focusing on important classic questions that have resisted solution over the years. The Board of Directors of CMI designated a
$7 million prize fund for the solution to these problems, with $1 million
allocated to each.”
69
Conjetura de Cook
Uno de los siete problemas es PTIME versus NP:
“Suppose that you are organizing housing accommodations for a group
of four hundred university students. Space is limited and only one hundred of the students will receive places in the dormitory. To complicate
matters, the Dean has provided you with a list of pairs of incompatible students, and requested that no pair from this list appear in your
final choice. This is an example of what computer scientists call an
NP-problem, since it is easy to check if a given choice of one hundred
students proposed by a coworker is satisfactory ..., however the task
of generating such a list from scratch seems to be so hard as to be
completely impractical ...”
Ejercicio: Muestre que el problema mencionado en este párrafo es
NP-completo.
70
Que hacer con un problema NP-completo
¿Qué hacemos si tenemos que solucionar un problema NP-completo?
- Existen casos que no vamos a ser capaces de solucionar.
- Pero, ¿Qué pasa en la practica?
Dado un problema NP-completo:
- Nos gustarı́a encontrar casos que puedan ser solucionados
eficientemente y que sean interesantes en la practica.
Ejemplo: 3-COL es NP-completo pero 2-COL puede ser solucionado
eficientemente.
Vamos a ver dos casos en los que SAT puede ser resuelto eficientemente:
2-CNF-SAT y Cláusulas de Horn.
71
La complejidad de 2-CNF-SAT
Sea 2-CNF-SAT = {ϕ | ϕ es una fórmula en CNF que contiene dos
literales por cláusula y es satisfacible}.
Teorema: 2-CNF-SAT puede ser solucionado eficientemente.
Demostración: Sea ϕ una fórmula en CNF que contiene dos literales
por cláusula. Asuma que ϕ menciona las variables proposicionales x1 ,
. . ., xn .
Sea Gϕ = (N, A) un grafo construido de la siguiente forma:
- N = {x1 , . . . , xn , ¬x1 , . . . , ¬xn }.
- Para cada cláusula C = l1 ∨ l2 en ϕ, A contiene los arcos (l¯1 , l2 ) y
(l¯2 , l1 ).
Nótese que este grafo es dirigido.
72
La complejidad de 2-CNF-SAT
Por ejemplo, si ϕ = (x1 ∨ x2 ) ∧ (¬x1 ∨ x3 ) ∧ (x2 ∨ ¬x3 ), entonces
Gϕ es el siguiente grafo:
x1
¬x1
x2
¬x2
x3
¬x3
73
La complejidad de 2-CNF-SAT
¿Por qué construimos Gϕ ? ¿Cuál es la relación entre ϕ y Gϕ ?
Vamos a demostrar que ϕ es satisfacible si y sólo si no existe un
nodo xi tal que ¬xi es alcanzable desde xi y xi es alcanzable desde
¬xi en Gϕ .
¿Por qué nos sirve esta propiedad?
- Porque se puede verificar en tiempo polinomial (¿cómo?).
74
La complejidad de 2-CNF-SAT
(⇒) Por contradicción: Suponga que ϕ es satisfacible y existe xi tal que
¬xi es alcanzable desde xi y xi es alcanzable desde ¬xi en Gϕ .
Sea σ una valuación tal que σ(ϕ) = 1.
Consideramos σ(xi ) = 1. El otro caso se resuelve de la misma forma.
Como ¬xi es alcanzable desde xi en Gϕ : Existe un camino l1 , . . . , lk en
Gϕ tal que k ≥ 2, l1 = xi y lk = ¬xi .
Como σ(¬xi ) = 0: Existe j ∈ [1, k − 1] tal que σ(lj ) = 1 y σ(lj+1 ) = 0.
Como (lj , lj+1 ) ∈ A: (l¯j ∨ lj+1 ) o (lj+1 ∨ l¯j ) es una cláusula en ϕ.
Pero: σ no satisface a ninguna de estas cláusulas, por lo que σ(ϕ) = 0,
una contradicción.
75
La complejidad de 2-CNF-SAT
(⇐) Suponga que para todo i ∈ [1, n]: xi no es alcanzable desde ¬xi o
¬xi no es alcanzable desde xi en Gϕ .
Usamos Gϕ para construir una valuación σ tal que σ(ϕ) = 1:
Sea V = {x1 , . . . , xn , ¬x1 , . . . , ¬xn }
Mientras V 6= ∅
elija li ∈ V tal que l¯i no es alcanzable desde li en Gϕ
V := V \ {li , l¯i }
σ(li ) := 1
Para todo lj tal que lj es alcanzable desde li en Gϕ
V := V \ {lj , l¯j }
σ(lj ) := 1
76
La complejidad de 2-CNF-SAT
Primero tenemos que demostrar que σ está bien definida:
- σ asigna un valor de verdad a cada variable xi .
- No existe una variable xi tal que el procedimiento asigna 1 tanto a
xi como a ¬xi .
Es claro que el primer punto se cumple (¿por qué?).
Segundo punto: Por contradicción, asuma que existe xi tal que el
procedimiento asigna 1 tanto a xi como a ¬xi .
Entonces existen literales l y l0 tales que:
- l y l0 fueron elegidos en la tercera linea del procedimiento.
- Existe un camino l1 , . . ., lj en Gϕ tal que j ≥ 1, l1 = l y lj = xi .
- Existe un camino l10 , . . ., lk0 en Gϕ tal que k ≥ 1, l10 = l0 y lk0 = ¬xi .
77
La complejidad de 2-CNF-SAT
Supongamos que l0 fue elegido primero.
Como l¯j , . . . , l¯1 es un camino en Gϕ desde ¬xi a ¯
l: Existe un camino en
Gϕ desde l0 a ¯
l.
Como l0 fue elegido primero: el procedimiento asigna 1 a σ(¯
l) y remueve
tanto l como ¯
l desde V .
Por lo tanto: l no es elegido y σ(l) = 0, una contradicción.
Para terminar la demostración, tenemos que mostrar que σ(ϕ) = 1.
- Sea C = l1 ∨ l2 una cláusula en ϕ. Tenemos que demostrar que
σ(C) = 1.
78
La complejidad de 2-CNF-SAT
Como (l1 ∨ l2 ) es una cláusula en ϕ: (l¯1 , l2 ) es un arco en Gϕ .
Para cada arco (l, l0 ) en Gϕ , el procedimiento:
- asigna 0 a σ(l) y σ(l0 ) o
- asigna 0 a σ(l) y 1 a σ(l0 ) o
- asigna 1 a σ(l) y σ(l0 ).
Por lo tanto: En los dos primeros casos σ(l1 ) = 1, y en el último caso
σ(l2 ) = 1.
En cualquiera de los tres casos, σ(l1 ∨ l2 ) = 1.
79
Cláusulas de Horn
Notación: p es un literal positivo y ¬p es un literal negativo.
Una cláusula C es de Horn si C contiene a lo más un literal
positivo.
Ejemplos:
p ∨ ¬q ∨ ¬r,
p,
¬q ∨ ¬r,
¬q.
¿Por qué son interesantes las cláusulas de Horn?
80
Conocimiento definitivo
Una fórmula (p ∧ q) → r expresa conocimiento definitivo:
- Si sabemos que p y q son verdaderos, entonces también sabemos que
r es verdadero.
En cambio, una fórmula (p ∧ q) → (r ∨ s) no expresa conocimiento
definitivo:
- Si sabemos que p y q son verdaderos, no podemos concluir que r es
verdadero ni tampoco podemos concluir que s es verdadero, sólo
podemos concluir que alguno de los dos es verdadero.
- Esta fórmula expresa conocimiento disyuntivo.
81
Conocimiento definitivo
La cláusulas de Horn corresponden al siguiente tipo de reglas que
expresan conocimiento definitivo:
- q.
- ¬q.
- (p1 ∧ · · · ∧ pn ) → q.
- (p1 ∧ · · · ∧ pn ) → ¬q.
En muchos casos es posible modelar el dominio de aplicación
usando sólo este tipo de reglas.
82
La complejidad de HORN-SAT
Sea HORN-SAT = {ϕ | ϕ es una conjunción de cláusulas de Horn y
ϕ es satisfacible}.
Teorema: HORN-SAT puede ser solucionado eficientemente.
Ejercicio: Demuestre el teorema.
83
La complejidad de NEG-HORN-SAT
C es una cláusula de Horn negativa si C contiene a lo más un
literal negativo.
Sea NEG-HORN-SAT = {ϕ | ϕ es una conjunción de cláusulas de
Horn negativas y ϕ es satisfacible}.
Ejercicio: Demuestre que NEG-HORN-SAT puede ser solucionado
eficientemente.
84
Descargar