Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es...

53
Tema IV: NP–completitud Definici´ on: Un lenguaje L Σ * es NP–duro sii para cada L NP se tiene que L p L. Proposici´ on 1: Si L 1 es NP–duro y L 1 p L 2 , entonces L 2 es NP–duro. Definici´ on: Un lenguaje L Σ * es NP–completo sii L NP yL es NP–duro. Los lenguajes NP–completos son los m´ as dif´ ıciles de la clase NP: candidatos a testigos de que P = NP.

Transcript of Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es...

Page 1: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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.

Page 2: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 3: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 4: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 5: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 6: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 7: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 8: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 9: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 10: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 11: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 12: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 13: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 14: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 15: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 16: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 17: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 18: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 19: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 20: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 21: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 22: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 23: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 24: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 25: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 26: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 27: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 28: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 29: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 30: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 31: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 32: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 33: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 34: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 35: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 36: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 37: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 38: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 39: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 40: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 41: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 42: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 43: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 44: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 45: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 46: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 47: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 48: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 49: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 50: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 51: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 52: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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

Page 53: Tema IV: NP–completitud · Tema IV: NP–completitud Definici´on: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L0 ∈ NP se tiene que L0 6p L. Proposicion 1: Si L 1 es NP–duro

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