Los diseños circulares son una buena opción para topologías de redes de comunicaciones como redes en estrella o en anillo , [1] y para las partes cíclicas de redes metabólicas . [2] Para gráficos con un ciclo hamiltoniano conocido , un diseño circular permite representar el ciclo como un círculo, y de esta manera los diseños circulares forman la base de la notación LCF para gráficos cúbicos hamiltonianos . [3]
Un diseño circular puede usarse por sí solo para dibujar un gráfico completo, pero también puede usarse como diseño para grupos más pequeños de vértices dentro de un gráfico más grande, como sus componentes biconectados , [4] grupos de genes en un gráfico de interacción genética, [5] o subgrupos naturales dentro de una red social . [6] Si se usan múltiples círculos de vértices de esta manera, se pueden usar otros métodos como el dibujo de gráficos dirigido por fuerza para organizar los grupos. [7]
Una ventaja de un diseño circular en algunas de estas aplicaciones, como la bioinformática o la visualización de redes sociales, es su neutralidad: [8] al colocar todos los vértices a distancias iguales entre sí y del centro del dibujo, ninguno obtiene una posición privilegiada, contrarrestando la tendencia de los espectadores a percibir los nodos ubicados más centralmente como más importantes. [9]
Estilo de borde
Los bordes del dibujo pueden representarse como cuerdas del círculo, [10] como arcos circulares [11] (posiblemente perpendiculares al círculo del vértice, de modo que los bordes modelen líneas del modelo de disco de Poincaré de geometría hiperbólica ), o como otros tipos de curva. [12]
La distinción visual entre el interior y el exterior del círculo de vértices en un diseño circular se puede utilizar para separar dos estilos diferentes de dibujo de aristas. Por ejemplo, un algoritmo de dibujo circular de Gansner y Koren (2007) utiliza la agrupación de aristas dentro del círculo, junto con algunas aristas que no están agrupadas, dibujadas fuera del círculo. [12]
Para diseños circulares de gráficos regulares , con aristas dibujadas tanto internas como externas como arcos circulares , el ángulo de incidencia de uno de estos arcos con el círculo del vértice es el mismo en ambos extremos del arco, una propiedad que simplifica la optimización de la resolución angular del dibujo. [11]
Número de cruces
Varios autores han estudiado el problema de encontrar una permutación de los vértices de un trazado circular que minimice el número de cruces de aristas cuando todas las aristas se dibujan dentro del círculo de vértices. Este número de cruces es cero solo para grafos planos exteriores . [13] Para otros grafos, se puede optimizar o reducir por separado para cada componente biconectado del grafo antes de combinar las soluciones, ya que estos componentes se pueden dibujar de modo que no interactúen. [14] En general, minimizar el número de cruces es NP-completo . [15]
Shahrokhi et al. (1995) describieron un algoritmo de aproximación basado en cortes equilibrados o separadores de aristas, subconjuntos de pocas aristas cuya eliminación desconecta el grafo dado en dos subgrafos con números aproximadamente iguales de vértices. Después de encontrar un corte aproximado, su algoritmo organiza los dos subgrafos en cada lado del corte recursivamente, sin considerar los cruces adicionales formados por las aristas que cruzan el corte. Demuestran que el número de cruces que ocurren en el diseño resultante, en un grafo con vértices, es
donde es el número óptimo de cruces y es la razón de aproximación del algoritmo de corte equilibrado utilizado por este método de diseño. [16] Su trabajo cita un artículo de Fan Chung y Shing-Tung Yau de 1994 que afirmaba , pero luego se descubrió que tenía una prueba errónea. [17] En cambio, la mejor aproximación conocida para el problema de corte equilibrado es , [18] lo que le da a este algoritmo de diseño circular una relación de aproximación de en gráficos que tienen una gran cantidad de cruces en relación con sus grados de vértice .
También se han ideado métodos heurísticos para reducir la complejidad de los cruces, basados, por ejemplo, en un cuidadoso orden de inserción de vértices y en la optimización local . [19] También se puede utilizar un diseño circular para maximizar el número de cruces. En particular, la elección de una permutación aleatoria para los vértices hace que cada cruce posible ocurra con una probabilidad de 1/3, por lo que el número esperado de cruces está dentro de un factor de tres del número máximo de cruces entre todos los diseños posibles. La desaleatorización de este método proporciona un algoritmo de aproximación determinista con una razón de aproximación de tres. [20]
Otros criterios de optimización
Junto con los cruces, también se han considerado versiones circulares de problemas de optimización de las longitudes de los bordes en un diseño circular, la resolución angular de los cruces o el ancho de corte (el número máximo de bordes que conecta un arco del círculo con el arco opuesto), [21] pero muchos de estos problemas son NP-completos. [22]
Planaridad , un rompecabezas en el que un jugador debe mover vértices para desenredar un dibujo de un gráfico plano , comenzando desde un diseño circular aleatorio.
Enlaces externos
Motor de diseño circular de Graphviz
Notas
^ Doğrusöz, Madden y Madden (1997).
^ Becker y Rojas (2001).
^ Pisanski y Servacio (2013).
^ Doğrusöz, Madden y Madden (1997); Seis y Tollis (1999b).
^ Symeonidis y Tollis (2004).
^ Cáncer (1996).
^ Doğrusöz, Belviranli y Dilek (2012).
^ Iragne y otros (2005).
^ Huang, Hong y Eades (2007).
^ Seis y Tollis (1999a).
^ desde Duncan y col. (2012).
^ por Gansner y Koren (2007).
^ Seis y Tollis (1999a); Baur y Brandes (2005).
^ Baur y Brandes (2005).
^ Masuda y otros (1987).
^ Shahrokhi y otros (1995).
^ Shmoys (1997).
^ Arora, Rao y Vazirani (2009).
^ Makinen (1988); Doğrusöz, Madden y Madden (1997); Seis y Tollis (1999a); Él y Sýkora (2004); Baur y Brandes (2005).
^ Verbitsky (2008).
^ Makinen (1988); Gansner y Koren (2007); Nguyen et al. (2011); Dehkordi et al. (2013).
Baur, Michael; Brandes, Ulrik (2005), "Reducción de cruces en diseños circulares", en van Leeuwen, Jan (ed.), Graph-Theoretic Concepts in Computer Science: 30th International Workshop, WG 2004, Bad Honnef, Alemania, 21-23 de junio de 2004, Documentos revisados, Lecture Notes in Computer Science , vol. 3353, Springer, págs. 332–343, doi :10.1007/978-3-540-30559-0_28.
Becker, Moritz Y.; Rojas, Isabel (2001), "Un algoritmo de diseño de grafos para dibujar rutas metabólicas", Bioinformatics , 17 (5): 461–467, doi : 10.1093/bioinformatics/17.5.461 , PMID 11331241.
Dehkordi, Hooman Reisi; Nguyen, Quan; Eades, Peter ; Hong, Seok-Hee (2013), "Dibujos de grafos circulares con grandes ángulos de cruce", Algorithms and Computation: 7th International Workshop, WALCOM 2013, Kharagpur, India, 14-16 de febrero de 2013, Actas , Lecture Notes in Computer Science, vol. 7748, Springer, págs. 298–309, doi :10.1007/978-3-642-36065-7_28.
Doğrusöz, Uğur; Belviranli, M.; Dilek, A. (2012), "CiSE: Un algoritmo de diseño de incrustación de resorte circular", IEEE Transactions on Visualization and Computer Graphics , 19 (6): 953–966, doi : 10.1109/TVCG.2012.178, hdl : 11693/21006 , PMID 23559509, S2CID 14365664.
He, H.; Sýkora, Ondrej (2004), "Nuevos algoritmos de dibujo circular", Actas del Taller sobre Tecnologías de la Información: Aplicaciones y Teoría (ITAT), Eslovaquia, 15-19 de septiembre.
Shahrokhi, Farhad; Sýkora, Ondrej; Székely, László A.; Vrt'o, Imrich (1995), "Incrustaciones de libros y cruces de números", Graph-Theoretic Concepts in Computer Science: 20th International Workshop, WG '94, Herrsching, Alemania, 16-18 de junio de 1994, Actas , Lecture Notes in Computer Science, vol. 903, Springer, págs. 256-268, doi :10.1007/3-540-59071-4_53.
Shmoys, David B. (1997), "Problemas de corte y su aplicación a la estrategia divide y vencerás" (PDF) , en Hochbaum, Dorit (ed.), Algoritmos de aproximación para problemas NP-hard , PWS Publishing, págs. 192–235
Six, Janet M.; Tollis, Ioannis G. (1999a), "Dibujos circulares de grafos biconexos", Algorithm Engineering and Experimentation: International Workshop ALENEX'99, Baltimore, MD, EE. UU., 15 y 16 de enero de 1999, Selected Papers , Lecture Notes in Computer Science, vol. 1619, Springer, págs. 57–73, doi :10.1007/3-540-48518-X_4.
Symeonidis, Alkiviadis; Tollis, Ioannis G. (2004), "Visualización de información biológica con dibujos circulares", Biological and Medical Data Analysis: 5th International Symposium, ISBMDA 2004, Barcelona, España, 18-19 de noviembre de 2004, Actas , Lecture Notes in Computer Science, vol. 3337, Springer, págs. 468–478, doi :10.1007/978-3-540-30547-7_47.
Verbitsky, Oleg (2008), "Sobre la complejidad de ofuscación de grafos planares", Theoretical Computer Science , 396 (1–3): 294–300, arXiv : 0705.3748 , doi :10.1016/j.tcs.2008.02.032, MR 2412266, S2CID 5948167.