teor a de la complejidad computacional tema 5:problemas np...

36
Teor´ ıa de la Complejidad Computacional Tema 5: Problemas NP completos Mario de J. P´ erez Jim´ enez Grupo de Investigaci´ on en Computaci´on Natural Dpto. Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla [email protected] http://www.cs.us.es/~marper/ aster Universitario en Matem´ aticas Curso 2019-2020

Upload: others

Post on 14-Aug-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Teorıa de la Complejidad Computacional

Tema 5: Problemas NP completos

Mario de J. Perez Jimenez

Grupo de Investigacion en Computacion NaturalDpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

[email protected]

http://www.cs.us.es/~marper/

Master Universitario en MatematicasCurso 2019-2020

Page 2: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Indice

∗ Reducibilidad en tiempo polinomial.

∗ Problemas NP–completos.

∗ El problema SAT de la satisfactibilidad de la Logica proposicional.

∗ Variantes del problema SAT.

∗ El problema CLIQUE.

∗ El problema del RECUBRIMIENTO DE VERTICES.

∗ El problema 3-COL.

2 / 36

Page 3: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Reducibilidad en tiempo polinomial

Sean X e Y problemas de decision. Se trata de definir el siguiente concepto:“X es mas facil que Y ” (resp., X es mas difıcil que Y ).

∗ Formalizar la dificultad comparativa de la resolubilidad mecanica de unproblema respecto de la de otro.

Definicion: Si L1 ⊆ Σ∗1 , L2 ⊆ Σ∗2 son lenguajes, diremos que L1 es reducible aL2 en tiempo polinomial (L1 6p L2) sii existe una funcion computable g de Σ∗1en Σ∗2 , tal que

• g es de coste en tiempo polinomial.

• ∀u ∈ Σ∗1 (u ∈ L1 ⇐⇒ g(u) ∈ L2).

Diremos que g es una reduccion polinomial de L1 a L2 (g : L1 6p L2).

? Informalmente: el lenguaje L1 es mas facil de decidir que el lenguaje L2 (o que L2 es mas difıcil que L1).

3 / 36

Page 4: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Reducibilidad en tiempo polinomial

Definicion: Sean X1,X2 problemas de decision. Diremos que X1 es reducible aX2 en tiempo polinomial (X1 6p X2) sii LX1 6

p LX2 .

? Informalmente: resolver el problema X1 es mas facil que resolver el problema X2 (o bien que resolver X2 es

mas difıcil que resolver X1).

Sean X1 = (EX1 , θX1 ) y X2 = (EX2 , θX2 ) problemas de decision. Unareducibilidad en tiempo polinomial de X1 en X2 es una funcion computable gde EX1 en EX2 , tal que

• g es de coste en tiempo polinomial.

• ∀u ∈ EX1 (θX1 (u) = 1⇐⇒ θX2 (g(u)) = 1).

4 / 36

Page 5: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Reducibilidad en tiempo polinomial: propiedades

Proposicion 1: Sean X1,X2,X3 problemas de decision. Se verifica:

• X1 6p X1.

• Si X1 6p X2 y X2 6p X3 entonces X1 6p X3.

Existen problemas de decision X1,X2 tales que X1 6p X2 y, en cambio, no severifica que X2 6p X1.

Definicion: (Equivalencia en tiempo polinomial)X1 ≡p X2 ⇐⇒ X1 6p X2 ∧ X2 6p X1.

Se verifica:

(a) X1 ≡p X1.

(b) Si X1 ≡p X2 entonces X2 ≡p X1.

(c) Si X1 ≡p X2 y X2 ≡p X3 entonces X1 ≡p X3.

5 / 36

Page 6: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Estabilidad de las clases P y NP

Proposicion 2: Sean X1,X2 problemas de decision tales que:

(a) X1 6p X2.

(a) X2 ∈ P.

Entonces se tiene que X1 ∈ P.

Es decir: si un problema X pertenece a la clase P, entonces todo problemamas facil que X tambien pertenece a la clase P.

Proposicion 3: Sean X1,X2 problemas de decision tales que:

(a) X1 6p X2.

(a) X2 ∈ NP.

Entonces se tiene que X1 ∈ NP.

Es decir: si un problema X pertenece a la clase NP, entonces todo problemamas facil que X tambien pertenece a la clase NP.

6 / 36

Page 7: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Problemas NP–completos

Definicion: Un problema de decision X es NP – duro sii para cada problemade decision X ′ ∈ NP se tiene que X ′ 6p X .

Proposicion 4: Si X1 es NP–duro y X1 6p X2, entonces X2 es NP–duro.

Definicion: Un problema de decision X es NP – completo sii X ∈ NP y X esNP–duro.

Los problemas NP–completos son los mas difıciles de la clase NP:

∗ Para probar que P 6= NP, los testigos ideales serıan los problemas NP–completos.

Proposicion 5: Si X1,X2 son problemas NP–completos, entonces X1 ≡p X2.

Teorema: (Generacion de problemas NP–completos)Sea X un problema de decision tal que

∗ X ∈ NP.

∗ Existe X ′ (X ′ es NP–completo ∧ X ′ 6p X ).

Entonces X es un problema NP–completo.

7 / 36

Page 8: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Nacimiento de la teorıa de la Complejidad Computacional:

∗ Teorema de Cook: SAT es un problema NP–completo (1971).

Proposicion 6: Son equivalentes:

(a) P = NP.

(b) Existe UN problema NP–duro, X , tal que X ∈ P.

Del resultado de Cook se deduce que P = NP⇐⇒ SAT ∈ P

La busqueda de un adecuado problema NP–completo puede responder ensentido afirmativo o en sentido negativo a la conjetura P 6= NP.

P

N P

NP- completo

duroNP-8 / 36

Page 9: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

El problema SAT

Definicion: El lenguaje de la Logica Proposicional consta de:

∗ Conjunto numerable, VP, de variables proposicionales.

∗ Conectivas logicas: “¬” (negacion) y “ ∨” (disyuncion).

∗ Sımbolos auxiliares: “(” y “)”.

Definicion: El conjunto PForm de las formulas proposicionales es el menorconjunto, Γ, que contiene a VP y

∗ Si P ∈ Γ, entonces ¬P ∈ Γ.

∗ Si P,Q ∈ Γ, entonces (P ∨ Q) ∈ Γ.

A partir de ¬ y ∨ se definen las conectivas logicas ∧, → y ↔.

Usualmente, notaremos

? ¬P ası P.

? P ∨ Q ası P + Q.

? P ∧ Q ası P · Q.

9 / 36

Page 10: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

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: Una formula proposicional esta en FNC si es la conjuncion de unnumero finito de clausulas.

Toda formula proposicional en FNC es la conjuncion de una disyuncion deliterales (que podemos suponer esta en forma simplificada).

Definicion: Una valoracion de verdad es una aplicacion de VP en {0, 1}(asignacion de verdad).

? Toda valoracion de verdad se extiende de manera natural a una aplicacion de PForm en {0, 1} (a traves de

las tablas de verdad).

Valoraciones de verdad relevantes para una formula.

? Si ϕ tiene n variables, entonces el numero total de valoraciones relevantes para ϕ es 2n .

10 / 36

Page 11: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Definicion: Una formula proposicional, ϕ, es satisfactible sii existe, al menos,una valoracion, σ, tal que σ(ϕ) = 1.

Definicion: Dos formulas proposicionales son semanticamente equivalentes sicualquier valoracion le asigna a ambas el mismo valor.

∗ Toda formula proposicional tiene una formula semanticamente equivalente en

FNC (y en forma simplificada).

Problema SAT: Dada una formula proposicional en FNC (y en formasimplificada), determinar si es satisfactible.

Proposicion 7: El problema SAT pertenece a la clase NP.

11 / 36

Page 12: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

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:

• Para cada x ∈ Σ∗,

? x ∈ L⇐⇒ existe alguna computacion de M(x) que acepta x en , a lo sumo, |x|k pasos.

Restricciones para M:

• Γ = Σ y F = {qy , qn}.• M tiene una sola cinta infinita con primera casilla.

• La funcion de transicion δ es total.

• Aceptar ≡ qy ; Parar y no aceptar ≡ qn.

• En la primera casilla de la configuracion inicial aparecera el primersımbolo del dato de entrada.

• En la configuracion de aceptacion, la cabeza analiza la primera casilla y elresto de casillas estan en blanco.

12 / 36

Page 13: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Simularemos |x |k pasos de todas las computaciones de M sobrex = x1 . . . xn ∈ Σ∗.

∗ En esa simulacion se analizan, a lo sumo, 1 + |x |k casillas.

Consideremos las formulas:

∗ A(i , q) ≡ en el instante i , el estado de M es q.

∗ B(i , j) ≡ en el instante i , la cabeza analiza la casilla j .

∗ C(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 ∈ Σ.

∗ Configuracion inicial:

A(0, q0) ∧ B(0, 1) ∧∧

16j6|x|C(0, j, xj ) ∧

∧|x|+16j61+|x|k

C(0, j, B) (1)

∗ Configuracion de aceptacion:

A(|x|k , qy ) ∧ B(|x|k , 1) ∧∧

16j61+|x|kC(|x|k , j, B) (2)

13 / 36

Page 14: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Requisitos de cualquier computacion de M(x):

(a) En cada instante, M esta en un solo estado:

∀i (0 6 i 6 |x|k →∨

q∈Q

A(i, q) ∧∧

p,q∈Qp 6=q

[(¬A(i, p)) ∨ (¬A(i, q))]) (3)

(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)

(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:

∗ La configuracion en el paso i + 1 resulta de la del 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)

∗ 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)

14 / 36

Page 15: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Consideremos la formula

ϕx ≡ FNC [(1) ∧ (2) ∧ (3) ∧ (4) ∧ (5) ∧∧

06i6|x|k16j61+|x|k

((6) ∧ (7))]

Para cada x ∈ Σ∗ la formula ϕx

∗ Esta en FNC.

∗ Su longitud es polinomial en |x |.∗ 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 de M que acepta x)

⇐⇒ ϕx es satisfactible⇐⇒ ϕx ∈ LSAT )

Luego L 6p SAT y, en consecuencia, el problema SAT es NP–duro.�

15 / 36

Page 16: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Variantes del problema SAT

Problema SAT (k): Dada una formula proposicional en FNC en la quecada clausula posee, a lo sumo, k literales, determinar si es satisfactible.

Proposicion 8: ∀k > 1 (SAT(k) 6p SAT).

Corolario: ∀k > 1 (SAT(k) ∈ NP).

Proposicion 9: ∀k > 1 (SAT(k) 6p SAT(k + 1)).

16 / 36

Page 17: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Teorema: El problema SAT(3) es NP–completo.

Demostracion: Basta probar que SAT 6p SAT(3).

• Para cada clausula c de ϕ ∈ ESAT se define Dc ası:

∗ Si c posee, a lo sumo, 3 literales, Dc = c.

∗ 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

17 / 36

Page 18: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Veamos que F es computable en tiempo polinomial.

∗ El siguiente programa calcula F en tiempo polinomial:

Entrada: ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l ri

i (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

rii

Dci ← (l1i + z1

i ) · z rii

para j ← 2 hasta ri hacer

Dci ← Dci · (l ji + z j−1

i · z ji )

devolver Dc1 . . .Dcp

Coste: θ(r1 + · · ·+ rp).

18 / 36

Page 19: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

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.

∗ Sea σ una valoracion tal que σ(c) = 1. Sea j0 = mın{j : σ(lj ) = 1}. Seaτ la valoracion:

τ(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.

∗ Si σ es una valoracion tal que σ(Dc ) = 1, entonces se verifica queσ(c) = 1. En efecto, de lo contrario, σ(l1) = . . . σ(ln) = 0. En talsituacion, se prueba (por induccion acotada) que σ(z1) = . . . σ(zn) = 0.Lo que es una contradiccion.

19 / 36

Page 20: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Lema 2: Para cada ϕ ∈ ESAT se tiene que ϕ ∈ LSAT ⇐⇒ F (ϕ) ∈ LSAT(3)

Demostracion: Sea ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l ri

i .

∗ Sea σ una valoracion tal que σ(ϕ) = 1. Para cada i (1 6 i 6 p y ri > 4)sea ji = mın{j : σ(l j

i ) = 1}.Sea τ la valoracion definida ası:

τ(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.

∗ Sea σ una valoracion tal que σ(F (ϕ)) = 1. Entoncesσ(Dc1 ) = · · · = σ(Dcp ) = 1. Luego, σ(ϕ) = 1.

20 / 36

Page 21: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

En consecuencia: SAT 6p SAT(3).

∗ Como SAT es NP–completo y SAT(3) ∈ NP, del teorema de generacionde problemas NP–completos se concluye que SAT(3) es NP-completo.

Corolario: ∀k > 3 (SAT(k) es NP-completo).

∗ Se prueba por induccion sobre k.

21 / 36

Page 22: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Problema k–SAT

Problema k–SAT Dada una formula proposicional en FNC en la que cadaclausula posee exactamente k literales, determinar si es satisfactible.

El problema k–SAT tambien se suele denotar ası: SAT∗(k).

Proposicion 10: ∀k > 1 (k–SAT 6p SAT).

Corolario: ∀k > 1 (k–SAT ∈ NP).

Proposicion 11: ∀k > 1 (k–SAT 6p (k + 1)–SAT).

22 / 36

Page 23: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Teorema: El problema 3–SAT es NP–completo.

Demostracion: Basta ver que SAT(3) 6p 3–SAT.

∗ Para cada clausula c de ϕ ∈ ESAT(3) se define Dc :

? Si c posee exactamente 3 literales, Dc = c.

? Si c = l1, entoncesDc = (l1 + z1 + z2) · (l1 + z1 + z2) · (l1 + z1 + z2) · (l1 + z1 + z2)en donde z1, z2 son nuevas variables.

? Si c = l1 + l2, entonces

Dc = (l1 + l2 + t) · (l1 + l2 + t)

en donde t es una nueva variable.

Sea F : ESAT(3) → E3−SAT definida ası:

F (c1 · · · cp) = Dc1 · · ·Dcp

23 / 36

Page 24: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Veamos que F es computable en tiempo polinomial.

∗ El siguiente programa calcula F en tiempo polinomial:

Entrada: ϕ ≡ c1 · · · cp con ci ≡ l1i + · · ·+ l ri

i (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 + l2

i + zi ) · (l1i + l2

i + z i )si ri = 1 entonces

Considerar dos nuevas variables z1i , z

2i

Dci← (l1

i + z1i + z2

i ) · (l1i + z1

i + z2i ) · (l1

i + z1i + z2

i ) · (l1i + z1

i + z2i )

devolver Dc1 . . .Dcp

Coste: θ(r1 + · · ·+ rp).

24 / 36

Page 25: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Veamos que ∀ϕ ∈ ESAT(3) (ϕ ∈ LSAT(3) ⇐⇒ F (ϕ) ∈ L3−SAT).

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 σ.

∗ Caso 1: Sea c = l1. Entonces τ(l1) = 1. Luego

τ(Dc ) = τ(l1 + z1 + z2) · τ(l1 + z1 + z2) · τ(l1 + z1 + z2) · τ(l1 + z1 + z2) = 1

∗ 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.

∗ Caso 1: Sea c = l1. Entonces σ(l1) = 1, pues de lo contrarioσ(z1) = σ(z1) = 1.

∗ Caso 2: Sea c = l1 + l2. Si σ(l1) = σ(l2) = 0, entonces σ(t) = σ(t) = 1.

25 / 36

Page 26: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Lema 2: Para cada ϕ ∈ ESAT(3) se tiene queϕ ∈ LSAT(3) ⇐⇒ F (ϕ) ∈ L3−SAT.

Demostracion: Sea ϕ ≡ c1 · · · cp ∈ ESAT(3).

∗ Sea σ una valoracion tal que σ(ϕ) = 1. Entoncesσ(c1) = · · · = σ(cp) = 1. Si τ es una valoracion que extiende a σ,entonces τ(Dc1 ) = · · · = τ(Dcp ) = 1.

∗ 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 3–SAT.

Como SAT(3) es NP–completo y 3–SAT ∈ NP, del teorema de generacion deproblemas NP–completos se concluye que 3–SAT es NP-completo.

26 / 36

Page 27: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Corolario: ∀k > 3 (k–SAT es NP-completo).

∗ Se prueba por induccion sobre k.

Proposicion 12: 2–SAT ∈ P.

∗ Corolario: 1–SAT ∈ P.

Proposicion 13: SAT(2) 6p 2–SAT.

∗ Corolario: SAT(2) ∈ P y SAT(1) ∈ P

27 / 36

Page 28: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Problemas relevantes NP-completos

∗ Necesidad de obtener problemas NP–completos para

abordar/atacar la conjetura P?6= NP.

∗ Nuevos problemas NP–completos

? Teorema de Cook.

? Propiedad de generacion de problemas NP–completos.

28 / 36

Page 29: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

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

29 / 36

Page 30: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

El problema CLIQUE

∗ Dado un grafo no dirigido, G, y un numero natural, k, determinar siexiste 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 de vertices distintos

de V1 son adyacentes.

Proposicion 14: CLIQUE ∈ NP.

Teorema: El problema CLIQUE es NP–completo.

Demostracion: Veamos que SAT 6p CLIQUE.

Sea ϕ ∈ ESAT, con ϕ ≡ c1 · · · cp y ci = l1i + · · ·+ l ri

i .

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

30 / 36

Page 31: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Se define F : ESAT → ECLIQUE ası: F (ϕ) = (Gϕ, p).

∗ F es total computable en tiempo polinomial.

Entrada: ϕ = (l11 + · · ·+ l r1

1 ) · · · (l1p + · · · l rp

p )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 ϕ.

∗ Aserto: La formula ϕ es satisfactible si y solo si el grafo Gϕ posee unclique de tamano p.

31 / 36

Page 32: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

El problema VC del recubrimiento de vertices

∗ Dado un grafo no dirigido, G, y un numero natural, k, determinar si

existe un recubrimiento de vertices de G de tamano k.

? Si G = (V , E) es un grafo no dirigido, V1 ⊆ V es un recubrimiento de vertices de G si para cada

arista de G , al menos uno de los extremos pertenece a V1.

Proposicion 15: VC ∈ NP.

Teorema: 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)

∗ Entonces, F es una reduccion en tiempo polinomial de CLIQUE en VC.

32 / 36

Page 33: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

El problema 3–COL

Sea G = (V ,E) un un grafo no dirigido y k ≥ 1.

∗ Una coloracion de G con k colores es una aplicacion, f , de V en{ 1, . . . , k}. La imagen f (v) de v ∈ V es el color asignado a v por esacoloracion.

∗ Diremos que una coloracion, f , de G con k colores es una coloracionvalida si verifica: para cada {u, v} ∈ E , se tiene que f (u) 6= f (v).

Problema 3–COL: Dado un grafo no dirigido, determinar si es coloreable con 3colores.

Proposicion 16: 3–COL ∈ NP.

33 / 36

Page 34: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Teorema: El problema 3–COL es NP–completo.

Demostracion: Veamos que 3–SAT ≤p 3–COL.

Para cada ϕ ∈ E3−SAT se construye un grafo no dirigido Gϕ como sigue:

∗ Triangulo base (vertices T , F y A):

��bT@@

Ab bF

∗ Cada variable x de ϕ proporciona dos nuevos vertices (x y x):

��bT@@

Ab bF��b@@

x

xb∗ 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.

34 / 36

Page 35: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

Se considera la aplicacion F : E3−SAT → E3−COL definida por F (ϕ) = Gϕ.

∗ La aplicacion F es total computable en tiempo polinomial.

∗ Aserto: ϕ es satisfacible si y solo si Gϕ es coloreable con tres colores.

• Sea σ una valoracion tal que σ(ϕ) = 1. Consideramos en Gϕ lasiguiente coloracion:

? Triangulo basico: colores T , F y A.? Vertice asociado a x : color T si σ(x) = 1 y F si σ(x) = 0.? 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

La coloracion definida es un coloreado valido de G .

35 / 36

Page 36: Teor a de la Complejidad Computacional Tema 5:Problemas NP ...marper/docencia/TCC-2019-2020/temas/tem… · 2 2P. Entonces se tiene que X 1 2P. Es decir: si un problema X pertenece

• Recıprocamente, supongamos que Gϕ es coloreable con tres colores (T , Fy A).

? Las variables de ϕ solo pueden estar coloreadas con T o con F (y

de forma compatible).

? 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.

36 / 36