Está en la página 1de 20

Otros problemas NP-completos

Notacin: si L es completo para C, decimos que L es C-completo. o Cmo podemos demostrar que un problema L es NP-completo? o - Nos basta con demostrar que L NP y que existe una reduccin polinomial de SAT a L. o Antes de utilizar esta tcnica tenemos que pensar que versin de e o SAT usar. - En general es ms fcil utilizar frmulas en alguna forma a a o normal.
65

Otros problemas NP-completos

Una versin de SAT muy util: o CNF-SAT = { | es una frmula en CNF y es satisfacible}. o

Es CNF-SAT NP-completo? - Podemos modicar la demostracin del Teorema de Cook para o 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 frmula en CNF que contiene tres o literales por clusula y es satisfacible}. a - 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 Ax b}.
67

Conjetura de Cook

Conjetura de Cook: PTIME

NP.

- No existe un algoritmo eciente para resolver SAT. - Tampoco existen algoritmos ecientes para resolver ninguno de los problemas NP-completos. Cun fundamental es este problema? a

68

Conjetura de Cook

Desde la pgina del Clay Mathematics Institute: a In order to celebrate mathematics in the new millennium, The Clay Mathematics Institute of Cambridge, Massachusetts (CMI) has named seven Prize Problems. The Scientic 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 nal 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 prrafo es a NP-completo.
70

Que hacer con un problema NP-completo


Qu hacemos si tenemos que solucionar un problema NP-completo? e - Existen casos que no vamos a ser capaces de solucionar. - Pero, Qu pasa en la practica? e Dado un problema NP-completo: - Nos gustar encontrar casos que puedan ser solucionados a ecientemente y que sean interesantes en la practica. Ejemplo: 3-COL es NP-completo pero 2-COL puede ser solucionado ecientemente. Vamos a ver dos casos en los que SAT puede ser resuelto ecientemente: 2-CNF-SAT y Clusulas de Horn. a
71

La complejidad de 2-CNF-SAT
Sea 2-CNF-SAT = { | es una frmula en CNF que contiene dos o literales por clusula y es satisfacible}. a Teorema: 2-CNF-SAT puede ser solucionado ecientemente. Demostracin: Sea una frmula en CNF que contiene dos literales o o por clusula. Asuma que menciona las variables proposicionales x1 , a . . ., xn . Sea G = (N, A) un grafo construido de la siguiente forma: - N = {x1 , . . . , xn , x1 , . . . , xn }. - Para cada clusula C = l1 l2 en , A contiene los arcos (l , l2 ) y a 1 (l , l1 ). 2 Ntese que este grafo es dirigido. o
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 ? Cul es la relacin entre y G ? e a o Vamos a demostrar que es satisfacible si y slo si no existe un o nodo xi tal que xi es alcanzable desde xi y xi es alcanzable desde xi en G . Por qu nos sirve esta propiedad? e - Porque se puede vericar en tiempo polinomial (cmo?). o

74

La complejidad de 2-CNF-SAT
() Por contradiccin: Suponga que es satisfacible y existe xi tal que o xi es alcanzable desde xi y xi es alcanzable desde xi en G . Sea una valuacin tal que () = 1. o 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 lj+1 ) o (lj+1 l ) es una clusula en . a j j Pero: no satisface a ninguna de estas clusulas, por lo que () = 0, a una contradiccin. o
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 . o Usamos G para construir una valuacin tal que () = 1: Sea V = {x1 , . . . , xn , x1 , . . . , xn } Mientras V = elija li V tal que li no es alcanzable desde li en G V := V \ {li , li } (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 denida: a - 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?). e Segundo punto: Por contradiccin, asuma que existe xi tal que el o procedimiento asigna 1 tanto a xi como a xi . Entonces existen literales l y l tales que: - l y l 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 l1 , . . ., lk en G tal que k 1, l1 = l y lk = xi .
77

La complejidad de 2-CNF-SAT
Supongamos que l fue elegido primero. Como l , . . . , l es un camino en G desde xi a Existe un camino en l: j 1 G desde l a l. Como l fue elegido primero: el procedimiento asigna 1 a ( y remueve l) tanto l como desde V . l Por lo tanto: l no es elegido y (l) = 0, una contradiccin. o

Para terminar la demostracin, tenemos que mostrar que () = 1. o - Sea C = l1 l2 una clusula en . Tenemos que demostrar que a (C) = 1.
78

La complejidad de 2-CNF-SAT

Como (l1 l2 ) es una clusula en : (l , l2 ) es un arco en G . a 1

Para cada arco (l, l ) en G , el procedimiento: - asigna 0 a (l) y (l ) o - asigna 0 a (l) y 1 a (l ) o - asigna 1 a (l) y (l ). Por lo tanto: En los dos primeros casos (l1 ) = 1, y en el ultimo caso (l2 ) = 1. En cualquiera de los tres casos, (l1 l2 ) = 1.
79

Clusulas de Horn a

Notacin: p es un literal positivo y p es un literal negativo. o Una clusula C es de Horn si C contiene a lo ms un literal a a positivo. Ejemplos: p q r, q r, p, q.

Por qu son interesantes las clusulas de Horn? e a


80

Conocimiento denitivo

Una frmula (p q) r expresa conocimiento denitivo: o - Si sabemos que p y q son verdaderos, entonces tambin sabemos que e r es verdadero.

En cambio, una frmula (p q) (r s) no expresa conocimiento o denitivo: - Si sabemos que p y q son verdaderos, no podemos concluir que r es verdadero ni tampoco podemos concluir que s es verdadero, slo o podemos concluir que alguno de los dos es verdadero. - Esta frmula expresa conocimiento disyuntivo. o
81

Conocimiento denitivo

La clusulas de Horn corresponden al siguiente tipo de reglas que a expresan conocimiento denitivo: - q. - q. - (p1 pn ) q. - (p1 pn ) q. En muchos casos es posible modelar el dominio de aplicacin o usando slo este tipo de reglas. o
82

La complejidad de HORN-SAT

Sea HORN-SAT = { | es una conjuncin de clusulas de Horn y o a es satisfacible}.

Teorema: HORN-SAT puede ser solucionado ecientemente.

Ejercicio: Demuestre el teorema.

83

La complejidad de NEG-HORN-SAT

C es una clusula de Horn negativa si C contiene a lo ms un a a literal negativo.

Sea NEG-HORN-SAT = { | es una conjuncin de clusulas de o a Horn negativas y es satisfacible}.

Ejercicio: Demuestre que NEG-HORN-SAT puede ser solucionado ecientemente.

84

También podría gustarte