1 / 22

Algoritmos Aproximados TSP – CoBertura de Conjuntos

Algoritmos Aproximados TSP – CoBertura de Conjuntos. Carmen Vasquez. Agenda. Algoritmos Aproximados Algoritmo aproximado para TSP Algoritmo aproximado para Cobertura de Conjuntos. Antecedentes. P : Clase a la que pertenecen los problemas resolubles en tiempo polinomial .

noura
Download Presentation

Algoritmos Aproximados TSP – CoBertura de Conjuntos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AlgoritmosAproximadosTSP – CoBertura de Conjuntos Carmen Vasquez

  2. Agenda • AlgoritmosAproximados • Algoritmoaproximadopara TSP • AlgoritmoaproximadoparaCobertura de Conjuntos

  3. Antecedentes • P : Clase a la quepertenecen los problemasresolubles en tiempopolinomial. • NP: Clase a la quepertenecen los problemasverificables en tiempopolinomial. • ¿P=NP? • ¿Quéhacemosmientrasaveriguamos la respuesta? • Usamosheurísticasquenosofrezcansolucionescercanas a la optimalidad

  4. Algoritmos aproximados • Algoritmoseficientes (tiempopolinomial). • Para todainstancia del problema, la soluciónqueofrece el algoritmoestáacotadapor un factor del valor óptimo. • Radio de aproximación: factor comparado con el óptimo

  5. Problema TSP • Dado un númerofinito de ciudades y el costo de viajar entre cada par de ciudades, encontrar la forma máseconómica de visitartodaslasciudades y retornar al punto de inicio. • Características: • Los costos de viaje son simétricos • Formalización: • Entrada: Grafo no dirigido, G=(V,E) , c:E -> Z+ • Objetivo: Encontrar un “tour” (ciclohamiltoniano) de costomínimo

  6. ¿Porqué resolver TSP? • ¿Porquéesteproblemaesinteresante? • Problemasrelacionados con Transporte y distribución • Recolección de monedas • Programa Starlight • Cadenasuniversales de ADN • http://www.tsp.gatech.edu

  7. TSP con la desigualdad del triángulo • Tambiénconocidocomo Metric-TSP • Basado en el principio de desigualdad del triangulo de Euclides: c(u,w)<=c(u,v)+c(v,w) • Este problemaes NP Completo, aúnsirequerimosque la función de costosatisfaga la desigualdad del triángulo, por lo quebuscaremos un buenalgoritmo de aproximación

  8. Solución basada en árboles cobertores de costo mínimo • Grafo G(V,E) no dirigido • Ejemplo de árbol cobertor de costo mínimo para G

  9. Algoritmoaproximadobasado en árbolescobertores de costomínimo • APPROX-TSP-TOUR(G, c“) • 1 Seleccione un vérticer en V [G] como “raíz” • 2 Calcule un árbolcobertor de costomínimoT para G desde r • 3 Sea L la lista de vertices visitados en el árbol en un recorrido DFS, eliminando los duplicados • 4 retorne el ciclohamiltonianoH quevisita los vertices en orden L

  10. Algoritmo de kruskal • Comienza con los nodos desconectados, y considera un ordenamiento de las aristas no decreciente en costo • 1 T <- {} , E<- E(G), E’ secuencia de E ordenada por costo • 2 Mientras T no sea árbol cobertor de G y E’<>{} • 3 e<- Siguiente arista de E • 4 E’ <- E’-e • 5 Si T+E no posee ciclos • 6 T<- T+e

  11. Ejemplo de ejecución

  12. Radio de aproximación • El algoritmopropuestoes 2-aproximado • Sea H* el tour óptimo, y T un árbol cobertor de costo mínimo • C(T) <= C(H*) • Dado que un recorrido DFS pasa por cada arista de T exactamente 2 veces • C(W) <= 2C(T) y entonces C(W) <= 2C(H*) • DFS no es un tour. Sea H el ciclo hamiltoniano resultante al eliminar los nodos visitados más de una vez. Es claro que • C(H) <= C(W) <= 2C(H*)

  13. Optimización de Christofides • Hay un algoritmo aproximado mejor al expuesto, que fue propuesto por Christofides • El algoritmo de Chistofides tiene un radio de aproximación de 3/2

  14. TSP General no tiene algoritmo aproximado polinomial • Sea A un algoritmoaproximadoqueresuelve el ciclohamiltoniano en tiempopolinomial con un radio de aproximación p. • Convertimosunainstancia del ciclohamiltoniano en unainstancia de TSP de la siguiente forma • Dado G=(V,E) creamos H = (V, E’) donde H es un grafocompleto • Sea c(e) = 1si e ∈E, sino c(e) = p(|V|)+1 • Si G tiene un ciclohamiltoniano, OPT = |V|, sinoOPT ≥|V|+ p(|V|). Esto es si G tiene un ciclo Hamiltoniano, A resuelve TSP en tiempo polinomial • Como el ciclo hamiltoniano (y TSP) es un problema NP-Completo, si A existe P=NP

  15. La mejor solución  O(1)

  16. Problemacobertura de conjuntos • Conjuntofinito X y unafamilia F de subconjuntos de X, dondecadaelemento de X pertenece al menos a un subconjunto en F • Hallar el mínimo S ∈ F talquetodoelemento X “estácubierto” F = {S1,S2,S3,S4,S5,S6} S = {S3,S4,S5}

  17. ¿Por qué resolver cobertura de conjuntos? • Es una abstracción de muchos problemas combinatorios, por ejemplo: • Formar un equipo de proyecto donde todos los conocimientos requeridos estén presentes, con el número mínimo de miembros de equipo • Minimización de lógica booleana: dada una función booleana de K variables, con 2k vectores de entrada, buscamos el circuito más simple que implementa la función exactamente

  18. Algoritmo “greedy” paracobertura de conjuntos • GREEDY-SET-COVER(X,F ) • 1 U ← X • 2 C ← Ø • 3 mientras U ≠ Ø • 4 hacerseleccionarS ∈ F talque la intersección entre S y U esmáxima • 5 U ← U – S • 6 C ← C+S • 7 return C • Para el ejemplo anterior, el algoritmo greedy retorna S={S1,S4,S5,S3}

  19. El algoritmo “greedy” es un algoritmoaproximado • Asignamoscosto 1 a cadasubonjuntoelegidopor el algortimo, y distribuimosestecostoequitativamente entre todos los elementosnuevoscubiertos. • Sea Cx el costo de cubrir el elemento x y Si el subconjuntoconsideradopor el algoritmoquecontiene a x la primeravez • Cx = 1 / |Si – (S1 U S2 U … U Si-1)| • En cadapaso del algoritmounaunidad de costoesasignada, por lo cual • |C| = ∑ Cx x ∈ X

  20. El algoritmo “greedy” es un algoritmoaproximado (continuación) • Así, el costo de la coberturaóptima C* es • ∑ ∑ Cx S∈C*x∈S • Y comotodo x∈ X está al menosunavez en S ∈ C* tenemos • ∑ ∑ Cx >= ∑ Cx S∈C*x∈Sx ∈ X • Por lo tanto |C| <= ∑ ∑ Cx S∈C*x∈S • Y paracadaconjunto S en la familia F ∑ Cx <=H(|S|) x ∈ X • De lo que se desprende |C| <= ∑ H(|S|) S∈C* <= |C*|*H(max{|S| ∈ F})

  21. El algoritmo “greedy” es un algoritmoaproximado (continuación) • En resumen, el radio de aproximación del algoritmo considerado es p(n) = H(max{|S|: S ∈ F})

  22. Conclusión • En lasúltimas dos exposicioneshemoscorroboradoque los algoritmosaproximadosnosayudan a computarsolucionescercanas a lasóptimasparaproblemas de optimizaciónmuycomplejos

More Related