53
TEMA 4 NP–Completitud 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 Computabilidad y Complejidad Curso 2011-12

NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

TEMA 4

NP–Completitud

Mario de J. Perez JimenezGrupo de investigacion en Computacion Natural

Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla

Computabilidad y Complejidad

Curso 2011-12

Page 2: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Problemas NP–completos

Resolver un problema de decision ≡ reconocer un lenguaje.

Definicion: Un lenguaje L ⊆ Σ∗ es NP–duro sii para cada L′ ∈ NP se tieneque L′ 6p L.

I Problema de decision NP–duro.

I Genericamente, designaremos por L un lenguaje y por X un problema dedecision.

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

Definicion: Un lenguaje L ⊆ Σ∗ es NP–completo sii L ∈ NP y L es NP–duro.

I Problema de decision NP–completo.

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

I Si trataramos de probar P 6= NP, los testigos ideales serıan los problemasNP–completos.

2 / 53

Page 3: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Generacion de problemas NP–completosProposicion 2: Si X1,X2 son problemas NP–completos, entonces X1 ≡p X2.

Proposicion 3: (Generacion lenguajes NP–completos)Sea X un problema de decision tal que

I X ∈ NP.

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

Entonces X es un problema 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 problema NP–duro, X , tal que X ∈ P, entoncesP = NP.

Corolario: Son equivalentes:

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

(b) P = NP.

3 / 53

Page 4: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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-

4 / 53

Page 5: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema SAT

Definicion: 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 las conectivas logicas ∧, → y ↔.

Notaremos

I ¬P ası P.

I P ∨ Q ası P + Q.

I P ∧ Q ası P · Q.

5 / 53

Page 6: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

I Toda valoracion de verdad se extiende de manera natural a una aplicacionde PForm en {0, 1} (a traves de las tablas de verdad).

6 / 53

Page 7: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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.

I Toda formula proposicional tiene una formula semanticamenteequivalente en FNC (y en forma simplificada).

Problema SAT: Dada una formula proposicional en FNC, determinar si essatisfactible.

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

7 / 53

Page 8: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

I En la primera casilla no esta el sımbolo /. En la configuracion inicial seraocupado por el primer sımbolo del dato de entrada.

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

8 / 53

Page 9: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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

Consideremos las formulas:

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

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

I 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 ∈ Σ.

I Configuracion inicial:

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

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

^|x|+16j61+|x|k

C(0, j, B) (1)

I Configuracion de aceptacion:

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

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

9 / 53

Page 10: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Requisitos de cualquier computacion de M(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 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)

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)

10 / 53

Page 11: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 de M que acepta x)

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

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

11 / 53

Page 12: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Variantes del problema SAT

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

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

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

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

12 / 53

Page 13: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

13 / 53

Page 14: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Veamos que F es computable en tiempo polinomial.

I 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).

14 / 53

Page 15: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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.

15 / 53

Page 16: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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

i .

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ı: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.

16 / 53

Page 17: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

En consecuencia: SAT 6p SAT(3).

I 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).

I Se prueba por induccion sobre k.

17 / 53

Page 18: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 1: ∀k > 1 (k–SAT 6p SAT).

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

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

18 / 53

Page 19: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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

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

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

I Si c = l1, entoncesDc = (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)

en donde t es una nueva variable.

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

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

19 / 53

Page 20: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Veamos que F es computable en tiempo polinomial.

I 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).

20 / 53

Page 21: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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.

21 / 53

Page 22: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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

22 / 53

Page 23: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

I Se prueba por induccion sobre k.

Proposicion 4: 2–SAT ∈ P.

I Corolario: 1–SAT ∈ P.

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

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

23 / 53

Page 24: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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.

24 / 53

Page 25: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

25 / 53

Page 26: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema CLIQUE

I 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 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 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

26 / 53

Page 27: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

I 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 ϕ.

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

27 / 53

Page 28: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

�28 / 53

Page 29: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema SUBSET–SUM

Una funcion peso sobre un conjunto finito no vacıo A es una aplicacion w de

P(A) en N tal que para cada B ⊆ A se tiene que w(B) =Xx∈B

w({x}).

Para abreviar, notaremos w(x) en lugar de w({x}).

I Dado un conjunto finito no vacıo, A, una funcion peso, w, sobre A, yk ∈ N, determinar si existe B ⊆ A tal que w(B) = k.

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

29 / 53

Page 30: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

30 / 53

Page 31: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

31 / 53

Page 32: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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.

32 / 53

Page 33: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema PARTICIONI Dado un conjunto, A y una funcion peso, w, sobre A, determinar si existe

una particion {B,C} de A tal que w(B) = w(C).

Proposicion 1: PARTICION ∈ NP.

Teorema 2: El problema PARTICION es NP–completo.

Demostracion: Veamos que SUBSET-SUM ≤p PARTICION.Consideremos la aplicacion F : ESUBSET−SUM → EPARTICION definida ası:

I Sea (A,w , k) ∈ ESUBSET−SUM. Sean a, b dos elementos que no son de A.Sea A′ = 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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema 3–COL

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

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

I 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 1: 3–COL ∈ NP.

34 / 53

Page 35: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

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

��bT@@

Ab bF

I 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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Se considera la aplicacion F : E3−SAT → 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.

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

36 / 53

Page 37: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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

37 / 53

Page 38: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema HAM–PATH

Dado un grafo G (dirigido o no dirigido) y dos nodos x , y de G , un caminohamiltoniano de x a y en G es un camino simple de x a y que pasa por todoslos nodos de G .

Un ciclo hamiltoniano de G es un ciclo simple de G que pasa por todos losnodos de G .

Version dirigida del camino hamiltoniano con dos nodos distinguidos:

I Dado un grafo dirigido, G, y dos nodos distinguidos x , y, determinar siexiste un camino hamiltoniano de x a y .

Proposicion 1: HAM–PATH ∈ NP.

Teorema 2: HAM–PATH es NP–completo.

Demostracion: Veamos que 3–SAT ≤p HAM–PATH.

38 / 53

Page 39: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Para cada ϕ ∈ E3−SAT, 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 , x

1i+1) ∈ Eϕ,

39 / 53

Page 40: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

Sea F : E3−SAT → EHAM−PATH definida por F (ϕ) = (Gϕ, x11 , x

4n ).

I F es total computable en tiempo polinomial.

I Aserto: Para cada ϕ ∈ E3−SAT, ϕ es satisfactible sii el grafo Gϕ posee uncamino hamiltoniano de x1

1 a x4n .

• Sean ϕ = c1 . . . cp, con Var(ϕ) = {x1, . . . , xn} y σ una valoracion talque σ(ϕ) = 1. Se construye un camino hamiltoniano de x1

1 a x4n ası:

? Si σ(xi ) = 1, entonces se recorre el diamante asociado deizquierda a derecha.

? Si σ(xi ) = 0, entonces se recorre el diamante asociado dederecha a izquierda.

41 / 53

Page 42: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

? 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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

• Recıprocamente, sea γ un camino hamiltoniano de x11 a x4

n .

? El camino γ debe ser normal: recorre cada diamante bien deizquierda a derecha, o de derecha a izquierda, con la posiblesalvedad del pequeno atajo para visitar una clausula.

? 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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema UHAM–PATH

Version no dirigida del camino hamiltoniano con dos nodos distinguidos:

I Dado un grafo no dirigido, G, y dos nodos distinguidos x , y, determinar siexiste un camino hamiltoniano de x a y .

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 en G .

Entonces γ′ = (a3, u11 , u

21 , u

31 , u

12 , u

22 , u

32 , . . . , u

1r , u

2r , u

3r , b

1) es uncamino 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, v 11 , v

21 , v

31 , v

12 , v

22 , v

32 , . . . , v

1r , v

2r , v

3r , b

1).

Por tanto, γ = (a, v1, v2, . . . , vr , b) es un camino hamiltoniano de aa b en G .

45 / 53

Page 46: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema UHAM–CYCLEVersion no dirigida del ciclo hamiltoniano:

I Dado un grafo no dirigido, determinar si posee un ciclo hamiltoniano.

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 caminohamiltoniano de a a b sii G ′ posee un ciclo hamiltoniano.

• Sea γ = (a, u1, . . . , ur , b) un camino hamiltoniano de a a b en G .

Entonces γ′ = (a∗, a, u1, . . . , ur , b, b∗, a∗) es un ciclo hamiltoniano

de G ′.

• Sea γ un ciclo hamiltoniano de G ′.

Debido a las conexiones definidas en G ′, los nodos b, b∗, a∗, a sonconsecutivos (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 hamiltoniano de aa b en G .

47 / 53

Page 48: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema HAM–CYCLE

Version dirigida del ciclo hamiltoniano:

I Dado un grafo dirigido, G, determinar si posee un ciclo hamiltoniano.

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

El problema UHAM–PATH∗

Version no dirigida del camino hamiltoniano sin nodos distinguidos:

I Dado un grafo no dirigido determinar si posee un camino hamiltoniano(camino hamiltoniano, version no dirigida sin nodos 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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 en G .Entonces γ′ = (a∗, a, u1, . . . , ur , b, b

∗) es un camino hamiltonianode 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 hamiltoniano de aa b en G .

51 / 53

Page 52: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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: NP{Completitud - Universidad de Sevilla · Problemas NP{completos Resolverun problema de decisi on reconocerun lenguaje. De nici on: Un lenguaje L es NP{durosii para cada L02NP se

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 π la permutacion 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 que

nXi=1

d(π(i), π(i + 1)) 6 0

Entonces γ = (π(1), . . . , π(n), π(1)) es un ciclo hamiltoniano de G .

�53 / 53