Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 Meyerhenke, KIT –Henning Die Forschungsuniversität in der Institut für Theoretische Helmholtz-Gemeinschaft Algorithmische Methoden zur Netzwerkanalyse Informatik www.kit.edu Vorlesung 17 Programm des Tages: Übungsblätter 4 und 5 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Vorlesung 18 Programm des Tages: Clusteranalyse: N P -Schwere von Modularität Präsenzübung 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Inhalt Clusteranalyse Komplexität 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Modularität Komplexität Optimierung bzgl. Modularität ist streng N P -schwer Problem 1: M ODULARITY Gegeben ein Graph G und eine Zahl K , gibt es eine Clusterung C von G, für die q (C) ≥ K gilt? 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Modularität Komplexität Optimierung bzgl. Modularität ist streng N P -schwer Problem 1: M ODULARITY Gegeben ein Graph G und eine Zahl K , gibt es eine Clusterung C von G, für die q (C) ≥ K gilt? Problem 2: 3-PARTITION Seien 3k positive ganze Zahlen a1 , . . . , a3k derart gegeben, dass ∑3k i =1 ai = kb und b/4 < ai < b/2 für eine ganze Zahl b und alle i = 1, . . . , 3k . Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen in jeder Menge in der Summe b ergeben? Beispiel: Siehe Tafel! 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Vorüberlegungen zur Reduktion 3-PARTITION ist streng N P -vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P -vollständig ⇒ Kein Algorithmus kann das Problem entscheiden in einer Zeit, die polynomiell in der Summe der Eingabewerte ist (es sei denn, P = N P) Daher braucht unsere Transformation in der Reduktion auch nur pseudo-polynomiell zu sein 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Vorüberlegungen zur Reduktion 3-PARTITION ist streng N P -vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P -vollständig ⇒ Kein Algorithmus kann das Problem entscheiden in einer Zeit, die polynomiell in der Summe der Eingabewerte ist (es sei denn, P = N P) Daher braucht unsere Transformation in der Reduktion auch nur pseudo-polynomiell zu sein Zeigen: Instanz A = {a1 , . . . , a3k } von 3-PARTITION kann derart in Instanz (G (A), K (A)) von M ODULARITY transformiert werden, dass G (A) genau dann eine Clusterung C mit q (C ) ≥ K hat, wenn 3-PARTITION lösbar ist. 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Reduktion [Brandes et al., IEEE TKDE 2008] 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Hilfsresultate Lemma In einer Clusterung von G (A) mit maximaler Modularität wird keine der Cliquen H1 , . . . , Hk geteilt. Lemma In einer Clusterung von G (A) mit maximaler Modularität enthält jeder Cluster höchstens eine der Cliquen H1 , . . . , Hk . Lemma In einer Clusterung von G (A) mit maximaler Modularität besteht kein Cluster ausschließlich aus Element-Knoten. 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Hauptteil (1) Theorem (Brandes et al., IEEE TKDE 2008) M ODULARITY ist streng N P -vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q (C) ≥ K (A) ⇒ M ODULARITY ∈ N P Zum Beweis der Vollständigkeit: Transformation wie an Tafel beschrieben Aus A = {a1 , . . . , a3k } wird (G (A), K (A)) 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Hauptteil (1) Theorem (Brandes et al., IEEE TKDE 2008) M ODULARITY ist streng N P -vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q (C) ≥ K (A) ⇒ M ODULARITY ∈ N P Zum Beweis der Vollständigkeit: Transformation wie an Tafel beschrieben Aus A = {a1 , . . . , a3k } wird (G (A), K (A)) Notation: Sei deg(Ci ) = ∑v ∈Ci deg(v ) (manchmal auch als Volumen oder vol(Ci ) bezeichnet) 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Hauptteil (2) Beweis. Bestimmung von K (A): Betrachte Clusterung in G (A) mit genau k Clique-Clustern Da jede solche Clusterung genau (k − 1)a Inter-Cluster-Kanten hat: ∑ C ∈C m − (k − 1)a 2(k − 1)a 2k − 2 |E (C )| = = 1− = 1− m m ka(a + 1) k (a + 1) ⇒ Clusterung C = (C1 , . . . , Ck ) mit maximaler Modularität muss deg(C1 )2 + · · · + deg(Ck )2 minimieren. ⇒ Erfordert Aufteilung der Element-Knoten zwischen den Clustern, die so gleichmäßig wie möglich bzgl. der Summe der Knotengrade pro Cluster ist 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Komplexitätsbeweis Hauptteil (3) Beweis. Optimalfall (ausgeglichen): Jeder Cluster erhält Element-Knoten, deren Elemente ai sich zu b = 1/k · a aufsummieren Der Elementknoten zu ai hat Grad k · ai ⇒ Summe der Knotengrade der Element-Knoten in jedem Cliquen-Cluster: k · b = k · 1/k · a = a ⇒ deg(Ci ) = a2 + a für jeden Cliquen-Cluster Ci , i = 1, . . . , k ⇒ deg(C1 )2 + · · · + deg(Ck )2 ≥ k (a2 + a)2 = ka2 (a + 1)2 Gleichheit gilt nur, wenn eine Zuweisung von b an jeden Cluster möglich ist Fortsetzung an der Tafel 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität Fazit M ODULARITY ist streng N P -vollständig Daher häufig Heuristiken Local move: schnell, sehr gute Qualität Local merge: mittelschnell, mittelgute Qualität Exakte Methoden: sehr langsam, bestmögliche Qualität Weitere Methoden: LP-Relaxierung, spektrales Clustering 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse Komplexität