1 / 17

A GRASP for graph planarization. Resende, Ribeiro. 1996.

A GRASP for graph planarization. Resende, Ribeiro. 1996. Meta heurísticas Agustín Pecorari. Descripción del problema. Un grafo se dice plano si se lo puede dibujar en un plano de forma que no se crucen las aristas. K 3,3 y K 5 no son planos.

chung
Télécharger la présentation

A GRASP for graph planarization. Resende, Ribeiro. 1996.

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. A GRASP for graph planarization.Resende, Ribeiro. 1996. Meta heurísticas Agustín Pecorari

  2. Descripción del problema • Un grafo se dice plano si se lo puede dibujar en un plano de forma que no se crucen las aristas. • K3,3 y K5 no son planos. • Problema de optimización: encontrar el subgrafo plano máximo. NP-Hard. • Se utiliza para resolver problemas de layout de circuitos, maquinaría entre otros problemas.

  3. Algoritmos disponibles • Jayakumar et al. Dos algoritmos de O(|V|2). • Construye un subgrafo plano de expansión. Tomando de a un nodo, el que agrega la cantidad máxima de aristas que no conducen a un grafo no plano. • Empieza desde subgrafo plano de expansión biconectado y construye el subgrafo plano maximal contenido en él. • Cai, Han y Tarjan. Algoritmo de O(|E|.log|V|). • Di Battista y Tamassia. Algoritmo de O(|E|.log|V|).

  4. Algoritmos disponibles • Cimikowski, heurística. Para cada componente biconectado de un grafo no plano, encuentra árboles de expansión aristas-disjuntos cuya unión sea plana. Bajo ciertas condiciones llega a por lo menos 2/3 del óptimo. • Jünger y Mutzel. Exact branch-and-cut. Desigualdades que definen facetas. • Takefuji y Lee. Redes neuronales. Parten de un secuenciamiento arbitrario de los nodos y determinan dos conjuntos de aristas que pueden ser representadas sin que se crucen respectivamente por encima o debajo de la línea central. Mejorado por Goldschmidt y Takvorian.

  5. π(a)=1 π(b)=2 π(c)=3 π(d)=4 Heurística de dos fasesGoldschmidt y Takvorian. 1994 • Fase 1. • Determinar secuencia ∏ de los vértices. Por ejemplo: • Supongamos e1=(a,b) y e2=(c,d). • Se dice que e1 y e2 están cruzados si: • π(a) < π(c) < π(b) < π(d) • π(c) < π(a) < π(d) < π(b)

  6. Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 • Fase 2. • Particionar el conjunto E en B, R y P. • |B +R | sea grande (máximo posible). • De manera tal que ningún par de aristas se “cruce”, estando las dos en B o las dos en R. • Goldschmidt y Takvorian muestran que si ∏ corresponde a un ciclo Hamiltoniano en un subgrafo H de G o en algún edge-augmentation plano de H => el subgrafo plano que produce contiene por lo menos ¾ de la cantidad de aristas que el máximo subgrafo plano.

  7. Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 El algoritmo intenta utilizar ordenes ∏ relacionados a ciclos Hamiltonianos. • Estos ciclos se buscan con un procedimiento aleatorio. • O un algoritmo greedy determinístico. • El primer vértice es el de grado mínimo. • El vértice vk+1 es elegido entre los adyacentes a vk. Se toma el que tenga grado mínimo en el grafo Gk inducido por V \{v1...vk}. • Si no hubiese ningún vértice adyacente a vk, entonces se elije el de grado mínimo en Gk.

  8. Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 • Sea H=(E, I): • Los vértices corresponden a aristas de G. • e1 y e2 de H están conectados si las correspondientes aristas de G están cruzadas respecto de ∏. • H se llama Overlap graph si: • Sus vértices pueden tener una correspondencia biunívoca con una familia de intervalos en una línea. • Dos intervalos se solapan si se cruzan y ninguno está contenido en el otro. • Dos vértices de H están conectados por una arista sii sus correspondientes intervalos se solapan.

  9. 1 1-3 1-2 4 1 3 2 3 2 3-2 1-4 4 3-4 2-4 Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 • Ejemplo: G ∏ H

  10. Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 • La segunda fase consiste en colorear con Rojo (R) o Azul (B) el máximo número de vértices de H, de forma tal que formen un conjunto independiente (estable). • Equivale a buscar un subgrafo bipartido con la mayor cantidad de vértices. NP-hard. Usan algoritmo greedy para generar subgrafo maximal. • Genera un conjunto independiente máximo B cE de H, reduce H sacando los vértices en B y las aristas incidentes a B.

  11. Heurística de dos fases. Cont.Goldschmidt y Takvorian. 1994 • Ahora busca el conjunto independiente máximo R c E \ B. • Este procedimiento es polinomial (no encuentra el óptimo necesariamente) O(|E|3). • GT no produce el óptimo y bajo simples def. de vecindad tampoco óptimos locales.

  12. GRASP procedure GRASP(ListSize, MaxIter, RdmSeed) InputInstance(); do k=1,…..MaxIter  ConstructGreedyRandomizedSolution(ListSize, RdmSeed) LocalSearch(BestSolutionFound); UpdateSolution(BestSolutionFound); od; returnBestSolutionFound end GRASP

  13. GRASP. Generación secuencia ∏. procedure ConstructGreedyRandomSolution(α,seed,V,E, ∏) 1d = minvЄV{degG(v)}; đ = maxvЄV{degG(v)}; 2 RCL = {vЄV : d≤ degG(v) ≤ α (đ - d) +d}; 3 v1 = random(seed, RCL); 4 V= V \ {v1}; G1 = grafo inducido en G por V ; 5 do k=2,…,|V|  6 d = minvЄV{degGk-1(v)}; đ = maxvЄV{degGk-1(v)}; • if ADJGk-1(vk-1) ≠ Ø  • RCL = {v Є ADJGk-1(vk-1) : d≤ degGk-1(v) ≤ α (đ - d) +d}; 9 else • RCL = {v Є V: d≤ degGk-1(v) ≤ α (đ - d) +d}; 11 fi; 12 vk=random(seed, RCL); 13 V= V \ {vk}; Gk = grafo inducido en G por V ; 14 od; 15 return∏=(v1,v2,…,v|V|) end ConstructGreedyRandomSolution

  14. GRASP. Búsqueda Local procedure LocalSearch(V,E, ∏) 1 do∏ no es óptima  2 encontrar ∏’ ЄN (∏) tal que X(∏’) < X(∏); 3 ∏ = ∏’; 4 od 5 return ∏=(v1,v2,…,v|V|) end LocalSearch Siendo X (∏) cantidad de pares de aristas cruzadas. YN (∏) vecindad formada por todo ∏’ con 2 pos ≠.

  15. GRASP procedure GRASPforGP(α,seed,MaxIter,V,E, ∏*, B*,R*) 1 do k=1,2,…,MaxIter 2 ConstructGreedyRandomSolution(α,seed,V,E, ∏) 3 LocalSearch(V,E, ∏) 4 SecondPhaseGT(V,E, ∏, B,R) 5 UpdateSolution(∏, B,R, ∏*, B*,R*) 6 od; 7 return ∏*, B*,R* end GRASPforGP

  16. GRASP. Post-procesamiento. procedure EnlargePlanar(B,R,P,V) 1 do p ЄP 2 Bp= Ø; 3 do b ЄB 4 if p y b se cruzan  5 Bp= Bp U {b}; 6 do r ЄR 7 if r y b se cruzan  goto 12 fi; 8 od; 9 fi; 10 od; 11 (B,R,P) = (B U {p} \ Bp, R UBp, P \ {p}); 12 od; 13 returnB,R end EnlargePlanar

  17. Conclusiones Se probó un gran conjunto de problemas test standard y en la mayoría de ellos la nueva heurística iguala o mejora los resultados anteriores. En algunos casos encuentra soluciones óptimas antes desconocidas.

More Related