Anda di halaman 1dari 71

Tema 5: Complejidad de Problemas de

Optimizacin Aproximados
Serafn Moral
Modelos Avanzados de Computacin - Universidad de Granada

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Contenido

Problemas de Optimizacin
Algoritmos -aproximados
Anlisis de problemas: cubrimiento por vrtices, viajante
de comercio, corte mximo, mochila, satisfaccin mxima.
Esquema de aproximacin polinmico.
Clase NPO y PO
Clases APX, PTAS y FPTAS
Algoritmos pseudo-polinmicos
L-reduccin
Problemas completos

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Bibliografa

G. Ausiello, P. Creszendi et al. (1999) Complexity and


Approximation . Springer-Verlag, Berlin.
A Compendium of NP Optimization Problems.
http://www.nada.kth.se/theory/compendium

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas de Optimizacin
Problema de Optimizacin (minimizacin)
Tenemos unos datos x.
Estos datos tienen asociados un conjunto de soluciones
factibles F (x) .
s F (x) tenemos una funcin C(s) que evala el coste de
esta solucin.
El problema es encontar un elemento s tal que
C(s ) = min C(s)
sF (x)

Este problema se conoce cmo la versin constructiva del


problema de optimizacin.
Si slo se trata de calcular C(s ), tendremos la versin de
evaluacin.
En general, son de dificultad similar.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

El Problema del Cubrimiento por Vrtices

Ejemplo
Datos: un grafo G no dirigido.
Soluciones factibles F (G): conjunto de los cubrimientos
por vrtices de G el conjunto de todos los subconjuntos de
vrtices A tales que toda arista tiene, al menos un extremo
en A.
Coste de una solucin factible A: su nmero de vrtices.
Queremos encontrar el cubrimiento por vrtices con un nmero
menor de vrtices.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas de Maximizacin

Problemas de Optimizacin: Maximizacin


Algunas veces, en vez de tener una funcin de coste, tenemos
una funcin de albluebeneficio B y tratamos de maximizarla.
Cada ejemplo x, tiene asociado un conjunto de soluciones
factibles F (x) .
s F (x) tenemos una funcin B(s) que evala el beneficio
de esta solucin.
El problema es encontar un elemento s tal que
B(s ) = maxsF (x) B(s)

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Caractersticas
Estos problemas suelen ser equivalentes bajo reduccin
Turing a los problemas de decisin asociados (ver la
reduccin del problema del viajante de comercio en el
tema del clculo de funciones) cuando el problema de
decisin es NP-completo.
En este tema no nos vamos a preocupar de resolverlos de
forma exacta.
Vamos a ver problemas que son de similar dificultad
cuando se resuelven de forma exacta, son bastante
diferentes cuando intentamos aproximarlos: unos no se
pueden aproximar con ningn error; otros se pueden
aproximar con algn error, pero no con errores muy
pequeos; y otros se pueden aproximar con errores
arbritrariamente pequeos.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmos -aproximados
Definicin
Se dice que M es un algoritmo -aproximado sii para todo x,
calcula M(x) F (x) tal que
|c(M(x)) OPT (x)|

max{OPT (x), c(M(x))}

En Problemas de Minimizacin:
c(M(x)) OPT (x)

c(M(x))
Equivalente a:

1
C(M(x))

1
OPT (x)
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas de Maximizacin

OPT (x) c(M(x))

OPT (x)
Equivalente a:
OPT (x)
1

1
C(M(x))

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Razn de Eficacia
Actualmente, se suele emplear ms la razn de eficacia .
1
Este valor es: = 1
, donde es el grado de aproximacin.
Epsilon se puede obtener como = 1

Razn de eficacia (maximizacin)


Un problema de maximizacin tiene una razn si y solo si

OPT (x)
C(M(x))

Razn de eficacia (minimizacin)


Un problema de minimizacin tiene una razn si y solo si

C(M(x))
OPT (x)

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Umbral de Aproximacin

Umbral de Aproximacin: nfimo de la razn de eficacia


mediante algoritmos polinmicos.

Umbral

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Valor de la razn de eficacia

Una razn de 1 es equivalente a un algoritmo exacto.


Puede haber problemas en los que el umbral de
aproximacin sea infinito (no hay algoritmos polinmicos
con una razn de eficacia ).

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Aprox. para Cubrimiento por Vrtices


Buscamos el conjunto C con un nmero mnimo de nodos que
sea un cubrimiento para G = (V , E ).
Algoritmo Aproximado:
C=
Mientras haya aristas en G
Elegir un nodo de G con grado maximo
Aadir el nodo a C
Borrar de G ese nodo y todos sus enlaces

Este no es un algoritmo -aproximado ningn valor de .


El error puede llegar a ser de orden log(n).

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Cubrimiento por Vrtices

c5
c4
c3
c2
c1

b5
b4
b3
b2
b1

a3
a2

La heurstica podra elegir los nodos rojos.


Con los verdes sera suficiente

a1

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Se puede equivocar ms
a7
c6
c5
c4
c3
c2
c1

b6
b5
b4
b3
b2
b1

a6
a5
a4
a3
a2
a1

En los nodos de la derecha se sigue el siguiente procedimiento: Para i desde 2 a 5 (uno


menos que los nodos del centro) Se deviden
los nodos del centro de i en i y cada grupo
de i se conecta con un nodo distinto de la
derecha.
Si un grupo no est completo no se considera.
El siguiente debe de cubrir los nodos que no
estn cubiertos en este.
Podemos elegir los rojos.
Con los verdes sera suficiente
Razn 13/6 > 2.Puede llegar a log(n).
n nmero de nodos centrales

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Aproximacin para Cubrimiento por Vrtices


Algoritmo 2-Aproximado:
C=
Mientras haya aristas en G
Elegir una arista cualquiera de G
Aadir sus dos extremos a C
Borrar de G los dos nodos y todas sus aristas

Este es un algoritmo 2-aproximado : todas las aristas tienen


que tener un extremos en C. De esta forma, nunca elegimos
ms del doble de lo necesario.
Es el mejor algoritmo que se conoce. No se puede aproximar
con = 1.1659.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

El problema del Corte Mximo: CM

Datos: Un grafo no dirigido G = (V , E ).


Problema: Partir V en dos conjuntos S y V S de tal
manera que haya un nmero mximo de arcos entre S y
V S.
El problema de decisin es NP-completo.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Un algoritmo Greedy

Comenzamos con un conjunto S arbitrario


Mientras S cambie
Para cada vertice v del grafo
Si el vertice esta en S
Comprobar si al quitarlo aumenta el corte
En ese caso se elimina de S
Si el vertice no esta en S
Comprobar si al aadirlo a S aumenta el corte
En ese caso se aade a S

Este algoritmo es polinmico, ya que da como mximo |E |


pasos y cada paso es polinmico.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Es un algoritmo con razn de aproximacin 2

V1

V2

V3

V4

Corte Heurstico

Corte ptimo

Sea eij , 1 i j 4 el nmero de arcos entre Vi y Vj .


Para cada nodo de V1 los arcos que van a nodos de V1 y V2
son menos que los que van a V3 y V4 :
x1 V1 , arc(x1 , V1 ) + arc(x1 , V2 ) arc(x1 , V3 ) + arc(x1 , V4 ).
Sumando la desigualdad anterior en todos los nodos de V1
obtenemos: 2e11 + e12 e13 + e14
y, por tanto, e12 e13 + e14 .
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Corte Mximo
Repitiendo lo anterior para V1 , V2 , V3 , V4 , obtenemos
e12 e13 + e14 , e12 e23 + e24 ,
e34 e23 + e13 , e34 e14 + e24
Sumando y dividiendo por dos se obtiene
e12 + e34 e14 + e23 + e13 + e24
Tambin es obvio que e14 + e23 e14 + e23 + e13 + e24 .
Sumando, las dos ltimas desigualdades obtenemos:
e12 + e34 + e14 + e23 2.(e14 + e23 + e13 + e24 )
Lo que nos disce que nuestro algoritmo heurstico, al menos,
obtiene la mitad de arcos del ptimo: La razn de aproximacin
es 2.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Satisfaccin Mxima: GMAXSAT

DATOS: Tenemos m frmulas booleanas: {1 , . . . , m } que


involucran a n variables.
Problema: Queremos encontrar una asignacin de valores
de verdad que maximice el nmero de frmulas ciertas.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmo Aproximado
Para una asignacin de valores de verdad al azar,
calculamos la p robabilidad de que i sea cierta:
P(i ) =

ti
2k

donde ti es el nmero de asignaciones a las variables


que hacen que i sea cierta y k el nmero de variables
de la frmula.
Para una asignacin al azar de valores de verdad el
nmero esperado de frmulas que se satisfacen es
P() =

m
X

P(i )

i=1

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmo Aproximado
Si seleccionamos una variable x1 , tenemos que
P() = 1/2 (P([x1 = verdadero]) + P([x1 = falso]))
donde [x1 = verdadero], [x1 = falso] son los
conjuntos de frmulas que se obtienen a partir de las
originales, substituyendo x1 por verdadero ( x1 falso) y
x1 por falso ( x1 verdadero) respectivamente.
Elegimos x1 = verdadero si
P([x1 = verdadero]) P([x1 = falso]) y x1 = falso en
caso contrario.
Si x1 es verdadero repetimos lo mismo para el resto de
las variables con [x1 = verdadero] y si lo hacemos falso
trabajamos con [x1 = falso].

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Ejemplo
Num. Esp. = 1+3/4+1+1/2+3/4+7/8+1/2+1=6+3/8

V,
q s,

r q,
r s q,

V,
s,

s
V

p Verd.

p q,
q s,

p r q,
r s q,

p,
s,

p s
r ps

Hacemos p verdadero
p Fals.

Num. Esp. = 3/4+7/8+1/2+3/4+3/4+7/8+1/2+7/8


= 5+7/8

q,
q s,

V,
r s q,

F,
s,

V
r s

Num. Esp. = 1/2+1+0+1+3/4+7/8+1/2+3/4= 5+3/8


Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Ejemplo
Num. Esp. = 1+3/4+1+1/2+3/4+7/8+1/2+1=6+3/8

V,
q s,

r q,
r s q,

V,
s,

s
V

p Verd.

p q,
q s,

p r q,
r s q,

p,
s,

p s
r ps

Hacemos p verdadero
p Fals.

Num. Esp. = 3/4+7/8+1/2+3/4+3/4+7/8+1/2+7/8


= 5+7/8

q,
q s,

V,
r s q,

F,
s,

V
r s

Num. Esp. = 1/2+1+0+1+3/4+7/8+1/2+3/4= 5+3/8


Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Propiedades del Algoritmo

De esta manera, el valor esperado del frmulas que se


satisfacen nunca decrece.
Cuando llegamos al final (todas las variables tienen su
valor de verdad), el numero esperado es el nmero exacto
de frmulas que se satisfacen, que es al menos el nmero
original P().
El ptimo del problema es menor o igual que el nmero de
frmulas i para las que P(i ) > 0, lo que denotamos
como #{i : P(i ) > 0}.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Razn de aproximacin
La razn de aproximacin es:
#{i : P(i ) > 0}
OPT (x )
=

APROX (x )
APROX (x )
#{i : P(i ) > 0}
1

P(1 ) + . . . + P(m )
mn {P(i ) : P(i ) > 0}
Este es un algoritmo delta-aproximado con =

1
mn {P(i ) : P(i )>0} .

Para frmulas con k variables como mximo es -aproximado


= 2k .
Para clusulas es un algoritmo con razn 2.
Para clusulas con k literales distintos es =

Serafn Moral

1
.
1(2k )

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

El Problema del Viajante de Comercio


S i P6= NP el problema del viajante de comercion no tiene un
algoritmo con umbral polinmico.
Supongamos que existe un algoritmo delta-aproximado
polinmico para el problema del viajante de comercio ( < ).
Entonces, construiremos el siguiente algoritmo para el circuito
hamiltoniano.
Sea G = (V , E ) un grafo, entonces construimos un problema
del viajante de comercio con los mismos nodos y en el que

1
si (i, j) E
d (i, j) =
|V |. si (i, j) 6 E
Aplicamos el algoritmo polinmico con razn .

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Viajante de Comercio

Si el algoritmo encuentra un circuito de coste |V |, existe un circuito


hamiltoniano en G.
Si el algoritmo aproximado no encuentra un circuito de coste |V |,
devolver un circuito de coste mayor de |V |., entonces como
Coste Circuito
Optimo
deducimos
Coste Circuito
> |V |

Como consecuencia, Optimo > |V | y el ptimo tiene un arco que no


es de G y, por tanto, G no tiene un circuito hamiltoniano.
Optimo

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

El problema de la Mochila

Pesos: w1 , . . . , wn
Valores: v1 , . . . , vn
Peso lmite: W
P
Problema:
Encontrar S {1, . . . , n} tal que
iS wi W y
P
iS vi sea mximo.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmo Pseudo-Polinmico

Sea V = m
ax {v1 , . . . , vn }
Para i = 0, 1, . . . , n y 0 v nV calculamos:
W (i, v): Mnimo peso que se puede conseguir eligiendo items
entre los i primeros de valor v exactamente.
Se calcula con:
W (i + 1, v) = mn {W (i, v), W (i, v vi+1 ) + wi+1 }
Estos valores resuelven el problema. Complejidad O(n2 V ). Es
Pseudo-polinmico.
Cuando se ha calculado W (n, v) es fcil calcular el ptimo.
Comparamos, desde i = nV hasta i = 0 los valores W (n, i)
con el lmite W . El primer i para el que W (n, i) W es el
ptimo del problema.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmo Aproximado
Dado un ejemplo I = (w1 , . . . , wn , W , v1 , . . . , vn ) consideramos
I = (wi , . . . , wn , W , v1 , . . . , vn )
 
donde vi = 2b 2vbi .
(Los b bits menos significativos se reemplazan por 0).
Entonces aplicamos el algoritmo pseudo-polinmico.
Este
 2 
n V
tendr una complejidad en este caso de O 2b .
-aproximado, haciendo
Se obtiene
un algoritmo
h
i
(1).V
b = log( n ) .

Sea S el conjunto ptimo del problema original y S el que


obtenemosPen el algoritmo
aproximado.
Tenemos
que:
P
P
P
P
b

PiS vi iSb vi iS vi iS vi iS (vi 2 )


( iS vi ) n.2
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Algoritmo Aproximado
X
iS

vi

iS

X
vi (
vi ) n.2b
iS

Por tanto, la diferencia entre el ptimo y lo que calculamos es


menor ho igual a n.2ib .
) ,y si el valor es, al menos, V (todos los
Si b = log( (1).V
n
items caben) tenemos que
V (S ) + n2b
V .( 1)
V (S)

1+
=

V (S )
V (S )
V
Es decir es un algoritmo
i
 2 -aproximado.
h

)
La complejidad es O n2bV , que para b = log( (1).V
, se
n
convierte en O(n3 /( 1)).

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Esquema de Aproximacin Polinmico

Un problema de optimizacin tiene un esquema de


aproximacin polinmico si existe un algoritmo que para cada
> 1 y cada ejemplo x de , devuelve una aproximacin de
grado del ptimo de x, en tiempo polinmico en funcin de
|x| (el polinomio puede depender de ).
Si la dependencia de se puede expresar como un polinomio
en (1/( 1)), se dice que es un esquema de aproximacin
polinmico total .
El problema de la mochila tiene un esquema de aproximacin
polinmico total

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Conjunto Independiente
Teorema
Si existe un algoritmo 0 -aproximado polinmico con 0 <
para el mximo conjunto independiente, entonces existe un esquema de aproximacin polinmico.
Si G = (V , E ) es un grafo consideremos el grafo
G2 = (V V , E ) donde

E = {((u, u ), (v, v )) : ((u, v) E ) (u = v (u , v ) E )}


(1,2)

(1,1)

(2,1)

(3,1)

(1,3)

(2,2)

G2

(2,3)

(3,3)
(3,2)
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Relacin entre G y G2
Resultado Intermedio
G tiene un conjunto independiente de tamao k si y solo si G2
tiene un conjunto independiente de tamao k 2 .
Si S es un conjunto independiente de G entonces S S
es un conjunto independiente de G2 .
Si G2 tiene un conjunto independiente H de tamao k 2 ,
entonces H1 = {u V : v, (u, v) H} y
Hu = {v V : (u, v) H} para todo u V , son
conjuntos independientes de G.
Si H es de tamao k 2 , al menos uno de estos conjuntos
tiene que tener tamao k.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Demostracin
Teorema
Si existe un algoritmo 0 -aproximado polinmico con 0 <
para el mximo conjunto independiente, entonces existe un esquema de aproximacin polinmico.
Supongamos un algoritmo 0 -aproximado de orden O(nl ).
Si aplicamos el algoritmo a G2 , entonces ser de orden
O(n2l ).
Si k es el tamao ptimo de un conjunto independiente en G,
el tamao del ptimo en G2 ser de tamao k 2 y el que
calcule el algoritmo aproximado verificar:
k2
0
tam(H)
o equivalentemente
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Demostracin

Sea H un conjunto de tamao mximo elegido entre H1 y Hu


( u V ) que se definen como anteriormente.
Este es un conjunto independiente y de tamao mayor o igual
que la raiz cuadrada del tamao de H.
Por tanto:
p
k
0

tam(H )
Es decir hemos conseguido con una complejidad
de O(n2l ) un

algoritmo 1 -aproximado donde 1 = 0 .

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Demostracin

1 = 0
Tenemos que 1 < 0 . Si esto mismo lo repetimos r veces,

obtenemos un algoritmo r -aproximado donde r = 2r 0 .


Como este valor converge hacia 1 cuando r converge a
infinito, siempre podemos encontrar algoritmos -aproximados
polinmicos para cualquier valor de tan cerca de 1 como
queramos.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase NPO
Definicin NPO
Un problema de optimizacin est en NPO si y solo si se
cumplen las siguientes condiciones:
1

El conjunto de entradas correctas se puede reconocer en


tiempo polinmico.

Existe un polinomio q tal que para cada caso del


problema x, y para cada solucin factible y, tenemos que
|y| q(|x|), y adems para cada |y| q(|x|) es decidible
en tiempo polinmico si es una solucin factible del
problema.

La funcin de costo se puede calcular en tiempo


polinmico.

Ejemplo: El cubrimiento mnimo por vrtices.


Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas Polinmicos de Optimizacin

La clase PO
Un problema de optimizacin est en la clase PO si est en
NPO y existe un algoritmo polinmico tal que para cada caso
del problema x existe un algoritmo polinmica que calcula la
solucin ptima y su coste.
Ejemplo: La distancia mnima en grafos.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Optimizacin Decisin
Dado un problema de optimizacin (minimizacin o
maximizacin), siempre podemos asociarle un problema de
decisin: por ejemplo para un problema de minizacin, se da
una cota K y se pregunta si existe una solucin factible de
costo menor o igual a K .
Teorema
Para cualquier problema de optimizacin de NPO su correspondiente problema de decisin est en NP.
Teorema
Si P 6= NP entonces PO 6= NPO.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase APX
Definicin: Clase APX
La clase APX es la clase de todos los problemas tales que
admiten un algoritmo -aproximado para < .
Ejemplo: Problemas en APX
Cubrimiento mnimo por vrtices, problema de la mochila, corte
mximo, mximo nmero de clusulas satisfechas, etc...
Ejemplo: Problemas que no estn en APX
Problema del viajante de comercio, mximo clique, mximo conjunto independiente, etc...
Teorema
Si N 6= NP, entonces APX 6= NPO

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase APX
Definicin: Clase APX
La clase APX es la clase de todos los problemas tales que
admiten un algoritmo -aproximado para < .
Ejemplo: Problemas en APX
Cubrimiento mnimo por vrtices, problema de la mochila, corte
mximo, mximo nmero de clusulas satisfechas, etc...
Ejemplo: Problemas que no estn en APX
Problema del viajante de comercio, mximo clique, mximo conjunto independiente, etc...
Teorema
Si N 6= NP, entonces APX 6= NPO

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase APX
Definicin: Clase APX
La clase APX es la clase de todos los problemas tales que
admiten un algoritmo -aproximado para < .
Ejemplo: Problemas en APX
Cubrimiento mnimo por vrtices, problema de la mochila, corte
mximo, mximo nmero de clusulas satisfechas, etc...
Ejemplo: Problemas que no estn en APX
Problema del viajante de comercio, mximo clique, mximo conjunto independiente, etc...
Teorema
Si N 6= NP, entonces APX 6= NPO

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase APX
Definicin: Clase APX
La clase APX es la clase de todos los problemas tales que
admiten un algoritmo -aproximado para < .
Ejemplo: Problemas en APX
Cubrimiento mnimo por vrtices, problema de la mochila, corte
mximo, mximo nmero de clusulas satisfechas, etc...
Ejemplo: Problemas que no estn en APX
Problema del viajante de comercio, mximo clique, mximo conjunto independiente, etc...
Teorema
Si N 6= NP, entonces APX 6= NPO

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La clase PTAS
Definicin de PTAS
Es la clase de problemas con un esquema de aproximacin
polinmico.
Ejemplo: Un problema de PTAS
el problema de la mochila en el que puede haber tantas copias
como se quiera de cada objeto.
Ejemplo: Problemas de APX que no est en PTAS (si P6= NP)
El corte mximo o el cubrimiento mnimo.
Teorema
En grafos planares, el cubrimiento mnimo est en PTAS.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

La Clase FPTAS

Definicin: Problemas con un esquema de aproximacin


polinmico total (FPTAS)
Para cada ejemplo x del problema , y todo nmero racional
> 1, el algoritmo devuelve para la entrada (x, ) una solucin
-aproximada que es polinmico en |x| y (1/( 1)).

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas de FPTAS
Definicin: Problemas acotados polinmicamente
Un problema de optimizacin est acotado polinmicamente si
y solo si existe un polinomio p tal que para todo ejemplo x y
para toda solucin factible y de x, entonces
c(x, y) p(|x|)
donde c(x, y) es el coste de la solucin y.
Ejemplo
El problema del viajante de comercio no est acotado polinmicamente. El del cubrimiento mnimo por vrtices si lo est.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

FPTAS y PTAS

Teorema
No existe un problema NP-difcil acotado polinmicamente con
un esquema de aproximacin polinmico total.
Corolario
Si P 6= NP entonces PTAS 6= FPTAS
Ejemplo
El mximo conjunto independiente para grafos planares estara
en PTAS - FPTAS.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas Pseudo-polinmicos
En el problema del corte mximo la dificultad est en su
estructural combinatoria: no hay nmeros, slo un grafo
con sus vrtices y arcos.
El problema de la mochila puede resolverse por
programacin dinmica en tiempo O(n2 pmax ) donde pmax
es el entero de tamao mximo que aparece en el
problema. Eso no implica que el problema sea polinmico,
pero su complejidad se debe al tamao de los nmeros
que aparecen.
Problemas Pseudo-polinmicos
Los problemas que tienen un algoritmo tal que para cada
ejemplo del problema x encuentra la respuesta correcta en un
tiempo que depende polinmicamente de |x| y del entero
mayor que aparezca en la especificacin de x se dice que son
Pseudo-Polinmicos.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas NP-completos y pseudo-polin.


Teorema
Si es un problema que est en FPTAS , y si existe un polinomio p tal que para cada ejemplo x, el coste ptimo del problema c (x) verifica:
c (x) p(|x|, max(x))
donde max(x) es el entero mayor que aparece en x, entonces
el problema es pseudo-polinmico .
Demostracin
Basta con llamar al esquema de aproximacin polinmico total
para el problema x y para la aproximacin
=

p(|x|, max (x)) + 2


p(|x|, max (x)) + 1

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Demostracin
c (x) p(|x|, max(x))
Demostracin
=

p(|x|, max (x)) + 2


p(|x|, max (x)) + 1

Entonces el algoritmo es exacto, ya que si CA(x) es el coste aproximado


CA(x )
|,max (x ))+2
= p(|x
c (c)
p(|x |,max (x ))+1
Si CA(x) fuese c (x) + 1, como c (x) p(|x|, max(x)), tendramos que
CA(x )
p(|x |,max (x ))+2
> = p(|x |,max (x ))+1
c (c)
Luego CA(x) = c (x)
Por otra parte, el esquema de aproximacin polinmico total trabaja en tiempo
O(q(|x|, 1/(1 ))) donde q es un polinomio,
p(|x |,max (x ))+2
Como = p(|x |,max (x ))+1
1/(1) = p(|x|, max (x))+1, por lo tanto el agoritmo tiene una complejidad de orden:
O(q(|x|, p(|x|, max (x)) + 1)) que es un polinomio en la longitud de la entrada y el
entero ms grande.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Demostracin
c (x) p(|x|, max(x))
Demostracin
=

p(|x|, max (x)) + 2


p(|x|, max (x)) + 1

Entonces el algoritmo es exacto, ya que si CA(x) es el coste aproximado


CA(x )
|,max (x ))+2
= p(|x
c (c)
p(|x |,max (x ))+1
Si CA(x) fuese c (x) + 1, como c (x) p(|x|, max(x)), tendramos que
CA(x )
p(|x |,max (x ))+2
> = p(|x |,max (x ))+1
c (c)
Luego CA(x) = c (x)
Por otra parte, el esquema de aproximacin polinmico total trabaja en tiempo
O(q(|x|, 1/(1 ))) donde q es un polinomio,
p(|x |,max (x ))+2
Como = p(|x |,max (x ))+1
1/(1) = p(|x|, max (x))+1, por lo tanto el agoritmo tiene una complejidad de orden:
O(q(|x|, p(|x|, max (x)) + 1)) que es un polinomio en la longitud de la entrada y el
entero ms grande.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Clases de Aproximacin
NPO
APX
PTAS
FPTAS

PO

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-Reduccin
Reduccin
Decimos que el problema de optimizacin 1 se L-reduce al
problema 2 ( 1 L 2 ) si y solo si
existen dos funciones R y S espacio logartmicas y dos
constantes , > 0 tales que
Si x es un ejemplo de 1 , entonces R(x) es un ejemplo
de 2 con
OPT(R(x)) .OPT(x)
Si s es factible de R(x), entonces S(s, x) es factible de
x con
|OPT(x) C(S(s, x))| .|OPT(R(x)) C(s)|
Las L-reducciones son transitivas
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-Reducciones
Teorema
Si tenemos una L-reduccin de 1 a 2 , siendo estos problemas de minimizacin, con constantes y , entonces si existe
un algoritmo -aproximado polinmico para 2 tambin existir
uno 1 + ( 1) polinmico para 1 .
Demostracin
Supongamos las funciones R y S de la L-reduccin.
El algoritmo aproximado para 1 se construye de la siguiente
forma ( x es un caso de este problema)
Calcular R(x)
Aproximar R(x) por su algoritmo -aproximado,
obteniendo s
Calcular S(s) como aproximacin de x
Supongamos un problema de minimizacin.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reducciones
Demostracin
Como,
|OPT(x ) C(S(s))| .|OPT(R(x )) C(s)|
C(S(s)) OPT(x ) .(C(s) OPT(R(x )))
y, por tanto,
C(S(s)) .(C(s) OPT(R(x ))) + OPT(x )
Tambin,

C((s)) OPT (R(x ))


C((s))
=
11
OPT (R(x ))
OPT (R(x ))

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reducciones
Demostracin
Tenemos,
C((s)) OPT (R(x ))
1
OPT (R(x ))
C(S(s)) .(C(s) OPT(R(x ))) + OPT(x )
Y ya podemos obtener la cota para el error relativo:
C(S(s))
C(s) OPT (R(x ))
1+

OPT (x )
OPT (x )
1 +

C((s)) OPT (R(x ))


1 + .( 1)
OPT (R(x ))

que es la cota deseada.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-Reducciones
Teorema
Si tenemos una L-reduccin de 1 a 2 , siendo estos problemas de maximizacin, con constantes y , entonces si existe
un algoritmo -aproximado polinmico para 2 tambin existir

polinmico para 1 .
uno (1)
Demostracin
Supongamos las funciones R y S de la L-reduccin.
El algoritmo aproximado para 1 se construye de igual forma
que en el caso de un problema de minimizacin ( x es un caso
de este problema)
Calcular R(x)
Aproximar R(x) por su algoritmo -aproximado,
obteniendo s
Calcular S(s) como aproximacin de x
Supongamos ahora un problema de maximizacin.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reducciones
Demostracin
Como,
|OPT(x ) C(S(s))| .|OPT(R(x )) C(s)|
OPT(x ) C(S(s)) .(OPT(R(x )) C(s))
Tambin,
OPT(R(x )) .OPT(x )
OPT (R(x ))

C(s)

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reducciones
Demostracin
Obtengamos una cota para

OPT (x )
C(S(s))

OPT (x)
OPT (x)

C(S(s))
OPT (x) (OPT (R(x)) C(s))
(por ser OPT(x) C(S(s)) .(OPT(R(x)) C(s)))
Y por ser OPT(R(x))/ OPT(x) y f (y ) = y /(y a) una funcin decreciente en y :
OPT (x)
OPT (R(X ))/

OPT (x) (OPT (R(x)) C(s))


OPT (R(X ))/ (OPT (R(x)) C(s))
Con lo que
OPT (x )
C(S(s))

OPT (R(X ))/


OPT (R(X ))/ (OPT (R(x )) C(s))

Serafn Moral

OPT (R(X ))
OPT (R(X )) (OPT (R(x )) C(s))

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reducciones
Demostracin
Tenemos:
OPT (R(X ))
OPT (x )

=
C(S(s))
OPT (R(X )) (OPT (R(x )) C(s))
1
1 (1 C(s)/OPT (R(x )))
Al ser OPT (R(x ))/C(s) , tenemos que C(s)/OPT (R(x )) 1/ y,
por tanto
1

=
1 (1 C(s)/OPT (R(x )))
1 (1 1/)
( 1)
Obeteniendo la cota:

OPT (x)
C(S(s))

(1)

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Ejemplo

Ejemplo
La reduccin del conjunto independiente al cubrimiento por nodos no es una L-reduccin.
El ptimo del cubrimiento puede ser tan grande como se quiera
para un conjunto independiente fijo.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-reduccin y PTAS

Teorema
Si tenemos una L-reduccin de 1 a 2 , entonces si 2 est
en PTAS, entonces 1 tambin lo est.
Demostracin
Si existe un algoritmo -aproximado polinmico para 2 tambin existir uno 1 + (.( 1)) polinmico para 1 . Cuando
converge hacia 1, entonces 1 + (.( 1)) se puede hacer
tan cercano a 1 como se quiera.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Teorema
Si tenemos una L-reduccin de 1 a 2 y son problemas de
minimizacin, entonces si 2 est en APX, entonces 1 tambin lo est.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Problemas Completos y Difciles

Definicin
Dada una clase C de problemas en NPO , decimos que un
problema es C-difcil si y solo si cualquier otro problema de
C es L-reducible a l. Y es C-completo si, adems, est en C.
Teorema
Si un problema NPO-completo tiene un esquema de aproximacin polinmico, entonces todos los problemas de NPO tambin lo tienen.
Un teorema anlogo se puede dar para la clase APX.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Ejemplos

Ejemplo: Problemas NPO-completos


Mxima, mnima satisfaccin ponderada, mxima y mnima programacin lineal {0, 1} y el problema del viajante de comercio.
Ejemplo: Problemas APX-completos
Satisfaccin mxima de clusulas de longitud 3, de clusulas
de longitud 2, el corte mximo, viajante de comercio con desigualdad triangular, mnimo cubrimiento por vrtices, mnimo
conjunto de ruptura de ciclos en grafos dirigidos.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

L-Reduccin
Reduccin
Decimos que el problema de optimizacin 1 se L-reduce al
problema 2 ( 1 L 2 ) si y solo si
existen dos funciones R y S espacio logartmicas y dos
constantes , > 0 tales que
Si x es un ejemplo de 1 , entonces R(x) es un ejemplo
de 2 con
OPT(R(x)) .OPT(x)
Si s es factible de R(x), entonces S(s, x) es factible de
x con
|OPT(x) C(S(s, x))| .|OPT(R(x)) C(s)|

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

AP-Reduccin
Reduccin
Decimos que el problema de optimizacin (minimizacin) 1 se
AP-reduce al problema 2 (minimizacin) ( 1 AP 2 ) si y
solo si existen dos funciones R(x, r ) y S(x, y, r ) espacio
logartmicas y una constante constantes > 0 tal que para
todo nmero racional r
Si x es un ejemplo de 1 , entonces R(x, r ) es un
ejemplo de 2
Si s es factible de R(x), entonces S(s, x, r ) es factible de
x y si OPTC(s)
(R(x,r )) r , entonces se verifica que:
S(s, x, r )
1 + (r 1)
OPT (x))
Si el problema es de maximizacin se invierte la fraccin.
Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

AP-reduccin
Teorema
Si tenemos una AP-reduccin de 1 a 2 , entonces si 2 est
en APX, entonces 1 tambin lo est.
Teorema
Si tenemos una AP-reduccin de 1 a 2 , entonces si 2 est
en PTAS, entonces 1 tambin lo est.
Ejemplo
La reduccin entre el conjunto independiente mximo y el clique
mximo que transforma un grafo en el complementario y un conjunto de vrtices en l mismo es una AP-reduccin con = 1.

Serafn Moral

Tema 5: Complejidad de Problemas de Optimizacin Aproxim

Anda mungkin juga menyukai