Anda di halaman 1dari 4

Algoritmos aproximados

VC TSP
Cmaras de vigilancia
Recubrir todas las aristas desde los vrtices

Gregorio Hernndez Pealver


UPM
Teora de Grafos

Recubrimiento por vrtices (VERTEX COVER)


Dado un grafo G=(V,A), hallar C V de cardinal mnimo tal que
para toda arista uv de A, o bien uC, o bien vC

Heurstica voraz
1. Elegir v de grado mximo. Aadir v a C
Borrar el vrtice v en el grafo G
2. Repetir el paso anterior hasta que no queden vrtices

Este problema es NP-completo


Se necesitan soluciones buenas, aunque no sean ptimas

Heurstica voraz

Heurstica voraz

1. Elegir v de grado mximo. Aadir v a C


Borrar el vrtice v en el grafo G
2. Repetir el paso anterior hasta que no queden vrtices

1. Elegir v de grado mximo. Aadir v a C


Borrar el vrtice v en el grafo G
2. Repetir el paso anterior hasta que no queden vrtices

n+2

...

n+2

...
Algoritmo |C| = 2n+2

Algoritmo |C|=8
ptimo |C*|=5

ptimo

|C*| = n+2

Segunda Heurstica
cs

1. Elegir una arista uv de G. Aadir a C sus dos extremos u y v


Borrar de G los vrtices u y v
2. Repetir el paso anterior mientras queden aristas en el grafo

bs

as
Algoritmo

t (n ) =

as + bs
t(n)+n

C*

n
n n
+ +L =

2 3
j
j= 2

t (n ) + n
log n
n

Segunda Heurstica

Algoritmos aproximados. Medida de la bondad

1. Elegir una arista uv de G. Aadir a C sus dos extremos u y v


Borrar de G los vrtices u y v
2. Repetir el paso anterior mientras queden aristas en el grafo

Todas las aristas elegidas en el algoritmo deben tener un extremo


en cualquier recubrimiento C. Las aristas elegidas NO tienen
ningn vrtice comn.
Todo recubrimiento C consta de, al menos, |C|/2 vrtices
Es decir |C| 2|C*|

Un algoritmo aproximado para un problema de optimizacin


es un algoritmo que alcanza una solucin del problema pero
que no garantiza la solucin ptima.
Cmo medir cunto nos acercamos a ella?
Si S* es la solucin ptima con un coste c(S*),
un algoritmo -aproximado es un algoritmo que devuelve
una solucin S tal que
c(S) c(S*)
c(S*) c(S)

(para un problema de minimizacin)


(para un problema de maximizacin)

Problema del Viajante (Travelling Salesman Problem)

Problema del viajante TSP


Un viajante de comercio desea visitar n ciudades volviendo al punto
de partida. Qu ruta debe seguir para minimizar la distancia total
recorrida?
Hallar el ciclo hamiltoniano del grafo completo ponderado Kn con
mnimo peso

Algoritmo
1. Hallar todos los ciclos de longitud n
2. Elegir el de menor peso

10

El n de ciclos es (n-1)!/2
La complejidad es O(n!)
11

Hallar la ruta de longitud mnima


que vista todas las ciudades
es un problema NP-completo

http://www.tsp.gatech.edu/index.html
Algoritmos aproximados
- Vecino ms prximo
- Doble intercambio
- Duplicando MST
- Algoritmo de Christofides

http://www.dma.fi.upm.es/gregorio/grafos/enlacesgrafos.html
12

Problema del viajante eucldeo ETSP

Algoritmo de duplicacin del MST


2 - aproximacin al Problema Eucldeo del Viajante (ETSP)

Eucldeo significa que se cumple la desigualdad triangular para


cualquier terna de vrtices i,j,k
w(ik) w(ij) + w(jk)
Los vrtices de G

MST(G)

Esta condicin se puede conseguir en cualquier grafo considerando


como nuevo peso de una arista ik a

Grafo euleriano H
9

1
2

w*(ik) = min {w(P)/ P camino de i hasta k}

5
6

3
4

13

Algoritmo de duplicacin del MST

Recorrido euleriano
en H

Ciclo
hamiltoniano

Solucin ptima
14

Algoritmo de Christofides

Si G es un grafo completo ponderado, C un ciclo hamiltoniano


obtenido por el algoritmo de duplicacin del rbol y C* un ciclo
hamiltoniano de peso mnimo entonces

(3/2) - aproximacin al Problema Eucldeo del Viajante (ETSP)

w(C) 2w (C*)
Dem.:
Si T es un rbol generador mnimo, w(T) w(C*)
El recorrido euleriano en H tiene un peso
w(H)=2w(T)
El ciclo C tiene un peso menor que H, luego
w(C) w(H) = 2w(T) 2w(C*)

Los vrtices de G

MST(G)

15

(3/2) - aproximacin al Problema Eucldeo del Viajante (ETSP)

8
7

G* grafo
euleriano

2
5

4
8

16

Algoritmo de Christofides

Algoritmo de Christofides

Emparejamiento de peso
mnimo entre los vrtices
impares de MST(G)

Recorrido
euleriano en G*

Si G es un grafo completo ponderado, C un ciclo hamiltoniano


obtenido por el algoritmo de Christofides y C* un ciclo hamiltoniano
de peso mnimo entonces
3
w(C) w (C*)
2
Dem.:

6
7

Ciclo hamiltoniano
obtenido por el algoritmo

Si T es un rbol generador mnimo, w(T) w(C*)


w(C) w(G*) = w(T) + w(M) w(C*) +w(M)
donde M es el emparejamiento perfecto obtenido en el algoritmo.
Relacin entre w(C*) y w(M)

17

18

Algoritmo de Christofides

w(C)

3
w (C*)
2

Relacin entre w(C*) y w(M)


i1

3
w (C*)
2

Existen grafos para los que el algoritmo obtiene su peor cota

i1, i2, ... , i2m, los vrtices impares de T

i2

w(C)

Algoritmo de Christofides

bn

b1
.....

C*

i2m

i3

an

a1

M1

Grafo completo sobre los vrtices as y bs

M2

i4

w(M1) + w(M2) w(C*)

b1

2w(M) w(C*)

w(C) w (C*) + w ( M ) w (C*) +

MST

bn

.....

3
1
w (C*) = w (C*)
2
2

w(C)

Algoritmo de Christofides

an+1

a1
19

an

an+1
20

3
w (C*)
2
bn

b1
.....
a1

an+1

an

C ciclo del algoritmo

w(C)= 3n
bn

b1

a1
C* ptimo

an

an+1

w(C*) = 2n +1
21

Anda mungkin juga menyukai