NETZWERKANALYSE Clusteranalyse

Ähnliche Dokumente
Vorlesung 3 MINIMALE SPANNBÄUME

SPEKTRALE GRAPHENTHEORIE

Vorlesung 2 KÜRZESTE WEGE

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

15. Elementare Graphalgorithmen

Algorithmische Methoden zur Netzwerkanalyse

8 Diskrete Optimierung

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

ADS: Algorithmen und Datenstrukturen 2

Kombinatorische Optimierung

Algorithmen & Komplexität

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

2. Repräsentationen von Graphen in Computern

8. Übung zu Algorithmen I 15. Juni 2016

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Master Informatik

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

9.2 Invertierbare Matrizen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Vorlesung 4 BETWEENNESS CENTRALITY

12.4 Traveling Salesman Problem

Algorithmische Methoden zur Netzwerkanalyse

4 Greedy-Algorithmen (gierige Algorithmen)

Randomisierte Algorithmen 2. Erste Beispiele

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Grundlagen: Algorithmen und Datenstrukturen

Kombinatorische Optimierung

Komplexität von Algorithmen

Euklidische Distanzmatrizen. Andrei Grecu

Effiziente Algorithmen I

8.2 Invertierbare Matrizen

Wie Google Webseiten bewertet. François Bry

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Wiederholung zu Flüssen

Definition 7.1. Der Coxeter Graph zu W ist der ungerichtete gewichtete Graph Γ W = (V, E), mit Eckenmenge V und Kantenmenge E, gegeben durch V = und

7. Vorlesung. Bipartite Kerne Das kopierende Modell Bow-tie Struktur des Web Random Sampling von Web Seiten

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Grundbegriffe der Informatik

Vorkurs Mathematik B

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Algorithmen und Datenstrukturen 2

Routing Algorithmen. Begriffe, Definitionen

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

Kapitel 3. Konvergenz von Folgen und Reihen

Grundbegriffe der Informatik

Algorithmen II Vorlesung am

9. Übung Algorithmen I

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, Henning Meyerhenke

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Das Briefträgerproblem

Beziehungsmatrix. Jürgen Lerner

Informatik I: Einführung in die Programmierung

Bipartite Graphen. Beispiele

Aufgabe 24 Die Wahrheitswerte von A A B und B sind immer gleich:

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Grundlagen der Theoretischen Informatik

Quadtrees und Meshing

6 Eigenwerte und Eigenvektoren

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

16. All Pairs Shortest Path (ASPS)

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Graphenalgorithmen I

DATENSTRUKTUREN UND ALGORITHMEN

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Geradenarrangements und Dualität von Punkten und Geraden

Quicksort ist ein Divide-and-Conquer-Verfahren.

Lösungsvorschlag Serie 2 Rekursion

Übung zur Vorlesung Berechenbarkeit und Komplexität

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

ADS: Algorithmen und Datenstrukturen 2

11. Übung zu Algorithmen I 6. Juli 2016

PageRank-Algorithmus

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Kapitel 2: Matrizen. 2.1 Matrizen 2.2 Determinanten 2.3 Inverse 2.4 Lineare Gleichungssysteme 2.5 Eigenwerte 2.6 Diagonalisierung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Algorithmen II Vorlesung am

Seminar Graphenfärbung Greedy-Färbung und Verwandtes

Algorithmentheorie Maximale Flüsse

Transkript:

NETZWERKANALYSE Clusteranalyse 188 Clusteranalyse in Graphen Hier: Clusteranalyse = Clustering = Community Detection Bestimmung natürlicher Gruppen im Graphen Strukturierung des Chaos [http://espin086.files.wordpress.com/ 2011/02/2-variable-clustering.png?w=640] [http://www.colenbrander.com/images/ Afbeeldingen/Chaos-Structure2.jpg] 189

Anwendungsgebiete Marketing, Werbung (besonders online) Strukturvorhersage Expertensysteme Maschinelles Lernen, Data Mining, Mustererkennung,... Bildsegmentierung Bioinformatik... [http://spie.org/images/graphics/newsroom/imported/ 0016/16_fig1.jpg] 190 Algorithmenklassen Zahlreiche Algorithmen(klassen) Spektral Random Walks Greedy kombinatorisch Semidefinite Programmierung Label Propagation (manchmal: Peer Pressure)... 191

Clusterung, Cluster Definition: Sei G = (V, E) ein ungerichteter schlichter Graph. Eine Clusterung C = (C 1,..., C k ) ist eine Partition der Knotenmenge in nicht-leere disjunkte Teilmengen. Eine solche Teilmenge C i heißt Cluster. Lemma: Jede Clusterung C kann eindeutig durch die Äquivalenzrelation (reflexiv, symmetrisch, transitiv) u ~ C v:, 9 C i 2 C: u, v 2 C i beschrieben werden. Die Cluster C i entsprechen genau den Äquivalenzklassen. 192 Label Propagation Die wesentliche Idee [KG, S. 61] Idee: Clusternummer eines Knotens stimmt mit Mehrzahl seiner Nachbarn überein (eine akzeptable Startlösung vorausgesetzt) 193

Label Propagation (LP) Die Umsetzung Gegeben: Graph G = (V, E), N := V, M := E, initiale Clusterung C Gesucht: bessere Clusterung C Iteratives Vorgehen: Stimmabgabe: Jeder Knoten stimmt dafür, dass seine Nachbarn zum eigenen Cluster gehören Zuweisung: Für jeden Knoten: Nach der Berechnung aller Stimmabgaben Zuordnung zum Cluster mit den meisten Stimmen 194 Startlösung Option 1: Eine Runde Lubys MIS, Zuordnung der restlichen Knoten an nächstgelegenes MIS-Mitglied Option 2: Multilevel-Verfahren Rekursive Vergröberung des Graphen Startlösung auf dem groben Graphen berechnen Stufenweise Verbesserung während der Rückkehr aus der Rekursion Erfahrung zeigt: Hat ein Graph eine gute Cluster-Struktur, ist der Algorithmus robust gegenüber der Startlösung Option 3: Starten mit Ein-Knoten-Clustern (normal bei LP) 195

Prof. Dr. Henning Meyerhenke Fakultät für Informatik Beispiel [KG, S. 61] Diskussion (Übung): Was halten Sie von diesem Algorithmus? 196 3.1. Label Propagation Pseudocode von LP Algorithmus 19 : Label Propagation Input : G = (V, E) : Graph, : Konvergenz-Schranke Output : : V! N : Communities 1 for v 2 V do 2 (v) id(v) 3 4 5 6 7 8 9 10 11 12 13 14 15 updated V Vactive V while updated > do updated 0 for v 2 {u 2 VactiveP: deg(u) > 0} do l argmaxl { u2n (v): (u)=l!(v, u)} 45 // Initiale Clusterung // Stimmabgabe // Zuweisung if (v) 6= l then (v) l updated updated + 1 Vactive = Vactive [ N (v) else Vactive Vactive \ {v} return und lineare Algebra Hand in Hand Rechnen, Institut auffür Theoretische Bei einemgraphenalgorithmen kleinen Cluster ist es wahrscheinlich, dass dieser von einemparalleles anderen Cluster gesogen wird, wenn zu diesem mehrere Kanten existieren. Es ist in diesem Fall anwendungsabhängig, ob man diesen Effekt verhindern will oder nicht. Eine Möglichkeit, dieses Phänomen zu verhindern, besteht wiederum in der Normalisierung der Abstimmung, allerdings unter Berücksichtigung der Clustergröße. Dafür wird der Einfluss bzw. die Anzahl der Stimmen mit einem KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft Stärkeexponenten skaliert, genauer werden die ausgehenden Kantengewichte jedes Knotens durch die Größe seines Clusters, potenziert um einen Wert 0 p 1, geteilt. Der Exponent p kann während der Laufzeit verändert werden, um die Änderungen in Anzahl und Größe der Cluster widerzuspiegeln. 197 3.1.3. Komplexität 3.1.3.1. Raumkomplexität Werden die Stimmen als Liste an jedem Knoten verwaltet, so reichen insgesamt E Listeneinträge über alle Kanten gesehen, da jede Kante in jeder Iteration einmal Einfluss nehmen kann.

Problem unterschiedlicher Knotengrade Viele Netzwerke der realen Welt haben stark unterschiedliche Knotengrade (wichtig bei gerichteten Netzwerken!) Beispiele: Soziale Netzwerke Transportnetzwerke... Frage: Welche Auswirkung hat das auf den Algorithmus? Antwort: Manche Knoten haben extrem starken Einfluss (viele Stimmen) Mögliche Lösung: Normalisierung der Abstimmung 198 Kleine Cluster und Rauschen Was tun mit Knoten, die Grad 1 haben? Eigener Cluster? Zum Cluster des Nachbarn? Rauschen? Was passiert bei kleinen Clustern? Wenn mehrere Kanten zu einem größeren Cluster existieren, wird der kleine vermutlich aufgesogen. Will man das verhindern? Kommt auf die Anwendung an! Wiederum: Normalisierung der Abstimmung Diesmal: Normalisierung mit Clustergröße Einfluss (= Stimmen) wird mit einem Stärkeexponenten skaliert 199

Konfliktlösung Konflikt: Einfluss (= Stimmen) verschiedener Cluster gleich hoch Wähle den Cluster mit der kleinsten Nummer 200 Beispielrechnung (1) Initial: Jeder Knoten ist eigener Cluster Implizite Annahme hier: Jeder Knoten hat eine Schleife Grund: Einfluss auf sich selbst 201

Beispielrechnung (2) 202 Beispielrechnung (3) 203

Komplexität Raumkomplexität: Jede Kante kann höchstens einmal Einfluss nehmen. Wenn Stimmen als Liste gespeichert werden: Insgesamt höchstens M Listeneinträge Zeitkomplexität: Schleife zur Stimmabgabe: O(M) Zuweisung: O(M) Also: Pro Durchlauf O(M) Anzahl Durchläufe: Typischerweise O(1), wenn der Graph Clusterstruktur hat In dem Fall: Gesamtlaufzeit auch O(M) 204 Markov Clustering Ein alternativer Ansatz Basiert lose auf Random Walks Idee: Random Walks verbleiben wahrscheinlich lange in dichten Gebieten Markov-Matrix zum gerichteten Graphen: A: Gewichtete Adjazenzmatrix D: Diagonalmatrix der Spaltensummen M := AD -1 : Transitionsmatrix [http://espin086.files.wordpress.com/ 2011/02/2-variable-clustering.png?w=640] M ij : Wkt. des Übergangs von Knoten j nach Knoten i M ist spaltenstochastisch Achtung: Manchmal M := D -1 A, dann Zeilen und Spalten vertauscht! 207

Random Walk Random Walk startet auf beliebigem Knoten j RW wählt beliebigen Nachbarn i von j zufällig und gleichverteilt Fortsetzung des Prozesses auf i Initial: M(i, j) = A(i, j) / D(j, j), Wkt.verteilung p M*p ist Wkt.verteilung, die man erhält, indem man einen Knoten j gemäß p auswählt und dann zu einem zufällig gewählten Nachbarn von j geht [http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/ Random_walk_in2D_closeup.png/510px-Random_walk_in2D_closeup.png] 208 MCL: Markov Clustering Expansion: Matrix-Multiplikation (Wkt. des Übergangs in mehreren Schritten) mit Exponent e >= 2 (Parameter) Inflation: Verstärkung guter, Abschwächung schwacher Bindungen Einträge der Matrix werden punktweise mit Skalar r > 1 potenziert Normalisierung der Spalten (wieder spaltenstochastisch) MCL(C i, e, r) // Erster Aufruf mit C i := M, optional Schleifenwkt. > 0 C f := C e i // Expansion: Matrix-Matrix-Multiplikation C f := C f. r // Inflation: Punktweise Potenzierung w := C f.+ // : Spaltensummen C f := C f. 1/w // : Spaltennormalisierung if (C i == C f ) then return C f else return MCL(C f, e, r) 209

Beispiel [van Dongen, Kap. 5] 0 1 0.200 0.250 0.333 0.250 0.250 0.200 0.250 0.250 0.200 0.250 0.250 0.200 0.200 0.250 0.200 0.200 0.200 0.200 0.250 0.250 0.200 0.250 0.200 0.200 0.333 0.250 0.200 0.200 0.250 0.250 0.200 0.200 0.200 0.200 0.200 0.200 0.200 0.200 0.200 0.333 B0.200 0.333 0.250 0.250 C @ 0.200 0.200 0.200 0.200 0.333A 0.200 0.200 0.333 210 0 B M =TG 3 +I 0 1 0.380 0.087 0.027 0.077 0.295 0.201 0.320 0.047 0.347 0.210 0.017 0.150 0.019 0.066 0.012 0.012 0.014 0.210 0.347 0.056 0.150 0.016 0.046 0.009 0.009 0.027 0.087 0.302 0.062 0.184 0.143 0.143 0.083 0.058 0.210 0.210 0.056 0.406 0.083 0.046 0.009 0.019 0.009 0.142 0.017 0.295 0.083 0.184 0.113 0.069 0.017 0.062 0.097 0.333 0.012 0.147 0.017 0.069 0.175 0.049 0.016 0.287 0.143 0.143 0.083 0.017 0.175 0.012 0.184 0.288 0.288 0.278 0.246 0.017 0.019 0.295 0.201 0.320 B C @ 0.017 0.175 0.012 0.184 0.288 0.288 0.278A 0.044 0.046 0.120 0.120 0.278 2M 2,Mdefined in Figure 12 0 1 0.448 0.080 0.023 0.068 0.426 0.359 0.432 0.018 0.285 0.228 0.007 0.176 0.006 0.033 0.005 0.007 0.005 0.223 0.290 0.022 0.173 0.010 0.017 0.003 0.001 0.003 0.001 0.018 0.059 0.222 0.040 0.001 0.187 0.139 0.139 0.099 0.027 0.312 0.314 0.028 0.439 0.005 0.054 0.022 0.003 0.010 0.003 0.001 0.116 0.007 0.001 0.004 0.157 0.085 0.131 0.096 0.040 0.013 0.037 0.083 0.197 0.001 0.104 0.012 0.042 0.172 0.029 0.002 0.198 0.133 0.133 0.096 0.001 0.015 0.256 0.009 0.266 0.326 0.326 0.346 0.290 0.021 0.002 0.017 0.323 0.260 0.316 B C @ 0.001 0.015 0.256 0.009 0.266 0.326 0.326 0.346A 0.001 0.037 0.001 0.039 0.069 0.069 0.112 2( 2M 2 2M 2 ) 0 1 0.807 0.040 0.015 0.034 0.807 0.807 0.807 0.090 0.092 0.088 0.085 0.088 0.084 Graphenalgorithmen. und lineare. Algebra. Hand. in Hand... Paralleles. Rechnen, Institut für Theoretische B C 1 C B Beispiel B @ (Forts.) C A 0 1 0.807 0.040 0.015 0.034 0.807 0.807 0.807 0.090 0.092 0.088 0.085 0.088 0.084 0.001 0.001 0.032 0.001 0.032 0.031 0.031 0.031 0.777 0.798 0.786 0.001 0.005 0.005 0.005 0.005 0.003 0.001 0.001 0.003 0.003 0.003 0.001 0.024 0.024 0.024 0.024 0.024 0.002 0.472 0.001 0.472 0.472 0.472 0.472 B0.185 0.005 0.001 0.004 0.185 0.184 0.185 C @ 0.002 0.472 0.001 0.472 0.472 0.472 0.472A 0.001 0.001 0.001 0.001 ( 2 Squaring) iterated four times on M 0 1 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.500 0.500 0.500 0.500 0.500 B C @ 0.500 0.500 0.500 0.500 0.500A M 1 mcl 211

Konvergenzgeschwindigkeit Betrachten dafür Random Walks genauer... Hilfsmittel: Eigenwerte Eigenvektoren Spektrale Graphentheorie 212 Existenz der Eigenwerte und -vektoren EV und EW von M G verraten Strukturinfos über G Ungerichtete Graphen => Die meisten zugehörigen Matrizen sind symmetrisch; Problem: M im Allgemeinen nicht! Wdh.: Die Eigenvektoren einer symmetrischen Matrix M bilden eine orthonormale Basis. M hat n Eigenwerte (Mehrfachaufkommen mehrfach gezählt). Spektrale Zerlegung einer Matrix: Siehe Tafel Lösung: Verwendung der Matrix S := D -1/2 AD -1/2 = D -1/2 MD 1/2 i: M(D 1/2 z i ) = D 1/2 SD -1/2 D 1/2 z i = D 1/2 Sz i = D 1/2! i z i =! i (D 1/2 z i ) => M hat n reelle EW! i wie S, korrespondieren zu den EV D 1/2 z i 213

EV als Operatoren auf den Knoten EW und EV: Bieten Analyse für wiederholte Anwendung eines Operators auf einen Vektor Siehe Tafel Wichtig: Betrachte Vektor x als Funktion x: V! R Anwendung des Adjazenz-Operators A: Siehe Tafel Summe der Werte der Nachbarn Ähnlich zu Ausbreitungsprozess 214 Random Walks und Eigenwerte Satz: Ist G zusammenhängend und ungerichtet, dann hat der größte Eigenwert von M G = AD -1,! 1, die Vielfachheit 1, den Wert 1 und Eigenvektor d. Beweise: Übung Folgerung: Sei G wie oben und sei! n -1. Dann konvergiert der RW auf G gegen die Verteilung ¼ = d / Σ v d(v). Satz: Sei p t die Verteilung nach t Schritten bei Start auf a. Dann gilt für jeden Knoten b: p t (b) - ¼(b) (d(b)/d(a)) 1/2 (max{! 2,!n }) t Beweis: Ähnlicher Beweis folgt später bei Diffusion Intuitiv: RW überwinden Flaschenhälse nur schlecht 215

Eigenwerte und Zusammenhang Satz: Die Zahl der ZHK von G ist gleich der Häufigkeit des Eigenwerts 0 von L(G). Beweisskizze: Vollst. Induktion über Zahl k der ZHK k = 1: Quadratische Form: v T Lv = ½ Σ i,j w ij (v(i) v(j)) 2 => Jedes Summenglied ist 0, Knoten derselben ZHK haben gleich Wert in EV v => v ist konstanter Vektor k > 1: Reihenfolge der Knotenindizes beeinflusst EW nicht => Überführe L in Blockmatrizen und konstruiere analog zum vorigen Fall für jeden Block den entsprechenden EV 216 Eigenwerte und Konnektivität Def.: Partition Sei G = (V, E) ein ungerichteter Graph. Dann ist (V 1, V 2 ) mit V 1, V 2 V und V 1 Å V 2 = ; und V 1 V 2 = V eine Partition von G. V 1 V 2 Achtung: Zusammenhang nicht notwendig! Def.: Eine Partition (V 1, V 2 ) heißt balanciert, wenn V 1 V 2 1 gilt. Bei der Zerlegung in zwei Teile spricht man auch von einer Bipartition. 217

Eigenwerte und Bisektionsweite Def.: Schnitt Ext(V 1,V 2 ) = {{u,v} E; u V 1,v V 2 } ist die Menge der Kanten, die zwischen V 1 und V 2 verlaufen und heißt Schnitt der Partition. Def.: Bisektionsweite (Bisektionsbandbreite, bisection bandwidth) Sei G = (V, E) ein ungerichteter Graph. Die Bisektionsweite σ(g) ist definiert als: σ(g) = min{ Ext(V 1, V 2 ) ; (V 1, V 2 ) ist eine balancierte Partition von G} Satz: (Untere Schranke für ¾) ¾(G) n * 2 / 4 Beweis: Quadratische Form von L benutzen, s. Tafel! 218 Vergleich Lösungsqualität: MCL kann bei Tuning der Parameter Cluster verschiedener Granularität (bewirkt unterschiedliche Größen) erkennen LP erkennt nur Cluster feiner Granularität (lt. [KG, S. 68]) Raumkomplexität: MCL: Matrix füllt sich nach wenigen Operationen è O(N 2 ) LP: O(M) Laufzeit: MCL: Matrix-Matrix-Multiplikation pro Iteration LP: O(M) pro Iteration Konvergenz: MCL: Konvergiert (aber eher langsam) LP: Muss nicht konvergieren, tut dies aber meist schnell 219

Zwischenfazit 1 Konvergenzrate eines Random Walks bestimmt durch zweitgrößten Eigenwert (im Betrag) 2 ¾(G) 4/n, Folgerung: Ein Graph mit schlechtem Zusammenhang hat ein kleines 2 Ein RW konvergiert langsamer bei schlechtem Zusammenhang Eigenschaft lässt sich fürs Graphclustering ausnutzen Graphclustering: Identifizierung von dicht zusammenhängenden Teilgraphen mit wenigen externen Kanten Zahlreiche Anwendungen in verschiedenen Gebieten 220 Zwischenfazit 2 Label Propagation / Peer-pressure-Clustering: Geht von initialer Cluster-Approximation aus Idee: Die Mehrzahl meiner Nachbarn sind in demselben Cluster Konvergenz nicht garantiert, aber bei gutartigen Graphen in Experimenten gegeben Bei schneller Konvergenz (O(1) Runden) insgesamt schnell (O(M)) Operationen leicht darstellbar in Matrix-Vektor-Notation Qualität??? 221