Réteges grafikon rajz
A réteges gráfrajz vagy hierarchikus gráfrajz egy gráfvizualizációs módszer , amelyben az irányított gráf csúcsait vízszintes sorokba vagy rétegekbe rajzolják, amelyek élei túlnyomórészt lefelé irányulnak [1] [2] [3] . Ez a gráfvizualizáció Sugiyama stílusaként ismert, Kozo Sugiyama után, aki először fejlesztette ki ezt a stílust [4] .
A réteges rajz ideális formája a felfelé irányuló síkrajz , amelyben minden él ugyanabba az irányba van orientálva, és egyetlen élpár sem metszi egymást. A gráfok azonban gyakran tartalmaznak ciklusokat, és az ellenkező irányba mutató élek számának minimalizálása NP-nehéz , csakúgy, mint a metszéspontok számának minimalizálása. Emiatt a réteges gráf-megjelenítő rendszerek jellemzően heurisztikus megközelítések sorozatát alkalmazzák, amelyek csökkentik az ilyen típusú hibákat, és megtalálják a legkevesebb hibával rendelkező mintát.
Elrendezési algoritmus
A grafikonok rétegenkénti megjelenítésének felépítése több szakaszban történik:
- Ha a bemeneti gráf még nem irányított aciklikus gráf , akkor definiálunk egy élkészletet, amelynek megfordítása aciklikussá teszi a gráfot. A lehető legkisebb ilyen élhalmaz megtalálása NP-teljes probléma a ciklusvágó élhalmaz megtalálásában , ezért itt gyakran használnak heurisztikus mohó algoritmust a pontos optimalizálási algoritmusok helyett [1] [2] [3] [5] [ 6] [7] . A probléma pontos megoldása egészszámú programozással fogalmazható meg [3] . Alternatív megoldásként, ha a hátrafelé lévő élek száma nagyon kicsi, akkor ezeket az éleket egy fix paraméterű feloldható algoritmus [8] segítségével találhatjuk meg .
- Az első lépésben kapott irányított aciklikus gráf csúcsai rétegekhez vannak rendelve, így minden ív fentről lefelé halad. Ennek a lépésnek a célja kis számú szint létrehozása, kis számú él elérése, amelyek nagyszámú rétegen mennek keresztül, és a csúcsok kiegyensúlyozott hozzárendelése a rétegek között [1] [2] [3] . Például Mirsky tétele szerint a csúcsok rétegenkénti eloszlása a leghosszabb út szerint , a legfelső csúcstól kezdve, minimális rétegszámú eloszlást ad [1] [3] . A Coffman-Graham algoritmus segítségével megkeresheti a rétegek közötti eloszlást a rétegenkénti csúcsok számának előre meghatározott korlátjával, és megközelítőleg minimalizálhatja a rétegek számát [1] [2] [3] . A legszélesebb réteg szélességének minimalizálásának problémája NP-nehéz, de megoldható elágazásos vagy heurisztikus közelítő algoritmusokkal [3] . Alternatív megoldásként az élek által átívelt rétegek teljes számának minimalizálásának problémája (a rétegben lévő csúcsok számának korlátozása nélkül) megoldható lineáris programozással [9] . Az egészszámú programozási eljárások , bár a számítási időt tekintve drágábbak, felhasználhatók az élminimalizálás kombinálására a csúcsok szintjénkénti számának korlátozásával [10] .
- A több réteget átívelő éleket további csúcsokkal rendelkező pályákra cseréljük, így e lépés után a kiterjesztett gráf minden íve összeköti a minta szomszédos rétegeinek két csúcsát [1] [2] .
- Kiegészítő (opcionális) lépésként két meglévő csúcsszint közötti élkoncentrációs szint (vagy metszésösszevonás) használható az ívsűrűség csökkentésére azáltal, hogy a teljes kétrészes részgráfokat csillagokra cserélik ezeken a hubokon keresztül [3] [11] [12] .
- Az egyes rétegeken belüli csúcsokat átrendezzük annak érdekében, hogy csökkentsék azoknak az íveknek a számát, amelyek összekötik őket az előző réteggel [1] [2] [3] . A kereszteződések minimális számának vagy keresztezések nélküli maximális ívhalmazának megtalálásának problémája NP-teljes, még akkor is, ha egyszerre egy réteget próbálunk rendezni [13] [14] , ezért általában a heurisztikához folyamodunk. módszerek, mint például az egyes csúcsok olyan pozícióba helyezése, amelyet az előző szinten lévő szomszédok pozícióinak átlaga vagy mediánja határoz meg, majd a szomszédos párok permutálása addig, amíg az ilyen permutációk csökkentik a metszéspontok számát [1] [2] [9] [14] [15] . Alternatív megoldásként a csúcsok sorrendje egy rétegben egy időben megválasztható egy olyan algoritmussal, amely fix-parametrikusan feloldható a réteg és az előző réteg metszéspontjainak számában [3] [16] .
- Minden csúcshoz hozzá van rendelve egy koordináta a rétegen belül, ami összhangban van az előző lépéssel [1] [2] . Ez a lépés magában foglalja további csúcsok beszúrását a két szomszéd közötti vonalba (a szükségtelen törések elkerülése érdekében ), és minden csúcsot a szomszédokhoz képest központi pozícióba helyezünk [3] . Sugiyama eredeti munkája az volt, hogy ezt a lépést másodfokú programozási problémaként fogalmazza meg . Brandes és Koepf későbbi módszere lineáris időben fut, és ívenként maximum két törést garantál [3] [17] .
- Az algoritmus első szakaszában megfordított íveket visszaállítjuk a kezdeti irányukba, a hozzáadott csúcsokat eltávolítjuk a gráfból, majd megrajzoljuk a csúcsokat és az éleket. A csúcsok és az ívek metszéspontjainak elkerülése érdekében a több réteget átívelő ívek sokszögű vonalakként vagy darabonkénti polinomgörbékként rajzolhatók meg további csúcsokon keresztül azokon a belső rétegeken, amelyeken az ív áthalad [1] [2] [9] .
Megvalósítások
A legegyszerűbb formájában a réteges gráf renderelő algoritmusok O( mn ) időt vehetnek igénybe n csúcsú és m élű gráfokon, mivel nagyszámú további csúcs hozható létre. Az algoritmus egyes változatainál azonban lehetőség van további csúcsok hatásának szimulálására anélkül, hogy azokat ténylegesen hozzáadnánk, ami az algoritmus közel lineáris végrehajtási idővel való megvalósításához vezet [18] .
A Graphviz csomag "DOT" leíró nyelve réteges reprezentációkat hoz létre [9] . A réteges gráf vizualizációs algoritmus a Microsoft automatikus gráfelrendezési könyvtárában [19] és a Tulip keretrendszerben [20] is megtalálható .
Változatok
Bár a rajzolás általában sorok csúcsaival és felülről lefelé haladó élekkel történik, a réteges gráfleképezési algoritmusok ehelyett képesek függőlegesen oszlopokba rendezni a csúcsokat, és balról jobbra rajzolni az éleket [21] . Ugyanez a keretrendszer használhat radiális elrendezést, ahol a csúcsok koncentrikus körökön helyezkednek el (valamilyen kezdeti csomópont középpontjában) [3] [22] , valamint 3D gráfrétegezést [3] [23] .
A nagyszámú hosszú ívű gráfok rétegenkénti megjelenítése esetén a káosz csökkenthető, ha az élkészleteket kötegekbe csoportosítjuk, és ugyanazon a további csúcsokon keresztül irányítjuk [24] . Hasonlóképpen, sok egymást metsző él megrajzolásához az egymást követő rétegpárok között a maximális kétrészes részgráfok élei összefüggő csomagokba csoportosíthatók [25] .
Azok az ábrák, amelyekben a csúcsok rétegekbe vannak rendezve, olyan algoritmusokkal készíthetők, amelyek nem követik Sugiyama sémáját. Például meg lehet állapítani, hogy egy irányítatlan gráf reprezentációja legfeljebb k metszésponttal és h réteggel rendelkezik-e polinomiális időben rögzített k és h értékek esetén , abból a tényből, hogy az ilyen ábrázolású gráfok korlátos útszélességgel rendelkeznek
[26 ] .
Fogalomrácsok rétegről rétegre történő rajzolásához hibrid megközelítés használható, amely Sugiyama megközelítését additív módszerekkel kombinálja (amelyben minden csúcs egy halmazt reprezentál, a csúcs pozíciója pedig a halmaz elemeit reprezentáló vektorok összege ). Ebben a hibrid megközelítésben az algoritmus csúcspermutációs és koordináta-hozzárendelési fázisait egyetlen lépéssel helyettesítjük, amelyben minden csúcs minden vízszintes helyzetét az adott csúcs skalárelemreprezentációinak összegeként választjuk ki [27] . Réteges gráf-vizualizációs technikákat alkalmaztak a teljesítménygráf-vizualizációs algoritmusok kezdeti helyének meghatározására [28] .
Jegyzetek
- ↑ 1 2 3 4 5 6 7 8 9 10 Di Battista, Eades et al., 1998 , p. 265–302.
- ↑ 1 2 3 4 5 6 7 8 9 Bastert, Matuszewski, 2001 , p. 87–120.
- ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Healy és Nikolov, 2014 , p. 409–453.
- ↑ Sugiyama, Tagawa, Toda, 1981 , p. 109–125.
- ↑ Berger és Shor 1990 , p. 236–243.
- ↑ Eades, Lin, Smyth, 1993 , p. 319–323.
- ↑ Eades, Lin, 1995 , p. 15–26.
- ↑ Chen, Liu, Lu és mtsai, 2008 , p. egy.
- ↑ 1 2 3 4 Gansner, Koutsofios, North, Vo, 1993 , p. 214–230.
- ↑ Healy, Nikolov, 2002 , p. 16-30.
- ↑ Newbery, 1989 , p. 76–85.
- ↑ Eppstein, Goodrich, Meng, 2004 , p. 184–194.
- ↑ Eades, Whitesides, 1994 , p. 361–374.
- ↑ 1 2 Eades, Wormald, 1994 , p. 379–403.
- ↑ Mäkinen, 1990 , p. 175–181.
- ↑ Dujmovic, Fernau, Kaufmann, 2008 , p. 313–323.
- ↑ Brandes, Köpf, 2002 , p. 31–44.
- ↑ Eiglsperger, Siebenhaller, Kaufmann, 2005 , p. 155–166.
- ↑ Nachmanson, Robertson, Lee, 2008 , p. 389–394.
- ↑ Auber, 2004 .
- ↑ Baburin, 2002 , p. 366–367.
- ↑ Bachmaier, 2007 , p. 583–594.
- ↑ Hong, Nikolov, 2005 , p. 69–74.
- ↑ Pupyrev, Nachmanson, Kaufmann, 2011 , p. 329–340.
- ↑ Eppstein, Goodrich, Meng, 2007 , p. 439–452.
- ↑ Dujmović, Fellows, Kitching et al., 2008 , p. 267–292.
- ↑ Cole, 2001 , p. 47–53.
- ↑ Schwikowski, Uetz, Fields, 2000 , p. 1257–126.
Irodalom
- Giuseppe Di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis. Digráfok réteges rajzai // Grafikonrajz: Algoritmusok gráfok megjelenítéséhez. - Prentice Hall , 1998. - ISBN 978-0-13-301615-4 .
- Oliver Bastert, Christian Matuszewski. Digráfok réteges rajzai // Rajzgrafikonok: módszerek és modellek. - Springer-Verlag, 2001. - T. 2025. - ( Számítástechnikai előadásjegyzetek ). - ISBN 978-3-540-42062-0 . - doi : 10.1007/3-540-44969-8_5 .
- Patrick Healy, Nikola S. Nikolov. Hierarchikus gráfrajz // Grafikonrajz és vizualizáció kézikönyve / Roberto Tamassia. – CRC Press, 2014.
- Kozo Sugiyama, Shôjirô Tagawa, Mitsuhiko Toda. Módszerek a hierarchikus rendszerstruktúrák vizuális megértéséhez // IEEE Transactions on Systems, Man, and Cybernetics . - 1981. - T. SMC-11 , sz. 2 . - doi : 10.1109/TSMC.1981.4308636 .
- Berger B., Shor P. Approximation algorithms for the maximum acyclic részgráf probléma // Proceedings of the 1st ACM-SIAM Symposium on Discrete Algorithms (SODA'90) . - 1990. - ISBN 9780898712513 .
- Eades P., Lin X., Smyth WF Gyors és hatékony heurisztika a visszacsatolási ívhalmaz problémájához // Information Processing Letters. - 1993. - T. 47 , sz. 6 . - doi : 10.1016/0020-0190(93)90079-O .
- Eades P., Lin X. Új heurisztika a visszacsatolási ívhalmaz problémájához // Australian Journal of Combinatorics. - 1995. - T. 12 .
- Jianer Chen, Yang Liu, Songjian Lu, Barry O'Sullivan, Igor Razgon. Rögzített paraméterű algoritmus az irányított visszacsatolási csúcskészlet problémájához // Journal of the ACM. - 2008. - T. 55 , sz. 5 . - doi : 10.1145/1411509.1411511 .
- Gansner ER, Koutsofios E., North SC, Vo K.-P. Irányított gráfok rajzolásának technikája // IEEE Transactions on Software Engineering. - 1993. - T. 19 , szám. 3 . - doi : 10.1109/32.221135 .
- Patrick Healy, Nikola S. Nikolov. Hogyan rétegezzünk irányított aciklikus gráfot // Grafikonrajz: 9. Nemzetközi Szimpózium, GD 2001 Bécs, Ausztria, 2001. szeptember 23–26., Revised Papers. - Springer-Verlag, 2002. - T. 2265. - (Számítástechnikai előadásjegyzetek). - ISBN 978-3-540-43309-5 . - doi : 10.1007/3-540-45848-4_2 .
- Peter Eades, Sue Whitesides. Grafikonok rajzolása két rétegben // Elméleti számítástechnika. - 1994. - T. 131 , sz. 2 . - doi : 10.1016/0304-3975(94)90179-1 .
- Peter Eades, Nicholas C. Wormald. Élkeresztezések bipartit gráfok rajzaiban // Algorithmica. - 1994. - T. 11 , sz. 4 . - doi : 10.1007/BF01187020 .
- Newbery FJ Edge-koncentráció: módszer az irányított gráfok klaszterezésére // Proceedings of the 2nd International Workshop on Software Configuration Management (SCM '89), Princeton, New Jersey, USA . - Számítógépek Szövetsége, 1989. - ISBN 0-89791-334-5 . doi : 10.1145 / 72910.73350 .
- David Eppstein, Michael T. Goodrich, Jeremy Yu Meng. Egybefolyó réteges rajzok // Proc. 12. Int. Symp. Grafikonrajz (GD 2004) / Pach János. - Springer-Verlag, 2004. - T. 47. - (Számítástechnikai előadásjegyzetek). - doi : 10.1007/s00453-006-0159-8 .
- Mäkinen E. Kísérletek kétszintű hierarchikus gráfok rajzolásával // International Journal of Computer Mathematics. - 1990. - T. 36 , sz. 3–4 . - doi : 10.1080/00207169008803921 .
- Vida Dujmovic, Henning Fernau, Michael Kaufmann. Javított paraméteres algoritmusok az egyoldali keresztezés minimalizálásához, újralátogatva // Journal of Discrete Algorithms. - 2008. - T. 6 , sz. 2 . - doi : 10.1016/j.jda.2006.12.008 .
- Ulrik Brandes, Boris Köpf. Grafikonrajz (Bécs, 2001). - Berlin: Springer, 2002. - T. 2265 . - ISBN 978-3-540-43309-5 . - doi : 10.1007/3-540-45848-4_3 .
- Markus Eiglsperger, Martin Siebenhaller, Michael Kaufmann. A Sugiyama-algoritmus hatékony megvalósítása réteges gráfrajzoláshoz // Graph Drawing, 12th International Symposium, GD 2004, New York, NY, USA, 2004. szeptember 29-október 2., Revised Selected Papers. - Springer-Verlag, 2005. - T. 3383. - (Számítástechnikai előadásjegyzetek). — ISBN 978-3-540-24528-5 . - doi : 10.1007/978-3-540-31843-9_17 .
- Christian Bachmaier. A Sugiyama keretrendszer sugárirányú adaptációja hierarchikus információk megjelenítésére // IEEE Transactions on Visualization and Computer Graphics. - 2007. - T. 13 , sz. 3 . - doi : 10.1109/TVCG.2007.1000 . — PMID 17356223 .
- Lev Nachmanson, George Robertson, Bongshin Lee. Grafikonok rajza GLEE-vel // Graph Drawing, 15th International Symposium, GD 2007, Sydney, Ausztrália, 2007. szeptember 24–26., Revised Papers. - Springer-Verlag, 2008. - T. 4875. - (Számítástechnikai előadásjegyzetek). — ISBN 978-3-540-77536-2 . - doi : 10.1007/978-3-540-77537-9_38 .
- David Auber. Tulipán – Hatalmas gráfvizualizációs keret // Grafikonrajzoló szoftver / Michael Jünger, Petra Mutzel. - Springer-Verlag, 2004. - ISBN 978-3-540-00881-1 .
- Danil E. Baburin. A Sugiyama megközelítés néhány módosítása // Graph Drawing, 10th International Symposium, GD 2002, Irvine, CA, USA, 2002. augusztus 26–28., Revised Papers. - Springer-Verlag, 2002. - T. 2528. - (Számítástechnikai előadásjegyzetek). - ISBN 978-3-540-00158-4 . - doi : 10.1007/3-540-36151-0_36 .
- Seok-Hee Hong, Nikola S. Nikolov. Irányított gráfok réteges rajzai három dimenzióban // A 2005-ös Asia-Pacific Symposium on Information Visualization (APVis '05) anyaga . - 2005. - V. 45. - (Információs technológiai kutatási és gyakorlati konferenciák). — ISBN 9781920682279 .
- Sergey Pupyrev, Lev Nachmanson, Michael Kaufmann. Réteges gráfelrendezések javítása élköteggel // Graph Drawing, 18th International Symposium, GD 2010, Konstanz, Németország, 2010. szeptember 21-24., Revised Selected Papers. - Springer-Verlag, 2011. - T. 6502. - (Számítástechnikai előadásjegyzetek). - ISBN 978-3-642-18468-0 . - doi : 10.1007/978-3-642-18469-7_30 .
- David Eppstein, Michael T. Goodrich, Jeremy Yu Meng. Összefolyó réteges rajzok // Algorithmica. - 2007. - T. 47 , sz. 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. On the parameterized complexity of layered graph drawing // Algorithmica . - 2008. - T. 52 , sz. 2 . - doi : 10.1007/s00453-007-9151-1 .
- Richard Cole. Fogalomrácsok automatizált elrendezése rétegdiagramok és additív diagramok segítségével // Australian Computer Science Communications. - 2001. - T. 23 , sz. 1 . — ISBN 0-7695-0963-0 . - doi : 10.1109/ACSC.2001.906622 .
- Benno Schwikowski, Peter Uetz, Stanley Fields. A fehérje-fehérje kölcsönhatások hálózata az élesztőben // Nature Biotechnology. - 2000. - T. 18 , sz. 12 . - doi : 10.1038/82360 . — PMID 11101803 .