Tema 4: NP-ompletitud
Serafn Moral
Universidad de Granada
Abril, 2014
Serafn Moral Tema 4: NP-ompletitud
Contenido
Problemas de deisin y su odiain
Redu
in
Completitud
El problema de la onsistenia en lgia proposiional
El teorema de Cook
Variantes de SAT
Problemas de onjuntos
Problemas de grafos
Problemas numrios
Otros problemas
Caraterizain de problemas en NP
Tnias de redu
in de problemas
Serafn Moral Tema 4: NP-ompletitud
Problemas de Deisin
Un problema de deisin, , onsta de los siguientes elementos:
D: Conjunto de ejemplos del problema (asos posibles o
datos).
Y: Conjunto de ejemplos en los que la respuesta es positiva
(ondiin que es veriada por algunos de los elementos de
D).
Y D
Serafn Moral Tema 4: NP-ompletitud
Ejemplo: Isomorsmo de subgrafos
D: Datos
Dos grafos G
1
= (V1
,E1
) y G2
= (V2
,E2
)
Y: Condiin
Contiene G
1
un subgrafo isomorfo a G
2
?
Es deir, existe un subonjunto V
V1
y un subonjunto de
aristas E
E1
tal que E
V V y existe una apliainbiyetiva f : V
2
V de tal manera que se veria
(u,v) E2
(f (u), f (v)) E
Serafn Moral Tema 4: NP-ompletitud
Codiain de Problemas
Un sistema de odiain para un problema es una apliain
C : D A
donde A es un alfabeto. Es deir, ada ejemplo del problema se
transforma en una palabra en un determinado alfabeto.
Un problema se identia on el lenguaje:
L() = {C (X ) : X Y}.Es deir los asos on respuesta armativa.
Las palabras que no son una odiain orreta de un
ejemplo del problema se onsidera que no forman parte del
lenguaje.
Serafn Moral Tema 4: NP-ompletitud
Problemas y Lenguajes
Palabras de A
Corretas
SI
Lenguaje
Las deniiones sobre lenguajes se pueden transformar en
deniiones sobre los problemas asoiados.
La identiain de las odiaiones orretas (palabras que
orresponden realmente a un ejemplo del problema) se onsidera
que no es importante desde el punto de vista omputaional (en
todos los ejemplos se puede realizar en tiempo lineal).
Serafn Moral Tema 4: NP-ompletitud
Problemas y su Codiain
La omplejidad de un problema puede depender del sistema de
odiain que se emplee para los datos de entrada. Esta
dependenia se puede minimizar si se siguen una serie de normas
bsias:
Los enteros se odian en binario (u otro sistema similar) on
un '-' delante si son negativos.
Para nombrar los elementos de una lista de tamao n usamos:
[1], [2], [3], . . . , [n] donde [n] es el nmero n esrito en binario(o en otro sistema similar). Cada nombre usa del orden de
O(log(n)).
Para odiar una lista de m elementos: (x1
, . . . ,xm
) usamos laseuenia < X
1
, . . . ,Xm
>, donde ada Xi
es la representain
de x
i
.
Serafn Moral Tema 4: NP-ompletitud
Ejemplos
Un nmero raional p/q se representa omo una lista de dosenteros (p,q).
Un onjunto omo una lista de sus elementos
Una funin f de un onjunto nito U = {u1
, . . . ,um
} en un
onjunto nito V se representa omo una lista de pares
((u1
, f (u1
)), . . . ,(um
, f (um
))).
Serafn Moral Tema 4: NP-ompletitud
Distintas Codiaiones de un Grafo
Para representar un grafo podemos usar
distintos proedimientos:
a) Listas los vrties y las aristas
b) Dar una lista de veinos para ada
vrtie
) Dar una matriz de adyaenia del
grafo
1 2
3 4
Mt. Representain lg. Cota Inf. Cota Superior
a) v[1v[2v[3v[4(v[1v[2)(v[2v[3) 36 4v +10a 4v+10a+(v +2a) log10
v
b) (v[2)(v[1v[3)(v[2)() 24 2v +8a 2v+8a+2a log10
v
) 0100/1010/0010/0000 19 v
2+v 1 v2+v 1
Serafn Moral Tema 4: NP-ompletitud
Redu
in entre Problemas
Queremos denir una relain, Redu
in, entre lenguajes de
forma que el lenguaje L
1
se reduza a L
2
si L
2
es ms difil
que L
1
. En el siguiente sentido: si obtuvisemos un algoritmo
para L
2
, lo podemos transfomar eientemente en un
algoritmo para L
1
de omplejidad similar.
Dada una lase C , un lenguaje ompleto para diha lase es un
lenguaje L que pertenee a la lase y tal que todo otro
lenguaje de la lase se redue a l.
Est laro que puede haber distintas deniiones de redu
in,
pero hay una que es vlida en la gran mayora de las
situaiones: transformaiones espaio logartmias.
Serafn Moral Tema 4: NP-ompletitud
Redu
in
L
1
es reduible a L
2
L
1
L2
si y solo si existe una mquina de Turing determinista que en
espaio logartmio alula una funin R : A B de tal maneraque
x L1
R(x) L2
Problema L
1
reduible a L
2
: Algoritmo L
2
Algoritmo L1
Algoritmo
L
2
SI/NO
Serafn Moral Tema 4: NP-ompletitud
Redu
in
L
1
es reduible a L
2
L
1
L2
si y solo si existe una mquina de Turing determinista que en
espaio logartmio alula una funin R : A B de tal maneraque
x L1
R(x) L2
Problema L
1
reduible a L
2
: Algoritmo L
2
Algoritmo L1
R
x A AlgoritmoL
2
R(x) B SI/NO
Serafn Moral Tema 4: NP-ompletitud
Redu
in
L
1
es reduible a L
2
L
1
L2
si y solo si existe una mquina de Turing determinista que en
espaio logartmio alula una funin R : A B de tal maneraque
x L1
R(x) L2
Problema L
1
reduible a L
2
: Algoritmo L
2
Algoritmo L1
R
x A AlgoritmoL
2
R(x) B SI/NOR
x A AlgoritmoL
2
R(x) B
Algoritmo
L
1
Serafn Moral Tema 4: NP-ompletitud
Redu
in entre Problemas
Si tenemos un problema de deisin , bajo un sistema de
odiain este problema se transforma en un lenguaje L: el
onjunto de odiaiones que tienen una respuesta positiva.
La redu
in entre problemas equivaldr a la redu
in entre los
lenguajes asoiados. Sin embargo, nosotros asi siempre haremos
una redu
in entre los problemas diretamente. Nos
preouparemos solo de los ejemplos vlidos y supondremos que se
transforman en ejemplos vlidos.
Serafn Moral Tema 4: NP-ompletitud
Signiado de la Redu
in
La redu
in de 1
a 2
, india que si obtuvisemos una solu-
in senilla para 2
, entones omponindola on la redu
in,
podramos obtener una soluin para 1
.
Eso signia que si obtuvisemos una soluin senilla para 2
la
tendramos para 1
, pero lo ontrario no tiene por qu veriarse.
En denitiva, 2
es al menos tan difil omo 1
: se resiste ms a
que se enuentre una soluin senilla
.
Serafn Moral Tema 4: NP-ompletitud
Pasos en la Redu
in de Problemas
Si tenemos dos problemas 1
y 2
para demostrar que 1
2
hay que:
1
Dar un algoritmo que transforme ada ejemplo, X
1
, de 1
en
un ejemplo, X
2
, del problema 2
.
2
Comprobar que diho algoritmo es logartmio en espaio.
3
Comprobar que si X
1
tiene soluin positiva, entones X
2
tambin la tiene.
4
Comprobar que si X
2
tiene soluin positiva, entones X
1
tambin la tiene.
Serafn Moral Tema 4: NP-ompletitud
El Problema del Viajante de Comerio (VC)
Datos:
Un onjunto nito de iudades C = {1
, . . . ,m
}Una funin de distania d : C C NUna ota B N
Pregunta: Existe un iruito que visite todas las iudades una
sola vez y de oste no superior a B?
Es deir, determinar si existe un orden de las iudades
(pi(1), . . . ,pi(n)) tal que(m1i=1
d(pi(i),pi(i+1))
)+d(pi(m),pi(1)) B
Serafn Moral Tema 4: NP-ompletitud
El Problema del Ciruito Hamiltoniano (CH)
Datos: Un grafo no dirigido G = (V ,E ).Pregunta: Existe un iruito hamiltoniano?
Serafn Moral Tema 4: NP-ompletitud
El Problema del Ciruito Hamiltoniano (CH)
Datos: Un grafo no dirigido G = (V ,E ).Pregunta: Existe un iruito hamiltoniano?
Un iruito hamiltoniano es un amino que parte de un nodo para
llegar a l mismo, visitando todos los nodos del grafo una y solo
una vez.
Serafn Moral Tema 4: NP-ompletitud
Redu
in de CH a VC
Redu
in del Ciruito Hamiltoniano al problema del
Viajante de Comerio: CH VC
Supongamos una ejemplo del Ciruito Hamiltoniano G = (V ,E )
on |V |=m.Construimos el siguiente ejemplo del Viajante de Comerio:
Ciudades C = V
Distania:
d(vi
,vj
) =
{1 si (v
i
,vj
) E2 si (v
i
,vj
) 6 E
Cota: B =m
Serafn Moral Tema 4: NP-ompletitud
Comprobaiones
Se puede omprobar que la soluin del problema del viajante de
omerio es siempre mayor o igual a m y que es m si y solo si desde
ada iudad a la siguiente existe un aro en el grafo original.
La transformain se puede alular en espaio logartmio.
Si existe un iruito hamiltoniano existe un orden de viaje de
valor menor o igual a m (el orrespondiente al iruito
hamiltoniano).
Si existe un orden de viaje de valor menor o igual a m,
entones diho iruito es hamiltoniano en el grafo original.
Serafn Moral Tema 4: NP-ompletitud
Composiin de Redu
iones
Si L
1
L2
y L
2
L3
, entones L
1
L3
.
La demostrain se basa en la omposiin de las redu
iones de L
1
a L
2
( mediante R
1
alulada por M
1
) y de L
2
a L
3
(mediante R
2
alulada por M
2
).
La omposiin no puede ser poner a trabajar M
2
sobre la salida de
M
1
: R
1
(x).Entones podemos usar un espaio intermedio polinomial para
almaenar M
1
(x).La forma de funionar es que ada vez que M
2
neesita una asilla
se la pide a M
1
que la alula en ese momento, usando un ontador
binario para determinar la asilla exata.
L
1
y L
2
se dien equivalentes si y solo si L
1
L2
y L
2
L1
.
Serafn Moral Tema 4: NP-ompletitud
Composiin en Espaio
M
1
M
2
NO
x
R
1
(x) R2
(R1
(x))
Serafn Moral Tema 4: NP-ompletitud
Composiin en Espaio
M
1
M
2
NO
x
R
1
(x) R2
(R1
(x))
M
1
M
2
x
a
1 1 0 1
entrada-salida
Smbolo, N
o
Casilla
R
2
(R1
(x))
Serafn Moral Tema 4: NP-ompletitud
Lenguajes NP-ompletos
Lenguaje NP-ompleto
Un lenguaje es NP-Completo si y solo si es un lenguaje de NP y
ualquier otro lenguaje de NP se redue a l.
Son dos ondiiones la primera es fil de omprobar, la segunda
no.
Los lenguajes NP-ompletos son los ms difiles o tpios dentro de
la lase NP.
Dada la deniin, 'a priori' no tendra porqu existir ningn
lenguaje NP-ompleto.
Esta deniin se extiende a otras lases:
Lenguaje P-ompleto
Un lenguaje es P-Completo si y solo si es un lenguaje de P y
ualquier otro lenguaje de P se redue a l.
Serafn Moral Tema 4: NP-ompletitud
Equivalenia
Dos lenguajes L
1
y L
2
son equivalentes si y solo si
L
1
L2
y L
2
L1
Esta es una relain de equivalenia que divide el onjunto de los
lenguajes en lases de equivalenia.
En partiular esta relain sobre NP queda de la siguiente forma:
NP
t
P
L
NP-ompletos
P-ompletos
2 problemas triviales
(Siempre SI - Siempre NO)
Serafn Moral Tema 4: NP-ompletitud
Consistenia en Lgia Proposiional (SAT)
Datos: Un onjunto U = {p1
, . . . ,pm
} de smbolos proposiionalesy una ole
in C de lusulas sobre estos smbolos.
PREGUNTA: Son onsistentes las lusulas?
EJEMPLO:
U = {p1
,p2
}, C = {p1
p2
,p1
p2
}La respuestas es SI, ya que todas las lusulas se satisfaen
haiendo p
1
y p
2
verdaderas. En notain matemtia
t(p1
) = t(p2
) = V .
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
U = {p1
,p2
}, C = {p1
p2
,p1
p2
,p1
}En este aso, la respuesta es NO.
Para satisfaer la terera lusula, t(p1
) = F (p1
es falsa). En
estas ondiiones, para satisfaer la segunda, tenemos que
tener t(p2
) = F . Y ahora on p1
y p
2
falsas, es imposible
satisfaer la primera.
Serafn Moral Tema 4: NP-ompletitud
El Teorema de Cook
Teorema de Cook
El problema de la onsistenia en lgia proposiional (SAT) es
NP-ompleto
Demostrain:
Lo primero es demostrar que es un problema de NP. Esto es senillo
on el siguiente algoritmo no-determinista:
Para ada smbolo en U sele
ionar un valor de verdad (V
F ).
Para ada lusula omprobar si se satisfae.
Si todas se satisfaen responder SI, en aso ontrario NO.
Serafn Moral Tema 4: NP-ompletitud
Teorema de Cook: Redu
in
Ahora hay que demostrar que si un lenguaje, L, est en NP,
entones diho lenguaje se redue a SAT.
Supongamos L en NP, la redu
in onsiste en transformar un
ejemplo de pertenenia al lenguaje:
Dada una palabra x A, pertenee x a L?
en un ejemplo de SAT tal que la palabra pertenee al lenguaje si y
solo si el ejemplo es onsistente.
Esta transformain tiene que haerse en espaio logartmio.
Serafn Moral Tema 4: NP-ompletitud
Redu
in
Como L est en NP, entones existe una Mquina de Turing no
determinista M = (Q,A,,q0
,{qa
,qr
}) que deide L en tiempopolinmio p(n) n. Vamos a suponer que tiene una sola inta.Vamos a onstruir una transformain que depende de esta
mquina:
f
M
: A SAT
tal que x L fM
(x) es onsistente.
Serafn Moral Tema 4: NP-ompletitud
Teorema de Cook: Notain
Vamos a suponer que la mquina aepta exatamente en
p(n) pasos.Este valor se puede alular en espaio que depende del
logaritmo de n.
Sea Q = {q0
, . . . ,qr
}, r = |Q|1, q1
= qa
, q2
= qr
.
Si A= {s1
, . . . ,sv
} hagamos s0
= B yA
= {s0
,s1
, . . . ,sv
}= {B}A.Sea l el nmero mximo de opiones de M (supondremos que
siempre hay l opiones).
Como la mquina da p(n) pasos, el nmero mximo de asillasvisitadas es p(n)+1.
Serafn Moral Tema 4: NP-ompletitud
Teorema de Cook: Variables Proposiionales
Hay tres tipos de variables:
Q[i ,k ], 0 i p(n), 0 k rEn el momento i , la mquina M est en el estado q
k
.
H[i , j ], 0 i p(n), 0 j p(n)En el momento i , la abeza est en la asilla j .
S [i , j ,k ], 0 i p(n), 0 j p(n), 0 k vEn el momento i , la asila j ontiene el smbolo s
k
O(i ,k), 0 i p(n), 1 k lEn el momento i , la mquina elige la opin k .
El nmero de variables es polinmio y se pueden alular en
espaio logartmio.
Serafn Moral Tema 4: NP-ompletitud
Grupo 1: Estado de la Mquina
Q[i ,0]Q[i ,1] Q[i , r ], 0 i p(n)
En ada momento, la mquina est en un estado
Q[i , j ]Q[i , j ], 0 i p(n), 0 j < j r
En ada momento, la mquina no puede estar a la vez en dos
estados distintos
Serafn Moral Tema 4: NP-ompletitud
Grupo 2: Cabeza de Letura
H[i ,0]H[i ,1] H[i ,p(n)], 0 i p(n)
En ada momento, la abeza de letura est situada en alguna
asilla
H[i , j ]H[i , j ], 0 i p(n), 0 j < j p(n)
En ada momento, la abeza de letura no puede estar en dos
asillas distintas
Serafn Moral Tema 4: NP-ompletitud
Grupo 3: Casillas
S [i , j ,0]S [i , j ,1] S [i , j ,v ], 0 i p(n), 0 j p(n)
En ada momento i , en la asilla j hay algn smbolo del alfabeto.
S [i , j ,k ]S [i , j ,k ],
0 i p(n), 0 j p(n), 0 k < k v
En ada momento i , y en ada asilla j no puede haber dos
smbolos distintos.
Serafn Moral Tema 4: NP-ompletitud
Grupo 4: Congurain Iniial
Q[0,0], en el momento iniial (0), la mquina est en elestado 0.
H[0,0], , en el momento iniial (0), la abeza est en la
asilla 0.
Si la palabra de entrada es: x = sk
1
. . . sk
n
entones se
introduen las lusulas:
S [0,0,k1
],S [0,1,k2
], . . . ,S [0,n1,kn
]
Iniialmente, los smbolos de la palabra x estn en las n
primeras asillas de la inta
Estas son las nias lusulas que dependen de la entrada.
S [0,n,0],S [0,n+1,0], . . . ,S [0,p(n),0]Iniialmente, el resto de las asillas de entrada ontienen el
sbolo B = s0
.
Serafn Moral Tema 4: NP-ompletitud
Grupo 5: Condiin de aeptain
Q[p(n),1]: En el ltimo paso, p(n), la mquina se enuentra en unestado de aeptain.
Serafn Moral Tema 4: NP-ompletitud
Grupo 6: No-Determinismo
O(i ,1) O(i , l), 0 i p(n)1.En ada momento la mquina toma una opin.
O(i , j)O(i , j ), 0 i p(n)1, 1 j , j l , j 6= j .La mquina no puede tomar dos opiones a la vez en un momento
dado.
Serafn Moral Tema 4: NP-ompletitud
Grupo 7: Funionamiento de la Mquina
Si (qk
,sd
) = {(qk
1
,sd
1
,m1
), . . . ,(qk
l
,sd
l
,ml
)}, entones aadimostodas las lusulas:
H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)Q[i+1,ke
]
H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)S [i+1, j ,de
]
H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)H[i+1, j+me
]
donde
0 i p(n)1, 0 j p(n),
0 k r , 0 d v , 1 e l
Serafn Moral Tema 4: NP-ompletitud
Grupo 8: Continuidad de ontenidos
H[i , j ]S [i , j ,d ]S [i+1, j ,d ]
donde
0 i p(n)1, 0 j , j p(n),(j 6= j )
0 d v
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
Est laro que por la forma de onstruir la mquina.
Las lsulas reproduen exatamente el funionamiento de la
mquina para la palabra de entrada e inluyen una lusula que
india que la palabra es aeptada.
Entones la palabra es aeptada si y solo si todas es posible
satisfaer todas las lusulas.
Serafn Moral Tema 4: NP-ompletitud
Complejidad de la Redu
in
La redu
in que hemos realizado tiene una omplejidad espaio
logartmia en funin de la longitud de x : |x |= n.
Primero, n se representa on t = log(n) bits.El lulo de p(n) requiere realizar varias operaiones, multipliaiones ysumas. El nmero de operaiones es jo, por lo que el espaio neesario
ser del orden de t = log(n).p(n) se representar tambin on un nmero de ifras que ser del ordende t = log(n).Finalmente, toda la transformain maneja ndies que varan entre 0 y
p(n) o entre dos valores onstantes. En el segundo aso, el espaio novara en funin de la longitud de x , y en el primer aso se neesita un
espaio de orden t = log(n) (el espaio neesario para el ndie msgrande) para almaenarlos.
Finalmente, la omplejidad de toda la transformain es de orden
O(log(n)).
Serafn Moral Tema 4: NP-ompletitud
Estrategia para NP-Completitud
Supongamos que queremos demostrar que L es NP-ompleto.
Tenemos que haer:
Demostrar que L est en NP.
Determinar un problema NP-ompleto ya onoido L
, y
demostrar que
L
L
Como la redu
in es transitiva, esta ltima ondiin garantiza
que ualquier otro problema de NP se redue a L.
Serafn Moral Tema 4: NP-ompletitud
3-SAT
El problema es una restri
in de SAT, en la que se supone
que todas las lusulas son de longitud 3: tienen exatamente
3 literales.
Suponemos que podemos repetir literales dentro de una
lusula.
Es NP ya que es un aso partiular de SAT y ste ya estaba en
NP: el mismo algoritmo vale.
Para demostrar que es ompleto para la lase NP, no
realizamos una demostrain similar a la del teorema de Cook.
Simplemente, reduimos SAT a 3-SAT.
Para ello, dado un ejemplo de SAT tenemos que onstruir un
ejemplo de 3-SAT que tenga la misma respuesta: las lusulas son
onsistentes o inonsistentes en ambos asos a la vez.
Serafn Moral Tema 4: NP-ompletitud
SAT 3-SAT
Supongamos un ejemplo de SAT, on smbolos U y un onjunto de
lusulas C .
Construimos un ejemplo de 3-SAT, que tiene omo smbolos los de
U y algunos adiionales y uyas lusulas, C
, se obtienen de C de
la siguiente forma:
Para toda lsula en C de longitud 1 2, se repiten algunos de
sus literales para que tenga longitud 3, y se aade a C
.
Las lusulas de C de longitud 3 se aaden tal ual a C
.
Serafn Moral Tema 4: NP-ompletitud
SAT 3-SAT (Cont.)
Para ada lsula en C de longitud mayor o igual que 4:
T
1
T2
Tk
, k 4, se aaden los siguientes k3smbolos proposiionales
H
4
,H5
, . . . ,Hk
y las siguientes lusulas a C
:
T
k
Tk1Hk , Hk Hk Tk , Hk Hk Tk1
H
j+1Tj1Hj , Hj Hj Hj+1, Hj Hj Tj1,(j = 4, . . . ,k1)
T
1
T2
H4
Serafn Moral Tema 4: NP-ompletitud
Equivalenia
La demostrain de que esta transformain es una verdadera
redu
in, se basa en omprobar que para ada lusula
T
1
T2
Tk
, sta es equivalente a las lsulas (aadiendo
H
k
):
T
1
T2
Tk2Hk , Tk Tk1Hk
H
k
Tk
, Hk
Tk1
Esta regla se aplia a la lsula iniial, y despus de forma iterativa
a todas las lsulas resultantes de longitud mayor que 3.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
pr s t q
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
pr s t q
pr s h5
t qh5
h
5
h5
t h5
h5
q
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
pr s t q
pr s h5
pr h4
s h5
h4
h
4
h4
s h4
h4
h5
t qh5
h
5
h5
t h5
h5
q
Serafn Moral Tema 4: NP-ompletitud
2-SAT es en NL y, por tanto, en P
Consideremos un problema 2-SAT, entones onstruimos el grafo:
Nodos: Variables y sus negaiones (todos los posibles literales)
Aros: (,) es un aro si y solo si () est en elproblema.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
C = {x1
x2
,x1
x3
,x1
x2
,x2
x3
}
Grafo:
x
1
x1
x
3
x3
x
2
x2
Teorema
El onjunto de lusulas C es onsistente si y solo si no existe un
par de nodos x ,x , tal que existe un amino de x a x y otro
amino de x a x .
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
C = {x1
x2
,x1
x3
,x1
x2
,x2
x3
}
Grafo:
x
1
x3
x1
x2
x3
x2
x
1
x1
x
3
x3
x
2
x2
Teorema
El onjunto de lusulas C es onsistente si y solo si no existe un
par de nodos x ,x , tal que existe un amino de x a x y otro
amino de x a x .
Serafn Moral Tema 4: NP-ompletitud
Clusulas Horn
Son aquellas en las que, a lo ms, existe un literal positivo.
Idea del algoritmo polinmio: (V el onjunto de variables
proposiionales).
Se onsideran los onjuntos C
1
(todos los literales son
negativos) y C
2
(existe un literal positivo).
Sea H un onjunto de variables proposiionales que
iniialmente es igual a las variables que apareen en las
lusulas de longitud 1 de C
2
. La idea es que este onjunto
ontenga las variables tienen que ser neesariamente verdad.
Serafn Moral Tema 4: NP-ompletitud
Algoritmo (Cont.)
Mientras H ambie, examinar las lusulas de C
2
, si alguna es
de la forma z1
z2
zi
y on todas las variablesz
1
, . . . ,zi
en el onjunto H y la variable y no en H, entones
aadir y a H. ( Como z1
z2
zi
y es equivalente a(z
1
z2
zi
) y , si todos los anteedentes sonverdaderos, entones el onseuente tambin lo tiene que ser).
Una vez alulado H se haen verdad las variables de este
onjunto y falsas las de V H.La onsistenia es equivalente a que para ada lusula en C
1
exista un literal on su variable en V H.
Serafn Moral Tema 4: NP-ompletitud
MAX2SAT
Datos:
Un onjunto de lusulas on dos literales y un valor K 0.Pregunta:
Pueden satisfaerse, al menos, K lusulas?
Es una generalizain de 2-SAT y es NP-ompleto.
Que es NP es inmediato. Para demostrar que es ompleto en esta
lase, vamos a reduir 3-SAT.
Serafn Moral Tema 4: NP-ompletitud
Redu
in: 3-SAT MAX2SAT
Para ello ada lusula de longitud 3, x y z se transforma en lassiguientes 10 lusulas (w es una nueva variable aadida),
x , y , z , w , x y , y z , z x ,x w , y w , z w
Se sele
iona K = 7m, donde m es el nmero de lusulas.Tnia: Constru
in de Gadgets
Esto se puede omprobar, viendo que para ada lusula, si x y z es verdaderoentones se puede elegir el valor de verdad de w de manera que se satisfagan 7
lusulas (pero no ms). Si x y z es falso, entones nuna podemos llegar asatisfaer 7 o ms de estas 10 lusulas, elijamos omo elijamos el valor de verdad de
w.
Serafn Moral Tema 4: NP-ompletitud
Frontera entre P y NP
Muhos problemas, uando se plantean on suiente generalidad
son NP-ompletos. Hay restri
iones que no llegan a onvertirlos en
problemas polinomiales, pero siempre, si se restringe el nmero de
asos a resolver lo suiente se llega un problema polinomial.
Serafn Moral Tema 4: NP-ompletitud
Restri
in de 3-SAT
3-SAT es NP-ompleto si haemos que ada literal nuna apareza ms
de dos vees y ada variable ms de tres vees, pero pueden existir
lusulas de longitud menor que 3.
Hemos de probar que ualquier ejemplo de 3-SAT se puede transformar
en un ejemplo equivalente que umpla esta restri
in. Esto se hae on
el siguiente proedimiento:
Si una variable x no umple las ondiiones de la restri
in,
apareiendo k vees en las lusulas, se substituye x por k
nuevas variables, x
1
, . . . ,xk
, una por ada apariin.
Se aaden las lusulas: x1
x2
,x2
x3
, . . . ,xk
x1
Estas son equivalentes a: x
1
x2
,x2
x3
, . . . ,xk
x1
on lo que todas las versiones x
i
tienen que tener el mismo
valor de verdad.
Serafn Moral Tema 4: NP-ompletitud
Problema NAESAT
Dado un onjunto de lausulas de longitud 3, determinar si existe
una asignain de valores de verdad tal que para ada lausula,
alguno, pero no todos los literales sean iertos.
Es laramente NP ya que si se se pueden asignar de forma no
determinista valores de verdad a las variables y despus omprobar
en tiempo polinmio si se verian las ondiiones espeiadas:
en ada lusula hay un literal ierto y otro falso.
Serafn Moral Tema 4: NP-ompletitud
Redu
in de 3-SAT a NAESAT
Se aade una nueva variable z .
Para ada lausula on menos de 3 literales, aadimos z .
Si los tres literales son distintos pq r aadimos una variable s(signiado: pq s) y las lusulas:
s r z , pqs, p s z , q s zSi NAESAT tiene soluin, entones ambiando el valor de verdad de todas las
variables, sigue teniendo soluin. Elegimos la soluin en la que z es falso. Esta es
una soluin del problema original.
Reiproamente, si se satisfae SAT, podemos satisfaer todas las lausulas nuevas de
auerdo on NAESAT on el mismo valor de verdad para las variables que existan y
haiendo z falso y s verdadero si p q son verdaderos.
Serafn Moral Tema 4: NP-ompletitud
Isomorsmo de Grafos
Problema del Isomorsmo de Grafos
Dados dos grafos no dirigidos G
1
= (V1
,E1
) y G2
= (V2
,E2
),determinar si existe un isomorsmo entre G
1
y G
2
, esto es una
apliain biyetiva f : V1
V2
, tal que
(u,v) E1
(f (u), f (v)) E2
.
Este es un ejemplo de problema que no se ha demostrado que sea
NP-ompleto y tampoo se onoe ningn algoritmo polinmio
para resolverlo. Se supone que ni est en P ni es NP-Completo. De
heho se ha denido una lase GI de todos los problemas que se
pueden reduir al problema del isoformismo de grafos, de la que
evidentemente el problema del isoformismo de grafos es
GI-ompleto.
Serafn Moral Tema 4: NP-ompletitud
Aoplamiento de Tripletas (ACTRI)
Datos:
Tres onjuntos disjuntos W ,X ,Y del mismo tamao q
Un subonjunto M W X Y de ompatibilidadesPregunta:
Contiene M un subonjunto M
M on q elementos, tal que para ada(w
1
,x1
,y1
),(w2
,x2
,y2
) M , si (w1
,x1
,y1
) 6= (w2
,x2
,y2
), entonesw
1
6= w2
, x1
6= x2
, y1
6= y2
?.
b b b
b b b
b b b
b b b
W X Y
Serafn Moral Tema 4: NP-ompletitud
Aoplamiento de Tripletas (ACTRI)
Datos:
Tres onjuntos disjuntos W ,X ,Y del mismo tamao q
Un subonjunto M W X Y de ompatibilidadesPregunta:
Contiene M un subonjunto M
M on q elementos, tal que para ada(w
1
,x1
,y1
),(w2
,x2
,y2
) M , si (w1
,x1
,y1
) 6= (w2
,x2
,y2
), entonesw
1
6= w2
, x1
6= x2
, y1
6= y2
?.
b b b
b b b
b b b
b b b
W X Y
Serafn Moral Tema 4: NP-ompletitud
ACTRI es NP-ompleto
Es NP, ya que un algoritmo no determinista que elige un
subonjunto de M y omprueba que si hay en ada elemento del
subonjunto uno y slo uno de los elementos de ada onjunto
tiene tiempo polinmio.
Serafn Moral Tema 4: NP-ompletitud
Redu
in de 3-SAT a ACTRI
Para demostrar que es ompleto para NP, para a reduir 3-SAT a ACTRI.
Vamos a suponer un ejemplo de 3-SAT on los siguientes datos:
U = {u1
,u2
, . . . ,un
}, C = {1
,2
, . . . ,m
}Vamos a onstruir un ejemplo de ACTRI on la misma soluin.
Construiremos los onjuntos W ,X ,Y y el subonjunto de tripletasM W X Y .Para ada variable u
i
vamos a introduir en W los elementos
u
i
[j ],ui
[j ], j = 1, . . . ,m, en X los elementos ai
[j ], j = 1, . . . ,m y en Y loselementos b
i
[j ], j = 1, . . . ,m.En M se introduen las tripletas: T
t
i
= {(ui
[j ],ai
[j ],bi
[j ]) : 1 j m} yT
f
i
= {(ui
[j ],ai
[j +1],bi
[j ]) : 1 j
ACTRI es NP-Completo
Gra de tripletas:
b b
b
u
i
[1] bi
[1]
a
i
[2]
bb
b
u
i
[4]
b
i
[4]
a
i
[1]
bb
b
u
i
[3]bi
[3]
a
i
[4]
bb
b
u
i
[2]
b
i
[2]
a
i
[3]
b
u
i
[1]
b
u
i
[4]
b
u
i
[3]
b
u
i
[2]
Los valores a
i
, b
i
no
apareen en otras
tripletas. El efe-
to es que en M
debern de estas
todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4]o todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4].
Serafn Moral Tema 4: NP-ompletitud
ACTRI es NP-Completo
Gra de tripletas:
b b
b
u
i
[1] bi
[1]
a
i
[2]
bb
b
u
i
[4]
b
i
[4]
a
i
[1]
bb
b
u
i
[3]bi
[3]
a
i
[4]
bb
b
u
i
[2]
b
i
[2]
a
i
[3]
b
u
i
[1]
b
u
i
[4]
b
u
i
[3]
b
u
i
[2]
Los valores a
i
, b
i
no
apareen en otras
tripletas. El efe-
to es que en M
debern de estas
todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4]o todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4].
Serafn Moral Tema 4: NP-ompletitud
ACTRI es NP-Completo
Gra de tripletas:
b b
b
u
i
[1] bi
[1]
a
i
[2]
bb
b
u
i
[4]
b
i
[4]
a
i
[1]
bb
b
u
i
[3]bi
[3]
a
i
[4]
bb
b
u
i
[2]
b
i
[2]
a
i
[3]
b
u
i
[1]
b
u
i
[4]
b
u
i
[3]
b
u
i
[2]
Los valores a
i
, b
i
no
apareen en otras
tripletas. El efe-
to es que en M
debern de estas
todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4]o todos los elementos
u
i
[1],ui
[2],ui
[3],ui
[4].
Serafn Moral Tema 4: NP-ompletitud
Tripletas para las lusulas
Por ada lusula
j
C :Aadir un elemento s
1
[j ] a X
Aadir un elemento s
2
[j ] a Y
Aadir a M las tripletas
{(ui
[j ],s1
[j ],s2
[j ]) : ui
est en
j
}{(u
i
[j ],s1
[j ],s2
[j ]) : ui
est en
j
}La idea es que en ada aoplamiento M
debe de ontener alguna
de estas tripletas.
Si, de las tripletas anteriores, quedaban libres (no elegidos) los
elementos u
i
[1],ui
[2],ui
[3],ui
[4] orresponde al aso en el que ui
es
ierto. Si quedaban libres u
i
[1],ui
[2],ui
[3],ui
[4], orresponde al aso
en el que u
i
es falso.
En onseuenia, estas tripletas garantizan que todas las lsulas se
satisfaen.
Serafn Moral Tema 4: NP-ompletitud
Elementos adiionales
Se aden los siguientes elementos:
g
1
[k], 1 k m(n1) al onjunto Xg
2
[k], 1 k m(n1) al onjunto YAl onjunto M las tripletas:
(ui
[j ],g1
[k],g2
[k]),(ui
[j ],g1
[k],g2
[k]),
1 k m(n1),1 i n,1 j mLa idea es la siguiente:
Nos han quedado libres en W despus de elegir entre las primeras tripletas: m.n
elementos. Despus de la segundas tripletas, omo hemos elegido uno por
lusula, nos quedan m.nm=m(n1). Ahora aadimos este nmero deelementos a X y a Y y le permitimos que sean ompatibles on todos los de X ,
para tener libertad para elegir los elementos sobrantes en tripletas omo
queramos.
El nmero de tripletas de M es: 2mn+3m+2m2n(n1)
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}
W = {u1
[1],u1
[2],u1
[1],u1
[2],u2
[1],u2
[2],u2
[1],u2
[2],u
3
[1],u3
[2],u3
[1],u3
[2],u4
[1],u4
[2],u4
[1],u4
[2]}X = {a
1
[1],a1
[2],a2
[1],a2
[2],a3
[1],a3
[2],a4
[1],a4
[2],s1
[1],s1
[2],g
1
[1],g1
[2],g1
[3],g1
[4],g1
[5],g1
[6]}Y = {b
1
[1],b1
[2],b2
[1],b2
[2],b3
[1],b3
[2],b4
[1],b4
[2],s2
[1],s2
[2],g
2
[1],g2
[2],g2
[3],g2
[4],g2
[5],g2
[6]}
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}M ={(u
1
[1],a1
[1],b1
[1]),(u1
[2],a1
[2],b1
[2]),(u1
[1],a1
[2],b1
[1]),(u1
[2],a1
[1],b1
[2]),(u
2
[1],a2
[1],b2
[1]),(u2
[2],a2
[2],b2
[2]),(u2
[1],a2
[2],b2
[1]),(u2
[2],a2
[1],b2
[2]),(u
3
[1],a3
[1],b3
[1]),(u3
[2],a3
[2],b3
[2]),(u3
[1],a3
[2],b3
[1]),(u3
[2],a3
[1],b3
[2]),(u
4
[1],a4
[1],b4
[1]),(u4
[2],a4
[2],b4
[2]),(u4
[1],a4
[2],b4
[1]),(u4
[2],a4
[1],b4
[2]),(u
1
[1],s1
[1],s2
[1]),(u3
[1],s1
[1],s2
[1]),(u4
[1],s1
[1],s2
[1]),(u
1
[2],s1
[2],s2
[2]),(u2
[2],s1
[2],s2
[2]),(u4
[2],s1
[2],s2
[2]),(u
i
[j ],g1
[k],g2
[k]),(ui
[j ],g1
[k],g2
[k])(i = 1, . . . ,4, j = 1,2,k = 1, . . . ,6)}
Serafn Moral Tema 4: NP-ompletitud
Cubr. por onj. de tamao tres (3-SET)
Datos: Un onjunto nito X on |X |= 3q y un subonjunto Cde subonjuntos de X de tres elementos.
Pregunta: Existe C
C tal que X =AC A y los elementos
de C
son disjuntos dos a dos (A,B C y A 6= B , entones
AB = /0)?
Es un problema de NP.
Para demostrar que es ompleto para NP, existe una trasformain
muy senilla: ACTRI 3-SET.
Supongamos un ejemplo de ACTRI dado por W ,Y ,Z y elsubonjunto de tripletas M, onstruimos el ejemplo de 3-SET
donde X =W Y Z y
C = {{w ,y ,z} : (w ,y ,z) M}
.
Serafn Moral Tema 4: NP-ompletitud
Problemas de Grafos
Clique: Dado un grafo G = (V ,E ), un lique es un subonjuntomaximal totalmente onetado. Es deir, un subonjunto V
t
Vtal que v
1
,v2
Vt
, (v1
,v2
) E , y que no est estritamenteinluido en otro onjunto que umpla esta propiedad.
El problema del Clique Mximo (Clique): Dado un grafo
G = (V ,E ) y un nmero natural J |V |, determinar si existe un
lique de tamao mayor o igual que J.
Este problema es equivalente a la existenia de un onjunto
totalmente onetado de tamao mayor o igual que J.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
En el siguiente grafo, tenemos un lique de tamao 4 (en rojo):
Serafn Moral Tema 4: NP-ompletitud
Cubrimiento por Vrties (CV)
Dado un grafo G = (V ,E ) y un subonjunto V
V , se die queV
es un ubrimiento por vrties de G , si y solo si toda arista del
grafo tiene un extremo en V
:
(u,v) E , (u V
v V
)
Problema: Dado un grafo G = (V ,E ) y un nmero naturalK |V |, determinar si existe un ubrimiento por vrties detamao menor o igual que K .
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
En el siguiente grafo, tenemos un ubrimiento por vrties de
tamao 3 (en rojo):
Serafn Moral Tema 4: NP-ompletitud
Conjunto Independiente (CI)
Dado un grafo G = (V ,E ) y un subonjunto Vi
V , se die queV
i
es un onjunto independiente de G , si y solo si no hay ninguna
arista que una vrties de V
i
:
u,v Vi
, (u,v) 6 E
Problema: Dado un grafo G = (V ,E ) y un nmero naturalJ |V |, determinar si existe un onjunto independiente de tamaomayor o igual que J.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
En el siguiente grafo, tenemos un onjunto independiente de
tamao 4 (en rojo):
Serafn Moral Tema 4: NP-ompletitud
Lema
Si G = (V ,E ) es un grafo y V V , entones las siguientes
ondiiones son equivalentes:
a) V
es un ubrimiento por vrties de G
b) V V es un onjunto independiente de G
) V V es un subgrafo totalmente onetado del grafo
omplementario G = (V ,E ).
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Totalmente Conetado
Cubrimiento por Vrties
Conjunto Independiente
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de Problemas
Los tres problemas (Clique, Cubrimiento por Vrties y Conjunto
Independiente) son equivalente y si uno es NP-ompleto los otros
tambin lo son.
Si n es es nmero de nodos de G , entones:
G tiene un ubrimiento por vrties de tamao menor o igual que
K
G tiene un onjunto independiente de tamao mayor o igual que
nK
G tiene un lique de tamao mayor o igual que nK
Serafn Moral Tema 4: NP-ompletitud
Cubr. por Vrties (CV) es NP-ompleto
Est laro que es NP: se elige de forma no determinista un
subonjunto de vrties y se omprueba en tiempo polinomial si es
un ubrimiento.
Serafn Moral Tema 4: NP-ompletitud
Redu
in de 3-SAT a CV
Para demostrar que es ompleto reduiremos 3-SAT: 3-SAT CV.
Sea una ejemplo de 3-SAT on variables U y lusulas C .
Se rea un ejemplo de CV, dado por un grafo G = (V ,E ).
Serafn Moral Tema 4: NP-ompletitud
Elementos del grafo
Para ada variables u
i
U se aaden dos vrties ui
,ui
y un
aro que los una.
Para ada lusula
j
C , se aaden tres vrtiesa
1
[j ],a2
[j ],a3
[j ] y tres aristas que los unan (se forma untringulo).
Para ada lsula
j
C si en el literal nmero k de esta
lsula aparee la variable u
i
, se aade una arista de u
k
[j ] alvrtie u
i
si la variable aparee positiva y al vrtie u
i
si la
variable aparee negada.
Se pone un lmite K = n+2m.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
a
1
[1]
a
1
[2]
a
1
[3] a2
[1]
a
2
[2]
a
2
[3]
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
a
1
[1]
a
1
[2]
a
1
[3] a2
[1]
a
2
[2]
a
2
[3]
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
a
1
[1]
a
1
[2]
a
1
[3] a2
[1]
a
2
[2]
a
2
[3]
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
Ejemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
a
1
[1]
a
1
[2]
a
1
[3] a2
[1]
a
2
[2]
a
2
[3]
Serafn Moral Tema 4: NP-ompletitud
Equivalenia CV 3-SATEjemplo de 3-SAT:
U = {u1
,u2
,u3
,u4
}, C = {u1
u3
u4
,u1
u2
u4
}.
u
1
u
1
u
2
u
2
u
3
u
3
u
4
u
4
a
1
[1]
a
1
[2]
a
1
[3] a2
[1]
a
2
[2]
a
2
[3]
u
1
falso
u
2
verdadero
u
3
falso
u
4
verdadero
Cubrimiento:
Vrties rojos
Serafn Moral Tema 4: NP-ompletitud
CV implia 3-SAT
Si existe un ubrimiento V
, entones
Debe de haber, al menos, un vrtie de ada pareja, u
i
,ui
Para ada lusula C
j
deben de existir, al menos, dos vrtie
de ada onjunto: {a1
[j ],a2
[j ],a3
[j ]}.Como el ubrimiento tiene, a lo ms, n+2m vrties, entoneshabr exatamente un vrtie por ada pareja u
i
,ui
y dos por ada
onjunto {a1
[j ],a2
[j ],a3
[j ]}.
Serafn Moral Tema 4: NP-ompletitud
CV implia 3-SAT
Las lsulas se pueden satisfaer haiendo para ada variable u
i
:
u
i
ierto si u
i
V
u
i
falso si u
i
6 V
Cada lusula C
j
tiene tres vrties, y ada vrtie est onetado
on un vrtie de variable.
De estos tres aros, hay dos que tienen extremos en los dos vrties
de {a1
[j ],a2
[j ],a3
[j ]} que estn en V
El otro aro, tendr que tener su extremo del ubrimiento en los
vrties orrespondientes a las variables: u
i
o u
i
. El valor de verdad
asignado a diha variable hae que esa lusula se satisfaga.
Serafn Moral Tema 4: NP-ompletitud
SAT implia CV
Sea una asignain de valores de verdad que haga onsistentes las
lusulas, entones un ubrimiento por vrties del tamao deseado
se onsigue de la siguiente forma:
V
= {ui
: ui
es verdadero}{ui
: ui
es falso}(j
({a1
[j ],a2
[j ],a3
[j ]}{ai
[j ]}))donde a
i
[j ] orresponde al literal que hae verdadera la lusula Cj
.
Serafn Moral Tema 4: NP-ompletitud
El Problema del Ciruito Hamiltoniano (CH)
El problema del Ciruito Hamiltoniano es NP-ompleto.
Es inmediato que es NP. El algoritmo no-determinista polinomio
solo tiene que elegir n nodos (nmero de nodos en el grafo) y
despus omprobar que hay un aro desde ada nodo al siguiente y
del ltimo hasta el primero.
Para demostrar que es ompleto, vamos a reduir CV a este
problema. Sea G = (V ,E ) y K |V | un problema de ubrimientopor vrties.
Vamos a onstruir un grafo G
= (V ,E ) de tal forma que laexistenia de un iruito hamiltoniano para G
sea equivalente a la
existenia de un reubrimiento de tamao K para G .
Serafn Moral Tema 4: NP-ompletitud
Redu
in: grafos base
Para ada e = (u,v) E se aade el siguiente grafo a G (on 12vrties).
(u,e,1) (v ,e,1)
(u,e,2) (v ,e,2)
(u,e,3) (v ,e,3)
(u,e,4) (v ,e,4)
(u,e,5) (v ,e,5)
(u,e,6) (v ,e,6)
Serafn Moral Tema 4: NP-ompletitud
Redu
in: grafos base
Para ada e = (u,v) E se aade el siguiente grafo a G (on 12vrties).
(u,e,1) (v ,e,1)
(u,e,2) (v ,e,2)
(u,e,3) (v ,e,3)
(u,e,4) (v ,e,4)
(u,e,5) (v ,e,5)
(u,e,6) (v ,e,6)
Solo estos nodos
de los extremos se
onetan on el resto
del grafo
Serafn Moral Tema 4: NP-ompletitud
Redu
in: reorridos
(u,e,1)
(u,e,6)
(u,e,1) (v ,e,1)
(u,e,6) (v ,e,6)
(v ,e,1)
(v ,e,6)
Serafn Moral Tema 4: NP-ompletitud
Redu
in: onetando grafos bsios
Para ada v V sea
e
v
[1], . . . ,ev
[rv
]
una ordenain arbitraria de los ar-
os que ontienen v .
Para 1 i < rv
unimos el sub-
grafo asoiado a e
v
[i ] y el subgrafoe
v
[i+1] mediante un aro que va de(v ,e
v
[i ],6) a (v ,ev
[i +1],1).
e
v
[i ]
(v ,ev
[i ],6)(v ,e
v
[i+1],1)
e
v
[i +1]
Serafn Moral Tema 4: NP-ompletitud
Redu
in: Nodos Adiionales
Finalmente se aaden K vrties, a
1
,a2
, . . . ,aK
, que se unen on los
subgrafos de la siguiente forma:
Para ada v V sea ev
[1], . . . ,ev
[rv
], la lista de las aristas quelo ontienen en el orden que se onsideraron anteriormente
Se aade una arista de ada uno de los a
i
a (v ,ev
[1],1)(vrtie extremo de la primera arista orrespondiente a v)
Se aade una arista de ada uno de los a
i
a (v ,ev
[rv
],6)(vrtie extremo de la ltima arista orrespondiente a v)
Serafn Moral Tema 4: NP-ompletitud
Redu
in: Nodos Adiionales
(v ,ev
[1],1)
(v ,ev
[rv
],6)
a
i
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
u
v w
e
1
e
2
e
3
K = 2
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
u
v w
e
1
e
2
e
3
K = 2
e
1
u
v
e
2
v w
e
3
u
w
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
u
v w
e
1
e
2
e
3
K = 2
e
1
u
v
e
2
v w
e
3
u
w
Nodo u: aristas e
1
,e3
Nodo v : aristas e
1
,e2
Nodo w : aristas e
2
,e3
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
u
v w
e
1
e
2
e
3
K = 2
e
1
u
v
e
2
v w
e
3
u
w
Nodo u: aristas e
1
,e3
Nodo v : aristas e
1
,e2
Nodo w : aristas e
2
,e3
a
1
a
2
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
u
v w
e
1
e
2
e
3
K = 2
e
1
u
v
e
2
v w
e
3
u
w
Nodo u: aristas e
1
,e3
Nodo v : aristas e
1
,e2
Nodo w : aristas e
2
,e3
a
1
a
2
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de Soluiones
u
v w
e
1
e
2
e
3
K = 2
e
1
u
v
e
2
v w
e
3
u
w
Nodo u: aristas e
1
,e3
Nodo v : aristas e
1
,e2
Nodo w : aristas e
2
,e3
a
1
a
2
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de Soluiones: CV CH
Sean K vrties que forman un ubrimiento por vrties:
{v1
, . . . ,vK
}. Un iruito hamiltoniano se puede onstruir de lasiguiente forma omenzando en a
1
:
Si estamos en a
i
, desde l reorremos todos los grafos
asoiados a las aristas de v
i
: para ada arista si tiene slo a v
i
en el ubrimiento por vrties, se reorre el subgrafo de esa
arista de forma ompleta; si la arista ontiene los dos extremos
en el ubrimiento, se reorre slo la mitad de los vrties del
subgrafo orrespondientes a v
i
. Desde el ltimo subgrafo
volvemos a a
i+1, repitiendo el proeso, exepto para aK que
volvemos a a
1
y termina el iruito.
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de Soluiones: CH CV
Si tenemos un iruito hamiltoniano, tendr la forma
a
1
a
2
a
3
a
K
Desde ada a
i
al siguiente a
i+1 (y tambin desde aK a a1)
reorremos los subgrafos. En ada uno de esos reorridos entramos
y salimos en los subgrafos por un mismo vrtie. Sea este vrtie v
i
(v
K
si es el reorrido de a
K
a a
1
).
El onjunto {v1
, . . . ,vK
} es un ubrimiento por vrties, ya que
ada arista tiene un subgrafo en el que, al menos, el iruito
hamiltoniano entra una vez. El vrtie por el que se entra (que ha
de oinidir on el de salida) ha de estar en el ubrimiento por
vrties.
Serafn Moral Tema 4: NP-ompletitud
El Problema de la Partiin
Datos: Un onjunto A y un tamao para ada uno de sus
elementos:
s : A NPregunta: Determinar si existe un A
A tal que se verique:
aA
s(a) = aAA
s(a)
Este es laramente un problema de NP: se eligen de forma no
determinista los elementos de A
y en tiempo polinmio se
determina si los tamaos totales de los onjuntos A
y AA son
iguales.
Para demostrar que es ompleto para NP, vamos a reduir el
ubrimiento por tripletas (ACTRI) a este problema.
Serafn Moral Tema 4: NP-ompletitud
Redu
in, ACTRI PARTICION
Sea W ,X ,Y on |W |= |X |= |Y |= q y un subonjuntoM X Y Z un ejemplo del problema ACTRI, vamos a onstruiruna partiin equivalente.
Consideremos:
W = {w1
, . . . ,wq
}, X = {x1
, . . . ,xq
}Y = {y
1
, . . . ,yq
}M = {m
1
,m2
, . . . ,mk
}
El onjunto de la partiin, A, va a ontener k+2 elementos.Hay k elementos {a
1
, . . . ,ak
} que orresponden a las k tripletas deM.
Serafn Moral Tema 4: NP-ompletitud
Redu
in ACTRI PARTICION
Para ada tripleta m
i
= (wf (i),xg(i),yh(i)), se onsidera el elemento
a
i
on un peso:
s(ai
) = 2p(3qf (i))+2p(2qg(i))+2p(qh(i))
donde p = [log2
(k)]+1.En binario podemos ver el nmero en grupos de p posiiones. Cada grupo
orresponde a un elemento de W ,X o Y :
. . . . . . . . .
w
1
w
2
. . .w
q
x
1
x
2
. . .x
q
y
1
y
2
. . .y
q
Cada tripleta m
i
= (wf (i),xg(i),yh(i)) se orresponde on un nmero on
un 1 a la dereha de las zonas de w
f (i),xg(i),yh(i) y 0 en el resto.
Serafn Moral Tema 4: NP-ompletitud
Redu
in ACTRI PARTICION
Para ada tripleta m
i
= (wf (i),xg(i),yh(i)), se onsidera el elemento
a
i
on un peso:
s(ai
) = 2p(3qf (i))+2p(2qg(i))+2p(qh(i))
donde p = [log2
(k)]+1.En binario podemos ver el nmero en grupos de p posiiones. Cada grupo
orresponde a un elemento de W ,X o Y :
. . . . . . . . .
w
1
w
2
. . .w
q
x
1
x
2
. . .x
q
y
1
y
2
. . .y
q
1 1 1
Cada tripleta m
i
= (wf (i),xg(i),yh(i)) se orresponde on un nmero on
un 1 a la dereha de las zonas de w
f (i),xg(i),yh(i) y 0 en el resto.
Ejemplo: Tripleta: (w2
,x1
,yq
)
Serafn Moral Tema 4: NP-ompletitud
Redu
in ACTRI PARTICION
Si p = [log2
(k)] + 1, entones sumando k o menos unos nunaobtenemos un nmero on un 1 ms all de la posiin p+1
Sumando k o menos nmeros de los asoiados a las tripletas, nuna
pasa un 1 de la zona de un elemento a la zona de otro.
Sea B = 3q1j=0 2
p.j. Este nmero tiene un 1 a la dereha de ada
una de las zonas:
. . . . . . . . .
w
1
w
2
. . .w
q
x
1
x
2
. . .x
q
y
1
y
2
. . .y
q
11 1 1 1 1 1 1 1
Serafn Moral Tema 4: NP-ompletitud
Redu
in ACTRI PARTICION
Como una onsenuenia, para ada A
{a1
, . . . ,ak
}, tenemosque
aA
s(a) = B
si y solo si M
= {mi
: ai
A} es un reubrimiento por tripletas.
Aadimos dos nuevos elementos a A: b
1
y b
2
on pesos:
s(b1
) =(
ki=1 s(ai )
)s(b
2
) = 2B
Cada uno de estos pesos neesita, a lo ms, (3pq) bits. Se pueden
alular zona a zona de forma onseutiva.
Serafn Moral Tema 4: NP-ompletitud
Conjunto A
El onjunto A es igual a {a1
, . . . ,ak
,b1
,b2
}.
La suma de los pesos de sus elementos es
xA
s(x) =k
i=1
s(ai
)+ s(b1
)+ s(b2
) =
k
i=1
s(ai
)+k
i=1
s(ai
)+2B = 2k
i=1
s(ai
)+2B
Este onjunto se parte en dos mitades uando ada una pesa:
k
i=1
s(ai
)+B
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de soluiones
Si la soluin es positiva al problema de la partiin, entones es
positiva a ACTRI
Supongamos A
A, tal que
aA
s(a) = aAA
s(a)
Entones ada una de estas sumas es ki=1 s(ai)+B . Uno de los
onjuntos (supongamos que es A
) debe de ontener b
1
y no b
2
.
La suma de los pesos de los elementos de A
distintos de b
1
tiene
que ser B .
Por tanto, las tripletas asoiadas a estos elementos son un
ubrimiento por tripletas del onjunto original.
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de soluiones
Si la soluin es positiva a ACTRI, entones es positiva al problema
de la partiin
Si M
M un ubrimiento por tripletas.Entones, el onjunto A
= {b1
}{ai
: mi
M } representa unarespuesta positiva al problema de la partiin, ya que, al ser M
una
partiin, la suma de los pesos de estos elementos es
m
i
M s(ai) = B y, por tanto, la suma de los pesos de A es
(k
i=1
s(ai
)+B)
que es la mitad del total.
Serafn Moral Tema 4: NP-ompletitud
Problemas en NP
Sea una relain R AAR se die deidible polinomial si y solo si existe una mquina de
Turing determinstia M que deide en tiempo polinomial el
lenguaje:
{(x ,y) : R(x ,y)}
Se die que R est equilibrada polinomialmente si y solo si existe
un k 1 tal que si R(x ,y) entones |y | |xk |.
Teorema: Si L A, entones L NP si y solo si existe unarelain deidible polinomial y equilibrada polinomialmente tal que
L= {x : y A,R(x ,y)}.
Serafn Moral Tema 4: NP-ompletitud
Tnias de Redu
in
Del libro de Garey-Johnson:
Restri
in. Demostrando que un problema NP-ompleto es un
subproblema del que estamos onsiderando.
Reemplazamiento Loal. Haiendo una transformain de un
problema NP-ompleto elemento a elemento.
Reemplazamiento Loal on Refuerzo. Haiendo una
transformain de un problema NP-ompleto elemento a
elemento, pero aadiendo algunos elementos adiionales para
forzar la equivalenia de los problemas.
Diseo de Componentes. Distintos elementos del problema original
se transforman en distintos tipos de estrutura que se onetan on
otros elementos.
Serafn Moral Tema 4: NP-ompletitud
Tnia de la Restri
in
Si un problema 1
es NP y un subproblema suyo, 2
, es
NP-ompleto, entones 1
es NP-ompleto.
Esta es la tnia que se emple para demostrar que el problema
del iruito hamiltoniano en grafos dirigidos es NP-ompleto (el
problema del iruito hamiltoniano en grafos no-dirigidos es un aso
partiular suyo).
Serafn Moral Tema 4: NP-ompletitud
Ejemplo: Problema de la Mohila
Tenemos un onjunto nito de objetos U. Cada objeto, u, tiene un
tamao, s(u) N, y un valor v(u) N. Tenemos, adems, dosnmeros naturales: B (el tamao mximo) y K (el valor mnimo).
La pregunta es si existe un subonjunto de objetos U
U, tal que
uU
s(u) B , uA
v(u) K
El problema de la partiin es un aso partiular de este problema,
en el que s(u) = v(u),u y B = K = (1/2)uU s(u).
Serafn Moral Tema 4: NP-ompletitud
Asignain en un Multiproesador
Datos: Un onjunto A de tareas, ada tarea, a A, tiene unalongitud l(a) N. Tenemos, adems, un nmero de proesadores my un tiempo lmite, D N.Pregunta: Existe una partiin de A: {A
1
, . . . ,Am
} en msubonjuntos disjuntos, de manera que
max{ aA
i
l(a) : 1 i m} D
Si nos restringimos al aso m= 2 y D = 1/2aA l(a) obtenemos el
problema de la partiin.
Serafn Moral Tema 4: NP-ompletitud
Reemplazamiento Loal
Cada elemento de un problema NP-ompleto se transforma enuna estrutura del problema que estamos onsiderando .Ejemplo: Redu
in de SAT a 3-SAT
Serafn Moral Tema 4: NP-ompletitud
Partiin en Tringulos (PARTRI)
Se parte de un grafo G = (V ,E ) on un nmero de vrties|V |= 3q.La pregunta es si existe un partiin de V en q onjuntos disjuntos
de tamao 3: V
1
, . . . ,Vq
, de tal manera que si
V
i
= {Vi [1],Vi [2],Vi [3]}, entones los aros
(Vi [1],Vi [2]),(Vi [2],Vi [3]),(Vi [1],Vi [3]) E (los subonjuntos de
vrties son tringulos).
Este es un problema de NP, y se puede demostrar que es ompleto
reduiento 3-SET (ubrimiento por onjuntos de tamao 3).
Serafn Moral Tema 4: NP-ompletitud
Redu
in: 3-SET PARTRI
Sea X on |X |= 3q y C una familia de subonjuntos de treselementos de X .
Construimos el grafo G = (V ,E ) on un nmero de vrties|V |= 3q de la siguinete forma: todos los elementos de X sernvrties del grafo.
Para ada onjunto
i
={x
i
,yi
,zi
} C , aadimos9 nuevos vrties a V y el
siguiente subgrafo:
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8
z
i
Serafn Moral Tema 4: NP-ompletitud
Equivalenia de los Problemas
La equivalenia de las soluiones en ambos problemas se obtiene de
las dos formas que existen de elegir los tringulos en ada uno de
los subgrafos de G :
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8]
z
i
a
i
[3] ai
[9]
a
i
[6]
a
i
[1] ai
[2]
x
i
a
i
[4] ai
[5]
y
i
a
i
[7] ai
[8
z
i
La primera orresponde al aso en que {xi
,yi
,zi
} est en el
ubrimiento C
, la segunda al aso en el que no est.
Serafn Moral Tema 4: NP-ompletitud
Reemplazamiento Loal on Refuerzo
Corresponde al aso en el que, adems de los elementos en que se
transforman los elementos de , se aaden algunos elementosadiionales para forzar la equivalenia de las soluiones.
Ejemplo: La redu
in del ubrimiento por tripletas al problema
de la partiin: ACTRI PARTICION.
Serafn Moral Tema 4: NP-ompletitud
Conjunto Mnimo de Tests (CMT)
Datos: Un onjunto nito A (posibles diagnstios), una familia
C de subonjuntos de A (posibles tests) y un entero J N querepresenta el nmero admisible de tests.
Pregunta: Existe una subfamilia de test C
C on |C | J ytal que para ada par de elementos distintos a
i
,aj
A, existe untest C que ontiene uno y slo uno de los elementos del par(un elemento, por ejemplo, a
i
est en y el otro fuera)?
Serafn Moral Tema 4: NP-ompletitud
Redu
in: ACTRI a CMT
Vamos a reduir ACTRI a este problema. Supongamos un ejemplo
de ACTRI on M W X Y y |W |= |X |= |Y |= q.Vamos a rear un ejemplo de este problema equivalente a l.
Haemos A=W X Y {w0
,x0
,y0
}C = {{w ,x ,y} : (w ,x ,y) M}{W {w
0
},X {x0
}}J = q+2
Serafn Moral Tema 4: NP-ompletitud
Diseo de Componentes
Distintas omponentes del problema a reduir se transforman endistintas estruturas de que se onetan de alguna forma paraforzar la equivalenia.
Ejemplos:
Cubrimiento por vrties
El iruito Hamiltoniano
La demostrain del teorema de Cook
Serafn Moral Tema 4: NP-ompletitud
Problemas
1
Camino ms largo Dado un grafo G = (V ,E ) y un enteropositivo K |V |, Contiene G un amino simple (que no pasedos vees por el mismo sitio) on K o ms aros?
2
Empaquetado de Conjuntos Dada una ole
in C de
onjuntos nitos y un entero K |C |, Existen K onjuntosdisjuntos en C?
3
Partiin en subgrafos hamiltonianos Dado un grafo
G = (V ,E ), y un entero positivo K |V |, Puedenpartiionarse los vrties de G en k K onjuntos disjuntosV
1
,V2
, . . . ,Vk
de tal forma que para todo 1 i k , Vi
ontiene un iruito hamiltoniano.
Serafn Moral Tema 4: NP-ompletitud
Problemas
4. Subgrafo omn maximal Dados los grafos
G
1
= (V1
,E1
),G2
= (V2
,E2
), y un entero positivo K , Existensubonjuntos E
1
E1
y E
2
E2
tales que |E 1
|= |E 2
| K ytal que los dos subgrafos G
1
= (V1
,E 1
) y G 2
= (V2
,E 2
) sonisomorfos?
5. Suma de uadrados mnima Dado un onjunto nito A y un
tamao s(a)> 0 para todo a A y dos enteros positivos K yJ Pueden partiionarse los elementos de A en K onjuntos
disjuntos, A
1
, . . . ,Ak
, de tal forma que Ki=1
(aA
i
s(a))2 J?
Serafn Moral Tema 4: NP-ompletitud
Problemas
8. Conjunto dominante Dado un grafo G = (V ,E ) y un enteropositivo K |V |, Existe un subonjunto V V tal que|V | K y tal que todo vrtie v V V est onetado onal menos un vrtie de V
?
15. Colorear grafos(3) Dado un grafo G = (V ,E ), Existe unafunin f : V {1,2,3}, tal que f (u) 6= f (v) para todos losaros {u,v} E?
Serafn Moral Tema 4: NP-ompletitud
Reduibilidad Turing
Reduibilidad Turing
Un problema se redue Turing a lo que se representa omo
T
si y solo si se puede resolver en tiempo polinmio mediante unalgoritmo que puede llamar a una funin que resuelve ontando
ada llamada omo un paso de lulo.
La reduibilidad Turing es un onepto ms dbil que el que hemos
visto de reduibilidad espaio logartmia: Si se redue a ,entones se puede onstruir una reduibilidad Turing.
Serafn Moral Tema 4: NP-ompletitud
Problemas NP-Difiles
Un problema es NP-difil si y solo si existe un problemaNP-ompleto que se puede reduir (Turing) a :
T
Teorema
Si un problema NP-difil se resuelve en tiempo polinmio entones
P = NP .
En este tema vamos a onsiderar problemas NP-difiles que tienen
una diultad similar a los NP-ompletos (existe redu
in Turing
entre ambos):
Clase Co-NP: Complementarios de los problemas de NP
Clase FNP: Problemas que busan una soluin, uando saber
si existe es NP.
Serafn Moral Tema 4: NP-ompletitud
La Clase Co-NP
CoNP = {L : L NP}
Ejemplo
Dado un onjunto de frmulas en lgia proposiional determinarsi son vlidas (se satisfaen para todas las asignaiones de valores de
verdad).
Ejemplo
Dado un grafo determinar si NO tiene un iruito hamiltoniano.
Estos problemas no estn en NP, lo que tienen es una Mquina
polinmia no determinista en la que la respuesta es armativa al
problema si TODAS las opiones responden SI.
Tampoo se reduen a los problemas NP on una transformain
espaio logartmia, ya que estas transformaiones exigen que las
respuestas a ambos problemas sean las mismas, pero si existen
redu
iones Turing entre los problemas de NP y los de CoNP.
Serafn Moral Tema 4: NP-ompletitud
Problemas CoNP Completos
Deniin
Un problema es CoNP Completo si y solo si est en la lase CoNP
y ualquier otro problema de CoNP se redue a l.
Teorema
L es NP Completo L es CoNP CompletoTeorema
Si un problema CoNP ompleto est en NP, entones CoNP = NP .
Teorema
Si P = NP , entones CoNP = NP
Serafn Moral Tema 4: NP-ompletitud
Estrutura de Clases
NP Co-NP
P
NP-Completos CoNP-Completos
Serafn Moral Tema 4: NP-ompletitud
Relaiones
Relain: Una relain sobre A
es un subonjunto R AA.
Si (x ,y) R , entones esribiremos R(x ,y).Si (x ,y) 6 R , entones esribiremos R(x ,y).Ejemplo
Conjunto de las lusulas y asignaiones de valores de verdad, tales que
las asignaiones de verdad haen que se satisfagan todas las lusulas.
Deniin
Una relain R sobre A
se die equilibrada polinmiamente si existe un
polinomio p tal que si R(x ,y) entones |y | p(|x |).
Deniin
Una relain R sobre A
se die deidible polinmiamente si existe un
algoritmo polinmio que deide para toda pareja (x ,y) si R(x ,y).
Serafn Moral Tema 4: NP-ompletitud
Problemas en CoNP
Teorema: Caraterizain de NP
Un lenguaje L A est en NP si y solo si existe una relain Rdeidible en tiempo polinmio y equilibrada polinmiamente tal
que
L= {x A : y A,R(x ,y)}
Teorema: Caraterizain de CoNP
Un lenguaje L A est en CoNP si y solo si existe una relainR deidible en tiempo polinmio y equilibrada polinmiamente tal
que
L= {x A : y A,R(x ,y)}
Serafn Moral Tema 4: NP-ompletitud
Primalidad
Este es una problema en CoNP
Es muy fil haer un algoritmo NP para el problema
omplementario: determinar si un nmero N es ompuesto.
Se determina un nmero en binario de longitud menor o igual
que la de N, se efeta la divisin de N por diho nmero. Si
la divisin es exata se die que es ompuesto. En aso
ontrario se die que no es ompuesto.
La primalidad tiene un algoritmo O(N), pero este algoritmo
es slo pseudo-polinmio (polinmio si se limita el mximo
de los nmeros).
Serafn Moral Tema 4: NP-ompletitud
Primalidad est en NP
Teorema
Un nmero p > 1 es primo si y solo si existe un nmero 1 < r < p
tal que r
p1 = 1 mod p y, adems, rp1q 6= 1 mod p, para todos los
divisores primos q de p1.Teorema: Teorema de Pratt
Primos est en NP.
Demostrain
Si p es primo, esto se puede ertiar on la existenia de un nmero r tal
que r
p1 = 1 mod p y que adems veriase rp1q 6= 1 mod p, para todos
los divisores primos q de p1.La omprobain de que r
p1 = 1 mod p se puede haer en tiempo poli-nomial en funin de la longitud de p, que es de orden l = log(p): Para
alular 3 r
p1, se alulan r
2, r4, . . . , r2l
. Esto tiene un orden de O(l3).r por s solo no es un ertiado: 20
211 = 1 mod 21 y 21 no es primo
Serafn Moral Tema 4: NP-ompletitud
Demostrain
Demostrain
El ertiado tiene que adjuntar todos los divisores primos de p1. Es deir onstar, en prinipio de r y una lista de divisores de
p1 : (q1
, . . . ,qk
). El omprobar que la lista es ompleta se hae pordivisiones suesivas de p1 entre estos nmeros y omprobando quede uno al nal.
Nos queda una uestin, mo sabemos que los nmeros (q1
, . . . ,qk
)son primos? Pues dando ertiados para ellos. Exepto para 2 que
no neesita ertiado.
El ertiado sera una estrutura reursiva: un ertiado del
nmero p sera r y una lista de divisores ompleta de p 1:(q
1
, . . . ,qk
), y ertiados de primalidad para ada uno de ellos.
Serafn Moral Tema 4: NP-ompletitud
Demostrain
Ejemplo
Cert(67) = ((67: 2 (2, 3, 11)), (3: 2 (2)), (11: 8 (2,5)), (5: 3 (2)))
La longitud del ertiado es de orden log
2(p).La longitud de un nmero y su lista es de orden log(p).El nmero de listas es de orden log(p).
Serafn Moral Tema 4: NP-ompletitud
Problemas de Funiones
Sea A un alfabeto y R una relain en A
A, el problema defunin asoiado a esta relain onsiste en dado un ejemplo
x A, alular{y tal que R(x ,y) si {z : R(x ,z)} 6= /0 si {z : R(x ,z)} = /0
Ejemplo
Dado un onjunto de lusulas alular una asignain de valores de
verdad, si existe, que satisfaga todas las lusulas.
Ejemplo
Dado un grafo alular un iruito hamiltoniano (si este existe)
Serafn Moral Tema 4: NP-ompletitud
La lase FNP
Caraterizain de NP
Un lenguaje L A est en NP si y solo si existe una relain Rdeidible en tiempo polinomial y equilibrada polinomialemente tal
que
L= {x A : y A,R(x ,y)}
Caraterizain de FNP
Un problema de funin est en FNP si y solo si est asoiado a
una relain R deidible en tiempo polinmio y equilibrada
polinmiamente.
Serafn Moral Tema 4: NP-ompletitud
La lase FP
FP
FP: La lase de problemas de funiones de FNP tales que existe
una mquina de Turing determinista que las alula en tiempo
polinmio.
FNPT
FNPT: La lase de los problema de FNP totales.
Si para todo x existe un y tal que R(x ,y)
Ejemplo
Dado un nmero p enontrar una desomposiin en nmeros primos
p = pk11
.pk22
. . . . .pkmm
on un ertiado de primalidad para ada nmero primo.
Seguro que existe, pero no es fil enontrarlo.
Serafn Moral Tema 4: NP-ompletitud
Redu
iones en FNP
Redu
iones en FNP
Un problema de funiones se redue a un problema si y solo si,existen funiones R y S alulables en espaio logartmio, tal que
para toda adena x y z ourre lo siguiente: Si x es un ejemplo de entones R(x) es un ejemplo de . Adems si z es una soluin
orreta de R(x) entones S(z) es una soluin orreta de x.
Problemas FNP-ompletos
Con esto podemos denir el onepto de ompletitud. Un problema
es FNP-ompleto si y so si est en FNP y ualquier otro problema
de esta lase se puede reduir a este problema.
Ejemplo
Un problema FNP-ompleto: FSAT
Dado un onjunto de lusulas, enontrar, si existe, una asignain
de valores de verdad para la que todas las lusulas sean verdaderas.
Serafn Moral Tema 4: NP-ompletitud
Teorema
Teorema
NP = P si y solo si FNP = FP
Demostrain
La demostrain es muy senilla: si FNP = FP entones es inmediato queNP = P .Para la impliain inversa, supongamos que NP = P , entones la onsis-tenia se puede sesolver en tiempo polinmio.
Ahora, vamos a enontrar una asignain (si existe) en tiempo polinmio.
Supongamos que tenemos un onjunto de lusulas C . Elegimos una vari-
able x
n
, y onsideramos C
1
que es C suponiendo x
n
verdadero (todas las
lusulas on x
n
se eliminan y en aquellas en las que apareza xn
se
elimina este literal) y C
2
que es C suponiendo x
n
falso.
Serafn Moral Tema 4: NP-ompletitud
Demostrain
Demostrain
Si C
1
y C
2
son inonsistentes, C tambin lo es y no existe la
asignain de valores de verdad.
Si C
1
es onsistente, entones si existe la asignain. Haemos x
n
verdadero y alulamos el valor de verdad de las otras variables,
repitiendo de forma reursiva estos pasos sobre C
1
.
Si C
2
es onsistente, entones si existe la asignain. Haemos x
n
falso y alulamos el valor de verdad de las otras variables,
repitiendo de forma reursiva estos pasos sobre C
2
.
Serafn Moral Tema 4: NP-ompletitud
El Viajante de Comerio
Si podisemos resolver el problema del viajante en versin de
deisin en tiempo polinmio, podramos resolver el problema de
enontrar el iruito ptimo en tiempo polinmio.
Primero se obtendra una ota superior R para el oste del
iruito ptimo: el valor de distania ms grande, multipliado
por el nmero de iudades.
Despus realizando una bsqueda binaria en el intervalo [0,R ]mediante suesivas llamadas al problema de deisin se alula
el valor del iruito ptimo: K .
Serafn Moral Tema 4: NP-ompletitud
El Viajante de Comerio (Cont.)
A ontinuain para ada par de iudades se hae lo siguiente:
si el oste de ir de una a otra es , se llama al problema de deisin on
presupuesto K e inrementando el oste de a +1.
Si la respuesta es positiva, no es neesario usar este aro en el
ptimo. Entones se deja el oste a +1 y se ontina.
Si la respuesta es negativa, este aro s se usa. Dejamos el oste al
mismo valor que estaba antes y ontinuamos.
Al nal obtenemos todos los aros de un iruito ptimo.
Si en el primer aso se volviera al oste original, en vez de dejarlo en
+1, puede que no se obtenga el ptimo, ya que si hay dos iruitosptimos ninguno de los aros de ambos iruitos son neesarios.
Serafn Moral Tema 4: NP-ompletitud
Problemas de Funiones Totales
Son los de la lase FNPT
Un problema est en esta lase si para todo x existe un y tal que
R(x ,y).Es deir, el problema de deisin no es difil: siempre tiene una
respuesta positiva.
Eso no quiere deir que el problema sea fil, ya que enontrar la
soluin no tiene por qu ser inmediato.
Muhos de ellos no se onoe que estn en FP.
Serafn Moral Tema 4: NP-ompletitud
La Red Feliz
Datos: Un grafo (V ,E ) y un peso w (que puede ser positivo onegativo para ada aro).
1
2
2 -1
-2
1
Un estado es una apliain s : V {1,1} (-1 , 1 ).El nodo i es feliz si
s(i). (i ,j)E
s(j).w(i , j) 0
Soluin: Un estado s en el que todos los nodos sean felies.
Serafn Moral Tema 4: NP-ompletitud
La Red Feliz
El problema est en FNP y es total.
Consideremos
(s) = (i ,j)E
s(i)s(j)w(i , j)
Si tenemos un nodo infeliz, i , en s, entones
s(i). (i ,j)E
s(j).w(i , j) = < 0
Sea el estado s
igual que s, exepto que s
(i) =s(i).Entones (s ) = (s)+2.Como el valor de no puede reer indenidamente, este proesotiene que terminar on una red feliz.
Este algoritmo es pseudo polinmio, pero no polinmio.
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
1
2
2 -1
-2
1
=1
Serafn Moral Tema 4: NP-ompletitud
Ejemplo
1
2
2 -1
-2
1
=1Cambiamos un nodo infeliz:
1
2
2 -1
-2
1
= 7La red ya es feliz.
Serafn Moral Tema 4: NP-ompletitud
Estrutura de Clases de Funiones
FNP
FP
TFNP
Serafn Moral Tema 4: NP-ompletitud
El Proyeto Mega-Math
Es un proyeto de Los Alamos National Laboratory. Se puede
onsultar en la dire
in:
http://www.3.lanl.gov/mega-math/
Objetivo: Introduir oneptos de matemtias importantes y no
habituales a esolares.
Base: Historias que motivan y que forman parte de la investigain
atual y en las que los alumnos puedan apliar su reatividad.
Serafn Moral Tema 4: NP-ompletitud
Historias
Colorear mapas
Hotel innito
Juegos sobre grafos
Juegos de lgia y razonamiento
Juegos on nudos
Algoritmos en grafos
Reonoimiento de patrones
Serafn Moral Tema 4: NP-ompletitud
EL Problema de Loalizain
Tenemos un mapa de una iudad representado por un grafo en el
que las alles son lneas y los puntos son rues.
Problema: Queremos oloar un nmero mnimo de heladeras en
las esquinas, de tal manera que desde ada esquina, haya que
atravesar, a lo ms, una alle para llegar a una heladera.
Serafn Moral Tema 4: NP-ompletitud
Loalizain: Ejemplo
Trabajar busando soluiones: olorear las esquinas on heladras
on un olor y las ubiertas on otro.
Indiar que el nmero mnimo es 6
Serafn Moral Tema 4: NP-ompletitud
Loalizain: Ejemplo
Trabajar busando soluiones: olorear las esquinas on heladras
on un olor y las ubiertas on otro.
Indiar que el nmero mnimo es 6
Mostrar la soluin mnima
Serafn Moral Tema 4: NP-ompletitud
Disusin
Mostrar omo se pueden onstruir problemas difiles a partir
de una soluin.
Hablar de funiones difiles de invertir.
Puede haber otras soluiones disti