Engineering Graph Clustering Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
Engineering Graph Clustering Algorithms zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Fakult¨at f¨ur Informatik des Karlsruher Instituts f¨ur Technologie (KIT) genehmigte Dissertation von Andrea Kappes aus Schw¨abisch Hall Tag der m¨undlichen Pr¨ufung: 28. April 2015 Erster Gutachter: Prof. Dr. Dorothea Wagner Zweiter Gutachter: Prof. Dr. Ulrik Brandes Acknowledgments First of all, I would like to thank my advisor Dorothea Wagner for giving me the possibil- ity to work in her group. Among many things, I am especially grateful for her patience, encouragement, and support during the last year, making it possible for me to finish my dissertation after my son was born. My work as a PhD student would have been much more cumbersome and boring without all of my former and current colleagues. In particular, I would like to thank all coauthors of my publications for the good discussions and fruitful cooperation. Special thanks go to Robert G¨orke for introducing me to the concepts behind graph clustering and teaching me how to write scientific texts. A big thank-you goes to Tanja Hartmann, Andreas Gemsa, and Markus V¨olker for proof-reading parts of this thesis and giving valuable feedback. Furthermore, I would like to thank Lilian Beckert, Elke Sauer, Bernd Giesinger and Rolf K¨olmel for their friendly help with administrative tasks and technical issues, Ulrik Brandes for willingly taking over the task to review this thesis, and David Bader for giving me the opportunity to visit his group at Georgia Tech. Finally, I would like to thank everyone that supported and encouraged me outside the office, especially my parents and my husband Andr´e. It is still a mystery to me how Andr´emanaged to find time to proof-read parts of this thesis somewhere in between changing diapers and cooking delicious meals to keep me well-nourished in the last phase of the write-up. Last but not least, thanks are due to my son Johann who always managed to brighten me up with his smiles and who reminded me from time to time what life is all about. iii Deutsche Zusammenfassung Netzwerke im Sinne von Objekten, die in Beziehung zueinander stehen, sind allge- genw¨artig. Paradebeispiele sind soziale Netzwerke, die Beziehungen zwischen Individuen modellieren, seien es Freundschaftsbeziehungen in Online-Communities wie Facebook oder Google+ oder pers¨onliche Netzwerke, die Freunde, Arbeitskollegen oder Familien- angeh¨orige verbinden. Aber auch in vielen anderen Zusammenh¨angen treten Netzwerke auf: Produkte k¨onnen miteinander gekauft werden, Proteine miteinander interagieren oder wissenschaftliche Publikationen andere Artikel zitieren, um nur einige Beispiele zu nennen. In vielen Bereichen kommt dabei dem Begriff einer dicht vernetzten Gruppe eine semantisch beachtenswerte Bedeutung zu. In den oben genannten Netzwerken k¨onnen solche Gruppen Freundeskreisen, Gruppen ¨ahnlicher Produkte, funktionellen Gruppen von Proteinen oder Wissenschaftsbereichen entsprechen. Auf einer abstrakten Ebene werden Netzwerke als Graphen modelliert und dicht vernetz- te Gruppen Cluster genannt. Grob gesprochen liegt dem Begriff Cluster zugrunde, dass der damit verbundene Teilgraph viele Kanten enth¨alt und es gleichzeitig wenige Kanten gibt, die Knoten im Cluster mit dem restlichen Graphen verbinden. Da dieses Paradig- ma vergleichsweise vage ist, existieren verschiedene Formalisierungen, die versuchen, die Gute¨ einer Clusterung zu quantifizieren. In der vorliegenden Arbeit werden im Wesentlichen zwei verschiedene Ans¨atze betrach- tet. Der erste bemisst Clusterungen anhand der der Dunne¨ der durch die Cluster in- duzierten Schnitte, w¨ahrend der zweite Ansatz sich mit der Optimierung des Maßes Surprise [5] besch¨aftigt. Schnittbasiertes Clustern. Eines der grundlegenden Probleme der Algorithmik ist die Bestimmung eines minimales Schnittes in einem Graphen, das heißt, einer Zerlegung des Graphen in zwei Teile, die mit einer minimalen Anzahl Kanten verbunden sind. Ein naiver Algorithmus zum Clustern von Graphen k¨onnte dies benutzen, um den Graphen iterativ anhand von minimalen Schnitten zu zerlegen, so dass m¨oglichst wenige Kanten getrennt werden. In der Praxis erweisen sich minimale Schnitte jedoch als problematisch, da diese oftmals nur einen oder weniger Knoten vom Rest des Graphen trennen. Des- halb empfehlen sich fur¨ Algorithmen zum Clustern von Graphen Maße, die die Gr¨oße der einzelnen Teile miteinbeziehen, wie die conductance, expansion oder density eines Schnittes. Aufbauend auf diesen Schnittmaßen k¨onnen konkrete Separiertheitsmaße de- finiert werden, die bemessen, wie gut die einzelnen Cluster voneinander getrennt sind; dies bringt allerdings mehrere Freiheitsgrade mit sich. Im ersten Teil der Arbeit werden systematisch alle m¨oglichen Kombinationen dieser Freiheitsgrade untersucht, was zu einer Familie von Maßen fur¨ die Separiertheit von v vi Clustern fuhrt.¨ Wir betrachten das generische Problem, die Separiertheit der Cluster zu optimieren und gleichzeitig eine Gutegarantie¨ an die Dichte der einzelnen Cluster nicht zu unterschreiten. Dazu wird eine agglomerative Heuristik fur¨ distanzbasiertes Clustern betrachtet [204], die in jedem Schritt zwei Cluster mit minimaler Distanz vereinigt und untersucht, inwieweit sich effiziente Algorithmen fur¨ diese Heuristik auf das Clustern von Graphen ubertragen¨ lassen. Um diese Frage zu beantworten, werden Eigenschaften identifiziert, die das dabei verwendete Gutemaߨ erfullen¨ muss und die betrachteten Maße im Hinblick auf diese Eigenschaften klassifiziert. Die Intuition hinter dem betrachteten Optimierungsproblem ist, dass die schnittbasier- ten Maße große Cluster bevorzugen, die nur durch wenige Kanten verbunden sind, wo- hingegen Garantien an die Dichte leichter durch die Erzeugung vieler kleiner Cluster zu erfullen¨ sind. Fur¨ alle vorgeschlagenen Maße wird untersucht, ob diese Intuition zu- treffend ist, indem uberpr¨ uft¨ wird, ob bei der Verwendung agglomerativer Heuristiken lokale Optima auftreten k¨onnen. Diese theoretischen Betrachtungen werden durch eine umfassende, empirische Studie erg¨anzt. Ein Vergleich der erw¨ahnten Heuristik mit einer zweiten Heuristik, die im We- sentlichen auf dem Verschieben von Knoten und Teilmengen von Knoten zwischen Clus- tern basiert, zeigt, dass die letztere oft zu besserer Qualit¨at fuhrt.¨ Im zweiten Teil der Experimente wird untersucht, wie sich die Wahl der verwendeten Maße fur¨ die Sepa- riertheit von Clustern und die Dichte der einzelnen Cluster auf die Anzahl der Cluster, die Clustergr¨oßenverteilung und das Verhalten in Hinblick auf synthetische Daten mit einer eingepflanzten Clusterstruktur auswirkt. Surprise. Einen anderen Ansatz zum Clustern von Graphen liefern Clustermaße, die auf einem Nullmodell basieren. Die Idee ist hierbei, zu einem gegebenen Graphen und ei- ner gegebenen Clusterung einen Zufallsgraphen auf derselben Knotenmenge zu betrach- ten, der einige Eigenschaften des Ausgangsgraphen beibeh¨alt. Nun wird die tats¨achliche Anzahl der Kanten innerhalb von Clustern mit demselben Wert auf dem Zufallsgraphen verglichen. Ist dieser Wert wesentlich h¨oher, als zu erwarten w¨are, ist die Clusterung gut an den Graphen angepasst. Ein Clustermaß, das auf diesem Prinzip basiert und das von einer Reihe oft benutzter Algorithmen optimiert wird, ist die Modularity einer Cluste- rung [173]. Ein verwandtes, relativ neues Maß ist Surprise, das die Wahrscheinlichkeit minimiert, dass mindestens so viele Kanten zuf¨allig innerhalb von Clustern erzeugt wer- den wie tats¨achlich beobachtet werden. Experimentelle Studien [5, 7, 8] liefern Indizien dafur,¨ dass dieses Maß einige der in letzter Zeit aufgekommenen Kritikpunkte an Mo- dularity wie den Hang zu uberm¨ ¨aßig großen Clustern in großen Graphen nicht zu teilen scheint. Der zweite Teil der Arbeit widmet sich sowohl der Komplexit¨at des Problems, eine Clus- terung mit optimaler Surprise zu finden als auch praktischen Algorithmen, um dieses Problem zu l¨osen. Aufbauend auf der Beobachtung, dass Optimall¨osungen bezuglich¨ Sur- prise immer Pareto-optimal bezuglich¨ der Maximierung der Anzahl der Kanten und der Minimierung der Anzahl der Knotenpaare innerhalb von Clustern ist, wird gezeigt, dass das assoziierte Entscheidungsproblem -vollst¨andig ist, Optimall¨osungen in Graphen NP mit konstanter Baumbreite jedoch mit polynomieller Laufzeit gefunden werden k¨onnen. Aus praktischer Sicht werden Methoden vorgeschlagen, die eine optimale L¨osung auf kleinen Instanzen mit Hilfe von ganzzahligen linearen Programmen berechnen, sowie Algorithmen betrachtet, die heuristisch gute L¨osungen fur¨ große Graphen finden. Beide vii Ans¨atze werden experimentell evaluiert und mit einer bereits bestehenden Metaheuris- tik [9] verglichen. Zus¨atzlich wird ein neues Clustermaß abgeleitet und diskutiert, das Eigenschaften von Modularity und Surprise miteinander kombiniert. Generierung von Testinstanzen. Wie bei allen algorithmischen Fragestellungen stellt sich bei der Evaluierung von Algorithmen zum Clustern von Graphen die Frage nach geeigneten Testinstanzen. Um die praktische Anwendbarkeit eines Algorithmus zu belegen, eignen sich hierzu in erster Linie Echtweltdaten aus verschiedenen Anwendungs- bereichen. Es gibt jedoch auch eine Reihe von Grunden,¨ die fur¨ die (zus¨atzliche) Verwen- dung von synthetischen Graphen sprechen. Synthetische Graphen k¨onnen ublicherweise¨ in jeder beliebigen Gr¨oße generiert werden, was hilfreich in Verbindung mit Skalier- barkeitsstudien ist. Weiterhin erm¨oglichen es Graphgeneratoren, einen Algorithmus