Documente Academic
Documente Profesional
Documente Cultură
Problemas NP-completos
Dra. Elisa Schaeffer
elisa.schaeffer@gmail.com
Problemas NP-completos p.
Problemas NP-completos
La clase NP contiene numerosos problemas de importancia prctica. Tpicamente el problema tiene que ver con la construccin o existencia de un objeto matemtico que satisface ciertas especicaciones.
Problemas NP-completos p.
La versin de la construccin misma es un problema de optimizaci n, donde la mejor construccin posible es la o solucin deseada.
o En la versin de decisi n, que es la versin que pertenece a la clase NP, la pregunta es si existe por lo menos una conguracin que cumpla con los requisitos del problema.
Problemas NP-completos p.
Demostraciones
Se puede decir que la mayora de los problemas interesantes de computacin en el mundo real pertenecen a la clase NP. La aplicacin cotidiana de la teora de complejidad computacional es el estudio sobre las clases a las cuales un dado problema pertenece: solamente a NP o tambi n a P, o quiz s a ninguna de las dos. e a
Problemas NP-completos p.
Mtodo bsico
Mostrar que el problema de inters sea NP-completo, porque este implicara que el problema es entre los menos probables de pertenecer en la clase P. Si algn problema NP-completo perteneciera a NP, aplicara NP = P.
Problemas NP-completos p.
Nivel de estudio
Si se sube a un nivel sucientemente general, muchos problemas resultan NP-completos. En muchos casos es importante identicar qu requisitos causan que el problema resulte e NP-completo versus polinomial. Una tcnica bsica es estudiar el conjunto de instancias producidas por una reducci n utilizada en la o demostracin de ser NP-completo para capturar otro problema NP-completo.
Problemas NP-completos p.
Diseo de demostraciones
Problemas NP-completos p.
Diseo de demostraciones
Problemas NP-completos p.
Diseo de demostraciones
Problemas NP-completos p.
Diseo de demostraciones
Probar que con la entrada R(x), si la solucin de Q es s que este implica que la solucin de P con x tambin es siempre s.
Problemas NP-completos p.
Diseo de demostraciones
Probar que con la entrada R(x), si la solucin de Q es s que este implica que la solucin de P con x tambin es siempre s. Probar que con la entrada x, si la solucin de P es s que este implica que la solucin de Q con R(x) tambin es s.
Problemas NP-completos p.
La dicultad
En la construccin tpicamente se busca por representar las elecciones hechas, la consistencia y restricciones. Lo difcil es cmo expresar la naturaleza del problema P en trminos de Q.
Problemas NP-completos p.
Estudios de continuacin
Cuando ya est establecido que un problema de inters es NP-completo, normalmente se dirige el esfuerzo de investigacin a estudiar casos especiales algoritmos de aproximacin anlisis asinttica del caso promedio algoritmos aleatorizados algoritmos exponenciales para instancias pequeas mtodos heursticos de bsqueda local
Problemas NP-completos p.
Una relacin R se puede decidir en tiempo polinomial si y slo si existe una TM determinista que decide el lenguaje {x; y | (x, y) R} en tiempo polinomial. Una relacin R est polinomialmente balanceada si (x, y) R (k 1 tal que |y| |x|k ).
Problemas NP-completos p. 1
Sea L un lenguaje. Aplica que L NP si y slo si existe una relacin polinomialmente balanceada R que se puede decidir en tiempo polinomial tal que L = {x | (x, y) R para algn y } .
Problemas NP-completos p. 1
Demostracin ()
Suponga que existe tal relacin R. Entonces L est decidida por una mquina Turing no determinista que con la entrada x adivina un valor y con largo mximo |x|k y utiliza la mquina para R para decidir en tiempo polinomial si aplica (x, y) R.
Problemas NP-completos p. 1
Demostracin ()
Suponga que L NP. Esto implica que existe una mquina Turing no determinista N que decide a L en tiempo |x|k para algn valor de k. Denimos (x, y) R si y slo si y es una codicacin de una computacin de N que acepta la entrada x.
Problemas NP-completos p. 1
() continua...
Esta R est polinomialmente balanceada, como cada computacin de N tiene cota polinomial. Adems se puede decidir R en tiempo polinomial, como se puede vericar en tiempo polinomial si o no y es una codicacin de una computacin que acepta a x en N . Como N decide a L, tenemos L = {x | (x, y) R para algn y} , exactamente como queramos.
Problemas NP-completos p. 1
Certicado conciso
Un problema A pertenece a la clase NP si cada instancia con la respuesta s del problema A tiene por lo menos un certicado concisoa y. En los problemas tpicos que tratan de la existencia de un objeto matemtico que cumple con ciertos criterios, el objeto mismo sirve como un certicado.
a
Problemas NP-completos p. 1
Problemas kS AT
El lenguaje kS AT, donde k 1 es un entero, es el conjunto de expresiones booleanas S AT (en C NF) en las cuales cada cl usula contiene exactamente k literales. a
3S AT es NP-completo
Problemas NP-completos p. 1
Demostracin
3S AT NP por ser un caso especial de S AT NP. C IRCUITSAT es NP-completo y tenemos una reduccin de C IRCUITSAT a S AT. Vamos a reconsiderar las clusulas producidas en esa reduccin: todas tienen tres literales o menos!
Problemas NP-completos p. 1
Aumento de literales
Como las clusulas son disyunciones, podemos aumentar cada clusula de uno o dos literales a tener tres simplemente por copiar literales. Entonces, tenemos una reduccin de C IRCUITSAT a 3S AT.
Problemas NP-completos p. 1
Transformaciones
A veces es posible aplicar transformaciones que eliminen algunas propiedades de un lenguaje NP-completo as que el hecho que est NP-completo no est afectado. 3S AT es NP-completo an cuando solamente se permite que cada variable aparezca por mximo tres veces en la expresin 3S AT y adems que cada literal aparezca por mximo dos veces en .
Problemas NP-completos p. 1
Demostracin
Una reduccin donde cada instancia 3S AT est transformada a eliminar las propiedades no permitidas. Considera una variable x que aparece k > 3 veces en . Introducimos variables nuevas x1 , . . . , xk y reemplazamos la primera ocurrencia de x en por x1 , la segunda por x2 , etctera.
Problemas NP-completos p. 2
Clusulas auxiliares
Para asegurar que las variables nuevas tengan todas el mismo valor, aademos las clusulas siguientes en : (x1 x2 ), (x2 x3 ), . . . , (xk x1 ). Denota por la expresin que resulta cuando cada ocurrencia extra de una variable en ha sido procesada de esta manera. Resulta que ya cumple con las propiedades deseadas y que es satisfactible si y slo si es satisfactible.
Problemas NP-completos p. 2
2S AT
Para cada instancia de 2S AT, existe un algoritmo polinomial basado en el problema R EACHABILITY en un grafo G(). Las variables x de y sus negaciones x forman el conjunto de vrtices de G(). Una arista conecta dos vrtices xi y xj si y slo si existe una clusula xi xj o xj xi en : {xi , xj } E {xj , xi } E
Problemas NP-completos p. 2
Demostracin
no es satisfactible si y slo si existe una variable x tal que existen caminos de x a x y viceversa en G(). Entonces, sabemos que 2S AT es polinomial.
Problemas NP-completos p. 2
2S AT NL
Adems, resulta que 2S AT NL P. Como NL est cerrada bajo el complemento, podemos mostrar que 2S AT Complement NL. La existencia del camino de no satisabilidad del resultado anterior puede ser vericada en espacio logartmico por computacin no determinista por adivinar una variable x y el camino entre x y x.
Problemas NP-completos p. 2
M AX 2S AT
M AX 2S AT es NP-completo
Problemas NP-completos p. 2
NAESAT
El lenguaje NAESAT 3S AT contiene las expresiones booleanas para las cuales existe una asignacin de valores T tal que en ninguna clusula de , todas las literales tengan el mismo valor o .
NAESAT es NP-completo
Problemas NP-completos p. 2
Demostracin
C IRCUITSAT es NP-completo. Adems para todo circuito C, tenemos que C C IRCUITSAT si y slo si R(C) S AT. Primero aumentamos todas las clausulas de la reduccin a contener exactamente tres literales por aadir uno o dos duplicados de un literal z donde hace falta. Vamos a mostrar que para la expresin booleana Rz (C) en C NF de tipo 3S AT aplica que Rz (C) NAESAT C C IRCUITSAT.
Problemas NP-completos p. 2
La direccin ()
Si T satisface a R(C) en el sentido de NAESAT, tambin la asignacin complementaria T lo satisface por la condicin NAESAT. En una de las dos asignaciones asigna al literal z, por lo cual todas las clusulas originales estn satisfechas en esta asignacin. Entonces, por la reduccin de C IRCUITSAT a S AT, existe una asignacin que satisface el circuito.
Problemas NP-completos p. 2
La direccin ()
Si C es satisfactible, existe una T que satisface a Rz (C). Extendemos T para Rz (C) por asignar T (z) = . En ninguna clusula de Rz (C) es permitido que todos los literales tengan el valor (y tampoco que todos tengan el valor ).
Problemas NP-completos p. 2
Anlisis de T
Cada clusula que corresponde a una puerta tipo , , o variable tena originalmente dos literales o menos, por lo cual contienen z y T (z) = . Sin embargo, todas las clusulas estn satisfechas por T , por lo cual algn literal es necesariamente asignado el valor en T para cada clusula.
Problemas NP-completos p. 3
Puertas y
En el caso de , las clusulas tienen la forma (g h z), (g h z), (g h h ), donde las primeras dos tienen z con su valor . En la tercera, no todas las tres pueden tener el valor porque as no es posible satisfacer a las dos primeras. El caso de es parecido.
Problemas NP-completos p. 3
El problema S AT trata de una expresin booleana en C NF y es NP-completo. Qu podemos deducir sobre la complejidad del problema de satisfaccin de expresiones en D NF? Despus, busca en la literatura o en lnea la denicin de la clase de complejidad #P y vuelve a analizar la pregunta anterior considerando en especial la clase #P.
Problemas NP-completos p. 3