Dra. Elisa Schaeffer - elisa.dyndns-web.com · [email protected] PISIS / FIME / UANL...

21
Técnicas de diseño de algoritmos Algoritmos de aproximación Dra. Elisa Schaeffer [email protected] PISIS / FIME / UANL Algoritmos de aproximaci´ on– p. 1

Transcript of Dra. Elisa Schaeffer - elisa.dyndns-web.com · [email protected] PISIS / FIME / UANL...

Page 1: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Técnicas de diseño de algoritmos

Algoritmos de aproximación

Dra. Elisa Schaeffer

[email protected]

PISIS / FIME / UANL

Algoritmos de aproximacion– p. 1

Page 2: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Soluciones no-óptimas

En situaciones donde todos los algoritmos conocidosson lentos, vale la pena considerar la posilibidad de usaruna solución aproximada, o sea, una solución que tieneun valor de la función objetivo cerca del valoroptimo,pero no necesariamente el óptimo mismo.

Depende del área de aplicación sí o no se puede haceresto eficientemente.En muchos casos es posible llegar a una soluciónaproximada muy rápidamente mientras encontrar lasolución óptima puede ser imposiblemente lento.

Algoritmos de aproximacion– p. 2

Page 3: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Determinismo

Un algoritmo de aproximación puede ser determinista o nodeterminista.

Si el algoritmo de aproximación no es deterministayejecuta muy rápidamente, es común ejecutarlo variasvecesy elegir el mejor de las soluciones aproximadas asíproducidas.

Algoritmos de aproximacion– p. 3

Page 4: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Factor de aproximación

Un algoritmo de aproximación bien diseñado cuenta conun analisis formal que muestra que la diferenciaentre su solucion y la solucion optima es de unfactor constante.Este factor se llama el factor de aproximacion.

< 1 para maximización

> 1 para minimización

Depende de la aplicación qué tan cerca debería ser la soluciónaproximada a la solución óptima.

Algoritmos de aproximacion– p. 4

Page 5: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Tasa de aproximación

El valor extremo del factor sobre el conjunto de todaslas instancias del problema es la tasao ındice deaproximacion (inglés: approximation ratio).

Un algoritmo de aproximación tiene tasa constantesi elvalor de la solución encontrada es por máximo unmultiple constantedel valor óptimo.

Algoritmos de aproximacion– p. 5

Page 6: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Eficiencia

También habrá que mostrar formalmente que el algoritmode aproximación tiene complejidad polinomial.En el caso de algoritmos de aproximación probabilistas,basta con mostrar que sea polinomial con altaprobabilidad .

Algoritmos de aproximacion– p. 6

Page 7: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Esquemas de aproximación

Si existe un metodo sistematico para aproximar lasolución a factores arbitrarios, ese método se llamauna esquema de aproximacion (de tiempopolinomial) (inglés: (polynomial-time) approximationscheme).

Tiempo polinomial: PTAS.

Un libro de texto recomendable sobre algoritmos deaproximación es lo de Vazirani.

Algoritmos de aproximacion– p. 7

Page 8: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Bin packing

El problema de empaquetear a cajas:Dado: un conjunto finito de objetos Φ = {ϕ1, ϕ2 . . . , ϕN},cada uno con un tamano definido t(ϕi) ∈ R.Pregunta: ¿Cómo empaquetear en cajas de tamaño fijoT los objetos así que

T ≥ max{t(ϕi) | ϕi ∈ Φ}

y que el número de cajas utilizadas sea mínima.

Este problema también es NP-completo.

Algoritmos de aproximacion– p. 8

Page 9: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Algoritmo de aproximación

1. Ordenar las cajas en una fila.

2. Procesamos los objetos en orden.

3. Primero intentamos poner el objecto actualmenteprocesado en la primera caja de la fila.

4. Si cabe, lo ponemos allí, y si no, intentamos en lasiguiente caja.

5. Iterando así obtenemos alguna asignación de objetosa cajas.

Algoritmos de aproximacion– p. 9

Page 10: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Calidad de la solución

Denotamos con OPT(Φ) el número de cajas que contienenpor lo menos un objetoen la asignación óptima.

Se puede mostrar que el algoritmo de aproximación simpleutiliza al máximo 17

10OPT(Φ) + 2 cajas.

Esto significa que nunca alejamos a más de 70 % de lasolución óptima.

Algoritmos de aproximacion– p. 10

Page 11: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Mejora

Podemos mejorar aún por ordenar los objetos así queintentamos primero el más grande y después el segundomás grande.

Para este caso se puede mostrar que llegamos a utilizar almáximo 11

9OPT(Φ) + 4 cajas, que nos da una distancia

máxima de unos 22 % del óptimo.

Algoritmos de aproximacion– p. 11

Page 12: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Problema del viajante

Una versión los pesos un grafo completo ponderado sondistanciasentre los vértices d(v, w) que cumplen con ladesigualdad de triangulo

d(v, u) ≤ d(v, w) + d(w, u).

También es un problema NP-completo.

Algoritmos de aproximacion– p. 12

Page 13: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Algoritmo de aproximación

1. Construye un árbol de expansión mínimo en tiempoO (m log n).

2. Elige un vértice de inicio cualquiera v.

3. Recorre el árbol con DFS en tiempo O (m+ n) eimprime cada vértice a la primera visita (o sea, enpreorden).

4. Imprime v en tiempo O (1).

Algoritmos de aproximacion– p. 13

Page 14: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Análisis

El DFS recorre cada arista delarbol 2 veces; podemospensar en el recorrido como una ruta larga R′ que visitacada vértice por lo menos una vez, pero varias vérticesmás de una vez.

“Cortamos” de la ruta larga R′ cualquier visita a un vérticeque ya ha sido visitado, así logrando el mismo efecto deimprimir los vértices en preorder.

Por la desigualdad de triangulo, sabemos que la rutacortada R no puede ser más cara que la ruta larga R′.

Algoritmos de aproximacion– p. 14

Page 15: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Óptimos y árboles

El costo total de R′ es dos veces el costo del árbolcubriente mínimo.

Para lograr a comparar el resultado con el óptimo, hay queanalizar el óptimo en términos de árboles cubrientes.

Si eliminamos cualquier arista de la ruta óptima ROPT ,obtenemos un árbol cubriente.

Algoritmos de aproximacion– p. 15

Page 16: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

La tasa

El peso de este árbol es por lo menos el mismo que elpeso de un árbol cubriente mínimo C.

Entonces, si marcamos el costo de la ruta R con c(R),hemos mostrado que necesariamente

c(R) ≤ c(R′) =≤ 2C ≤ 2c(ROPT ).

Algoritmos de aproximacion– p. 16

Page 17: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Búsqueda local

Cuando hemos obtenido una solución heurística yaproximada de manera cualquiera a un problema deoptimización, podemos intentar mejorarla por busquedalocal.Aplicamos operaciones pequeñas y rápidamenterealizadas para causar cambios pequeños en la soluciónasí que la solución mantiene factible y puede ser quemejora.

Libros buenos de búsqueda local incluyen el libro de de Aarts yLenstra y el libro de Hoos y Stützle.

Algoritmos de aproximacion– p. 17

Page 18: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Un ejemplo: 2-opt

Aplicada en el problema del viajante en un grafoponderado no dirigido G = (V,E).

El costo de una arista {v, w} es c(v, w) > 0.

Elegimos (al azar) 2 aristas de la ruta R: {s, t} y {u, v}.

Algoritmos de aproximacion– p. 18

Page 19: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Notaciones

Marcamos el segmento de la ruta entre t y u por A y el otrosegmento entre v y s por B así que

A = [tr1r2 . . . rku]

B = [vw1w2 . . . wℓs]

R = [tr1r2 . . . rkuvw1w2 . . . wℓst]

Algoritmos de aproximacion– p. 19

Page 20: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Candidato a intercambio

Si el grafo G tambiencontiene las aristas {v, t} y {s, u},evaluamos si

c(s, t) + c(u, v) > c(s, u) + c(v, t).

Si es así, podemos llegar a un costo total menor porreemplazar las aristas originales por las aristas másbaratas {v, t} y {s, u}:

R′ = [tr1rx2 . . . rkuswℓwℓ−1 . . . w2w1vt].

Algoritmos de aproximacion– p. 20

Page 21: Dra. Elisa Schaeffer - elisa.dyndns-web.com · elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximacio´n– p. 1. ... Determinismo Un algoritmo de aproximación puede

Ilustración

...

...

Algoritmos de aproximacion– p. 21