a grasp for graph planarization resende ribeiro 1996
Download
Skip this Video
Download Presentation
A GRASP for graph planarization. Resende, Ribeiro. 1996.

Loading in 2 Seconds...

play fullscreen
1 / 17

A GRASP for graph planarization. Resende, Ribeiro. 1996. - PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A GRASP for graph planarization. Resende, Ribeiro. 1996.' - chung


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
descripci n del problema
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
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 disponibles1
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.
heur stica de dos fases goldschmidt y takvorian 1994

π(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
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 19941
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 19942
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.
heur stica de dos fases cont goldschmidt y takvorian 19944
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 19945
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
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
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
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 ≠.

grasp1
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
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
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.

ad