Cover Page The handle http://hdl.handle.net/1887/29764 holds various files of this Leiden University dissertation. Author: Takes, Frank Willem Title: Algorithms for analyzing and mining real-world graphs Issue Date: 2014-11-19 Samenvatting Dit proefschrift gaat over algoritmen voor het analyseren van netwerken, in de informatica vaak grafen genoemd. Een netwerk bestaat uit objecten (knopen) die met elkaar verbonden zijn door middel van links (takken). In tegenstelling tot synthetische grafen die doorgaans het resultaat zijn van het toepassen van een bepaald wiskundig model, ligt de nadruk hier op “real-world” grafen, waarmee wordt bedoeld dat de betreffende graaf is gebaseerd op verzamelde data uit een bestaand domein. Een voorbeeld is een online sociaal netwerk zoals Facebook, waarin personen met elkaar zijn verbonden door vriendschappen, of een webgraaf, een netwerk waarin internetpagina’s door middel van links naar elkaar verwijzen. Een ander voorbeeld is een netwerk van wetenschappers, waarin de onderlinge relaties tussen de wetenschappers bijvoorbeeld worden bepaald op basis van of zij elkaar citeren of co-auteurs zijn van een artikel (zie bijvoorbeeld Figuur 1.2 in Hoofdstuk 1). Alhoewel de grafen die in dit proefschrift worden bekeken van elkaar verschillen in termen van wat voor data zij representeren, toont de structuur van deze grafen verrassende overeenkomsten. Zo zijn “real-world” grafen doorgaans “sparse”, wat betekent dat het aantal takken van de graaf klein is ten opzichte van het maximale aantal takken. Desalniettemin bevatten dergelijke grafen vaak één grootste samenhangende component waarin doorgaans het merendeel (meer dan 99%) van de knopen zich bevindt. De distributie van de graad (het aantal buren van een knoop) over alle knopen van de graaf volgt vrijwel altijd een machtsfunctie met een lange staart, wat betekent dat er veel knopen zijn met een relatief lage graad, en enkele knopen met een hele hoge graad ver boven de gemiddelde graad. Deze knopen doen doorgaans dienst als zogenaamde “‘hubs”, die ondanks het feit dat de graaf “sparse” is, ervoor 160 Samenvatting zorgen dat de gemiddelde afstand tussen twee knopen klein is ten opzichte van totale het aantal knopen. Deze zogenaamde “small-world” eigenschap wordt vaak geassocieerd met “six degrees of separation”, een theorie uit de sociologie die zegt dat twee willekeurige personen doorgaans slechts zes handschuddingen van elkaar verwijderd zijn. Voor informatici ligt de uitdaging op het gebied van de analyse van grafen onder andere in het efficiënt opslaan, zoeken en rekenen in deze grafen met behulp van algoritmen. Hierbij zijn traditionele graafalgoritmen vaak niet praktisch inzetbaar. Zo wordt voor het berekenen van de afstand tussen twee knopen traditioneel het kortstepadalgoritme van Dijkstra ingezet, of Breadth First Search wanneer de graaf ongewogen is. Dergelijke algoritmen zijn echter te complex in termen van tijd en ruimte wanneer de graaf uit miljoenen knopen en misschien wel honderden miljoenen of miljarden takken bestaat, en er duizenden kortste paden per seconde berekend dienen te worden. Een veelgebruikte techniek om toch snel de afstand tussen twee knopen in een grote graaf te bepalen maakt gebruik van zogenaamde “landmarks” waarvoor de afstanden vooraf zijn uitgerekend en waarvia vervolgens kan worden genavigeerd wanneer de afstand tussen twee willekeurige knopen berekend dient te worden. In Hoofdstuk 5 worden manieren voor het selecteren van een dergelijke verzameling landmarks besproken, en blijkt dat zowel een gespreide ligging als een hoge centraliteit belangrijk zijn. De centraliteit van een knoop zegt iets over hoe centraal een knoop in de graaf ligt op basis van de structuur van de graaf. De meest simpele maat is “degree centrality”, een maat op basis van de graad van een knoop, waarbij er van uit wordt gegaan dat een knoop centraal ligt wanneer deze veel buren heeft. Deze maat is eenvoudig te berekenen, niet in de laatste plaats omdat grote grafen doorgaans niet als matrix maar als een lijst van knopen en buren (“adjacency list”) worden opgeslagen, waardoor het aantal buren eenvoudig afleesbaar is. Complexere centraliteitsmaten zoals “closeness centrality” en “betweenness centrality” kijken respectievelijk naar de gemiddelde afstand van een knoop tot alle andere knopen en naar het genormaliseerde aantal keren dat een knoop op een kortste pad voorkomt, maar zijn in tegenstelling tot “degree centrality” moeilijker om te berekenen. In webgrafen is PageRank een veelvoorkomende centraliteitsmaat. Deze techniek geeft een hogere centraliteitswaarde aan een pagina wanneer er een groot aantal andere pagina’s met een hoge centraliteit naar de betreffende pagina verwijzen. Deze maat wordt in de praktijk door zoekmachine Google gebruikt in de vorm van een waarde voor een webpagina tussen 0 (niet belangrijk) en 10 (zeer belangrijk). In Hoofdstuk 6 worden diverse centraliteitsmaten toegepast op de vriendschapsgraaf van een groot Nederlands online sociaal netwerk, en blijkt dat voor het vinden de prominente personen binnen dit netwerk zowel de graad van een persoon als het Samenvatting 161 genormaliseerde aantal driehoeksrelaties van de vrienden van een persoon een rol speelt. Waar kortste paden en centraliteitsmaten doorgaans een eigenschap van één of enkele knopen berekenen, zijn er ook maten die iets zeggen over de volledige graaf. Een dergelijke maat is de diameter: de maximale afstand tussen twee knopen ofwel de lengte van een langste kortste pad in de graaf. De diameter kan worden gezien als een worst-case maat van afstand, en zegt bijvoorbeeld iets over hoe informatie zich in het ergste geval verspreidt binnen een netwerk. Een naı̈eve manier om de diameter te berekenen is door middel van het “All Pairs Shortest Path” algoritme, wat voor ieder paar knopen de onderlinge afstand berekent. De hoogst gevonden waarde is vervolgens de diameter. Deze methode is kwadratisch in het aantal knopen en takken en derhalve niet praktisch inzetbaar in het geval van de grote grafen die in dit proefschrift worden bestudeerd. In Hoofdstuk 2 wordt een nieuw algoritme geı̈ntroduceerd wat in staat is om de diameter van een gegeven graaf veel sneller te bepalen door slim gebruik te maken van onder- en bovengrenzen per knoop en voor de graaf in het geheel. Dit zorgt ervoor dat er niet zoals bij de bovengenoemde methode op basis van het APSP algoritme voor iedere knoop een Breadth First Search berekening uitgevoerd dient te worden, maar dat met slechts enkele tientallen berekeningen en wat “book-keeping” de diameter exact bepaald kan worden. Een alternatieve manier om de bovengenoemde diameter te definiëren, is door te zeggen dat de diameter gelijk is aan de maximale eccentriciteit over alle knopen. De eccentriciteit van een knoop is de lengte van een langste kortste pad van die knoop naar een andere knoop. In Hoofdstuk 3 wordt zowel een exact algoritme als een slimme afschattende methode gepresenteerd om de eccentriciteit van alle knopen in een graaf te berekenen. De bovengenoemde methode kan tevens worden ingezet om andere zogenaamde extreme afstandsmaten te berekenen. Voorbeelden zijn de straal (minimale eccentriciteit over alle knopen), het centrum (de verzameling knopen met een eccentriciteit gelijk aan de straal) en de periferie (de verzameling knopen met een eccentriciteit gelijk aan de diameter) van een graaf (zie Hoofdstuk 4). Naast de hierboven beschreven algoritmen voor het berekenen van eigenschappen van (de knopen van) een graaf, zijn er voor informatici bij grote grafen ook uitdagingen op het gebied van data mining. Data mining heeft veelal als doel om kennis of informatie te verkrijgen uit data, en de gebruikte methoden zijn doorgaans in te delen in voorspellende en beschrijvende technieken. Voorspellende data miningtechnieken hebben als doel het voorspellen van bepaalde attributen van (groepen van) objecten in de data. In Hoofdstuk 7 wordt gekeken naar een dataset van door gebruikers gegeneerde klikpaden in het informatienetwerk van de online encyclopedie Wikipedia. Daarbij ligt de nadruk op het bepalen van de moeilijkheid voor een gebruiker van het vinden van een bepaalde doelpagina door 162 Samenvatting het klikken op de links die aanwezig zijn in de diverse Wikipedia-artikelen. Een analyse van meer dan twee miljoen klikpaden toont aan dat lokale eigenschappen van de doelpagina voldoende in staat zijn om met hoge precisie te bepalen hoe moeilijk het voor een gebruiker is om een bepaalde pagina te vinden. Beschrijvende data miningtechnieken proberen doorgaans om de informatie die zich in data bevindt naar boven te krijgen, bijvoorbeeld door te zoeken naar patronen die niet direct zichtbaar zijn door de data handmatig te inspecteren. In Hoofdstuk 8 wordt gekeken naar de individuele pagina’s binnen de eerder genoemde verzameling klikpaden in Wikipedia, en wordt gekeken hoe de verzameling van knopen die door gebruikers frequent wordt gebruikt om door het netwerk te navigeren verschilt van een verzameling die is geselecteerd met behulp van eerdergenoemde centraliteitsmaten. Het blijkt dat de door gebruikers geselecteerde verzameling pagina’s beter helpt om efficiënt door het netwerk te navigeren, dan een verzameling die geselecteerd is met behulp van een centraliteitsmaat. De toenemende hoeveelheid data die tegenwoordig wordt gegenereerd kan vaak worden gemodelleerd als een graaf. Voor informatici is er vervolgens een uitdaging weggelegd om deze data efficiënt te analyseren en om er geautomatiseerd informatie en kennis uit te extraheren. Door slim te kijken naar de eigenschappen van de graaf en de complexiteit van diverse methoden en technieken, is het vaak zonder een enorme hoeveelheid brute rekenkracht of gespecialiseerde hardware mogelijk om het gewenste resultaat te bereiken.