Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es...
Transcript of Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es...
Tema IV: NP–completitud
Definicion: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cadaL′ ∈ NP se tiene que L′ 6p L.
Proposicion 1: Si L1 es NP–duro y L1 6p L2, entonces L2 esNP–duro.
Definicion: Un lenguaje L ⊆ Σ∗ es NP–completo sii L ∈ NP y Les NP–duro.
Los lenguajes NP–completos son los mas difıciles de la clase NP:candidatos a testigos de que P 6= NP.
Proposicion 2: Si L1, L2 son lenguajes NP–completos, entoncesL1 ≡p L2.
Proposicion 3: (Generacion lenguajes NP–completos) Sea L unlenguaje tal que
I L ∈ NP.
I Existe L′ (L′ NP–completo ∧ L′ 6p L).
Entonces L es NP–completo.
Nacimiento de la Teorıa de la Complejidad Computacional:
I Teorema de Cook: SAT es un problema NP–completo(1971).
Proposicion 4: Si existe UN lenguaje NP–duro, L, tal que L ∈ P,entonces P = NP.
2 / 53
Del resultado de Cook se deduce que
P = NP ⇐⇒ SAT ∈ P
La busqueda de un adecuado problema NP–completo puederesponder en sentido afirmativo o en sentido negativo a laconjetura P 6= NP.
P
N P
NP- completo
duroNP-
3 / 53
El problema SATDefinicion: El lenguaje de la Logica Proposicional consta de:
I Conjunto numerable, VP, de variables proposicionales.
I Conectivas logicas: ¬ (negacion) y ∨ (disyuncion).
I Sımbolos auxiliares: ( y ).
Definicion: El conjunto PForm de las formulas proposicionales es el menorconjunto, Γ, que contiene a VP y
I Si P ∈ Γ, entonces ¬P ∈ Γ.
I Si P, Q ∈ Γ, entonces (P ∨ Q) ∈ Γ.
A partir de ¬ y ∨ se definen:
I Las conectivas logicas ∧, → y ↔.
Notaremos
I ¬P ası P.
I P ∨ Q ası P + Q.
I P ∧ Q ası P · Q.
4 / 53
Definicion: Un literal es una variable proposicional o la negacion de unavariable proposicional.
Definicion: Una clausula es la disyuncion de un numero finito de literales.
Definicion: Diremos que una formula proposicional esta en FNC si es laconjuncion de un numero finito de clausulas.
Toda formula proposicional en FNC es la conjuncion de una disyuncion deliterales.
Definicion: Una valoracion (asignacion) de verdad es una aplicacion de VP en{0, 1}.
Toda valoracion de verdad se extiende de manera natural a una aplicacion dePForm en {0, 1}.
5 / 53
Definicion: Diremos que una formula proposicional, ϕ, es satisfactible siiexiste, al menos, una valoracion, σ, tal que σ(ϕ) = 1.
Definicion: Diremos que dos formulas proposicionales son semanticamenteequivalentes si cualquier valoracion le asigna a ambas el mismo valor.
Toda formula proposicional tiene una formula semanticamente equivalente enFNC.
Enunciado del problema SAT: Dada una formula proposicional en FNC,determinar si es satisfactible.
Proposicion 1: El problema SAT pertenece a la clase NP.
6 / 53
Teorema: (S.A. Cook, 1971) El problema SAT es NP–duro.
Idea de la demostracion:
Sea L ⊆ Σ∗ un problema de la clase NP. Veamos que L 6p SAT.Sean M una MTND y k > 1 tal que
I para cada x ∈ Σ∗, x ∈ L⇐⇒ existe alguna computacion de M sobre x
que acepta x en , a lo sumo, |x |k pasos.
Restricciones para M:
I Σ = Γ y F = {qy , qn}.I M tiene una sola cinta infinita con primera casilla.
I La funcion de transicion es total.
I Aceptar ≡ qy ; Parar y no aceptar ≡ qn.
7 / 53
Simularemos |x |k pasos de todas las computaciones de M sobrex = x1 . . . xn ∈ Σ∗.
En la simulacion de |x |k pasos se analizan, a lo sumo, 1 + |x |k casillas.
Consideremos las formulas:
A(i , q) ≡ En el instante i , el estado de M es qB(i , j) ≡ En el instante i , la cabeza analiza la casilla jC(i , j , s) ≡ En el instante i , la casilla j contiene el sımbolo s
En donde 0 6 i 6 |x |k , 1 6 j 6 1 + |x |k , q ∈ Q y s ∈ Σ.
I Descripcion instantanea inicial:
A(0, q0) ∧ B(0, 1) ∧^
16j6|x|C(0, j, xj ) ∧
^|x|+16j61+|x|k
C(0, j, B) (1)
I Descripcion instantanea de aceptacion:
A(|x|k , qy ) ∧ B(|x|k , 1) ∧^
16j61+|x|kC(|x|k , j, B) (2)
8 / 53
Requisitos de cualquier computacion de M sobre x
I (a) En cada instante, M esta en un solo estado.
∀i∀j(0 6 i 6 |x|k →_
q∈Q
A(i, q) ∧^
p,q∈Qp 6=q
[(¬A(i, p)) ∨ (¬A(i, q))]) (3)
I (b) En cada instante, cada casilla contiene un solo sımbolo.
∀i∀j(0 6 i 6 |x|k ∧ 1 6 j 6 1 + |x|k →_s∈Σ
C(i, j, s) ∧^
s,t∈Σs 6=t
[(¬C(i, j, s)) ∨ (¬C(i, j, t))]) (4)
I (c) En cada instante, la cabeza analiza una unica casilla.
∀i (0 6 i 6 |x|k →_
16j61+|x|kB(i, j) ∧
^16j,j′61+|x|k
j 6=j′
[(¬B(i, j)) ∨ (¬B(i, j′))]) (5)
Codificacion de la funcion de transicion:
I La d.i. en el paso i + 1 resulta de la d.i. en el paso i aplicando δ.
A(i, q) ∧ B(i, j) ∧ C(i, j, s)→_
((q,s),(q′,s′r))∈G(δ)
A(i + 1, q′) ∧ B(i + 1, j + r)) ∧ C(i + 1, j, s′) (6)
I Si una casilla no se analiza en el paso i conserva su sımbolo en i + 1.
C(i, j, s) ∧ ¬B(i, j) ∧ C(i + 1, j, s) (7)
9 / 53
Consideremos la formula
ϕx ≡ FNC [(1) ∧ (2) ∧ (3) ∧ (4) ∧ (5) ∧^
06i6|x|k16j61+|x|k
((6) ∧ (7))]
Para cada x ∈ Σ∗ la formula ϕx
I Esta en FNC.
I Su longitud es polinomial en |x |I Puede ser construida a partir de x en tiempo polinomial.
La aplicacion F : Σ∗ → ESAT definida por F (x) = ϕx es total computable entiempo polinomial.
Ademas, se tiene que
∀x ∈ Σ∗ ( x ∈ L⇐⇒ Existe alguna computacion deM que acepta x)
⇐⇒ ϕx es satisfactible⇐⇒ ϕx ∈ LSAT )
�
10 / 53
Variantes del problema SAT
Problema SAT(k): Dada una formula proposicional en FNC en laque cada clausula posee, a lo sumo, k literales, determinar si essatisfactible.
Proposicion 1: ∀k > 1 (SAT(k) 6p SAT).
Corolario: ∀k > 1 (SAT(k) ∈ NP).
Proposicion 2: ∀k > 1 (SAT(k) 6p SAT(k + 1)).
11 / 53
Teorema 3: El problema SAT(3) es NP–completo.
Demostracion: Basta probar que SAT 6p SAT(3).
I Para cada clausula c de ϕ ∈ ESAT se define Dc ası:
I Si c posee, a lo sumo, 3 literales, Dc = c .I Si c = l1 + · · ·+ ln (n > 4), entonces
Dc = (l1 + z1) · (l2 + z1 + z2) · · · (ln + zn−1 + zn) · zn.en donde z1, . . . , zn son nuevas variables.
Sea F : ESAT → ESAT(3) definida ası:
F (c1 · · · cp) = Dc1 · · ·Dcp
12 / 53
Veamos que F es computable en tiempo polinomial.
I El siguiente programa calcula F en tiempo polinomial:
Entrada: ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l rii (1 6 i 6 p)para i ← 1 hasta p hacer
si ri 6 3 entonces
Dci ← ci
si no
Considerar nuevas variables z1i , . . . , z ri
i
Dci ← (l1i + z1i ) · z
rii
para j ← 2 hasta ri hacer
Dci ← Dci · (lji + z j−1
i · z ji )
devolver Dc1 . . . Dcp
Coste: θ(r1 + · · ·+ rp).
13 / 53
Veamos que ∀ϕ ∈ ESAT (ϕ ∈ LSAT ⇐⇒ F (ϕ) ∈ LSAT(3)).
Lema 1: Sea c una clausula con mas de tres literales. Entonces c essatisfactible sii Dc es satisfactible.
Demostracion: Sean c = l1 + · · ·+ ln (n > 4) yDc = (l1 + z1) · (l2 + z1 + z2) · · · (ln + zn−1 + zn) · zn.
I Sea σ una valoracion tal que σ(c) = 1. Sea j0 = mın{j : σ(lj) = 1}. Seaτ la valoracion: 8>><>>:
τ(lj ) = σ(lj ) si 1 6 j 6 nτ(zj ) = 0 si 1 6 j < j0τ(zj ) = 1 si j0 6 j 6 nτ(x) = 1 para cualquier otra variable
Se tiene que τ(Dc) = 1.
I Sea σ una valoracion tal que σ(Dc) = 1. Entonces σ(c) = 1; de locontrario, σ(l1) = . . . σ(ln) = 0, y se prueba (por induccion acotadadescendente) que σ(z1) = . . . σ(zn) = 0.
�
14 / 53
Lema 2: Para cada ϕ ∈ ESAT se tiene que ϕ ∈ LSAT ⇐⇒ F (ϕ) ∈ LSAT(3)
Demostracion: Sea ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l rii .
I Sea σ una valoracion tal que σ(ϕ) = 1. Para cada i (1 6 i 6 p y ri > 4)sea ji = mın{j : σ(l ji ) = 1}.Sea τ la valoracion definida ası:8>>><>>>:
τ(lji ) = σ(l
ji ) si 1 6 i 6 p ∧ 1 6 j 6 ri
τ(zji ) = 0 si 1 6 i 6 p ∧ 1 6 j < ji
τ(zji ) = 1 si 1 6 i 6 p ∧ ji 6 j 6 ri
τ(x) = 1 para cualquier otra variable
Razonando como en el lema 1, se tiene τ(Dc) = 1.
I Sea σ una valoracion tal que σ(F (ϕ)) = 1. Entoncesσ(Dc1) = · · · = σ(Dcp ) = 1. Luego, σ(ϕ) = 1.
�
15 / 53
En consecuencia, se tiene que SAT 6p SAT(3).
Como SAT es NP–completo y SAT(3) ∈ NP, del teorema de generacion deproblemas NP–completos se concluye que SAT(3) es NP-completo.
�
Corolario: ∀k > 3 (SAT(k) es NP-completo).
16 / 53
Problema SAT∗(k)
I Dada una formula proposicional en FNC en la que cadaclausula posee exactamente k literales, determinar si essatisfactible.
Proposicion 1: ∀k > 1 (SAT∗(k) 6p SAT).
Corolario: ∀k > 1 (SAT∗(k) ∈ NP).
Proposicion 2: ∀k > 1 (SAT∗(k) 6p SAT∗(k + 1)).
17 / 53
Teorema 3: El problema SAT∗(3) es NP–completo.
Demostracion: Basta ver que SAT(3) 6p SAT∗(3).
I Para cada clausula c de ϕ ∈ ESAT(3) se define Dc :
I Si c posee exactamente 3 literales, Dc = c .I Si c = l1, entonces
Dc = (l1 + z1 + z2) · (l1 + z1 + z2) · (l1 + z1 + z2) · (l1 + z1 + z2)en donde z1, z2 son nuevas variables.
I Si c = l1 + l2, entonces Dc = (l1 + l2 + t) · (l1 + l2 + t), endonde t es una nueva variable.
Sea F : ESAT(3) → ESAT∗(3) definida ası:
F (c1 · · · cp) = Dc1 · · ·Dcp
18 / 53
Veamos que F es computable en tiempo polinomial.
I El siguiente programa calcula F en tiempo polinomial:
Entrada: ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l rii (1 6 i 6 p, 1 6 ri 6 3)para i ← 1 hasta p hacer
si ri = 3 entonces
Dci ← ci
si ri = 2 entonces
Considerar una nueva variable zi
Dci ← (l1i + l2i + zi ) · (l1i + l2i + z i )si ri = 1 entonces
Considerar dos nuevas variables z1i , z2
i
Dci← (l1i + z1
i + z2i ) · (l1i + z1
i + z2i ) · (l1i + z1
i + z2i ) · (l1i + z1
i + z2i )
devolver Dc1 . . . Dcp
Coste: θ(r1 + · · ·+ rp).
19 / 53
Veamos que ∀ϕ ∈ ESAT(3) (ϕ ∈ LSAT(3) ⇐⇒ F (ϕ) ∈ LSAT∗(3)).
Lema 1: Una clausula c con, a lo sumo, dos literales es satisfactible sii Dc essatisfactible.
Demostracion: Sea σ una valoracion tal que σ(c) = 1. Sea τ cualquiervaloracion que extiende a σ.
I Caso 1: Sea c = l1. Entonces τ(l1) = 1. Luego
τ(Dc ) = τ(l1 + z1 + z2) · τ(l1 + z1 + z2) · τ(l1 + z1 + z2) · τ(l1 + z1 + z2) = 1
I Caso 2: Sea c = l1 + l2. Como τ(l1 + l2) = σ(l1 + l2) = 1, se tiene queτ(Dc) = τ(l1 + l2 + t) · τ(l1 + l2 + t) = 1 .
Sea σ una valoracion tal que σ(Dc) = 1.
I Caso 1: Sea c = l1. Entonces σ(l1) = 1, pues de lo contrarioσ(z1) = σ(z1) = 1.
I Caso 2: Sea c = l1 + l2. Si σ(l1) = σ(l2) = 0, entonces σ(t) = σ(t) = 1.
�
20 / 53
Lema 2: Para cada ϕ ∈ ESAT(3) se tiene queϕ ∈ LSAT(3) ⇐⇒ F (ϕ) ∈ LSAT∗(3)
Demostracion: Sea ϕ ≡ c1 · · · cp ∈ ESAT(3).
I Sea σ una valoracion tal que σ(ϕ) = 1. Entoncesσ(c1) = · · · = σ(cp) = 1. Si τ es una valoracion que extiende a σ,entonces τ(Dc1) = · · · = τ(Dcp ) = 1.
I Sea σ una valoracion tal que σ(F (ϕ)) = 1. Entoncesσ(Dc1) = · · · = σ(Dcp ) = 1. Razonando como en el lema 1 se tieneσ(c1) = · · · = σ(cp) = 1.
�
En consecuencia, se tiene que SAT(3) 6p SAT∗(3).
Como SAT(3) es NP–completo y SAT∗(3) ∈ NP, del teorema de generacionde problemas NP–completos se concluye que SAT∗(3) es NP-completo.
�
21 / 53
Corolario: ∀k > 3 (SAT∗(k) es NP-completo).
Proposicion 4: SAT∗(2) ∈ P.
I Corolario: SAT∗(1) ∈ P.
Proposicion 5: SAT(2) 6p SAT∗(2).
I Corolario: SAT(2) ∈ P y SAT(1) ∈ P
22 / 53
Problemas relevantes NP-completos
I Necesidad de obtener problemas NP–completos para
abordar/atacar la conjetura P?6= NP.
I Nuevos problemas NP–completos
I Teorema de Cook.
I Propiedad de generacion de problemas NP–completos).
23 / 53
S A T
S A T * ( 3 )C L I Q U E
V C
SUBSET-SUM
PARTICION
HAM-PATH
UHAM-PATH
T S P
3-COL
24 / 53
El problema CLIQUE
I Dado un grafo no dirigido, G , y un numero natural, k,determinar si existe en G un clique de tamano k.
Si G = (V , E) es un grafo no dirigido, V1 ⊆ V es un clique de G si cada par devertices distintos de V1 son adyacentes.
Proposicion 1: CLIQUE ∈ NP.
Teorema 2: El problema CLIQUE es NP–completo.
Demostracion: Veamos que SAT 6p CLIQUE.
Sea ϕ ∈ ESAT, con ϕ ≡ c1 · · · cp y ci = l1i + · · ·+ l rii .
Construimos el grafo Gϕ = (Vϕ, Eϕ) como sigue:
Vϕ = {(i, 1), . . . , (i, ri ) : 1 6 i 6 p}
{(i, j), (k, q)} ∈ Eϕ ⇐⇒ i 6= k ∧ lji 6= l
qk ∧ 1 6 i, k 6 p ∧ 1 6 j 6 ri ∧ 1 6 q 6 rk
25 / 53
Se define F : ESAT → ECLIQUE ası: F (ϕ) = (Gϕ, p).
I F es total computable en tiempo polinomial.
Entrada: ϕ = (l11 + · · ·+ l r11 ) · · · (l1p + · · · l rpp )para α← 1 hasta p hacer
para β ← 1 hasta p hacer
si α 6= β entonces
para γ ← 1 hasta rα hacer
para δ ← 1 hasta rβ hacer
si lγα 6= lδβ entonces
A[i , j ]← 1
A es la matriz de adyacencia del grafo Gϕ
i = r1 + · · ·+ rα−1 + γ posicion que ocupa lγα en ϕ
j = r1 + · · ·+ rβ−1 + δ posicion que ocupa lδβ en ϕ.
I Aserto: La formula ϕ es satisfactible si y solo si el grafo Gϕ posee unclique de tamano p.
�
26 / 53
El problema VC del recubrimiento de vertices
I Dado un grafo no dirigido, G , y un numero natural, k,determinar si existe un recubrimiento de vertices de G detamano k.
Si G = (V , E) es un grafo no dirigido, V1 ⊆ V es un recubrimiento de verticesde G si para cada arista de G , al menos uno de los extremos pertenece a V1.
Proposicion 1: VC ∈ NP.
Teorema 2: El problema VC es NP–completo.
Demostracion: Veamos que CLIQUE ≤p VC.
Dado el grafo G , definimos el grafo complementario, G = (V ;E), ası:
E = {{u, v} : u ∈ V , v ∈ V , u 6= v , {u, v} /∈ E}
Sea F : ECLIQUE → EVC definida ası: F (G , k) = (G , |G | − k)
I Entonces, F es una reduccion en tiempo polinomial de CLIQUE en VC.
�27 / 53
El problema SUBSET–SUM
I Dado un conjunto, A, una funcion peso, w : A → N, y k ∈ N,determinar si existe B ⊆ A tal que w(B) = k, siendo
w(B) =∑x∈B
w(x).
Proposicion 1: SUBSET− SUM ∈ NP.
Teorema 2: El problema SUBSET–SUM es NP–completo.
Demostracion: Veamos que VC ≤p SUBSET− SUM.
Sea (G = (V , E), k) ∈ EVC, con V = {0, . . . , n − 1} y E = {e0, . . . , ep−1}.
Sea B = (bij) la matriz de incidencia de G .
bij =
1 si ej es incidente con el nodo i0 e.c.o.c
28 / 53
Sea A = {x0, . . . , xn−1} ∪ {y0, . . . , yp−1}, en donde
xi = (1, bi(p−1), bi(p−2), . . . , bi0| {z }) (0 6 i 6 n − 1)
yj = (0, 0, 0, . . . , 0,(p−1−j)
1 , 0, . . . , 0| {z })) (0 6 j 6 p − 1)
x0 = 1 b0(p−1) b0(p−2) b0(p−3) . . . b02 b01 b00
x1 = 1 b1(p−1) b1(p−2) b1(p−3) . . . b12 b11 b10
x2 = 1 b2(p−1) b2(p−2) b2(p−3) . . . b22 b21 b20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xn−1 = 1 b(n−1)(p−1) b(n−1)(p−2) b(n−1)(p−3) . . . b(n−1)2 b(n−1)1 b(n−1)0
y0 = 0 0 0 0 . . . 0 0 1y1 = 0 0 0 0 . . . 0 1 0y2 = 0 0 0 0 . . . 1 0 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .yp−3 = 0 0 0 1 . . . 0 0 0yp−2 = 0 0 1 0 . . . 0 0 0yp−1 = 0 1 0 0 . . . 0 0 0
4p 4p−1 4p−2 4p−3 . . . 42 41 40
29 / 53
Sea w : A→ N definida ası:
I w(z) es el numero cuyo desarrollo en base 4 esta representado por la(p + 1)–tupla, z .
De la definicion anterior resulta que
I w(xi ) = 4p +
p−1Xj=0
bij · 4j .
I w(yj) = 4j .
Sea k ′ = k · 4p +
p−1Xj=0
2 · 4j ≡ k222 . . . 222 4.
30 / 53
Consideremos F : EVC → ESUBSET−SUM definida ası: F (G , k) = (A, w , k ′).
I F es total computable en tiempo polinomial.
I Aserto: G tiene un recubrimiento de vertices de tamano k sii existeA′ ⊆ A tal que w(A′) = k ′.
Prueba del aserto:
I Sea V ′ = {i1, . . . , ik} un recubrimiento de vertices de G detamano k. SeaA′ = {xi1
, . . . , xik} ∪ {yj : ej es incidente con un unico nodo de V ′}
Se tiene que w(A′) = k ′.
I Recıprocamente, sea A′ ⊆ A tal que w(A′) = k ′.
Sea A′ = {xi1 , . . . , xim} ∪ {yj1 , . . . , yjq}. Se tiene que
? V ′ = {xi1 , . . . , xim} es un recubrimiento de vertices de G .? m = k.
�
31 / 53
El problema PARTICION
I Dado un conjunto, A y una funcion peso, w : A → N,determinar si existe una particion {B,C} de A tal quew(B) = w(C ).
Proposicion 1: PARTICION ∈ NP.
Teorema 2: El problema PARTICION es NP–completo.
Demostracion: Veamos que SUBSET-SUM ≤p PARTICION.
32 / 53
Consideremos la aplicacion F : ESUBSET−SUM → EPARTICION definida ası:
I Sea (A, w , k) ∈ ESUBSET−SUM. Sean a, b dos nuevos elementos de A. SeaA′ = A ∪ {a, b}. Sea w ′ : A′ → N definida ası:
w ′(x) =
8<:w(x) si x ∈ Ak + 1 si x = aw(A)− k + 1 si x = b
I Se define F (A, w , k) = (A′, w ′)
Para cada (A, w , k) ∈ ESUBSET−SUM se verifica que
(A, w , k) ∈ LSUBSET−SUM ⇐⇒ (A′, w ′) ∈ LPARTICION
�
33 / 53
El problema 3–COL
I Dado un grafo no dirigido, determinar si es coloreable con 3colores.
Un grafo, G = (V , E), es coloreable con k colores si existe una aplicacion,f : V → {1, . . . , k}, tal que para cada {u, v} ∈ E se verifica que f (u) 6= f (v).
Proposicion 1: 3–COL ∈ NP.
Teorema 2: El problema 3–COL es NP–completo.
Demostracion: Veamos que SAT∗(3) ≤p 3–COL.
34 / 53
Para cada ϕ ∈ ESAT∗(3) se construye un grafo no dirigido Gϕ como sigue:
I Triangulo base (vertices T , F y A):
��bT@@
Ab bFI Cada variable x de ϕ proporciona dos nuevos vertices , x y x ,
��bT@@
Ab bF��b@@
x
xbI Cada clausula c = l1 + l2 + l3 de ϕ proporciona seis nuevos vertices.
��bint@@
intb bint
bext ext extb bb b b bl1 l2 l3 b�����
�����
T
Vertices anadidos: externos e internos.35 / 53
Se considera la aplicacion F : ESAT∗(3) → E3−COL definida por F (ϕ) = Gϕ.
I La aplicacion F es total computable en tiempo polinomial.
I Aserto: ϕ es satisfacible si y solo si Gϕ es coloreable con tres colores.
I Sea σ una valoracion tal que σ(ϕ) = 1. Consideramos en Gϕ
la siguiente coloracion:
I Triangulo basico: colores T , F y A.I Vertice asociado a x : color T si σ(x) = 1 y F si σ(x) = 0.I Si c = l1 + l2 + l3 es clausula de ϕ y σ(l1) = 1, entonces, el
vertice externo adyacente a l1 lo coloreamos con F , losrestantes externos con A y los internos como correspondan.
��bA@@
Tb bF
bF A Ab bb b b bl1
Tl2
?l3
? b�����
�����
T
I La coloracion definida es un coloreado valido de G .
36 / 53
I Recıprocamente, supongamos que Gϕ es coloreable con trescolores (T , F y A).
I Las variables de ϕ solo pueden estar coloreadas con T o con F(y de forma compatible).
I Consideramos la valoracion σ definida como sigue:
– σ(x) = 1 si x es una variable coloreada con T .– σ(x) = 0 si x es una variable coloreada con F .
Se tiene que σ(ϕ) = 1.
�
37 / 53
El problema HAM–PATH
I Dado un grafo dirigido, G , y dos nodos distinguidos x , y,determinar si existe un camino hamiltoniano de x a y: caminosimple que pase por todos los nodos del grafo(version dirigida con dos nodos distinguidos)
Proposicion 1: HAM–PATH ∈ NP.
Teorema 2: HAM–PATH es NP–completo.
Demostracion: Veamos que SAT∗(3) ≤p HAM–PATH.
38 / 53
Para cada ϕ ∈ ESAT∗(3), con Var(ϕ) = {x1, . . . , xn} se construye un grafodirigido Gϕ = (Vϕ, Eϕ) ası:
I Cada variable, xi , de ϕ proporciona un subgrafo de Gϕ de estructura dediamante ası:
������
������
������
������
������
������
c c1 p
x
x x
x
ii
i
i
i
2 3
4
1
I Para cada i (1 6 i < n), (x4i , x1
i+1) ∈ Eϕ,
39 / 53
I Cada clausula, cj , proporciona un nodo conectado en el grafo como sigue:
I Si xi aparece en cj , entonces
������
������
������
������
������
������
������
������
x
x x
x
ii
i
i
i
2 3
4
1
c j
c j
I Si x i aparece en cj , entonces
������
������
������
������
������
������
������
������
x
x x
x
ii
i
i
i
2 3
4
1
c j
c j
40 / 53
Sea F : ESAT∗(3) → EHAM−PATH definida por F (ϕ) = (Gϕ, x11 , x4
n ).
I F es total computable en tiempo polinomial.
I Aserto: Para cada ϕ ∈ ESAT∗(3), ϕ es satisfactible sii el grafo Gϕ poseeun camino hamiltoniano de x1
1 a x4n .
I Sea ϕ = c1 . . . cp, con Var(ϕ) = {x1, . . . , xn}.I Sea σ una valoracion tal que σ(ϕ) = 1. Se construye un
camino hamiltoniano desde x11 a x4
n como sigue:
I Si σ(xi ) = 1, entonces se recorre el diamante asociado deizquierda a derecha.
I Si σ(xi ) = 0, entonces se recorre el diamante asociado dederecha a izquierda.
41 / 53
I Sea cj una clausula y r0 = mın{r : σ(l rj ) = 1}.Si l r0j = xi , entonces se hace el siguiente desvıo:
������
������
������
������
������
������
������
������
x
x x
x
ii
i
i
i
2 3
4
1
c j
c j
Si l r0j = x i , entonces se hace el siguiente desvıo:
������
������
������
������
������
������
x
x x
x
ii
i
i
i
2 3
4
1
c j
c j
42 / 53
I Recıprocamente, sea γ un camino hamiltoniano de x11 a x4
n .
I El camino γ debe ser normal; es decir, recorre cada diamantebien de izquierda a derecha, o de derecha a izquierda, con laposible salvedad del pequeno atajo para visitar una clausula.
I Consideramos la valoracion σ definida ası:
σ(xi ) =
1, si el diamante asociado a xi se recorre de izquierda a derecha0, si el diamante asociado a xi se recorre de derecha a izquierda
Se tiene que σ(ϕ) = 1.�
43 / 53
El problema UHAM–PATHI Dado un grafo no dirigido, G , y dos nodos distinguidos x , y,
determinar si existe un camino hamiltoniano de x a y(version no dirigida con dos nodos distinguidos)
Proposicion 1: UHAM–PATH ∈ NP.
Teorema 2: UHAM–PATH es NP–completo.
Demostracion: Veamos que HAM–PATH ≤p UHAM–PATH.
Sea (G = (V , E), a, b) ∈ EHAM−PATH. Construimos un grafo no dirigido,G ′ = (V ′, E ′), como sigue:
I Cada nodo u ∈ V − {a, b} proporciona tres nodos de G ′: u1, u2, u3.
I El nodo a ∈ V proporciona el nodo a3 de G ′.
I El nodo b ∈ V proporciona el nodo b1 de G ′.
I Para cada u ∈ V , {u2, u1} ∈ E ′ y {u2, u3} ∈ E ′.
I Para cada arco (u, v) ∈ E , se tiene que {u3, v 1} ∈ E ′.
44 / 53
Se define F : EHAM−PATH → EUHAM−PATH ası:
F (G , a, b) = (G ′, a3, b1)
I F es total computable en tiempo polinomial.
I Aserto: Para cada (G , a, b) ∈ EHAM−PATH, G posee un caminohamiltoniano de a a b sii G ′ posee un camino hamiltoniano de a3 a b1.
I Sea γ = (a, u1, . . . , ur , b) un camino hamiltoniano de a a b enG .
Entonces γ′ = (a3, u11 , u
21 , u
31 , u
12 , u
22 , u
32 , . . . , u
1r , u
2r , u
3r , b
1)es un camino hamiltoniano de a3 a b1 en G ′.
I Sea γ′ un camino hamiltoniano de a3 a b1 en G ′.
Entonces existen nodos v1, . . . , vr ∈ V tales que
γ′ = (a3, v11 , v2
1 , v31 , v1
2 , v22 , v3
2 , . . . , v1r , v2
r , v3r , b1).
Por tanto, γ = (a, v1, v2, . . . , vr , b) es un camino hamiltonianode a a b en G .
�
45 / 53
El problema UHAM–CYCLE
I Dado un grafo no dirigido, determinar si posee un ciclohamiltoniano (ciclo hamiltoniano no dirigido)
Proposicion 1: UHAM–CYCLE ∈ NP.
Teorema 2: UHAM–CYCLE es NP–completo.
Demostracion: Veamos que UHAM–PATH ≤p UHAM–CYCLE.
Sea (G = (V , E), a, b) ∈ EUHAM−PATH. Construimos un grafo no dirigido,G ′ = (V ′, E ′), como sigue:
I V ′ = V ∪ {a∗, b∗}, con a∗ /∈ V y b∗ /∈ V .
I E ′ = E ∪ {{a∗, a}, {b∗, b}, {a∗, b∗}}.
G
a b
a* b*
G’
46 / 53
Se define F : EUHAM−PATH → EUHAM−CYCLE ası: F (G , a, b) = G ′.
I F es total computable en tiempo polinomial.
I Aserto: Para cada (G , a, b) ∈ EUHAM−PATH, G posee un camino
hamiltoniano de a a b sii G ′ posee un ciclo hamiltoniano.
I Sea γ = (a, u1, . . . , ur , b) un camino hamiltoniano de a a b enG .Entonces γ′ = (a∗, a, u1, . . . , ur , b, b∗, a∗) es un ciclohamiltoniano de G ′.
I Sea γ un ciclo hamiltoniano de G ′.Debido a las conexiones definidas en G ′, los nodos b, b∗, a∗, ason consecutivos (en ese orden o en el opuesto) en γ.Salvo permutaciones, γ = (b, b∗, a∗, a, v1, . . . , vr , b).Por tanto, γ′ = (a, v1, v2, . . . , vr , b) es un camino hamiltonianode a a b en G .
�
47 / 53
El problema HAM–CYCLE
I Dado un grafo dirigido, G , determinar si posee un ciclohamiltoniano (ciclo hamiltoniano dirigido):
Proposicion 1: HAM–CYCLE ∈ NP.
Teorema 2: HAM–CYCLE es NP–completo.
Demostracion: Veamos que HAM–PATH ≤p HAM–CYCLE.
Prueba similar a la anterior. Considerar E ′ = E ∪ {(b, b∗), (b∗, a∗), (a∗, a)}.
G
a b
a* b*
G’
�48 / 53
El problema UHAM–PATH∗
I Dado un grafo no dirigido determinar si posee un caminohamiltoniano (camino hamiltoniano, version no dirigida sinnodos distinguidos)
Proposicion 1: UHAM–PATH∗ ∈ NP.
Teorema 2: UHAM–PATH∗ es NP–completo.
Demostracion: Veamos que UHAM–PATH ≤p UHAM–PATH∗.
49 / 53
Sea (G = (V , E), a, b) ∈ EUHAM−PATH. Construimos un grafo no dirigido,G ′ = (V ′, E ′), como sigue:
I V ′ = V ∪ {a∗, b∗}, con a∗ /∈ V y b∗ /∈ V .
I E ′ = E ∪ {{a∗, a}, {b∗, b}}.
G
a b
a* b*
G’
50 / 53
Se define F : EUHAM−PATH → EUHAM−PATH∗ ası: F (G , a, b) = G ′.
I F es total computable en tiempo polinomial.
I Aserto: Para cada (G , a, b) ∈ EUHAM−PATH, G posee un caminohamiltoniano de a a b sii G ′ posee un camino hamiltoniano.
I Sea γ = (a, u1, . . . , ur , b) un camino hamiltoniano de a a b enG .Entonces γ′ = (a∗, a, u1, . . . , ur , b, b∗) es un caminohamiltoniano de G ′.
I Sea γ un camino hamiltoniano de G ′.Entonces a∗ y b∗ deben ser extremos de γ. Luego,γ = (a∗, a, v1, . . . , vr , b, b∗), o bien γ es el “inverso”.Por tanto, γ = (a, v1, v2, . . . , vr , b) es un camino hamiltonianode a a b en G .
�
51 / 53
El problema TSP (del viajante de comercio)
Enunciado informal: Dadas n ciudades, una funcion distancia entre ellas y unnumero natural, k, determinar si existe un recorrido (partiendo de una de lasciudades, visitando las restantes una sola vez, y volviendo a la de partida) delongitud menor o igual que k.
Enunciado formal: Sea C = {1, . . . , n}, d una aplicacion de C × C en N talque d(i , j) = d(j , i) (∀i , j), y k ∈ N, determinar si existe una permutacion, π,
de {1, . . . , n} tal quenX
i=1
d(π(i), π(i + 1)) 6 k, en donde π(n + 1) = π(1).
Proposicion 1: TSP ∈ NP.
Teorema 2: El problema TSP es NP–completo.
Demostracion: Veamos que UHAM–CYCLE ≤p TSP.
52 / 53
Sea G = (V , E) un grafo no dirigido, con V = {1, . . . , n}. Sea C = V yd : C × C → N definida ası:
d(i , j) =
0 si {i , j} ∈ E1 e.c.o.c.
Sea F : EUHAM−CYCLE → ETSP definida por F (G) = (C , d , 0).
I F es total computable en tiempo polinomial.
I Aserto: Para cada G ∈ EUHAM−CYCLE, G posee un ciclo hamiltoniano sii
existe una permutacion de {1, . . . , n} tal quenX
i=1
d(π(i), π(i + 1)) 6 0
(n = |G |).I Sea G = (V ,E ) un grafo no dirigido, con V = {1, . . . , n}.
I Sea γ = (u1, . . . , un, u1) un ciclo hamiltoniano de G . Sea π lapermutacion de {1, . . . , n} definida por π(i) = ui (1 6 i 6 n).
Se tiene quenX
i=1
d(π(i), π(i + 1)) 6 0.
I Sea π una permutacion de {1, . . . , n} tal quenX
i=1
d(π(i), π(i + 1)) 6 0
Entonces γ = (π(1), . . . , π(n), π(1)) es un ciclo hamiltonianode G .
� 53 / 53