Dibujo gráfico en capas

El dibujo de gráficos en capas o el dibujo de gráficos jerárquicos es un método de visualización de gráficos en el que los vértices de un gráfico dirigido se dibujan en filas horizontales o capas con bordes predominantemente dirigidos hacia abajo [1] [2] [3] . Esto se conoce como el estilo Sugiyama de visualización de gráficos , en honor a Kozo Sugiyama, quien fue el primero en desarrollar este estilo [4] .

Una forma ideal de dibujo en capas sería el dibujo plano hacia arriba , en el que todos los bordes están orientados en la misma dirección y ningún par de bordes se cruzan. Sin embargo, los gráficos a menudo contienen ciclos, y el problema de minimizar el número de aristas que apuntan en la dirección opuesta es NP-difícil , al igual que el problema de minimizar el número de intersecciones. Por esta razón, los sistemas de representación de gráficos en capas suelen utilizar una secuencia de enfoques heurísticos que reducen este tipo de fallas y encuentran el patrón con la menor cantidad de fallas.

Algoritmo de diseño

La construcción de la visualización de gráficos capa por capa se produce en varias etapas:

Implementaciones

En su forma más simple, los algoritmos de representación de gráficos en capas pueden tardar O( mn ) en gráficos con n vértices y m aristas, ya que se puede crear una gran cantidad de vértices adicionales. Sin embargo, para algunas variantes del algoritmo, es posible simular el efecto de vértices adicionales sin agregarlos realmente, lo que conduce a la implementación del algoritmo con un tiempo de ejecución casi lineal [18] .

El lenguaje de descripción "DOT" en el paquete Graphviz crea representaciones en capas [9] . El algoritmo de visualización de gráficos en capas también se incluye en la biblioteca de diseño de gráficos automáticos de Microsoft [19] y en el marco Tulip [20] .

Variaciones

Aunque el dibujo generalmente se realiza con vértices en filas y con bordes que van de arriba a abajo, los algoritmos de representación de gráficos en capas pueden organizar los vértices verticalmente en columnas y dibujar bordes de izquierda a derecha [21] . El mismo marco puede usar una disposición radial, donde los vértices están ubicados en círculos concéntricos (centrados en algún nodo inicial) [3] [22] , así como capas de gráficos 3D [3] [23] .

Cuando se visualiza capa por capa de gráficos con una gran cantidad de arcos largos, el caos se puede reducir agrupando conjuntos de bordes en paquetes y dirigiéndolos a través del mismo conjunto de vértices adicionales [24] . Asimismo, para dibujar muchos bordes que se cruzan entre pares de capas sucesivas, los bordes en los subgrafos bipartitos máximos se pueden agrupar en paquetes confluentes [25] .

Las figuras en las que los vértices están dispuestos en capas pueden construirse mediante algoritmos que no siguen el esquema de Sugiyama. Por ejemplo, se puede saber si un gráfico no dirigido tiene una representación con como máximo k intersecciones y h capas en tiempo polinomial para valores fijos de k y h , utilizando el hecho de que los gráficos que tienen representaciones de este tipo tienen un ancho de ruta acotado [ 26 ] .

Para el dibujo capa por capa de celosías conceptuales , se puede utilizar un enfoque híbrido, combinando el enfoque de Sugiyama con métodos aditivos (en los que cada vértice representa un conjunto y la posición del vértice es la suma de los vectores que representan los elementos en el conjunto ). En este enfoque híbrido, las fases de permutación de vértices y asignación de coordenadas del algoritmo se reemplazan por un solo paso en el que cada posición horizontal de cada vértice se elige como la suma de las representaciones de elementos escalares para ese vértice [27] . Se han utilizado técnicas de visualización de gráficos en capas para proporcionar la ubicación inicial de los algoritmos de visualización de gráficos de potencia [28] .

Notas

  1. 1 2 3 4 5 6 7 8 9 10 Di Battista, Eades et al., 1998 , p. 265–302.
  2. 1 2 3 4 5 6 7 8 9 Bastert, Matuszewski, 2001 , p. 87–120.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Healy y Nikolov, 2014 , pág. 409–453.
  4. Sugiyama, Tagawa, Toda, 1981 , pág. 109–125.
  5. Berger y Shor 1990 , pág. 236–243.
  6. Eades, Lin, Smyth, 1993 , pág. 319–323.
  7. Eades, Lin, 1995 , pág. 15–26.
  8. Chen, Liu, Lu et al., 2008 , pág. una.
  9. 1 2 3 4 Gansner, Koutsofios, North, Vo, 1993 , p. 214–230.
  10. Healy, Nikolov, 2002 , pág. 16-30.
  11. Newbery, 1989 , pág. 76–85.
  12. Eppstein, Goodrich, Meng, 2004 , pág. 184–194.
  13. Eades, Whitesides, 1994 , pág. 361–374.
  14. 1 2 Eades, Wormald, 1994 , p. 379–403.
  15. Makinen, 1990 , pág. 175–181.
  16. Dujmovic, Fernau, Kaufmann, 2008 , pág. 313–323.
  17. Brandes, Köpf, 2002 , pág. 31–44.
  18. Eiglsperger, Siebenhaller, Kaufmann, 2005 , pág. 155–166.
  19. Nachmanson, Robertson, Lee, 2008 , pág. 389–394.
  20. Auber, 2004 .
  21. Baburin, 2002 , pág. 366–367.
  22. Bachmaier, 2007 , pág. 583–594.
  23. Hong, Nikolov, 2005 , pág. 69–74.
  24. Pupyrev, Nachmanson, Kaufmann, 2011 , pág. 329–340.
  25. Eppstein, Goodrich, Meng, 2007 , pág. 439–452.
  26. Dujmović, Fellows, Kitching et al., 2008 , p. 267–292.
  27. Cole, 2001 , pág. 47–53.
  28. Schwikowski, Uetz, Fields, 2000 , pág. 1257–126.

Literatura