tema 4 modelos de computacion

177

Upload: samuel-carrasco

Post on 06-Nov-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Tema cuatro de la asignatura de Modelos de Computación de la carrera de grado de informática de la Universidad de Granada

TRANSCRIPT

  • Tema 4: NP-ompletitud

    Serafn Moral

    Universidad de Granada

    Abril, 2014

    Serafn Moral Tema 4: NP-ompletitud

  • Contenido

    Problemas de deisin y su odiain

    Redu

    in

    Completitud

    El problema de la onsistenia en lgia proposiional

    El teorema de Cook

    Variantes de SAT

    Problemas de onjuntos

    Problemas de grafos

    Problemas numrios

    Otros problemas

    Caraterizain de problemas en NP

    Tnias de redu

    in de problemas

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas de Deisin

    Un problema de deisin, , onsta de los siguientes elementos:

    D: Conjunto de ejemplos del problema (asos posibles o

    datos).

    Y: Conjunto de ejemplos en los que la respuesta es positiva

    (ondiin que es veriada por algunos de los elementos de

    D).

    Y D

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo: Isomorsmo de subgrafos

    D: Datos

    Dos grafos G

    1

    = (V1

    ,E1

    ) y G2

    = (V2

    ,E2

    )

    Y: Condiin

    Contiene G

    1

    un subgrafo isomorfo a G

    2

    ?

    Es deir, existe un subonjunto V

    V1

    y un subonjunto de

    aristas E

    E1

    tal que E

    V V y existe una apliainbiyetiva f : V

    2

    V de tal manera que se veria

    (u,v) E2

    (f (u), f (v)) E

    Serafn Moral Tema 4: NP-ompletitud

  • Codiain de Problemas

    Un sistema de odiain para un problema es una apliain

    C : D A

    donde A es un alfabeto. Es deir, ada ejemplo del problema se

    transforma en una palabra en un determinado alfabeto.

    Un problema se identia on el lenguaje:

    L() = {C (X ) : X Y}.Es deir los asos on respuesta armativa.

    Las palabras que no son una odiain orreta de un

    ejemplo del problema se onsidera que no forman parte del

    lenguaje.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas y Lenguajes

    Palabras de A

    Corretas

    SI

    Lenguaje

    Las deniiones sobre lenguajes se pueden transformar en

    deniiones sobre los problemas asoiados.

    La identiain de las odiaiones orretas (palabras que

    orresponden realmente a un ejemplo del problema) se onsidera

    que no es importante desde el punto de vista omputaional (en

    todos los ejemplos se puede realizar en tiempo lineal).

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas y su Codiain

    La omplejidad de un problema puede depender del sistema de

    odiain que se emplee para los datos de entrada. Esta

    dependenia se puede minimizar si se siguen una serie de normas

    bsias:

    Los enteros se odian en binario (u otro sistema similar) on

    un '-' delante si son negativos.

    Para nombrar los elementos de una lista de tamao n usamos:

    [1], [2], [3], . . . , [n] donde [n] es el nmero n esrito en binario(o en otro sistema similar). Cada nombre usa del orden de

    O(log(n)).

    Para odiar una lista de m elementos: (x1

    , . . . ,xm

    ) usamos laseuenia < X

    1

    , . . . ,Xm

    >, donde ada Xi

    es la representain

    de x

    i

    .

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplos

    Un nmero raional p/q se representa omo una lista de dosenteros (p,q).

    Un onjunto omo una lista de sus elementos

    Una funin f de un onjunto nito U = {u1

    , . . . ,um

    } en un

    onjunto nito V se representa omo una lista de pares

    ((u1

    , f (u1

    )), . . . ,(um

    , f (um

    ))).

    Serafn Moral Tema 4: NP-ompletitud

  • Distintas Codiaiones de un Grafo

    Para representar un grafo podemos usar

    distintos proedimientos:

    a) Listas los vrties y las aristas

    b) Dar una lista de veinos para ada

    vrtie

    ) Dar una matriz de adyaenia del

    grafo

    1 2

    3 4

    Mt. Representain lg. Cota Inf. Cota Superior

    a) v[1v[2v[3v[4(v[1v[2)(v[2v[3) 36 4v +10a 4v+10a+(v +2a) log10

    v

    b) (v[2)(v[1v[3)(v[2)() 24 2v +8a 2v+8a+2a log10

    v

    ) 0100/1010/0010/0000 19 v

    2+v 1 v2+v 1

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in entre Problemas

    Queremos denir una relain, Redu

    in, entre lenguajes de

    forma que el lenguaje L

    1

    se reduza a L

    2

    si L

    2

    es ms difil

    que L

    1

    . En el siguiente sentido: si obtuvisemos un algoritmo

    para L

    2

    , lo podemos transfomar eientemente en un

    algoritmo para L

    1

    de omplejidad similar.

    Dada una lase C , un lenguaje ompleto para diha lase es un

    lenguaje L que pertenee a la lase y tal que todo otro

    lenguaje de la lase se redue a l.

    Est laro que puede haber distintas deniiones de redu

    in,

    pero hay una que es vlida en la gran mayora de las

    situaiones: transformaiones espaio logartmias.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in

    L

    1

    es reduible a L

    2

    L

    1

    L2

    si y solo si existe una mquina de Turing determinista que en

    espaio logartmio alula una funin R : A B de tal maneraque

    x L1

    R(x) L2

    Problema L

    1

    reduible a L

    2

    : Algoritmo L

    2

    Algoritmo L1

    Algoritmo

    L

    2

    SI/NO

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in

    L

    1

    es reduible a L

    2

    L

    1

    L2

    si y solo si existe una mquina de Turing determinista que en

    espaio logartmio alula una funin R : A B de tal maneraque

    x L1

    R(x) L2

    Problema L

    1

    reduible a L

    2

    : Algoritmo L

    2

    Algoritmo L1

    R

    x A AlgoritmoL

    2

    R(x) B SI/NO

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in

    L

    1

    es reduible a L

    2

    L

    1

    L2

    si y solo si existe una mquina de Turing determinista que en

    espaio logartmio alula una funin R : A B de tal maneraque

    x L1

    R(x) L2

    Problema L

    1

    reduible a L

    2

    : Algoritmo L

    2

    Algoritmo L1

    R

    x A AlgoritmoL

    2

    R(x) B SI/NOR

    x A AlgoritmoL

    2

    R(x) B

    Algoritmo

    L

    1

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in entre Problemas

    Si tenemos un problema de deisin , bajo un sistema de

    odiain este problema se transforma en un lenguaje L: el

    onjunto de odiaiones que tienen una respuesta positiva.

    La redu

    in entre problemas equivaldr a la redu

    in entre los

    lenguajes asoiados. Sin embargo, nosotros asi siempre haremos

    una redu

    in entre los problemas diretamente. Nos

    preouparemos solo de los ejemplos vlidos y supondremos que se

    transforman en ejemplos vlidos.

    Serafn Moral Tema 4: NP-ompletitud

  • Signiado de la Redu

    in

    La redu

    in de 1

    a 2

    , india que si obtuvisemos una solu-

    in senilla para 2

    , entones omponindola on la redu

    in,

    podramos obtener una soluin para 1

    .

    Eso signia que si obtuvisemos una soluin senilla para 2

    la

    tendramos para 1

    , pero lo ontrario no tiene por qu veriarse.

    En denitiva, 2

    es al menos tan difil omo 1

    : se resiste ms a

    que se enuentre una soluin senilla

    .

    Serafn Moral Tema 4: NP-ompletitud

  • Pasos en la Redu

    in de Problemas

    Si tenemos dos problemas 1

    y 2

    para demostrar que 1

    2

    hay que:

    1

    Dar un algoritmo que transforme ada ejemplo, X

    1

    , de 1

    en

    un ejemplo, X

    2

    , del problema 2

    .

    2

    Comprobar que diho algoritmo es logartmio en espaio.

    3

    Comprobar que si X

    1

    tiene soluin positiva, entones X

    2

    tambin la tiene.

    4

    Comprobar que si X

    2

    tiene soluin positiva, entones X

    1

    tambin la tiene.

    Serafn Moral Tema 4: NP-ompletitud

  • El Problema del Viajante de Comerio (VC)

    Datos:

    Un onjunto nito de iudades C = {1

    , . . . ,m

    }Una funin de distania d : C C NUna ota B N

    Pregunta: Existe un iruito que visite todas las iudades una

    sola vez y de oste no superior a B?

    Es deir, determinar si existe un orden de las iudades

    (pi(1), . . . ,pi(n)) tal que(m1i=1

    d(pi(i),pi(i+1))

    )+d(pi(m),pi(1)) B

    Serafn Moral Tema 4: NP-ompletitud

  • El Problema del Ciruito Hamiltoniano (CH)

    Datos: Un grafo no dirigido G = (V ,E ).Pregunta: Existe un iruito hamiltoniano?

    Serafn Moral Tema 4: NP-ompletitud

  • El Problema del Ciruito Hamiltoniano (CH)

    Datos: Un grafo no dirigido G = (V ,E ).Pregunta: Existe un iruito hamiltoniano?

    Un iruito hamiltoniano es un amino que parte de un nodo para

    llegar a l mismo, visitando todos los nodos del grafo una y solo

    una vez.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in de CH a VC

    Redu

    in del Ciruito Hamiltoniano al problema del

    Viajante de Comerio: CH VC

    Supongamos una ejemplo del Ciruito Hamiltoniano G = (V ,E )

    on |V |=m.Construimos el siguiente ejemplo del Viajante de Comerio:

    Ciudades C = V

    Distania:

    d(vi

    ,vj

    ) =

    {1 si (v

    i

    ,vj

    ) E2 si (v

    i

    ,vj

    ) 6 E

    Cota: B =m

    Serafn Moral Tema 4: NP-ompletitud

  • Comprobaiones

    Se puede omprobar que la soluin del problema del viajante de

    omerio es siempre mayor o igual a m y que es m si y solo si desde

    ada iudad a la siguiente existe un aro en el grafo original.

    La transformain se puede alular en espaio logartmio.

    Si existe un iruito hamiltoniano existe un orden de viaje de

    valor menor o igual a m (el orrespondiente al iruito

    hamiltoniano).

    Si existe un orden de viaje de valor menor o igual a m,

    entones diho iruito es hamiltoniano en el grafo original.

    Serafn Moral Tema 4: NP-ompletitud

  • Composiin de Redu

    iones

    Si L

    1

    L2

    y L

    2

    L3

    , entones L

    1

    L3

    .

    La demostrain se basa en la omposiin de las redu

    iones de L

    1

    a L

    2

    ( mediante R

    1

    alulada por M

    1

    ) y de L

    2

    a L

    3

    (mediante R

    2

    alulada por M

    2

    ).

    La omposiin no puede ser poner a trabajar M

    2

    sobre la salida de

    M

    1

    : R

    1

    (x).Entones podemos usar un espaio intermedio polinomial para

    almaenar M

    1

    (x).La forma de funionar es que ada vez que M

    2

    neesita una asilla

    se la pide a M

    1

    que la alula en ese momento, usando un ontador

    binario para determinar la asilla exata.

    L

    1

    y L

    2

    se dien equivalentes si y solo si L

    1

    L2

    y L

    2

    L1

    .

    Serafn Moral Tema 4: NP-ompletitud

  • Composiin en Espaio

    M

    1

    M

    2

    NO

    x

    R

    1

    (x) R2

    (R1

    (x))

    Serafn Moral Tema 4: NP-ompletitud

  • Composiin en Espaio

    M

    1

    M

    2

    NO

    x

    R

    1

    (x) R2

    (R1

    (x))

    M

    1

    M

    2

    x

    a

    1 1 0 1

    entrada-salida

    Smbolo, N

    o

    Casilla

    R

    2

    (R1

    (x))

    Serafn Moral Tema 4: NP-ompletitud

  • Lenguajes NP-ompletos

    Lenguaje NP-ompleto

    Un lenguaje es NP-Completo si y solo si es un lenguaje de NP y

    ualquier otro lenguaje de NP se redue a l.

    Son dos ondiiones la primera es fil de omprobar, la segunda

    no.

    Los lenguajes NP-ompletos son los ms difiles o tpios dentro de

    la lase NP.

    Dada la deniin, 'a priori' no tendra porqu existir ningn

    lenguaje NP-ompleto.

    Esta deniin se extiende a otras lases:

    Lenguaje P-ompleto

    Un lenguaje es P-Completo si y solo si es un lenguaje de P y

    ualquier otro lenguaje de P se redue a l.

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia

    Dos lenguajes L

    1

    y L

    2

    son equivalentes si y solo si

    L

    1

    L2

    y L

    2

    L1

    Esta es una relain de equivalenia que divide el onjunto de los

    lenguajes en lases de equivalenia.

    En partiular esta relain sobre NP queda de la siguiente forma:

    NP

    t

    P

    L

    NP-ompletos

    P-ompletos

    2 problemas triviales

    (Siempre SI - Siempre NO)

    Serafn Moral Tema 4: NP-ompletitud

  • Consistenia en Lgia Proposiional (SAT)

    Datos: Un onjunto U = {p1

    , . . . ,pm

    } de smbolos proposiionalesy una ole

    in C de lusulas sobre estos smbolos.

    PREGUNTA: Son onsistentes las lusulas?

    EJEMPLO:

    U = {p1

    ,p2

    }, C = {p1

    p2

    ,p1

    p2

    }La respuestas es SI, ya que todas las lusulas se satisfaen

    haiendo p

    1

    y p

    2

    verdaderas. En notain matemtia

    t(p1

    ) = t(p2

    ) = V .

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    U = {p1

    ,p2

    }, C = {p1

    p2

    ,p1

    p2

    ,p1

    }En este aso, la respuesta es NO.

    Para satisfaer la terera lusula, t(p1

    ) = F (p1

    es falsa). En

    estas ondiiones, para satisfaer la segunda, tenemos que

    tener t(p2

    ) = F . Y ahora on p1

    y p

    2

    falsas, es imposible

    satisfaer la primera.

    Serafn Moral Tema 4: NP-ompletitud

  • El Teorema de Cook

    Teorema de Cook

    El problema de la onsistenia en lgia proposiional (SAT) es

    NP-ompleto

    Demostrain:

    Lo primero es demostrar que es un problema de NP. Esto es senillo

    on el siguiente algoritmo no-determinista:

    Para ada smbolo en U sele

    ionar un valor de verdad (V

    F ).

    Para ada lusula omprobar si se satisfae.

    Si todas se satisfaen responder SI, en aso ontrario NO.

    Serafn Moral Tema 4: NP-ompletitud

  • Teorema de Cook: Redu

    in

    Ahora hay que demostrar que si un lenguaje, L, est en NP,

    entones diho lenguaje se redue a SAT.

    Supongamos L en NP, la redu

    in onsiste en transformar un

    ejemplo de pertenenia al lenguaje:

    Dada una palabra x A, pertenee x a L?

    en un ejemplo de SAT tal que la palabra pertenee al lenguaje si y

    solo si el ejemplo es onsistente.

    Esta transformain tiene que haerse en espaio logartmio.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in

    Como L est en NP, entones existe una Mquina de Turing no

    determinista M = (Q,A,,q0

    ,{qa

    ,qr

    }) que deide L en tiempopolinmio p(n) n. Vamos a suponer que tiene una sola inta.Vamos a onstruir una transformain que depende de esta

    mquina:

    f

    M

    : A SAT

    tal que x L fM

    (x) es onsistente.

    Serafn Moral Tema 4: NP-ompletitud

  • Teorema de Cook: Notain

    Vamos a suponer que la mquina aepta exatamente en

    p(n) pasos.Este valor se puede alular en espaio que depende del

    logaritmo de n.

    Sea Q = {q0

    , . . . ,qr

    }, r = |Q|1, q1

    = qa

    , q2

    = qr

    .

    Si A= {s1

    , . . . ,sv

    } hagamos s0

    = B yA

    = {s0

    ,s1

    , . . . ,sv

    }= {B}A.Sea l el nmero mximo de opiones de M (supondremos que

    siempre hay l opiones).

    Como la mquina da p(n) pasos, el nmero mximo de asillasvisitadas es p(n)+1.

    Serafn Moral Tema 4: NP-ompletitud

  • Teorema de Cook: Variables Proposiionales

    Hay tres tipos de variables:

    Q[i ,k ], 0 i p(n), 0 k rEn el momento i , la mquina M est en el estado q

    k

    .

    H[i , j ], 0 i p(n), 0 j p(n)En el momento i , la abeza est en la asilla j .

    S [i , j ,k ], 0 i p(n), 0 j p(n), 0 k vEn el momento i , la asila j ontiene el smbolo s

    k

    O(i ,k), 0 i p(n), 1 k lEn el momento i , la mquina elige la opin k .

    El nmero de variables es polinmio y se pueden alular en

    espaio logartmio.

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 1: Estado de la Mquina

    Q[i ,0]Q[i ,1] Q[i , r ], 0 i p(n)

    En ada momento, la mquina est en un estado

    Q[i , j ]Q[i , j ], 0 i p(n), 0 j < j r

    En ada momento, la mquina no puede estar a la vez en dos

    estados distintos

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 2: Cabeza de Letura

    H[i ,0]H[i ,1] H[i ,p(n)], 0 i p(n)

    En ada momento, la abeza de letura est situada en alguna

    asilla

    H[i , j ]H[i , j ], 0 i p(n), 0 j < j p(n)

    En ada momento, la abeza de letura no puede estar en dos

    asillas distintas

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 3: Casillas

    S [i , j ,0]S [i , j ,1] S [i , j ,v ], 0 i p(n), 0 j p(n)

    En ada momento i , en la asilla j hay algn smbolo del alfabeto.

    S [i , j ,k ]S [i , j ,k ],

    0 i p(n), 0 j p(n), 0 k < k v

    En ada momento i , y en ada asilla j no puede haber dos

    smbolos distintos.

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 4: Congurain Iniial

    Q[0,0], en el momento iniial (0), la mquina est en elestado 0.

    H[0,0], , en el momento iniial (0), la abeza est en la

    asilla 0.

    Si la palabra de entrada es: x = sk

    1

    . . . sk

    n

    entones se

    introduen las lusulas:

    S [0,0,k1

    ],S [0,1,k2

    ], . . . ,S [0,n1,kn

    ]

    Iniialmente, los smbolos de la palabra x estn en las n

    primeras asillas de la inta

    Estas son las nias lusulas que dependen de la entrada.

    S [0,n,0],S [0,n+1,0], . . . ,S [0,p(n),0]Iniialmente, el resto de las asillas de entrada ontienen el

    sbolo B = s0

    .

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 5: Condiin de aeptain

    Q[p(n),1]: En el ltimo paso, p(n), la mquina se enuentra en unestado de aeptain.

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 6: No-Determinismo

    O(i ,1) O(i , l), 0 i p(n)1.En ada momento la mquina toma una opin.

    O(i , j)O(i , j ), 0 i p(n)1, 1 j , j l , j 6= j .La mquina no puede tomar dos opiones a la vez en un momento

    dado.

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 7: Funionamiento de la Mquina

    Si (qk

    ,sd

    ) = {(qk

    1

    ,sd

    1

    ,m1

    ), . . . ,(qk

    l

    ,sd

    l

    ,ml

    )}, entones aadimostodas las lusulas:

    H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)Q[i+1,ke

    ]

    H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)S [i+1, j ,de

    ]

    H[i , j ]Q[i ,k ]S [i , j ,d ]O(i ,e)H[i+1, j+me

    ]

    donde

    0 i p(n)1, 0 j p(n),

    0 k r , 0 d v , 1 e l

    Serafn Moral Tema 4: NP-ompletitud

  • Grupo 8: Continuidad de ontenidos

    H[i , j ]S [i , j ,d ]S [i+1, j ,d ]

    donde

    0 i p(n)1, 0 j , j p(n),(j 6= j )

    0 d v

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    Est laro que por la forma de onstruir la mquina.

    Las lsulas reproduen exatamente el funionamiento de la

    mquina para la palabra de entrada e inluyen una lusula que

    india que la palabra es aeptada.

    Entones la palabra es aeptada si y solo si todas es posible

    satisfaer todas las lusulas.

    Serafn Moral Tema 4: NP-ompletitud

  • Complejidad de la Redu

    in

    La redu

    in que hemos realizado tiene una omplejidad espaio

    logartmia en funin de la longitud de x : |x |= n.

    Primero, n se representa on t = log(n) bits.El lulo de p(n) requiere realizar varias operaiones, multipliaiones ysumas. El nmero de operaiones es jo, por lo que el espaio neesario

    ser del orden de t = log(n).p(n) se representar tambin on un nmero de ifras que ser del ordende t = log(n).Finalmente, toda la transformain maneja ndies que varan entre 0 y

    p(n) o entre dos valores onstantes. En el segundo aso, el espaio novara en funin de la longitud de x , y en el primer aso se neesita un

    espaio de orden t = log(n) (el espaio neesario para el ndie msgrande) para almaenarlos.

    Finalmente, la omplejidad de toda la transformain es de orden

    O(log(n)).

    Serafn Moral Tema 4: NP-ompletitud

  • Estrategia para NP-Completitud

    Supongamos que queremos demostrar que L es NP-ompleto.

    Tenemos que haer:

    Demostrar que L est en NP.

    Determinar un problema NP-ompleto ya onoido L

    , y

    demostrar que

    L

    L

    Como la redu

    in es transitiva, esta ltima ondiin garantiza

    que ualquier otro problema de NP se redue a L.

    Serafn Moral Tema 4: NP-ompletitud

  • 3-SAT

    El problema es una restri

    in de SAT, en la que se supone

    que todas las lusulas son de longitud 3: tienen exatamente

    3 literales.

    Suponemos que podemos repetir literales dentro de una

    lusula.

    Es NP ya que es un aso partiular de SAT y ste ya estaba en

    NP: el mismo algoritmo vale.

    Para demostrar que es ompleto para la lase NP, no

    realizamos una demostrain similar a la del teorema de Cook.

    Simplemente, reduimos SAT a 3-SAT.

    Para ello, dado un ejemplo de SAT tenemos que onstruir un

    ejemplo de 3-SAT que tenga la misma respuesta: las lusulas son

    onsistentes o inonsistentes en ambos asos a la vez.

    Serafn Moral Tema 4: NP-ompletitud

  • SAT 3-SAT

    Supongamos un ejemplo de SAT, on smbolos U y un onjunto de

    lusulas C .

    Construimos un ejemplo de 3-SAT, que tiene omo smbolos los de

    U y algunos adiionales y uyas lusulas, C

    , se obtienen de C de

    la siguiente forma:

    Para toda lsula en C de longitud 1 2, se repiten algunos de

    sus literales para que tenga longitud 3, y se aade a C

    .

    Las lusulas de C de longitud 3 se aaden tal ual a C

    .

    Serafn Moral Tema 4: NP-ompletitud

  • SAT 3-SAT (Cont.)

    Para ada lsula en C de longitud mayor o igual que 4:

    T

    1

    T2

    Tk

    , k 4, se aaden los siguientes k3smbolos proposiionales

    H

    4

    ,H5

    , . . . ,Hk

    y las siguientes lusulas a C

    :

    T

    k

    Tk1Hk , Hk Hk Tk , Hk Hk Tk1

    H

    j+1Tj1Hj , Hj Hj Hj+1, Hj Hj Tj1,(j = 4, . . . ,k1)

    T

    1

    T2

    H4

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia

    La demostrain de que esta transformain es una verdadera

    redu

    in, se basa en omprobar que para ada lusula

    T

    1

    T2

    Tk

    , sta es equivalente a las lsulas (aadiendo

    H

    k

    ):

    T

    1

    T2

    Tk2Hk , Tk Tk1Hk

    H

    k

    Tk

    , Hk

    Tk1

    Esta regla se aplia a la lsula iniial, y despus de forma iterativa

    a todas las lsulas resultantes de longitud mayor que 3.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    pr s t q

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    pr s t q

    pr s h5

    t qh5

    h

    5

    h5

    t h5

    h5

    q

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    pr s t q

    pr s h5

    pr h4

    s h5

    h4

    h

    4

    h4

    s h4

    h4

    h5

    t qh5

    h

    5

    h5

    t h5

    h5

    q

    Serafn Moral Tema 4: NP-ompletitud

  • 2-SAT es en NL y, por tanto, en P

    Consideremos un problema 2-SAT, entones onstruimos el grafo:

    Nodos: Variables y sus negaiones (todos los posibles literales)

    Aros: (,) es un aro si y solo si () est en elproblema.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    C = {x1

    x2

    ,x1

    x3

    ,x1

    x2

    ,x2

    x3

    }

    Grafo:

    x

    1

    x1

    x

    3

    x3

    x

    2

    x2

    Teorema

    El onjunto de lusulas C es onsistente si y solo si no existe un

    par de nodos x ,x , tal que existe un amino de x a x y otro

    amino de x a x .

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    C = {x1

    x2

    ,x1

    x3

    ,x1

    x2

    ,x2

    x3

    }

    Grafo:

    x

    1

    x3

    x1

    x2

    x3

    x2

    x

    1

    x1

    x

    3

    x3

    x

    2

    x2

    Teorema

    El onjunto de lusulas C es onsistente si y solo si no existe un

    par de nodos x ,x , tal que existe un amino de x a x y otro

    amino de x a x .

    Serafn Moral Tema 4: NP-ompletitud

  • Clusulas Horn

    Son aquellas en las que, a lo ms, existe un literal positivo.

    Idea del algoritmo polinmio: (V el onjunto de variables

    proposiionales).

    Se onsideran los onjuntos C

    1

    (todos los literales son

    negativos) y C

    2

    (existe un literal positivo).

    Sea H un onjunto de variables proposiionales que

    iniialmente es igual a las variables que apareen en las

    lusulas de longitud 1 de C

    2

    . La idea es que este onjunto

    ontenga las variables tienen que ser neesariamente verdad.

    Serafn Moral Tema 4: NP-ompletitud

  • Algoritmo (Cont.)

    Mientras H ambie, examinar las lusulas de C

    2

    , si alguna es

    de la forma z1

    z2

    zi

    y on todas las variablesz

    1

    , . . . ,zi

    en el onjunto H y la variable y no en H, entones

    aadir y a H. ( Como z1

    z2

    zi

    y es equivalente a(z

    1

    z2

    zi

    ) y , si todos los anteedentes sonverdaderos, entones el onseuente tambin lo tiene que ser).

    Una vez alulado H se haen verdad las variables de este

    onjunto y falsas las de V H.La onsistenia es equivalente a que para ada lusula en C

    1

    exista un literal on su variable en V H.

    Serafn Moral Tema 4: NP-ompletitud

  • MAX2SAT

    Datos:

    Un onjunto de lusulas on dos literales y un valor K 0.Pregunta:

    Pueden satisfaerse, al menos, K lusulas?

    Es una generalizain de 2-SAT y es NP-ompleto.

    Que es NP es inmediato. Para demostrar que es ompleto en esta

    lase, vamos a reduir 3-SAT.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: 3-SAT MAX2SAT

    Para ello ada lusula de longitud 3, x y z se transforma en lassiguientes 10 lusulas (w es una nueva variable aadida),

    x , y , z , w , x y , y z , z x ,x w , y w , z w

    Se sele

    iona K = 7m, donde m es el nmero de lusulas.Tnia: Constru

    in de Gadgets

    Esto se puede omprobar, viendo que para ada lusula, si x y z es verdaderoentones se puede elegir el valor de verdad de w de manera que se satisfagan 7

    lusulas (pero no ms). Si x y z es falso, entones nuna podemos llegar asatisfaer 7 o ms de estas 10 lusulas, elijamos omo elijamos el valor de verdad de

    w.

    Serafn Moral Tema 4: NP-ompletitud

  • Frontera entre P y NP

    Muhos problemas, uando se plantean on suiente generalidad

    son NP-ompletos. Hay restri

    iones que no llegan a onvertirlos en

    problemas polinomiales, pero siempre, si se restringe el nmero de

    asos a resolver lo suiente se llega un problema polinomial.

    Serafn Moral Tema 4: NP-ompletitud

  • Restri

    in de 3-SAT

    3-SAT es NP-ompleto si haemos que ada literal nuna apareza ms

    de dos vees y ada variable ms de tres vees, pero pueden existir

    lusulas de longitud menor que 3.

    Hemos de probar que ualquier ejemplo de 3-SAT se puede transformar

    en un ejemplo equivalente que umpla esta restri

    in. Esto se hae on

    el siguiente proedimiento:

    Si una variable x no umple las ondiiones de la restri

    in,

    apareiendo k vees en las lusulas, se substituye x por k

    nuevas variables, x

    1

    , . . . ,xk

    , una por ada apariin.

    Se aaden las lusulas: x1

    x2

    ,x2

    x3

    , . . . ,xk

    x1

    Estas son equivalentes a: x

    1

    x2

    ,x2

    x3

    , . . . ,xk

    x1

    on lo que todas las versiones x

    i

    tienen que tener el mismo

    valor de verdad.

    Serafn Moral Tema 4: NP-ompletitud

  • Problema NAESAT

    Dado un onjunto de lausulas de longitud 3, determinar si existe

    una asignain de valores de verdad tal que para ada lausula,

    alguno, pero no todos los literales sean iertos.

    Es laramente NP ya que si se se pueden asignar de forma no

    determinista valores de verdad a las variables y despus omprobar

    en tiempo polinmio si se verian las ondiiones espeiadas:

    en ada lusula hay un literal ierto y otro falso.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in de 3-SAT a NAESAT

    Se aade una nueva variable z .

    Para ada lausula on menos de 3 literales, aadimos z .

    Si los tres literales son distintos pq r aadimos una variable s(signiado: pq s) y las lusulas:

    s r z , pqs, p s z , q s zSi NAESAT tiene soluin, entones ambiando el valor de verdad de todas las

    variables, sigue teniendo soluin. Elegimos la soluin en la que z es falso. Esta es

    una soluin del problema original.

    Reiproamente, si se satisfae SAT, podemos satisfaer todas las lausulas nuevas de

    auerdo on NAESAT on el mismo valor de verdad para las variables que existan y

    haiendo z falso y s verdadero si p q son verdaderos.

    Serafn Moral Tema 4: NP-ompletitud

  • Isomorsmo de Grafos

    Problema del Isomorsmo de Grafos

    Dados dos grafos no dirigidos G

    1

    = (V1

    ,E1

    ) y G2

    = (V2

    ,E2

    ),determinar si existe un isomorsmo entre G

    1

    y G

    2

    , esto es una

    apliain biyetiva f : V1

    V2

    , tal que

    (u,v) E1

    (f (u), f (v)) E2

    .

    Este es un ejemplo de problema que no se ha demostrado que sea

    NP-ompleto y tampoo se onoe ningn algoritmo polinmio

    para resolverlo. Se supone que ni est en P ni es NP-Completo. De

    heho se ha denido una lase GI de todos los problemas que se

    pueden reduir al problema del isoformismo de grafos, de la que

    evidentemente el problema del isoformismo de grafos es

    GI-ompleto.

    Serafn Moral Tema 4: NP-ompletitud

  • Aoplamiento de Tripletas (ACTRI)

    Datos:

    Tres onjuntos disjuntos W ,X ,Y del mismo tamao q

    Un subonjunto M W X Y de ompatibilidadesPregunta:

    Contiene M un subonjunto M

    M on q elementos, tal que para ada(w

    1

    ,x1

    ,y1

    ),(w2

    ,x2

    ,y2

    ) M , si (w1

    ,x1

    ,y1

    ) 6= (w2

    ,x2

    ,y2

    ), entonesw

    1

    6= w2

    , x1

    6= x2

    , y1

    6= y2

    ?.

    b b b

    b b b

    b b b

    b b b

    W X Y

    Serafn Moral Tema 4: NP-ompletitud

  • Aoplamiento de Tripletas (ACTRI)

    Datos:

    Tres onjuntos disjuntos W ,X ,Y del mismo tamao q

    Un subonjunto M W X Y de ompatibilidadesPregunta:

    Contiene M un subonjunto M

    M on q elementos, tal que para ada(w

    1

    ,x1

    ,y1

    ),(w2

    ,x2

    ,y2

    ) M , si (w1

    ,x1

    ,y1

    ) 6= (w2

    ,x2

    ,y2

    ), entonesw

    1

    6= w2

    , x1

    6= x2

    , y1

    6= y2

    ?.

    b b b

    b b b

    b b b

    b b b

    W X Y

    Serafn Moral Tema 4: NP-ompletitud

  • ACTRI es NP-ompleto

    Es NP, ya que un algoritmo no determinista que elige un

    subonjunto de M y omprueba que si hay en ada elemento del

    subonjunto uno y slo uno de los elementos de ada onjunto

    tiene tiempo polinmio.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in de 3-SAT a ACTRI

    Para demostrar que es ompleto para NP, para a reduir 3-SAT a ACTRI.

    Vamos a suponer un ejemplo de 3-SAT on los siguientes datos:

    U = {u1

    ,u2

    , . . . ,un

    }, C = {1

    ,2

    , . . . ,m

    }Vamos a onstruir un ejemplo de ACTRI on la misma soluin.

    Construiremos los onjuntos W ,X ,Y y el subonjunto de tripletasM W X Y .Para ada variable u

    i

    vamos a introduir en W los elementos

    u

    i

    [j ],ui

    [j ], j = 1, . . . ,m, en X los elementos ai

    [j ], j = 1, . . . ,m y en Y loselementos b

    i

    [j ], j = 1, . . . ,m.En M se introduen las tripletas: T

    t

    i

    = {(ui

    [j ],ai

    [j ],bi

    [j ]) : 1 j m} yT

    f

    i

    = {(ui

    [j ],ai

    [j +1],bi

    [j ]) : 1 j

  • ACTRI es NP-Completo

    Gra de tripletas:

    b b

    b

    u

    i

    [1] bi

    [1]

    a

    i

    [2]

    bb

    b

    u

    i

    [4]

    b

    i

    [4]

    a

    i

    [1]

    bb

    b

    u

    i

    [3]bi

    [3]

    a

    i

    [4]

    bb

    b

    u

    i

    [2]

    b

    i

    [2]

    a

    i

    [3]

    b

    u

    i

    [1]

    b

    u

    i

    [4]

    b

    u

    i

    [3]

    b

    u

    i

    [2]

    Los valores a

    i

    , b

    i

    no

    apareen en otras

    tripletas. El efe-

    to es que en M

    debern de estas

    todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4]o todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4].

    Serafn Moral Tema 4: NP-ompletitud

  • ACTRI es NP-Completo

    Gra de tripletas:

    b b

    b

    u

    i

    [1] bi

    [1]

    a

    i

    [2]

    bb

    b

    u

    i

    [4]

    b

    i

    [4]

    a

    i

    [1]

    bb

    b

    u

    i

    [3]bi

    [3]

    a

    i

    [4]

    bb

    b

    u

    i

    [2]

    b

    i

    [2]

    a

    i

    [3]

    b

    u

    i

    [1]

    b

    u

    i

    [4]

    b

    u

    i

    [3]

    b

    u

    i

    [2]

    Los valores a

    i

    , b

    i

    no

    apareen en otras

    tripletas. El efe-

    to es que en M

    debern de estas

    todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4]o todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4].

    Serafn Moral Tema 4: NP-ompletitud

  • ACTRI es NP-Completo

    Gra de tripletas:

    b b

    b

    u

    i

    [1] bi

    [1]

    a

    i

    [2]

    bb

    b

    u

    i

    [4]

    b

    i

    [4]

    a

    i

    [1]

    bb

    b

    u

    i

    [3]bi

    [3]

    a

    i

    [4]

    bb

    b

    u

    i

    [2]

    b

    i

    [2]

    a

    i

    [3]

    b

    u

    i

    [1]

    b

    u

    i

    [4]

    b

    u

    i

    [3]

    b

    u

    i

    [2]

    Los valores a

    i

    , b

    i

    no

    apareen en otras

    tripletas. El efe-

    to es que en M

    debern de estas

    todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4]o todos los elementos

    u

    i

    [1],ui

    [2],ui

    [3],ui

    [4].

    Serafn Moral Tema 4: NP-ompletitud

  • Tripletas para las lusulas

    Por ada lusula

    j

    C :Aadir un elemento s

    1

    [j ] a X

    Aadir un elemento s

    2

    [j ] a Y

    Aadir a M las tripletas

    {(ui

    [j ],s1

    [j ],s2

    [j ]) : ui

    est en

    j

    }{(u

    i

    [j ],s1

    [j ],s2

    [j ]) : ui

    est en

    j

    }La idea es que en ada aoplamiento M

    debe de ontener alguna

    de estas tripletas.

    Si, de las tripletas anteriores, quedaban libres (no elegidos) los

    elementos u

    i

    [1],ui

    [2],ui

    [3],ui

    [4] orresponde al aso en el que ui

    es

    ierto. Si quedaban libres u

    i

    [1],ui

    [2],ui

    [3],ui

    [4], orresponde al aso

    en el que u

    i

    es falso.

    En onseuenia, estas tripletas garantizan que todas las lsulas se

    satisfaen.

    Serafn Moral Tema 4: NP-ompletitud

  • Elementos adiionales

    Se aden los siguientes elementos:

    g

    1

    [k], 1 k m(n1) al onjunto Xg

    2

    [k], 1 k m(n1) al onjunto YAl onjunto M las tripletas:

    (ui

    [j ],g1

    [k],g2

    [k]),(ui

    [j ],g1

    [k],g2

    [k]),

    1 k m(n1),1 i n,1 j mLa idea es la siguiente:

    Nos han quedado libres en W despus de elegir entre las primeras tripletas: m.n

    elementos. Despus de la segundas tripletas, omo hemos elegido uno por

    lusula, nos quedan m.nm=m(n1). Ahora aadimos este nmero deelementos a X y a Y y le permitimos que sean ompatibles on todos los de X ,

    para tener libertad para elegir los elementos sobrantes en tripletas omo

    queramos.

    El nmero de tripletas de M es: 2mn+3m+2m2n(n1)

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }

    W = {u1

    [1],u1

    [2],u1

    [1],u1

    [2],u2

    [1],u2

    [2],u2

    [1],u2

    [2],u

    3

    [1],u3

    [2],u3

    [1],u3

    [2],u4

    [1],u4

    [2],u4

    [1],u4

    [2]}X = {a

    1

    [1],a1

    [2],a2

    [1],a2

    [2],a3

    [1],a3

    [2],a4

    [1],a4

    [2],s1

    [1],s1

    [2],g

    1

    [1],g1

    [2],g1

    [3],g1

    [4],g1

    [5],g1

    [6]}Y = {b

    1

    [1],b1

    [2],b2

    [1],b2

    [2],b3

    [1],b3

    [2],b4

    [1],b4

    [2],s2

    [1],s2

    [2],g

    2

    [1],g2

    [2],g2

    [3],g2

    [4],g2

    [5],g2

    [6]}

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }M ={(u

    1

    [1],a1

    [1],b1

    [1]),(u1

    [2],a1

    [2],b1

    [2]),(u1

    [1],a1

    [2],b1

    [1]),(u1

    [2],a1

    [1],b1

    [2]),(u

    2

    [1],a2

    [1],b2

    [1]),(u2

    [2],a2

    [2],b2

    [2]),(u2

    [1],a2

    [2],b2

    [1]),(u2

    [2],a2

    [1],b2

    [2]),(u

    3

    [1],a3

    [1],b3

    [1]),(u3

    [2],a3

    [2],b3

    [2]),(u3

    [1],a3

    [2],b3

    [1]),(u3

    [2],a3

    [1],b3

    [2]),(u

    4

    [1],a4

    [1],b4

    [1]),(u4

    [2],a4

    [2],b4

    [2]),(u4

    [1],a4

    [2],b4

    [1]),(u4

    [2],a4

    [1],b4

    [2]),(u

    1

    [1],s1

    [1],s2

    [1]),(u3

    [1],s1

    [1],s2

    [1]),(u4

    [1],s1

    [1],s2

    [1]),(u

    1

    [2],s1

    [2],s2

    [2]),(u2

    [2],s1

    [2],s2

    [2]),(u4

    [2],s1

    [2],s2

    [2]),(u

    i

    [j ],g1

    [k],g2

    [k]),(ui

    [j ],g1

    [k],g2

    [k])(i = 1, . . . ,4, j = 1,2,k = 1, . . . ,6)}

    Serafn Moral Tema 4: NP-ompletitud

  • Cubr. por onj. de tamao tres (3-SET)

    Datos: Un onjunto nito X on |X |= 3q y un subonjunto Cde subonjuntos de X de tres elementos.

    Pregunta: Existe C

    C tal que X =AC A y los elementos

    de C

    son disjuntos dos a dos (A,B C y A 6= B , entones

    AB = /0)?

    Es un problema de NP.

    Para demostrar que es ompleto para NP, existe una trasformain

    muy senilla: ACTRI 3-SET.

    Supongamos un ejemplo de ACTRI dado por W ,Y ,Z y elsubonjunto de tripletas M, onstruimos el ejemplo de 3-SET

    donde X =W Y Z y

    C = {{w ,y ,z} : (w ,y ,z) M}

    .

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas de Grafos

    Clique: Dado un grafo G = (V ,E ), un lique es un subonjuntomaximal totalmente onetado. Es deir, un subonjunto V

    t

    Vtal que v

    1

    ,v2

    Vt

    , (v1

    ,v2

    ) E , y que no est estritamenteinluido en otro onjunto que umpla esta propiedad.

    El problema del Clique Mximo (Clique): Dado un grafo

    G = (V ,E ) y un nmero natural J |V |, determinar si existe un

    lique de tamao mayor o igual que J.

    Este problema es equivalente a la existenia de un onjunto

    totalmente onetado de tamao mayor o igual que J.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    En el siguiente grafo, tenemos un lique de tamao 4 (en rojo):

    Serafn Moral Tema 4: NP-ompletitud

  • Cubrimiento por Vrties (CV)

    Dado un grafo G = (V ,E ) y un subonjunto V

    V , se die queV

    es un ubrimiento por vrties de G , si y solo si toda arista del

    grafo tiene un extremo en V

    :

    (u,v) E , (u V

    v V

    )

    Problema: Dado un grafo G = (V ,E ) y un nmero naturalK |V |, determinar si existe un ubrimiento por vrties detamao menor o igual que K .

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    En el siguiente grafo, tenemos un ubrimiento por vrties de

    tamao 3 (en rojo):

    Serafn Moral Tema 4: NP-ompletitud

  • Conjunto Independiente (CI)

    Dado un grafo G = (V ,E ) y un subonjunto Vi

    V , se die queV

    i

    es un onjunto independiente de G , si y solo si no hay ninguna

    arista que una vrties de V

    i

    :

    u,v Vi

    , (u,v) 6 E

    Problema: Dado un grafo G = (V ,E ) y un nmero naturalJ |V |, determinar si existe un onjunto independiente de tamaomayor o igual que J.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    En el siguiente grafo, tenemos un onjunto independiente de

    tamao 4 (en rojo):

    Serafn Moral Tema 4: NP-ompletitud

  • Lema

    Si G = (V ,E ) es un grafo y V V , entones las siguientes

    ondiiones son equivalentes:

    a) V

    es un ubrimiento por vrties de G

    b) V V es un onjunto independiente de G

    ) V V es un subgrafo totalmente onetado del grafo

    omplementario G = (V ,E ).

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Totalmente Conetado

    Cubrimiento por Vrties

    Conjunto Independiente

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de Problemas

    Los tres problemas (Clique, Cubrimiento por Vrties y Conjunto

    Independiente) son equivalente y si uno es NP-ompleto los otros

    tambin lo son.

    Si n es es nmero de nodos de G , entones:

    G tiene un ubrimiento por vrties de tamao menor o igual que

    K

    G tiene un onjunto independiente de tamao mayor o igual que

    nK

    G tiene un lique de tamao mayor o igual que nK

    Serafn Moral Tema 4: NP-ompletitud

  • Cubr. por Vrties (CV) es NP-ompleto

    Est laro que es NP: se elige de forma no determinista un

    subonjunto de vrties y se omprueba en tiempo polinomial si es

    un ubrimiento.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in de 3-SAT a CV

    Para demostrar que es ompleto reduiremos 3-SAT: 3-SAT CV.

    Sea una ejemplo de 3-SAT on variables U y lusulas C .

    Se rea un ejemplo de CV, dado por un grafo G = (V ,E ).

    Serafn Moral Tema 4: NP-ompletitud

  • Elementos del grafo

    Para ada variables u

    i

    U se aaden dos vrties ui

    ,ui

    y un

    aro que los una.

    Para ada lusula

    j

    C , se aaden tres vrtiesa

    1

    [j ],a2

    [j ],a3

    [j ] y tres aristas que los unan (se forma untringulo).

    Para ada lsula

    j

    C si en el literal nmero k de esta

    lsula aparee la variable u

    i

    , se aade una arista de u

    k

    [j ] alvrtie u

    i

    si la variable aparee positiva y al vrtie u

    i

    si la

    variable aparee negada.

    Se pone un lmite K = n+2m.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    a

    1

    [1]

    a

    1

    [2]

    a

    1

    [3] a2

    [1]

    a

    2

    [2]

    a

    2

    [3]

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    a

    1

    [1]

    a

    1

    [2]

    a

    1

    [3] a2

    [1]

    a

    2

    [2]

    a

    2

    [3]

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    a

    1

    [1]

    a

    1

    [2]

    a

    1

    [3] a2

    [1]

    a

    2

    [2]

    a

    2

    [3]

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    Ejemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    a

    1

    [1]

    a

    1

    [2]

    a

    1

    [3] a2

    [1]

    a

    2

    [2]

    a

    2

    [3]

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia CV 3-SATEjemplo de 3-SAT:

    U = {u1

    ,u2

    ,u3

    ,u4

    }, C = {u1

    u3

    u4

    ,u1

    u2

    u4

    }.

    u

    1

    u

    1

    u

    2

    u

    2

    u

    3

    u

    3

    u

    4

    u

    4

    a

    1

    [1]

    a

    1

    [2]

    a

    1

    [3] a2

    [1]

    a

    2

    [2]

    a

    2

    [3]

    u

    1

    falso

    u

    2

    verdadero

    u

    3

    falso

    u

    4

    verdadero

    Cubrimiento:

    Vrties rojos

    Serafn Moral Tema 4: NP-ompletitud

  • CV implia 3-SAT

    Si existe un ubrimiento V

    , entones

    Debe de haber, al menos, un vrtie de ada pareja, u

    i

    ,ui

    Para ada lusula C

    j

    deben de existir, al menos, dos vrtie

    de ada onjunto: {a1

    [j ],a2

    [j ],a3

    [j ]}.Como el ubrimiento tiene, a lo ms, n+2m vrties, entoneshabr exatamente un vrtie por ada pareja u

    i

    ,ui

    y dos por ada

    onjunto {a1

    [j ],a2

    [j ],a3

    [j ]}.

    Serafn Moral Tema 4: NP-ompletitud

  • CV implia 3-SAT

    Las lsulas se pueden satisfaer haiendo para ada variable u

    i

    :

    u

    i

    ierto si u

    i

    V

    u

    i

    falso si u

    i

    6 V

    Cada lusula C

    j

    tiene tres vrties, y ada vrtie est onetado

    on un vrtie de variable.

    De estos tres aros, hay dos que tienen extremos en los dos vrties

    de {a1

    [j ],a2

    [j ],a3

    [j ]} que estn en V

    El otro aro, tendr que tener su extremo del ubrimiento en los

    vrties orrespondientes a las variables: u

    i

    o u

    i

    . El valor de verdad

    asignado a diha variable hae que esa lusula se satisfaga.

    Serafn Moral Tema 4: NP-ompletitud

  • SAT implia CV

    Sea una asignain de valores de verdad que haga onsistentes las

    lusulas, entones un ubrimiento por vrties del tamao deseado

    se onsigue de la siguiente forma:

    V

    = {ui

    : ui

    es verdadero}{ui

    : ui

    es falso}(j

    ({a1

    [j ],a2

    [j ],a3

    [j ]}{ai

    [j ]}))donde a

    i

    [j ] orresponde al literal que hae verdadera la lusula Cj

    .

    Serafn Moral Tema 4: NP-ompletitud

  • El Problema del Ciruito Hamiltoniano (CH)

    El problema del Ciruito Hamiltoniano es NP-ompleto.

    Es inmediato que es NP. El algoritmo no-determinista polinomio

    solo tiene que elegir n nodos (nmero de nodos en el grafo) y

    despus omprobar que hay un aro desde ada nodo al siguiente y

    del ltimo hasta el primero.

    Para demostrar que es ompleto, vamos a reduir CV a este

    problema. Sea G = (V ,E ) y K |V | un problema de ubrimientopor vrties.

    Vamos a onstruir un grafo G

    = (V ,E ) de tal forma que laexistenia de un iruito hamiltoniano para G

    sea equivalente a la

    existenia de un reubrimiento de tamao K para G .

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: grafos base

    Para ada e = (u,v) E se aade el siguiente grafo a G (on 12vrties).

    (u,e,1) (v ,e,1)

    (u,e,2) (v ,e,2)

    (u,e,3) (v ,e,3)

    (u,e,4) (v ,e,4)

    (u,e,5) (v ,e,5)

    (u,e,6) (v ,e,6)

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: grafos base

    Para ada e = (u,v) E se aade el siguiente grafo a G (on 12vrties).

    (u,e,1) (v ,e,1)

    (u,e,2) (v ,e,2)

    (u,e,3) (v ,e,3)

    (u,e,4) (v ,e,4)

    (u,e,5) (v ,e,5)

    (u,e,6) (v ,e,6)

    Solo estos nodos

    de los extremos se

    onetan on el resto

    del grafo

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: reorridos

    (u,e,1)

    (u,e,6)

    (u,e,1) (v ,e,1)

    (u,e,6) (v ,e,6)

    (v ,e,1)

    (v ,e,6)

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: onetando grafos bsios

    Para ada v V sea

    e

    v

    [1], . . . ,ev

    [rv

    ]

    una ordenain arbitraria de los ar-

    os que ontienen v .

    Para 1 i < rv

    unimos el sub-

    grafo asoiado a e

    v

    [i ] y el subgrafoe

    v

    [i+1] mediante un aro que va de(v ,e

    v

    [i ],6) a (v ,ev

    [i +1],1).

    e

    v

    [i ]

    (v ,ev

    [i ],6)(v ,e

    v

    [i+1],1)

    e

    v

    [i +1]

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: Nodos Adiionales

    Finalmente se aaden K vrties, a

    1

    ,a2

    , . . . ,aK

    , que se unen on los

    subgrafos de la siguiente forma:

    Para ada v V sea ev

    [1], . . . ,ev

    [rv

    ], la lista de las aristas quelo ontienen en el orden que se onsideraron anteriormente

    Se aade una arista de ada uno de los a

    i

    a (v ,ev

    [1],1)(vrtie extremo de la primera arista orrespondiente a v)

    Se aade una arista de ada uno de los a

    i

    a (v ,ev

    [rv

    ],6)(vrtie extremo de la ltima arista orrespondiente a v)

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: Nodos Adiionales

    (v ,ev

    [1],1)

    (v ,ev

    [rv

    ],6)

    a

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    e

    1

    u

    v

    e

    2

    v w

    e

    3

    u

    w

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    e

    1

    u

    v

    e

    2

    v w

    e

    3

    u

    w

    Nodo u: aristas e

    1

    ,e3

    Nodo v : aristas e

    1

    ,e2

    Nodo w : aristas e

    2

    ,e3

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    e

    1

    u

    v

    e

    2

    v w

    e

    3

    u

    w

    Nodo u: aristas e

    1

    ,e3

    Nodo v : aristas e

    1

    ,e2

    Nodo w : aristas e

    2

    ,e3

    a

    1

    a

    2

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    e

    1

    u

    v

    e

    2

    v w

    e

    3

    u

    w

    Nodo u: aristas e

    1

    ,e3

    Nodo v : aristas e

    1

    ,e2

    Nodo w : aristas e

    2

    ,e3

    a

    1

    a

    2

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de Soluiones

    u

    v w

    e

    1

    e

    2

    e

    3

    K = 2

    e

    1

    u

    v

    e

    2

    v w

    e

    3

    u

    w

    Nodo u: aristas e

    1

    ,e3

    Nodo v : aristas e

    1

    ,e2

    Nodo w : aristas e

    2

    ,e3

    a

    1

    a

    2

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de Soluiones: CV CH

    Sean K vrties que forman un ubrimiento por vrties:

    {v1

    , . . . ,vK

    }. Un iruito hamiltoniano se puede onstruir de lasiguiente forma omenzando en a

    1

    :

    Si estamos en a

    i

    , desde l reorremos todos los grafos

    asoiados a las aristas de v

    i

    : para ada arista si tiene slo a v

    i

    en el ubrimiento por vrties, se reorre el subgrafo de esa

    arista de forma ompleta; si la arista ontiene los dos extremos

    en el ubrimiento, se reorre slo la mitad de los vrties del

    subgrafo orrespondientes a v

    i

    . Desde el ltimo subgrafo

    volvemos a a

    i+1, repitiendo el proeso, exepto para aK que

    volvemos a a

    1

    y termina el iruito.

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de Soluiones: CH CV

    Si tenemos un iruito hamiltoniano, tendr la forma

    a

    1

    a

    2

    a

    3

    a

    K

    Desde ada a

    i

    al siguiente a

    i+1 (y tambin desde aK a a1)

    reorremos los subgrafos. En ada uno de esos reorridos entramos

    y salimos en los subgrafos por un mismo vrtie. Sea este vrtie v

    i

    (v

    K

    si es el reorrido de a

    K

    a a

    1

    ).

    El onjunto {v1

    , . . . ,vK

    } es un ubrimiento por vrties, ya que

    ada arista tiene un subgrafo en el que, al menos, el iruito

    hamiltoniano entra una vez. El vrtie por el que se entra (que ha

    de oinidir on el de salida) ha de estar en el ubrimiento por

    vrties.

    Serafn Moral Tema 4: NP-ompletitud

  • El Problema de la Partiin

    Datos: Un onjunto A y un tamao para ada uno de sus

    elementos:

    s : A NPregunta: Determinar si existe un A

    A tal que se verique:

    aA

    s(a) = aAA

    s(a)

    Este es laramente un problema de NP: se eligen de forma no

    determinista los elementos de A

    y en tiempo polinmio se

    determina si los tamaos totales de los onjuntos A

    y AA son

    iguales.

    Para demostrar que es ompleto para NP, vamos a reduir el

    ubrimiento por tripletas (ACTRI) a este problema.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in, ACTRI PARTICION

    Sea W ,X ,Y on |W |= |X |= |Y |= q y un subonjuntoM X Y Z un ejemplo del problema ACTRI, vamos a onstruiruna partiin equivalente.

    Consideremos:

    W = {w1

    , . . . ,wq

    }, X = {x1

    , . . . ,xq

    }Y = {y

    1

    , . . . ,yq

    }M = {m

    1

    ,m2

    , . . . ,mk

    }

    El onjunto de la partiin, A, va a ontener k+2 elementos.Hay k elementos {a

    1

    , . . . ,ak

    } que orresponden a las k tripletas deM.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in ACTRI PARTICION

    Para ada tripleta m

    i

    = (wf (i),xg(i),yh(i)), se onsidera el elemento

    a

    i

    on un peso:

    s(ai

    ) = 2p(3qf (i))+2p(2qg(i))+2p(qh(i))

    donde p = [log2

    (k)]+1.En binario podemos ver el nmero en grupos de p posiiones. Cada grupo

    orresponde a un elemento de W ,X o Y :

    . . . . . . . . .

    w

    1

    w

    2

    . . .w

    q

    x

    1

    x

    2

    . . .x

    q

    y

    1

    y

    2

    . . .y

    q

    Cada tripleta m

    i

    = (wf (i),xg(i),yh(i)) se orresponde on un nmero on

    un 1 a la dereha de las zonas de w

    f (i),xg(i),yh(i) y 0 en el resto.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in ACTRI PARTICION

    Para ada tripleta m

    i

    = (wf (i),xg(i),yh(i)), se onsidera el elemento

    a

    i

    on un peso:

    s(ai

    ) = 2p(3qf (i))+2p(2qg(i))+2p(qh(i))

    donde p = [log2

    (k)]+1.En binario podemos ver el nmero en grupos de p posiiones. Cada grupo

    orresponde a un elemento de W ,X o Y :

    . . . . . . . . .

    w

    1

    w

    2

    . . .w

    q

    x

    1

    x

    2

    . . .x

    q

    y

    1

    y

    2

    . . .y

    q

    1 1 1

    Cada tripleta m

    i

    = (wf (i),xg(i),yh(i)) se orresponde on un nmero on

    un 1 a la dereha de las zonas de w

    f (i),xg(i),yh(i) y 0 en el resto.

    Ejemplo: Tripleta: (w2

    ,x1

    ,yq

    )

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in ACTRI PARTICION

    Si p = [log2

    (k)] + 1, entones sumando k o menos unos nunaobtenemos un nmero on un 1 ms all de la posiin p+1

    Sumando k o menos nmeros de los asoiados a las tripletas, nuna

    pasa un 1 de la zona de un elemento a la zona de otro.

    Sea B = 3q1j=0 2

    p.j. Este nmero tiene un 1 a la dereha de ada

    una de las zonas:

    . . . . . . . . .

    w

    1

    w

    2

    . . .w

    q

    x

    1

    x

    2

    . . .x

    q

    y

    1

    y

    2

    . . .y

    q

    11 1 1 1 1 1 1 1

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in ACTRI PARTICION

    Como una onsenuenia, para ada A

    {a1

    , . . . ,ak

    }, tenemosque

    aA

    s(a) = B

    si y solo si M

    = {mi

    : ai

    A} es un reubrimiento por tripletas.

    Aadimos dos nuevos elementos a A: b

    1

    y b

    2

    on pesos:

    s(b1

    ) =(

    ki=1 s(ai )

    )s(b

    2

    ) = 2B

    Cada uno de estos pesos neesita, a lo ms, (3pq) bits. Se pueden

    alular zona a zona de forma onseutiva.

    Serafn Moral Tema 4: NP-ompletitud

  • Conjunto A

    El onjunto A es igual a {a1

    , . . . ,ak

    ,b1

    ,b2

    }.

    La suma de los pesos de sus elementos es

    xA

    s(x) =k

    i=1

    s(ai

    )+ s(b1

    )+ s(b2

    ) =

    k

    i=1

    s(ai

    )+k

    i=1

    s(ai

    )+2B = 2k

    i=1

    s(ai

    )+2B

    Este onjunto se parte en dos mitades uando ada una pesa:

    k

    i=1

    s(ai

    )+B

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de soluiones

    Si la soluin es positiva al problema de la partiin, entones es

    positiva a ACTRI

    Supongamos A

    A, tal que

    aA

    s(a) = aAA

    s(a)

    Entones ada una de estas sumas es ki=1 s(ai)+B . Uno de los

    onjuntos (supongamos que es A

    ) debe de ontener b

    1

    y no b

    2

    .

    La suma de los pesos de los elementos de A

    distintos de b

    1

    tiene

    que ser B .

    Por tanto, las tripletas asoiadas a estos elementos son un

    ubrimiento por tripletas del onjunto original.

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de soluiones

    Si la soluin es positiva a ACTRI, entones es positiva al problema

    de la partiin

    Si M

    M un ubrimiento por tripletas.Entones, el onjunto A

    = {b1

    }{ai

    : mi

    M } representa unarespuesta positiva al problema de la partiin, ya que, al ser M

    una

    partiin, la suma de los pesos de estos elementos es

    m

    i

    M s(ai) = B y, por tanto, la suma de los pesos de A es

    (k

    i=1

    s(ai

    )+B)

    que es la mitad del total.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas en NP

    Sea una relain R AAR se die deidible polinomial si y solo si existe una mquina de

    Turing determinstia M que deide en tiempo polinomial el

    lenguaje:

    {(x ,y) : R(x ,y)}

    Se die que R est equilibrada polinomialmente si y solo si existe

    un k 1 tal que si R(x ,y) entones |y | |xk |.

    Teorema: Si L A, entones L NP si y solo si existe unarelain deidible polinomial y equilibrada polinomialmente tal que

    L= {x : y A,R(x ,y)}.

    Serafn Moral Tema 4: NP-ompletitud

  • Tnias de Redu

    in

    Del libro de Garey-Johnson:

    Restri

    in. Demostrando que un problema NP-ompleto es un

    subproblema del que estamos onsiderando.

    Reemplazamiento Loal. Haiendo una transformain de un

    problema NP-ompleto elemento a elemento.

    Reemplazamiento Loal on Refuerzo. Haiendo una

    transformain de un problema NP-ompleto elemento a

    elemento, pero aadiendo algunos elementos adiionales para

    forzar la equivalenia de los problemas.

    Diseo de Componentes. Distintos elementos del problema original

    se transforman en distintos tipos de estrutura que se onetan on

    otros elementos.

    Serafn Moral Tema 4: NP-ompletitud

  • Tnia de la Restri

    in

    Si un problema 1

    es NP y un subproblema suyo, 2

    , es

    NP-ompleto, entones 1

    es NP-ompleto.

    Esta es la tnia que se emple para demostrar que el problema

    del iruito hamiltoniano en grafos dirigidos es NP-ompleto (el

    problema del iruito hamiltoniano en grafos no-dirigidos es un aso

    partiular suyo).

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo: Problema de la Mohila

    Tenemos un onjunto nito de objetos U. Cada objeto, u, tiene un

    tamao, s(u) N, y un valor v(u) N. Tenemos, adems, dosnmeros naturales: B (el tamao mximo) y K (el valor mnimo).

    La pregunta es si existe un subonjunto de objetos U

    U, tal que

    uU

    s(u) B , uA

    v(u) K

    El problema de la partiin es un aso partiular de este problema,

    en el que s(u) = v(u),u y B = K = (1/2)uU s(u).

    Serafn Moral Tema 4: NP-ompletitud

  • Asignain en un Multiproesador

    Datos: Un onjunto A de tareas, ada tarea, a A, tiene unalongitud l(a) N. Tenemos, adems, un nmero de proesadores my un tiempo lmite, D N.Pregunta: Existe una partiin de A: {A

    1

    , . . . ,Am

    } en msubonjuntos disjuntos, de manera que

    max{ aA

    i

    l(a) : 1 i m} D

    Si nos restringimos al aso m= 2 y D = 1/2aA l(a) obtenemos el

    problema de la partiin.

    Serafn Moral Tema 4: NP-ompletitud

  • Reemplazamiento Loal

    Cada elemento de un problema NP-ompleto se transforma enuna estrutura del problema que estamos onsiderando .Ejemplo: Redu

    in de SAT a 3-SAT

    Serafn Moral Tema 4: NP-ompletitud

  • Partiin en Tringulos (PARTRI)

    Se parte de un grafo G = (V ,E ) on un nmero de vrties|V |= 3q.La pregunta es si existe un partiin de V en q onjuntos disjuntos

    de tamao 3: V

    1

    , . . . ,Vq

    , de tal manera que si

    V

    i

    = {Vi [1],Vi [2],Vi [3]}, entones los aros

    (Vi [1],Vi [2]),(Vi [2],Vi [3]),(Vi [1],Vi [3]) E (los subonjuntos de

    vrties son tringulos).

    Este es un problema de NP, y se puede demostrar que es ompleto

    reduiento 3-SET (ubrimiento por onjuntos de tamao 3).

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: 3-SET PARTRI

    Sea X on |X |= 3q y C una familia de subonjuntos de treselementos de X .

    Construimos el grafo G = (V ,E ) on un nmero de vrties|V |= 3q de la siguinete forma: todos los elementos de X sernvrties del grafo.

    Para ada onjunto

    i

    ={x

    i

    ,yi

    ,zi

    } C , aadimos9 nuevos vrties a V y el

    siguiente subgrafo:

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8

    z

    i

    Serafn Moral Tema 4: NP-ompletitud

  • Equivalenia de los Problemas

    La equivalenia de las soluiones en ambos problemas se obtiene de

    las dos formas que existen de elegir los tringulos en ada uno de

    los subgrafos de G :

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8]

    z

    i

    a

    i

    [3] ai

    [9]

    a

    i

    [6]

    a

    i

    [1] ai

    [2]

    x

    i

    a

    i

    [4] ai

    [5]

    y

    i

    a

    i

    [7] ai

    [8

    z

    i

    La primera orresponde al aso en que {xi

    ,yi

    ,zi

    } est en el

    ubrimiento C

    , la segunda al aso en el que no est.

    Serafn Moral Tema 4: NP-ompletitud

  • Reemplazamiento Loal on Refuerzo

    Corresponde al aso en el que, adems de los elementos en que se

    transforman los elementos de , se aaden algunos elementosadiionales para forzar la equivalenia de las soluiones.

    Ejemplo: La redu

    in del ubrimiento por tripletas al problema

    de la partiin: ACTRI PARTICION.

    Serafn Moral Tema 4: NP-ompletitud

  • Conjunto Mnimo de Tests (CMT)

    Datos: Un onjunto nito A (posibles diagnstios), una familia

    C de subonjuntos de A (posibles tests) y un entero J N querepresenta el nmero admisible de tests.

    Pregunta: Existe una subfamilia de test C

    C on |C | J ytal que para ada par de elementos distintos a

    i

    ,aj

    A, existe untest C que ontiene uno y slo uno de los elementos del par(un elemento, por ejemplo, a

    i

    est en y el otro fuera)?

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    in: ACTRI a CMT

    Vamos a reduir ACTRI a este problema. Supongamos un ejemplo

    de ACTRI on M W X Y y |W |= |X |= |Y |= q.Vamos a rear un ejemplo de este problema equivalente a l.

    Haemos A=W X Y {w0

    ,x0

    ,y0

    }C = {{w ,x ,y} : (w ,x ,y) M}{W {w

    0

    },X {x0

    }}J = q+2

    Serafn Moral Tema 4: NP-ompletitud

  • Diseo de Componentes

    Distintas omponentes del problema a reduir se transforman endistintas estruturas de que se onetan de alguna forma paraforzar la equivalenia.

    Ejemplos:

    Cubrimiento por vrties

    El iruito Hamiltoniano

    La demostrain del teorema de Cook

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas

    1

    Camino ms largo Dado un grafo G = (V ,E ) y un enteropositivo K |V |, Contiene G un amino simple (que no pasedos vees por el mismo sitio) on K o ms aros?

    2

    Empaquetado de Conjuntos Dada una ole

    in C de

    onjuntos nitos y un entero K |C |, Existen K onjuntosdisjuntos en C?

    3

    Partiin en subgrafos hamiltonianos Dado un grafo

    G = (V ,E ), y un entero positivo K |V |, Puedenpartiionarse los vrties de G en k K onjuntos disjuntosV

    1

    ,V2

    , . . . ,Vk

    de tal forma que para todo 1 i k , Vi

    ontiene un iruito hamiltoniano.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas

    4. Subgrafo omn maximal Dados los grafos

    G

    1

    = (V1

    ,E1

    ),G2

    = (V2

    ,E2

    ), y un entero positivo K , Existensubonjuntos E

    1

    E1

    y E

    2

    E2

    tales que |E 1

    |= |E 2

    | K ytal que los dos subgrafos G

    1

    = (V1

    ,E 1

    ) y G 2

    = (V2

    ,E 2

    ) sonisomorfos?

    5. Suma de uadrados mnima Dado un onjunto nito A y un

    tamao s(a)> 0 para todo a A y dos enteros positivos K yJ Pueden partiionarse los elementos de A en K onjuntos

    disjuntos, A

    1

    , . . . ,Ak

    , de tal forma que Ki=1

    (aA

    i

    s(a))2 J?

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas

    8. Conjunto dominante Dado un grafo G = (V ,E ) y un enteropositivo K |V |, Existe un subonjunto V V tal que|V | K y tal que todo vrtie v V V est onetado onal menos un vrtie de V

    ?

    15. Colorear grafos(3) Dado un grafo G = (V ,E ), Existe unafunin f : V {1,2,3}, tal que f (u) 6= f (v) para todos losaros {u,v} E?

    Serafn Moral Tema 4: NP-ompletitud

  • Reduibilidad Turing

    Reduibilidad Turing

    Un problema se redue Turing a lo que se representa omo

    T

    si y solo si se puede resolver en tiempo polinmio mediante unalgoritmo que puede llamar a una funin que resuelve ontando

    ada llamada omo un paso de lulo.

    La reduibilidad Turing es un onepto ms dbil que el que hemos

    visto de reduibilidad espaio logartmia: Si se redue a ,entones se puede onstruir una reduibilidad Turing.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas NP-Difiles

    Un problema es NP-difil si y solo si existe un problemaNP-ompleto que se puede reduir (Turing) a :

    T

    Teorema

    Si un problema NP-difil se resuelve en tiempo polinmio entones

    P = NP .

    En este tema vamos a onsiderar problemas NP-difiles que tienen

    una diultad similar a los NP-ompletos (existe redu

    in Turing

    entre ambos):

    Clase Co-NP: Complementarios de los problemas de NP

    Clase FNP: Problemas que busan una soluin, uando saber

    si existe es NP.

    Serafn Moral Tema 4: NP-ompletitud

  • La Clase Co-NP

    CoNP = {L : L NP}

    Ejemplo

    Dado un onjunto de frmulas en lgia proposiional determinarsi son vlidas (se satisfaen para todas las asignaiones de valores de

    verdad).

    Ejemplo

    Dado un grafo determinar si NO tiene un iruito hamiltoniano.

    Estos problemas no estn en NP, lo que tienen es una Mquina

    polinmia no determinista en la que la respuesta es armativa al

    problema si TODAS las opiones responden SI.

    Tampoo se reduen a los problemas NP on una transformain

    espaio logartmia, ya que estas transformaiones exigen que las

    respuestas a ambos problemas sean las mismas, pero si existen

    redu

    iones Turing entre los problemas de NP y los de CoNP.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas CoNP Completos

    Deniin

    Un problema es CoNP Completo si y solo si est en la lase CoNP

    y ualquier otro problema de CoNP se redue a l.

    Teorema

    L es NP Completo L es CoNP CompletoTeorema

    Si un problema CoNP ompleto est en NP, entones CoNP = NP .

    Teorema

    Si P = NP , entones CoNP = NP

    Serafn Moral Tema 4: NP-ompletitud

  • Estrutura de Clases

    NP Co-NP

    P

    NP-Completos CoNP-Completos

    Serafn Moral Tema 4: NP-ompletitud

  • Relaiones

    Relain: Una relain sobre A

    es un subonjunto R AA.

    Si (x ,y) R , entones esribiremos R(x ,y).Si (x ,y) 6 R , entones esribiremos R(x ,y).Ejemplo

    Conjunto de las lusulas y asignaiones de valores de verdad, tales que

    las asignaiones de verdad haen que se satisfagan todas las lusulas.

    Deniin

    Una relain R sobre A

    se die equilibrada polinmiamente si existe un

    polinomio p tal que si R(x ,y) entones |y | p(|x |).

    Deniin

    Una relain R sobre A

    se die deidible polinmiamente si existe un

    algoritmo polinmio que deide para toda pareja (x ,y) si R(x ,y).

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas en CoNP

    Teorema: Caraterizain de NP

    Un lenguaje L A est en NP si y solo si existe una relain Rdeidible en tiempo polinmio y equilibrada polinmiamente tal

    que

    L= {x A : y A,R(x ,y)}

    Teorema: Caraterizain de CoNP

    Un lenguaje L A est en CoNP si y solo si existe una relainR deidible en tiempo polinmio y equilibrada polinmiamente tal

    que

    L= {x A : y A,R(x ,y)}

    Serafn Moral Tema 4: NP-ompletitud

  • Primalidad

    Este es una problema en CoNP

    Es muy fil haer un algoritmo NP para el problema

    omplementario: determinar si un nmero N es ompuesto.

    Se determina un nmero en binario de longitud menor o igual

    que la de N, se efeta la divisin de N por diho nmero. Si

    la divisin es exata se die que es ompuesto. En aso

    ontrario se die que no es ompuesto.

    La primalidad tiene un algoritmo O(N), pero este algoritmo

    es slo pseudo-polinmio (polinmio si se limita el mximo

    de los nmeros).

    Serafn Moral Tema 4: NP-ompletitud

  • Primalidad est en NP

    Teorema

    Un nmero p > 1 es primo si y solo si existe un nmero 1 < r < p

    tal que r

    p1 = 1 mod p y, adems, rp1q 6= 1 mod p, para todos los

    divisores primos q de p1.Teorema: Teorema de Pratt

    Primos est en NP.

    Demostrain

    Si p es primo, esto se puede ertiar on la existenia de un nmero r tal

    que r

    p1 = 1 mod p y que adems veriase rp1q 6= 1 mod p, para todos

    los divisores primos q de p1.La omprobain de que r

    p1 = 1 mod p se puede haer en tiempo poli-nomial en funin de la longitud de p, que es de orden l = log(p): Para

    alular 3 r

    p1, se alulan r

    2, r4, . . . , r2l

    . Esto tiene un orden de O(l3).r por s solo no es un ertiado: 20

    211 = 1 mod 21 y 21 no es primo

    Serafn Moral Tema 4: NP-ompletitud

  • Demostrain

    Demostrain

    El ertiado tiene que adjuntar todos los divisores primos de p1. Es deir onstar, en prinipio de r y una lista de divisores de

    p1 : (q1

    , . . . ,qk

    ). El omprobar que la lista es ompleta se hae pordivisiones suesivas de p1 entre estos nmeros y omprobando quede uno al nal.

    Nos queda una uestin, mo sabemos que los nmeros (q1

    , . . . ,qk

    )son primos? Pues dando ertiados para ellos. Exepto para 2 que

    no neesita ertiado.

    El ertiado sera una estrutura reursiva: un ertiado del

    nmero p sera r y una lista de divisores ompleta de p 1:(q

    1

    , . . . ,qk

    ), y ertiados de primalidad para ada uno de ellos.

    Serafn Moral Tema 4: NP-ompletitud

  • Demostrain

    Ejemplo

    Cert(67) = ((67: 2 (2, 3, 11)), (3: 2 (2)), (11: 8 (2,5)), (5: 3 (2)))

    La longitud del ertiado es de orden log

    2(p).La longitud de un nmero y su lista es de orden log(p).El nmero de listas es de orden log(p).

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas de Funiones

    Sea A un alfabeto y R una relain en A

    A, el problema defunin asoiado a esta relain onsiste en dado un ejemplo

    x A, alular{y tal que R(x ,y) si {z : R(x ,z)} 6= /0 si {z : R(x ,z)} = /0

    Ejemplo

    Dado un onjunto de lusulas alular una asignain de valores de

    verdad, si existe, que satisfaga todas las lusulas.

    Ejemplo

    Dado un grafo alular un iruito hamiltoniano (si este existe)

    Serafn Moral Tema 4: NP-ompletitud

  • La lase FNP

    Caraterizain de NP

    Un lenguaje L A est en NP si y solo si existe una relain Rdeidible en tiempo polinomial y equilibrada polinomialemente tal

    que

    L= {x A : y A,R(x ,y)}

    Caraterizain de FNP

    Un problema de funin est en FNP si y solo si est asoiado a

    una relain R deidible en tiempo polinmio y equilibrada

    polinmiamente.

    Serafn Moral Tema 4: NP-ompletitud

  • La lase FP

    FP

    FP: La lase de problemas de funiones de FNP tales que existe

    una mquina de Turing determinista que las alula en tiempo

    polinmio.

    FNPT

    FNPT: La lase de los problema de FNP totales.

    Si para todo x existe un y tal que R(x ,y)

    Ejemplo

    Dado un nmero p enontrar una desomposiin en nmeros primos

    p = pk11

    .pk22

    . . . . .pkmm

    on un ertiado de primalidad para ada nmero primo.

    Seguro que existe, pero no es fil enontrarlo.

    Serafn Moral Tema 4: NP-ompletitud

  • Redu

    iones en FNP

    Redu

    iones en FNP

    Un problema de funiones se redue a un problema si y solo si,existen funiones R y S alulables en espaio logartmio, tal que

    para toda adena x y z ourre lo siguiente: Si x es un ejemplo de entones R(x) es un ejemplo de . Adems si z es una soluin

    orreta de R(x) entones S(z) es una soluin orreta de x.

    Problemas FNP-ompletos

    Con esto podemos denir el onepto de ompletitud. Un problema

    es FNP-ompleto si y so si est en FNP y ualquier otro problema

    de esta lase se puede reduir a este problema.

    Ejemplo

    Un problema FNP-ompleto: FSAT

    Dado un onjunto de lusulas, enontrar, si existe, una asignain

    de valores de verdad para la que todas las lusulas sean verdaderas.

    Serafn Moral Tema 4: NP-ompletitud

  • Teorema

    Teorema

    NP = P si y solo si FNP = FP

    Demostrain

    La demostrain es muy senilla: si FNP = FP entones es inmediato queNP = P .Para la impliain inversa, supongamos que NP = P , entones la onsis-tenia se puede sesolver en tiempo polinmio.

    Ahora, vamos a enontrar una asignain (si existe) en tiempo polinmio.

    Supongamos que tenemos un onjunto de lusulas C . Elegimos una vari-

    able x

    n

    , y onsideramos C

    1

    que es C suponiendo x

    n

    verdadero (todas las

    lusulas on x

    n

    se eliminan y en aquellas en las que apareza xn

    se

    elimina este literal) y C

    2

    que es C suponiendo x

    n

    falso.

    Serafn Moral Tema 4: NP-ompletitud

  • Demostrain

    Demostrain

    Si C

    1

    y C

    2

    son inonsistentes, C tambin lo es y no existe la

    asignain de valores de verdad.

    Si C

    1

    es onsistente, entones si existe la asignain. Haemos x

    n

    verdadero y alulamos el valor de verdad de las otras variables,

    repitiendo de forma reursiva estos pasos sobre C

    1

    .

    Si C

    2

    es onsistente, entones si existe la asignain. Haemos x

    n

    falso y alulamos el valor de verdad de las otras variables,

    repitiendo de forma reursiva estos pasos sobre C

    2

    .

    Serafn Moral Tema 4: NP-ompletitud

  • El Viajante de Comerio

    Si podisemos resolver el problema del viajante en versin de

    deisin en tiempo polinmio, podramos resolver el problema de

    enontrar el iruito ptimo en tiempo polinmio.

    Primero se obtendra una ota superior R para el oste del

    iruito ptimo: el valor de distania ms grande, multipliado

    por el nmero de iudades.

    Despus realizando una bsqueda binaria en el intervalo [0,R ]mediante suesivas llamadas al problema de deisin se alula

    el valor del iruito ptimo: K .

    Serafn Moral Tema 4: NP-ompletitud

  • El Viajante de Comerio (Cont.)

    A ontinuain para ada par de iudades se hae lo siguiente:

    si el oste de ir de una a otra es , se llama al problema de deisin on

    presupuesto K e inrementando el oste de a +1.

    Si la respuesta es positiva, no es neesario usar este aro en el

    ptimo. Entones se deja el oste a +1 y se ontina.

    Si la respuesta es negativa, este aro s se usa. Dejamos el oste al

    mismo valor que estaba antes y ontinuamos.

    Al nal obtenemos todos los aros de un iruito ptimo.

    Si en el primer aso se volviera al oste original, en vez de dejarlo en

    +1, puede que no se obtenga el ptimo, ya que si hay dos iruitosptimos ninguno de los aros de ambos iruitos son neesarios.

    Serafn Moral Tema 4: NP-ompletitud

  • Problemas de Funiones Totales

    Son los de la lase FNPT

    Un problema est en esta lase si para todo x existe un y tal que

    R(x ,y).Es deir, el problema de deisin no es difil: siempre tiene una

    respuesta positiva.

    Eso no quiere deir que el problema sea fil, ya que enontrar la

    soluin no tiene por qu ser inmediato.

    Muhos de ellos no se onoe que estn en FP.

    Serafn Moral Tema 4: NP-ompletitud

  • La Red Feliz

    Datos: Un grafo (V ,E ) y un peso w (que puede ser positivo onegativo para ada aro).

    1

    2

    2 -1

    -2

    1

    Un estado es una apliain s : V {1,1} (-1 , 1 ).El nodo i es feliz si

    s(i). (i ,j)E

    s(j).w(i , j) 0

    Soluin: Un estado s en el que todos los nodos sean felies.

    Serafn Moral Tema 4: NP-ompletitud

  • La Red Feliz

    El problema est en FNP y es total.

    Consideremos

    (s) = (i ,j)E

    s(i)s(j)w(i , j)

    Si tenemos un nodo infeliz, i , en s, entones

    s(i). (i ,j)E

    s(j).w(i , j) = < 0

    Sea el estado s

    igual que s, exepto que s

    (i) =s(i).Entones (s ) = (s)+2.Como el valor de no puede reer indenidamente, este proesotiene que terminar on una red feliz.

    Este algoritmo es pseudo polinmio, pero no polinmio.

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    1

    2

    2 -1

    -2

    1

    =1

    Serafn Moral Tema 4: NP-ompletitud

  • Ejemplo

    1

    2

    2 -1

    -2

    1

    =1Cambiamos un nodo infeliz:

    1

    2

    2 -1

    -2

    1

    = 7La red ya es feliz.

    Serafn Moral Tema 4: NP-ompletitud

  • Estrutura de Clases de Funiones

    FNP

    FP

    TFNP

    Serafn Moral Tema 4: NP-ompletitud

  • El Proyeto Mega-Math

    Es un proyeto de Los Alamos National Laboratory. Se puede

    onsultar en la dire

    in:

    http://www.3.lanl.gov/mega-math/

    Objetivo: Introduir oneptos de matemtias importantes y no

    habituales a esolares.

    Base: Historias que motivan y que forman parte de la investigain

    atual y en las que los alumnos puedan apliar su reatividad.

    Serafn Moral Tema 4: NP-ompletitud

  • Historias

    Colorear mapas

    Hotel innito

    Juegos sobre grafos

    Juegos de lgia y razonamiento

    Juegos on nudos

    Algoritmos en grafos

    Reonoimiento de patrones

    Serafn Moral Tema 4: NP-ompletitud

  • EL Problema de Loalizain

    Tenemos un mapa de una iudad representado por un grafo en el

    que las alles son lneas y los puntos son rues.

    Problema: Queremos oloar un nmero mnimo de heladeras en

    las esquinas, de tal manera que desde ada esquina, haya que

    atravesar, a lo ms, una alle para llegar a una heladera.

    Serafn Moral Tema 4: NP-ompletitud

  • Loalizain: Ejemplo

    Trabajar busando soluiones: olorear las esquinas on heladras

    on un olor y las ubiertas on otro.

    Indiar que el nmero mnimo es 6

    Serafn Moral Tema 4: NP-ompletitud

  • Loalizain: Ejemplo

    Trabajar busando soluiones: olorear las esquinas on heladras

    on un olor y las ubiertas on otro.

    Indiar que el nmero mnimo es 6

    Mostrar la soluin mnima

    Serafn Moral Tema 4: NP-ompletitud

  • Disusin

    Mostrar omo se pueden onstruir problemas difiles a partir

    de una soluin.

    Hablar de funiones difiles de invertir.

    Puede haber otras soluiones disti