Stora nätverk blir en allmänt använd abstraktion för att studera komplexa system i en bred uppsättning discipliner, allt från social-nätverksanalys till molekylärbiologi och neurovetenskap. Trots ett ökande behov av att analysera och manipulera stora nätverk, är endast ett begränsat antal verktyg tillgängliga för denna uppgift. Här beskriver vi Stanford Network Analysis Platform (SNAP), ett allmänt, högpresterande system som ger enkel att använda, hög nivå verksamhet för analys och manipulation av stora nätverk. Vi presenterar SNAP-funktionalitet, beskriver dess genomförandedetaljer och ger resultatriktmärken. SNAP har utvecklats för enstaka stora minnesmaskiner, och det balanserar avvägningen mellan maximal prestanda, kompakt in-minne graf representation, och förmågan att hantera dynamiska grafer där noder och kanter läggs till eller tas bort med tiden. SNAP kan bearbeta massiva nätverk med hundratals miljoner noder och miljarder kanter. SNAP erbjuder över 140 olika grafalgoritmer som effektivt kan manipulera stora grafer, beräkna strukturella egenskaper, generera regelbundna och slumpmässiga grafer, och hantera attribut och metadata på noder och kanter. Förutom att kunna hantera stora grafer är ytterligare en styrka hos SNAP att nätverken och deras attribut är helt dynamiska; de kan ändras under beräkningen till låg kostnad. SNAP tillhandahålls som ett open-source-bibliotek i C++ samt en modul i Python. Vi beskriver också Stanford Large Network Dataset, en uppsättning sociala och information verkliga nätverk och dataset, som vi gör allmänt tillgängliga. Samlingen är en kompletterande resurs till vår SNAP-programvara och används i stor utsträckning för utveckling och benchmarking av grafanalysalgoritmer. Jure Leskovec och Rok Sosič. Vad är det som händer? SNAP: En general-purpose nätverksanalys och graf-mining bibliotek. Nätverksanalysverktyg förväntas uppfylla en uppsättning krav. De måste ge rik funktionalitet, genomföra ett brett spektrum av graf- och nätverksanalysalgoritmer. Implementeringar av grafalgoritmer måste kunna bearbeta grafer med hundratals miljoner noder. Grafer måste representeras i en kompakt form med ett litet minnesavtryck, eftersom många algoritmer är bundna av minnesgenomströmningen. Kraftfulla operatörer krävs för att ändra grafstrukturen, så att noder och kanter i en graf kan läggas till eller tas bort, eller nya grafer kan konstrueras från befintliga. Dessutom, för en bred systemadoption, är det önskvärt att källkoden är tillgänglig under en open-source licens. Även om det har varit en betydande mängd arbete på system för bearbetning och analys av stora grafer, inget av de befintliga systemen uppfyller de krav som beskrivits tidigare. I synnerhet forskning om grafbearbetning i storskaliga distribuerade miljöer [Gonzalez et al. Europaparlamentets och rådets förordning (EU) nr 182/2011 av den 16 februari 2011 om fastställande av allmänna regler och principer för medlemsstaternas kontroll av kommissionens utövande av sina genomförandebefogenheter (EUT L 55, 28.2.2011, s. Europaparlamentets och rådets förordning (EU, Euratom) nr 966/2012 av den 25 oktober 2012 om finansiella regler för unionens allmänna budget och om upphävande av rådets förordning (EG, Euratom) nr 1605/2002 (EUT L 298, 26.10.2012, s. 1). 2009; Salihoglu och Widom 2013; Xin et al. 2013 ] ger effektiva ramar, men dessa ramar implementerar bara en handfull av de vanligaste grafalgoritmer, vilket i praktiken inte är tillräckligt för att göra dessa verktyg användbara för utövare. På samma sätt finns det flera användarvänliga bibliotek som implementerar dussintals nätverksanalysalgoritmer [Batagelj och Mrvar 1998; Csardi och Nepusz 2006; Gregor och Lumsdaine 2005; Hagberg et al. 2008; O'Madadhain m.fl. 2005 ]............................................................................................................. Begränsningarna med dessa system är dock att de inte kan skalas till stora grafer, kan vara långsamma, svåra att använda, eller inte inkluderar stöd för dynamiska nätverk. Därför finns det ett behov av ett system som tar itu med dessa begränsningar och ger rimlig skalbarhet, är lätt att använda, implementerar många grafalgoritmer, och stöder dynamiska nätverk. Här presenterar vi Stanford Network Analysis Platform (SNAP), som var speciellt byggd med dessa krav i åtanke. SNAP är ett allmänt, högpresterande system som ger lättanvända, högnivåoperationer för analys och manipulation av stora nätverk. SNAP har utvecklats för single big-memory multiple-core maskiner; som sådan balanserar det avvägningen mellan maximal prestanda, kompakt in-memory graf representation, och förmågan att hantera dynamiska grafer där noder och kanter läggs till eller tas bort över tiden. SNAP erbjuder metoder som effektivt kan manipulera stora grafer, beräkna strukturella egenskaper, generera regelbundna och slumpmässiga grafer, och hantera attribut på noder och kanter. Förutom att kunna hantera stora grafer är ytterligare en styrka hos SNAP att nätverksstrukturen och attributen är helt dynamiska; de kan ändras under beräkningen via lågkostnadsoperationer. Totalt sett implementerar SNAP 8 graf- och nätverkstyper, 20 grafgenereringsmetoder/modeller, 20 grafmanipuleringsmetoder och över 100 grafalgoritmer, som totalt ger över 200 olika funktioner. Det har använts i ett brett spektrum av tillämpningar, såsom nätverksinferens [Gomez-Rodriguez et al. 2014 ], nätverksoptimering [Hallac et al. 2015], informationsspridning [Leskovec et al. 2009; Suen m.fl. 2013], community detection [Yang och Leskovec 2014] och geospatial nätverksanalys [Leskovec och Horvitz 2014]. SNAP tillhandahålls för större operativsystem som ett open-source bibliotek i C++ samt en modul i Python. Den släpps under BSD open-source-licensen och kan laddas ner från http://snap.stanford.edu/ snap. Som komplement till SNAP-programvaran underhåller vi också Stanford Large Network Dataset Collection, en omfattande uppsättning sociala nätverk och informationsnätverk med cirka 80 olika nätverksdataset. Samlingen omfattar sociala nätverk online med rik dynamik och nodattribut, kommunikationsnät, vetenskapliga citeringsnätverk, samarbetsnätverk, webbgrafer, Internetnätverk, onlinerecensioner samt data från sociala medier. Nätverksdatauppsättningarna kan erhållas på http://snap. stanford.edu/data.
Stanford Network Analysis Platform (SNAP) REF är ett allmänt, högpresterande system som ger lättanvända, högnivåoperationer för analys och manipulation av stora nätverk.
SNAP: A General-Purpose Network Analysis and Graph-Mining Library
{'venue': 'TIST', 'journal': None, 'mag_field_of_study': ['Computer Science', 'Physics', 'Medicine']}