Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Complejidad y optimizaci´
on
NP Completitud I: SAT y 3-SAT
Carlos Andr´es Delgado S.
Facultad de Ingenier´ıa. Universidad del Valle Febrero 2017
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Contenido
1 Problemas NP completos 2 Problema 3-SAT Demostraci´on 3SAT es NPCComplejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC 1 Problemas NP completos 2 Problema 3-SAT Demostraci´on 3SAT es NPC
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Problemas NPC
Definici´onUn problema de decisi´on NP es considerado NP completo
(NPC) si y s´olo si, este puede puede ser reducido a otro
problema NPC.
Demostraci´on NPC
El primer problema en ser demostrado como NPC fue el problema SAT. Stephen Cook (1971).
Se han realizado otras demostraciones de problemas NPC, una de ellas son los 21 problemas NPC. Richard Karp (1972)
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Reducidos desde SAT
0−1 Programaci´on entera
Clique
Definiciones
El problema de programaci´on entera consiste en maximizar
o minimizar una expresi´on, sujeta a unas restricciones.
El problema de clique, consiste en encontrar en un grafo con un conjunto de vertices con dos a dos adyacentes.
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
21 problemas NPC
Reducidos desde Clique
Set packing Vertex cover
Definiciones
El problema de Set packing, consta de un universoU de
elementos yS subconjuntos. Se pregunta si es posible
tener k pares{U,S} de elementos distintos.
El problema de vertex cover, consiste en encontrar un
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Reducidos desde Vertex cover
Set covering Feedback node set Feedback arc set
Directed Hamilton circuit
Definiciones
El problema Set Covering, se tiene un universo de
elementosU y unos conjuntos S, se requiere encontrar un
conjunto de S cuya uni´on sea igual aU.
El problema Feedback node/arc set consiste en remover un conjunto de vertices/aristas tal que se obtiene un grafo sin ciclos.
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
21 problemas NPC
Directed Hamilton circuit
El problema de circuito Hamiltoniano, consiste en encontrar un
grupo de v´ertices en un grafo dirigido tal que si este se recorre,
se visita cada arista una sola vez.
Reducidos desde Directed Hamilton circuit
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Reducidos desde 3SAT
Coloreo de grafos
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
21 problemas NPC
Reducidos desde 3SAT/Coloreo de grafos
Clique cover Exact cover
Definiciones
El problema Clique cover, consiste encontrar los v´ertices
de un grafo que permiten obtener k cliques.
El problema del exact cover un problema de Set packing
m´as restringido, donde cada elemento de U s´olo puede
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Reducidos desde Exact Cover
Problema de la mochila Steiner tree problem 3-dimensional matching Partition
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
Contenido
1 Problemas NP completos 2 Problema 3-SAT Demostraci´on 3SAT es NPCComplejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Instancia
Una instancia de 3-SAT es una colecci´onC de cl´ausulas donde
cada cl´ausula contiene 3 literales.
Example
V ={v1,v2,v3,v4}
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Definici´onEste problema es m´as restringido que SAT, por lo que si 3SAT
es NP-Completo implica que SAT es NPC y no viceversa.
Teorema
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Reducci´on
Se procede a realizar la reducci´on de SAT a 3SAT, se debe
probar que esta reducci´on se puede realizar en tiempo
polinomial.
Demostraci´on
La reducci´on se realiza utilizando como base la longitud de
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Procedimiento de reducci´onSuponga queCi contienek literales:
Si k = 1 significaCi =z1. Se crean dos variables v1 yv2
de tal forma se obtienen cuatro nuevas clausulas de 3 literales.
{v1,v2,z1},{v1,v¯2,z1},{v¯1,v2,z1},{v¯1,v¯2,z1}
Observe que la expresi´on se satisface si z1 es verdadera. 1
1
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Procedimiento de reducci´on
Suponga queCi contienek literales:
Sik = 2 significaC ={z1,z2}. Se crean una variablev1 de tal forma se obtienen dos nuevas clausulas de 3 literales.
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Procedimiento de reducci´onSuponga queCi contienek literales:
Si k = 3 copie la clausula en la instancia 3-SAT tal como
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Procedimiento de reducci´on
Suponga queCi contienek literales:
Si k >3 creek−3 variablesv1,v2 ..vk−3 y agregue
k−2 cl´ausulas, siguiendo la forma
{z1,z2,v1},
{v¯1,z3,v2},{v¯2,z4,v3}, ...
...,{v¯i,zi+2,vi+1}...,{vk¯−3,zk−1,zk} ,
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Procedimiento de reducci´onSi ninguna de las variables originales en una clausula son verdaderas entonces no se pueden satisfacer con ninguna de la
combinaci´on de las variables adicionales.
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Procedimiento de reducci´on
Pero si cualquier literal es verdadero, se tienenn−3 yn−2
clausulas que se encuentran satisfechas:
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Procedimiento de reducci´onEntonces cualquier soluci´on de SAT ser´a tambi´en satisfecha en
una instancia de 3-SAT obteniendo las variables de una
soluci´on de SAT.
Complejidad reducci´on
Si se tienenn clausulas y mliterales en una instancia de SAT
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Extensi´on de la soluci´on
La reducci´on de SAT a 3SAT, puede ser extendida a problemas
4SAT, 5SAT, etc. Por lo que se concluye que estos tambi´en son
NP completos. La direcci´on de la reducci´on es 3SAT a X-SAT
Importante
Esta reducci´on no aplica para los problemas 1-SAT ni 2-SAT los
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Ejercicio 1Realice la reducci´on de la siguiente instancia de SAT a 3SAT
C ={a1,a2a¯3},{a2,a¯3}
Ejercicio 2
Realice la reducci´on de la siguiente instancia de SAT a 3SAT
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Soluci´on ejercicio 1 Realizando reducci´on C ={a1,a2a¯3},{v1,a2,a¯3},{v¯1,a2,a¯3} Comprobaci´on
1 La reducci´on se realiza en tiempo polinomial.
2 Con a3=F SAT es sastisfactible. En la reducci´on tambi´en
se refleja esta situaci´on.
3 Con a1=F,a2 =F ya3 =V SAT no es sastisfactible. En
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC
¿3SAT es NPC?
Soluci´on ejercicio 2 Realizando reducci´on C ={a1,a2a¯4},{v1,a2,a¯3},{v¯1,a2,a¯3}, {v2,a1,a2}{v¯2,a¯3,v3}{v¯3,a5,a6} Comprobaci´on1 La reducci´on se realiza en tiempo polinomial.
2 Cona2 =V SAT es sastisfactible. En la reducci´on tambi´en
se refleja esta situaci´on, haciendo v2=F yv3 =F
3 Con a1=F,a2 =F,a4 =V SAT no es sastisfactible. En la
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC Ejercicio 3
Plantee reducciones de SAT a:
1 4-SAT
2 5-SAT
3 X-SAT,X ≥3
Complejidad y optimizaci´on Carlos Andr´es Delgado S. Problemas NP completos Problema 3-SAT Demostraci´on 3SAT es NPC