Power Graph Visualization Algoritmer

Effektgrafvisualiseringsalgoritmer  er en klasse af grafvisualiseringsalgoritmer på en æstetisk tiltalende måde. Deres mål er at arrangere grafnoder i 2D- eller 3D-rum, så alle kanter er mere eller mindre lige lange, og at minimere antallet af kantskæringer ved at tildele kræfter til flere kanter og noder baseret på deres relative positioner, og derefter ved at bruge disse kræfter enten for at simulere bevægelsen af ​​kanter og noder eller for at minimere deres energi [2] .

Selvom visualisering af grafer kan være en vanskelig opgave, kræver kraftalgoritmer, som er fysiske modeller, normalt ikke særlig viden inden for grafteori, såsom grafplanaritet .

Tvinger

Tving grafvisualiseringsalgoritmer tildeler kræfter på et sæt kanter og knudepunkter på en graf . Det er almindeligt at bruge fjederlignende tiltrækningskræfter baseret på Hookes lov til at tildele kræfter til par af ender af en kant af en graf. Samtidig bruges frastødende kræfter, svarende til frastødningen af ​​elektrisk ladede partikler baseret på Coulombs lov , til at adskille alle par af noder. For at opnå en ligevægtstilstand for dette kraftsystem har kanterne en tendens til at få ensartede længder (pga. fjedres virkning), og de knudepunkter, der ikke er forbundet med en kant, har en tendens til at være placeret i en afstand fra hinanden (pga. virkningen af ​​frastødende kræfter). Tiltrækningskræfter (ribber) og frastødende kræfter (knuder) kan defineres ved hjælp af funktioner, der ikke er baseret på fjedres og partiklers fysiske opførsel. For eksempel bruger nogle kraftsystemer fjedre, hvis kræfter varierer logaritmisk snarere end lineært.

En alternativ model betragter fjederlignende kræfter for hvert par knudepunkter, hvor den ideelle længde af hver fjeder er proportional med afstanden i grafen mellem knudepunkter i og j , og der ikke anvendes frastødende kræfter. Minimering af forskellen (normalt kvadratet af forskellen) mellem euklidisk og ideel afstand mellem noder svarer til det multivariate skaleringsmetriske problem .

En kraftgraf kan bruge andre kræfter end mekaniske fjedre og ladningsfrastødningskræfter. En kraft svarende til tyngdekraften kan bruges til at trække hjørner mod et fast punkt i graftegningsrummet. Dette kan bruges til at reducere de forskellige forbundne komponenter i en afbrudt graf til en enkelt helhed, ellers ville disse dele flyve fra hinanden under påvirkning af frastødende kræfter. Det giver dig også mulighed for at få noder med en forbedret central position i figur [3] . Dette kan også påvirke afstanden mellem toppunkter i den samme tilsluttede komponent. Analoger af magnetiske felter kan bruges til rettede grafer. Frastødende kræfter kan placeres på både kanter og noder for at undgå overlapning eller næsten overlapning i den endelige tegning. I tegninger med buede kanter, såsom cirkulære buer eller splines , kan kræfter også placeres ved kontrolpunkterne for disse kurver, for eksempel for at forbedre vinkelopløsningen [4] .

Metoder

Når først kræfterne ved knudepunkterne og kanterne er bestemt, kan opførselen af ​​hele grafen under disse kræfter iterativt modelleres, som om det var et fysisk system. I en sådan situation forsøger de kræfter, der virker på noderne, at trække dem tættere på eller skubbe dem væk fra hinanden. Dette fortsætter, indtil systemet kommer til en tilstand af mekanisk ligevægt , dvs. nodernes position ændres ikke fra iteration til iteration. Positionen af ​​knuderne i denne ligevægtstilstand bruges til at generere tegningen af ​​grafen.

For kræfter defineret fra fjedre, hvis ideelle længde er proportional med afstanden i grafen, giver spændingsmajorisering en meget god opførsel (dvs. monoton konvergens ) [5] og en matematisk elegant måde at minimere denne forskel og dermed en god graftopplacering.

Du kan også bruge mekanismer, der leder efter energiminimum mere direkte, i stedet for efter en fysisk model. Sådanne mekanismer, som er eksempler på generelle globale optimeringsteknikker , inkluderer simuleret annealing og genetiske algoritmer .

Fordele

Følgende egenskaber er de vigtigste fordele ved kraftalgoritmer:

God kvalitet resultater I det mindste for mellemstore grafer (op til 50-500 toppunkter) har de opnåede resultater normalt meget gode grafmønstre for følgende kriterier: ensartethed af kantlængder, ensartet fordeling af toppunkter og symmetri. Det sidste kriterium er det vigtigste og sværeste at opnå i andre typer algoritmer. Fleksibilitet Force-algoritmer kan nemt tilpasses og udvides til yderligere æstetiske kriterier. Dette gør algoritmer til mere generelle klasser af grafvisualiseringsalgoritmer. Eksempler på eksisterende udvidelser er styrede grafalgoritmer, 3D-grafvisualisering [6] , clustergrafvisualisering, begrænset grafvisualisering og dynamisk grafvisualisering. Intuitivitet Da algoritmer er baseret på fysiske analoger af velkendte objekter som fjedre, er adfærden af ​​algoritmer relativt let at forudsige og forstå. Dette findes ikke i andre typer grafvisualiseringsalgoritmer. Enkelhed Typiske kraftalgoritmer er enkle og kan implementeres i nogle få linjer kode. Andre klasser af gengivelsesalgoritmer, såsom dem, der er baseret på ortogonale placeringer, kræver typisk meget mere arbejde. interaktivitet En anden fordel ved denne klasse af algoritmer er aspektet af interaktivitet. Ved at tegne grafens mellemstadier kan brugeren følge, hvordan grafen ændrer sig, og spore udviklingen fra et rodet rod til en flot konfiguration. I nogle interaktive graftegningsværktøjer kan brugeren slippe en eller flere noder fra ligevægtstilstanden og se noderne migrere til den nye ligevægtstilstand. Dette giver algoritmerne en fordel for dynamiske og online grafvisualiseringssystemer. Streng teoretisk støtte Mens simple kraftalgoritmer ofte optræder i litteraturen og i praksis (fordi de er relativt enkle og forståelige), begynder antallet af mere fornuftige tilgange at stige. Statistikere har løst lignende problemer i multidimensionel skalering ( MDS ) siden 1930'erne  , og fysikere har også en lang historie med at arbejde med relaterede problemer med at modellere bevægelsen af ​​n legemer , så der er ret modne tilgange. Som et eksempel kan stressmajoriseringstilgangen til metrisk MDS anvendes til grafvisualisering, i hvilket tilfælde monoton konvergens kan bevises [5] . Monotonisk konvergens, den egenskab, at algoritmen vil reducere stress eller omkostninger ved at placere toppunkter ved hver iteration, er vigtig, fordi den sikrer, at placeringen til sidst når et lokalt minimum, og algoritmen stopper. Dæmpning af svingninger får algoritmen til at stoppe, men garanterer ikke, at et sandt lokalt minimum vil blive nået.

Ulemper

De største ulemper ved kraftalgoritmer:

God arbejdstid Typiske kraftalgoritmer anses generelt for at have køretider svarende til O(n 3 ), hvor n er antallet af noder i inputgrafen. Det skyldes, at antallet af iterationer estimeres til O(n), og ved hver iteration er det nødvendigt at se på alle nodepar og beregne de gensidige frastødende kræfter. Dette svarer til N-kropsproblemet i fysik. Men da de frastødende kræfter er lokale af natur, kan grafen opdeles, så kun nabospidser tages i betragtning. De vigtigste teknikker, der bruges af algoritmer til at bestemme placeringen af ​​noder i store grafer, omfatter højdimensionelle indlejringer [7] , lagdelte repræsentationer og andre teknikker relateret til modellering af n-body-problemet . For eksempel kan FADE-metoden [8] baseret på Barnes-Hut -simuleringen forbedre køretiden til n*log(n) per iteration. Som et groft skøn kan du på få sekunder forvente at tegne maksimalt 1000 noder med standard n 2 teknikken per iteration og 100.000 med n*log(n) teknikken per iteration [8] . Force-algoritmer, når de kombineres med en lagdelt tilgang, kan tegne grafer med millioner af noder [9] . Dårlige lokale minima Det er let at se, at kraftalgoritmen giver en graf med minimal energi, især kan den kun være et lokalt minimum . Det fundne lokale minimum kan i mange tilfælde være væsentligt dårligere end det globale minimum, hvilket fører til en dårlig kvalitetsrepræsentation. For mange algoritmer, især dem, der kun tillader gradientnedstigningsbevægelse , kan det endelige resultat være stærkt påvirket af den oprindelige position, som genereres tilfældigt i de fleste tilfælde. Problemet med et dårligt lokalt minimum bliver særligt vigtigt, efterhånden som antallet af grafens toppunkter vokser. Kombination af forskellige algoritmer hjælper med at løse dette problem [10] . For eksempel kan man bruge Kamada-Kawai-algoritmen [11] til hurtigt at generere en acceptabel indledende placering, og derefter Fruchterman-Reinhold-algoritmen [12] til at forbedre positionen af ​​naboknuder. En anden teknik til at opnå et globalt minimum er at bruge en flerniveautilgang [13] .

Historie

Fremgangsmåder til visualisering af kraftgrafer går tilbage til Tutts arbejde [14] hvor han viste, at polyedriske grafer kan tegnes på et plan med konvekse flader ved at fiksere hjørnerne på den ydre flade af en plan graf, der er indlejret i en konveks position , og placere fjeder- som tiltrækkende kræfter på hver kant og tillade systemet at komme til en ligevægtstilstand [15] . I lyset af kræfternes simple natur kan systemet i dette tilfælde ikke sidde fast i et lokalt minimum, men konvergerer til en enkelt global optimal konfiguration. I lyset af denne artikel kaldes indlejringer af plane grafer med konvekse flader undertiden Tutt-indlejringer .

Kombinationen af ​​tiltrækkende kræfter af tilstødende hjørner af en graf og frastødende kræfter for alle knudepunkter blev først brugt af Eads [16] [17] . Et andet banebrydende arbejde med denne type styrkeplacering blev udgivet af Fruchterman og Reingold [18] . Ideen om kun at bruge fjederkræfter mellem alle par af hjørner med ideelle fjederlængder svarende til grafafstanden skyldes Kamada og Kawai [19] [11] .

Se også

  • Cytoscape , et biologisk netværksvisualiseringsprogram. Basispakken inkluderer kraftplaceringer som en af ​​de indbyggede metoder.
  • Gephi , interaktiv visualiserings- og udforskningsplatform til alle slags netværk og komplekse systemer, dynamiske og hierarkiske grafer.
  • Graphviz , et softwareværktøj, der implementerer en kraftplaceringsalgoritme på flere niveauer (blandt andre), der er i stand til at håndtere meget store grafer.
  • Tulip , et softwareværktøj, der implementerer de fleste kraftplaceringsalgoritmer (GEM, LGL, GRIP, FM³).
  • Prefuse

Noter

  1. Grandjean, 2015 , s. 109-128.
  2. Koburov, 2012 .
  3. Bannister, Eppstein, Goodrich, Trott, 2012 .
  4. Chernobelskiy, Cunningham, Goodrich, Kobourov, Trott, 2011 , s. 78-90.
  5. 1 2 de Leeuw, 1988 , s. 163-180.
  6. Vose, Aaron 3D Phylogenetic Tree Viewer . Hentet: 3. juni 2012.  (utilgængeligt link)
  7. Harel, Koren, 2002 , s. 207-219.
  8. 1 2 Quigley, Eades, 2001 , s. 197-210.
  9. Et galleri med store grafer . Hentet 22. oktober 2017. Arkiveret fra originalen 25. maj 2021.
  10. Collberg, Kobourov, Nagra, Pitts, Wampler, 2003 , s. 77-86; Ris. på side 212.
  11. 1 2 Kamada, Kawai, 1989 , s. 7-15.
  12. Fruchterman og Reingold 1991 , s. 1129-1164.
  13. http://jgaa.info/accepted/2003/Walshaw2003.7.3.pdf Arkiveret 12. august 2021 på Wayback Machine A Multilevel Algorithm for Force-Directed Graph-Drawing
  14. Tutte, 1963 .
  15. Tutte, 1963 , s. 743-768.
  16. Eades, 1984 .
  17. Eades, 1984 , s. 149-160.
  18. Fruchterman og Reingold 1991 , s. 1129-1164.
  19. Kamada, Kawai, 1989 .

Litteratur

  • Martin Grandjean. Introduction à la visualization de données, l'analyse de réseau en histoire // Geschichte und Informatik 18/19 . – 2015.
  • Stephen G. Kobourov. Spring Embedders og Force-Directed Graph Tegning Algoritmer . - 2012. - . - arXiv : 1201.3011 .
  • Bannister M. J, Eppstein MJ, Goodrich MT, Trott L. Kraftstyret graftegning ved hjælp af social tyngdekraft og skalering // Proc. 20. Int. Symp. graftegning. – 2012.
  • Chernobelskiy R., Cunningham K., Goodrich MT, Kobourov SG, Trott L. Force-directed Lombardi-stil graftegning // Proc. 19. symposium om graftegning . – 2011.
  • Jan de Leeuw. Konvergens af majoriseringsmetoden til flerdimensionel skalering // Journal of Classification. - Springer, 1988. - V. 5 , no. 2 . - S. 163-180 . - doi : 10.1007/BF01897162 .
  • David Harel, Yehuda Koren. Graftegning ved højdimensionel indlejring // Proceedings of the 9th International Symposium on Graph Drawing . - 2002. - S. 207-219. — ISBN 3-540-00158-1 .
  • Aaron Quigley, Peter Eades. FADE: Graph Drawing, Clustering, and Visual Abstraction // Proceedings of the 8th International Symposium on Graph Drawing . - 2001. - S. 197-210. — ISBN 3-540-41554-8 . Arkiveret 21. maj 2006 på Wayback Machine
  • Christian Collberg, Stephen Kobourov, Jasvir Nagra, Jacob Pitts, Kevin Wampler. Et system til grafbaseret visualisering af softwareudviklingen // Proceedings of the 2003 ACM Symposium on Software Visualization (SoftVis '03) . - New York, NY, USA: ACM, 2003. - S. 77-86; figurer på s. 212. - ISBN 1-58113-642-0 . doi : 10.1145 / 774833.774844 . Citat: For at opnå et æstetisk tiltalende graflayout er det nødvendigt at bruge modificerede Fruchterman-Reingold-kræfter, da Kamada-Kawai-metoden ikke giver tilfredsstillende resultater, men skaber et godt tilnærmet layout, hvorfra Fruchterman-Reingold-beregninger hurtigt kan "afslutte" layoutet.
  • Tutte WT Sådan tegner du en graf // Proceedings of the London Mathematical Society. - 1963. - T. 13 , no. 52 . - doi : 10.1112/plms/s3-13.1.743 .
  • Peter Eades. En heuristik til graftegning // Congressus Numerantium. - 1984. - T. 42 , no. 11 .
  • Thomas MJ Fruchterman, Edward M. Reingold. Graftegning efter tvangsrettet placering // Software – Praksis og erfaring. - Wiley, 1991. - T. 21 , no. 11 . - doi : 10.1002/spe.4380211102 .
  • Tomihisa Kamada, Satoru Kawai. En algoritme til at tegne generelle urettede grafer // Information Processing Letters. - Elsevier, 1989. - T. 31 , no. 1 . - doi : 10.1016/0020-0190(89)90102-6 .

Læsning for yderligere læsning

  • Giuseppe di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis. Graftegning: Algoritmer til visualisering af grafer. - Prentice Hall, 1999. - ISBN 978-0-13-301615-4 .
  • Tegning af grafer: metoder og modeller / Michael Kaufmann, Dorothea Wagner. - Springer, 2001. - (Lecture Notes in Computer Science 2025). - ISBN 978-3-540-42062-0 . - doi : 10.1007/3-540-44969-8 .

Link