Kreslení vrstveného grafu
Kreslení grafu vrstev nebo kreslení hierarchického grafu je metoda vizualizace grafu , při které se vrcholy orientovaného grafu kreslí ve vodorovných řadách nebo vrstvách s hranami převážně směřujícími dolů [1] [2] [3] . Toto je známé jako Sugiyama styl vizualizace grafů , po Kozo Sugiyama, který jako první vyvinul tento styl [4] .
Ideální formou vrstvené kresby by byla rovinná kresba směrem nahoru , ve které jsou všechny hrany orientovány stejným směrem a žádná dvojice hran se neprotíná. Grafy však často obsahují cykly a problém s minimalizací počtu hran směřujících opačným směrem je NP-těžký , stejně jako problém s minimalizací počtu průsečíků. Z tohoto důvodu systémy vykreslování vrstvených grafů obvykle používají posloupnost heuristických přístupů, které redukují tyto typy chyb a najdou vzorek s nejmenším počtem chyb.
Algoritmus rozložení
Konstrukce vizualizace grafů vrstva po vrstvě probíhá v několika fázích:
- Pokud vstupní graf ještě není orientovaný acyklický graf , je definována množina hran, jejichž obrácením se graf stává acyklickým. Nalezení nejmenší možné takové množiny hran je NP-úplný problém nalezení cyklicky řezající množiny hran , takže se zde často místo přesných optimalizačních algoritmů používá heuristický chamtivý algoritmus [1] [2] [3] [5] [ 6] [7] . Přesné řešení tohoto problému lze formulovat pomocí celočíselného programování [3] . Alternativně, pokud je počet zpětných hran velmi malý, lze tyto hrany nalézt pomocí algoritmu s pevnými parametry [8] .
- Vrcholy orientovaného acyklického grafu získaného v prvním kroku jsou přiřazeny vrstvám, takže každý oblouk jde shora dolů. Cílem tohoto kroku je vytvořit malý počet úrovní, dosáhnout malého počtu hran, které procházejí velkým počtem vrstev a vyvážené přiřazení vrcholů napříč vrstvami [1] [2] [3] . Například podle Mirského teorému dává rozložení vrcholů po vrstvách podle nejdelší cesty , počínaje od nejvyššího vrcholu, rozdělení s minimálním počtem vrstev [1] [3] . Můžete použít Coffman-Grahamův algoritmus k nalezení distribuce přes vrstvy s předdefinovaným limitem počtu vrcholů na vrstvu a přibližně minimalizovat počet vrstev [1] [2] [3] . Problém minimalizace šířky nejširší vrstvy je NP-těžký, ale lze jej vyřešit pomocí algoritmů větvení a vazby nebo heuristických aproximačních algoritmů [3] . Alternativně lze problém minimalizace celkového počtu vrstev překlenutých hranami (bez omezení počtu vrcholů ve vrstvě) vyřešit pomocí lineárního programování [9] . Procedury celočíselného programování , i když jsou z hlediska výpočetního času dražší, lze použít ke kombinaci minimalizace hran s omezením počtu vrcholů na úroveň [10] .
- Hrany, které překlenují více vrstev, jsou nahrazeny cestami s dalšími vrcholy, takže po tomto kroku každý oblouk v rozbaleném grafu spojuje dva vrcholy sousedních vrstev vzoru [1] [2] .
- Jako další (volitelný) krok lze použít úroveň koncentrace okraje (nebo sloučení průniku) mezi dvěma existujícími úrovněmi vrcholů ke snížení hustoty oblouku nahrazením úplných bipartitních podgrafů hvězdami prostřednictvím těchto hub [3] [11] [12] .
- Vrcholy v každé vrstvě jsou přeskupeny ve snaze snížit počet oblouků, které je spojují s předchozí vrstvou [1] [2] [3] . Problém najít minimální počet křížení nebo maximální sadu oblouků bez křížení je NP-úplný, i když se snažíme seřadit jednu vrstvu po druhé [13] [14] , takže se opět obvykle uchýlí k heuristice metody, jako je umístění každého vrcholu na pozici určenou průměrem nebo mediánem pozic sousedů na předchozí úrovni a pak permutace sousedních párů, dokud takové permutace nesníží počet průniků [1] [2] [9] [14] [15] . Alternativně může být pořadí vrcholů ve vrstvě v čase zvoleno algoritmem, který je pevně-parametricky rozlišitelný z hlediska počtu průsečíků mezi vrstvou a předchozí vrstvou [3] [16] .
- Každému vrcholu je v rámci vrstvy přiřazena souřadnice, která je konzistentní s předchozím krokem [1] [2] . Tento krok zahrnuje vložení dalších vrcholů do čáry mezi dvěma sousedy (aby se předešlo zbytečným přerušením ) a umístění každého vrcholu do centrální polohy vzhledem k sousedům [3] . Sugiyamovou původní prací bylo formulovat tento krok jako problém kvadratického programování . Pozdější metoda Brandese a Koepfa běží v lineárním čase a zaručuje maximálně dvě přerušení na oblouk [3] [17] .
- Oblouky převrácené v první fázi algoritmu se vrátí do svého původního směru, přidané vrcholy se z grafu odstraní, načež se vykreslí vrcholy a hrany. Aby se zabránilo průniku mezi vrcholy a oblouky, lze oblouky, které překlenují více vrstev, kreslit jako polygonální čáry nebo jako polynomické křivky po částech přes další vrcholy na vnitřních vrstvách, kterými oblouk prochází [1] [2] [9] .
Implementace
Ve své nejjednodušší podobě mohou algoritmy vykreslování vrstvených grafů trvat O( mn ) čas na grafech s n vrcholy a m hranami, protože lze vytvořit velké množství dalších vrcholů. U některých variant algoritmu je však možné simulovat vliv dalších vrcholů bez jejich skutečného přidávání, což vede k implementaci algoritmu s téměř lineární dobou provádění [18] .
Popisný jazyk "DOT" v balíčku Graphviz vytváří vrstvené reprezentace [9] . Algoritmus vizualizace vrstvených grafů je také zahrnut v knihovně automatického rozložení grafů společnosti Microsoft [19] a v rámci Tulip [ [20] .
Variace
Ačkoli se kreslení obvykle provádí s vrcholy v řadách as hranami jdoucími shora dolů, algoritmy vykreslování vrstvených grafů mohou místo toho uspořádat vrcholy svisle do sloupců a kreslit hrany zleva doprava [21] . Stejný rámec může využívat radiální uspořádání, kde jsou vrcholy umístěny na soustředných kružnicích (vystředěných v nějakém počátečním uzlu) [3] [22] , stejně jako 3D vrstvení grafů [3] [23] .
Při vizualizaci grafů po vrstvách s velkým počtem dlouhých oblouků lze chaos snížit seskupením sad hran do svazků a jejich nasměrováním přes stejnou sadu dalších vrcholů [24] . Podobně, aby bylo možné nakreslit mnoho protínajících se hran mezi páry po sobě jdoucích vrstev, mohou být hrany v maximálních bipartitních podgrafech seskupeny do splývajících paketů [25] .
Obrazce, ve kterých jsou vrcholy uspořádány ve vrstvách, lze konstruovat pomocí algoritmů, které se neřídí Sugiyamovým schématem. Například lze říci, zda neorientovaný graf má reprezentaci s nejvýše k průsečíky a h vrstvami v polynomiálním čase pro pevné hodnoty k a h , s použitím skutečnosti, že grafy s reprezentacemi tohoto druhu mají omezenou šířku dráhy
[26 ] .
Pro kreslení koncepčních mřížek po vrstvách lze použít hybridní přístup, který kombinuje Sugiyamův přístup s aditivními metodami (ve kterých každý vrchol představuje množinu a poloha vrcholu je součtem vektorů reprezentujících prvky v množině). ). V tomto hybridním přístupu jsou fáze permutace vrcholu a přiřazení souřadnic algoritmu nahrazeny jediným krokem, ve kterém je každá horizontální poloha každého vrcholu vybrána jako součet reprezentací skalárních prvků pro daný vrchol [27] . Pro poskytnutí počátečního umístění pro vizualizační algoritmy výkonového grafu byly použity techniky vrstveného grafu [28] .
Poznámky
- ↑ 1 2 3 4 5 6 7 8 9 10 Di Battista, Eades a kol., 1998 , str. 265–302.
- ↑ 1 2 3 4 5 6 7 8 9 Bastert, Matuszewski, 2001 , str. 87–120.
- ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Healy a Nikolov, 2014 , str. 409–453.
- ↑ Sugiyama, Tagawa, Toda, 1981 , str. 109–125.
- ↑ Berger a Shor 1990 , str. 236–243.
- ↑ Eades, Lin, Smyth, 1993 , str. 319–323.
- ↑ Eades, Lin, 1995 , str. 15–26.
- ↑ Chen, Liu, Lu a kol., 2008 , str. jeden.
- ↑ 1 2 3 4 Gansner, Koutsofios, North, Vo, 1993 , str. 214–230.
- ↑ Healy, Nikolov, 2002 , str. 16-30.
- ↑ Newbery, 1989 , str. 76–85.
- ↑ Eppstein, Goodrich, Meng, 2004 , str. 184–194.
- ↑ Eades, Whitesides, 1994 , s. 361–374.
- ↑ 1 2 Eades, Wormald, 1994 , str. 379–403.
- ↑ Mäkinen, 1990 , s. 175–181.
- ↑ Dujmovic, Fernau, Kaufmann, 2008 , str. 313–323.
- ↑ Brandes, Köpf, 2002 , str. 31–44.
- ↑ Eiglsperger, Siebenhaller, Kaufmann, 2005 , str. 155–166.
- ↑ Nachmanson, Robertson, Lee, 2008 , str. 389–394.
- ↑ Auber, 2004 .
- ↑ Baburin, 2002 , str. 366–367.
- ↑ Bachmaier, 2007 , s. 583–594.
- ↑ Hong, Nikolov, 2005 , s. 69–74.
- ↑ Pupyrev, Nachmanson, Kaufmann, 2011 , str. 329–340.
- ↑ Eppstein, Goodrich, Meng, 2007 , str. 439–452.
- ↑ Dujmović, Fellows, Kitching et al., 2008 , s. 267–292.
- ↑ Cole, 2001 , str. 47–53.
- ↑ Schwikowski, Uetz, Fields, 2000 , str. 1257–126.
Literatura
- Giuseppe Di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis. Layered Drawings of Digraphs // Kreslení grafů: Algoritmy pro vizualizaci grafů. - Prentice Hall , 1998. - ISBN 978-0-13-301615-4 .
- Oliver Bastert, Christian Matuszewski. Vrstvené kresby digrafů // Drawing Graphs: Methods and Models. - Springer-Verlag, 2001. - T. 2025. - ( Poznámky k přednáškám z informatiky ). - ISBN 978-3-540-42062-0 . - doi : 10.1007/3-540-44969-8_5 .
- Patrick Healy, Nikola S. Nikolov. Hierarchická kresba grafů // Příručka kreslení a vizualizace grafů / Roberto Tamassia. — CRC Press, 2014.
- Kozo Sugiyama, Shôjirô Tagawa, Mitsuhiko Toda. Metody pro vizuální pochopení hierarchických systémových struktur // IEEE Transactions on Systems, Man, and Kybernetika . - 1981. - T. SMC-11 , no. 2 . - doi : 10.1109/TSMC.1981.4308636 .
- Berger B., Shor P. Aproximační algoritmy pro problém maximálního acyklického podgrafu // Proceedings of the 1st ACM-SIAM Symposium on Discrete Algorithms (SODA'90) . - 1990. - ISBN 9780898712513 .
- Eades P., Lin X., Smyth WF Rychlá a efektivní heuristika pro problém se zpětnou vazbou // Information Processing Letters. - 1993. - T. 47 , no. 6 . - doi : 10.1016/0020-0190(93)90079-O .
- Eades P., Lin X. Nová heuristika pro problém se zpětnou vazbou // Australian Journal of Combinatorics. - 1995. - T. 12 .
- Jianer Chen, Yang Liu, Songjian Lu, Barry O'Sullivan, Igor Razgon. Algoritmus s pevným parametrem pro problém se souborem vertexů s řízenou zpětnou vazbou // Journal of the ACM. - 2008. - T. 55 , no. 5 . - doi : 10.1145/1411509.1411511 .
- Gansner ER, Koutsofios E., North SC, Vo K.-P. Technika kreslení orientovaných grafů // IEEE Transactions on Software Engineering. - 1993. - T. 19 , vydání. 3 . - doi : 10.1109/32.221135 .
- Patrick Healy, Nikola S. Nikolov. Jak vrstvit orientovaný acyklický graf // Kresba grafu: 9. mezinárodní symposium, GD 2001 Vídeň, Rakousko, 23.–26. září 2001, Revised Papers. - Springer-Verlag, 2002. - T. 2265. - (Poznámky z přednášek z informatiky). - ISBN 978-3-540-43309-5 . - doi : 10.1007/3-540-45848-4_2 .
- Peter Eades, Sue Whitesides. Kreslení grafů ve dvou vrstvách // Teoretická informatika. - 1994. - T. 131 , no. 2 . - doi : 10.1016/0304-3975(94)90179-1 .
- Peter Eades, Nicholas C. Wormald. Křížení hran ve výkresech bipartitních grafů // Algorithmica. - 1994. - T. 11 , no. 4 . - doi : 10.1007/BF01187020 .
- Koncentrace Newbery FJ Edge: metoda pro shlukování orientovaných grafů // Proceedings of 2nd International Workshop on Software Configuration Management (SCM '89), Princeton, New Jersey, USA . - Asociace pro výpočetní techniku, 1989. - ISBN 0-89791-334-5 . doi : 10.1145 / 72910.73350 .
- David Eppstein, Michael T. Goodrich, Jeremy Yu Meng. Plynulé vrstvené výkresy // Proc. 12th Int. Symp. Grafická kresba (GD 2004) / Janos Pach. - Springer-Verlag, 2004. - T. 47. - (Poznámky z přednášek z informatiky). - doi : 10.1007/s00453-006-0159-8 .
- Mäkinen E. Experimenty s kreslením 2úrovňových hierarchických grafů // International Journal of Computer Mathematics. - 1990. - T. 36 , no. 3–4 . - doi : 10.1080/00207169008803921 .
- Vida Dujmovic, Henning Fernau, Michael Kaufmann. Opravené algoritmy parametrů pro minimalizaci jednostranného křížení byly znovu přezkoumány // Journal of Discrete Algorithms. - 2008. - T. 6 , no. 2 . - doi : 10.1016/j.jda.2006.12.008 .
- Ulrik Brandes, Boris Köpf. Kresba grafů (Vídeň, 2001). - Berlín: Springer, 2002. - T. 2265 . - ISBN 978-3-540-43309-5 . - doi : 10.1007/3-540-45848-4_3 .
- Markus Eiglsperger, Martin Siebenhaller, Michael Kaufmann. Efektivní implementace Sugiyamova algoritmu pro kreslení vrstvených grafů // Kreslení grafů, 12. mezinárodní symposium, GD 2004, New York, NY, USA, 29. září-2. října 2004, Revised Selected Papers. - Springer-Verlag, 2005. - T. 3383. - (Poznámky z přednášek z informatiky). — ISBN 978-3-540-24528-5 . - doi : 10.1007/978-3-540-31843-9_17 .
- Christian Bachmaier. Radiální adaptace rámce Sugiyama pro vizualizaci hierarchických informací // IEEE Transactions on Visualization and Computer Graphics. - 2007. - T. 13 , no. 3 . - doi : 10.1109/TVCG.2007.1000 . — PMID 17356223 .
- Lev Nachmanson, George Robertson, Bongshin Lee. Drawing Graphs with GLEE // Graph Drawing, 15. mezinárodní symposium, GD 2007, Sydney, Austrálie, 24.–26. září 2007, Revised Papers. - Springer-Verlag, 2008. - T. 4875. - (Poznámky z přednášek z informatiky). — ISBN 978-3-540-77536-2 . - doi : 10.1007/978-3-540-77537-9_38 .
- David Auber. Tulip – Obrovský rámec pro vizualizaci grafů // Software pro kreslení grafů / Michael Jünger, Petra Mutzel. - Springer-Verlag, 2004. - ISBN 978-3-540-00881-1 .
- Danil E. Baburin. Některé modifikace přístupu Sugiyama // Graph Drawing, 10. mezinárodní symposium, GD 2002, Irvine, CA, USA, 26.–28. srpna 2002, Revised Papers. - Springer-Verlag, 2002. - T. 2528. - (Poznámky z přednášek z informatiky). - ISBN 978-3-540-00158-4 . - doi : 10.1007/3-540-36151-0_36 .
- Seok-Hee Hong, Nikola S. Nikolov. Vrstvené nákresy orientovaných grafů ve třech rozměrech // Proceedings of 2005 Asia-Pacific Symposium on Information Visualization (APVis '05) . - 2005. - V. 45. - (Konference ve výzkumu a praxi v informačních technologiích). — ISBN 9781920682279 .
- Sergey Pupyrev, Lev Nachmanson, Michael Kaufmann. Zlepšení rozvržení vrstvených grafů pomocí sdružování okrajů // Kreslení grafů, 18. mezinárodní symposium, GD 2010, Konstanz, Německo, 21.–24. září 2010, Revised Selected Papers. - Springer-Verlag, 2011. - T. 6502. - (Poznámky z přednášek z informatiky). - ISBN 978-3-642-18468-0 . - doi : 10.1007/978-3-642-18469-7_30 .
- David Eppstein, Michael T. Goodrich, Jeremy Yu Meng. Plynulé vrstvené kresby // Algorithmica. - 2007. - T. 47 , no. 4 . - doi : 10.1007/s00453-006-0159-8 . - arXiv : cs/0507051 .
- Dujmović V., Fellows MR, Kitching M., Liotta G., McCartin C., Nishimura N., Ragde P., Rosamond F., Whitesides S. O parametrizované složitosti kreslení vrstvených grafů // Algorithmica . - 2008. - T. 52 , č. 2 . - doi : 10.1007/s00453-007-9151-1 .
- Richard Cole. Automatizované rozložení koncepčních mřížek pomocí vrstvených diagramů a aditivních diagramů // Australian Computer Science Communications. - 2001. - T. 23 , no. 1 . — ISBN 0-7695-0963-0 . - doi : 10.1109/ACSC.2001.906622 .
- Benno Schwikowski, Peter Uetz, Stanley Fields. Síť protein-proteinových interakcí v kvasinkách // Nature Biotechnology. - 2000. - T. 18 , no. 12 . - doi : 10.1038/82360 . — PMID 11101803 .