170 likes | 301 Views
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.
E N D
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. • 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.
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|).
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.
π(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)
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.
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.
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.
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
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.
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.
GRASP procedure GRASP(ListSize, MaxIter, RdmSeed) InputInstance(); do k=1,…..MaxIter ConstructGreedyRandomizedSolution(ListSize, RdmSeed) LocalSearch(BestSolutionFound); UpdateSolution(BestSolutionFound); od; returnBestSolutionFound end GRASP
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
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 ≠.
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
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
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.