Algorithmische Methoden zur Netzwerkanalyse - Prof. Dr

Werbung
Algorithmische Methoden zur
Netzwerkanalyse
Prof. Dr. Henning Meyerhenke
Institut für Theoretische Informatik
1
Institutund
für Theoretische
KIT –Henning
Universität desMeyerhenke,
Landes Baden-Württemberg
nationales
Forschungszentrum
in der Helmholtz-Gemeinschaft
Algorithmische
Methoden
zur Netzwerkanalyse
Informatik
www.kit.edu
Vorlesung 1
Programm des Tages:
Gradzentralität und -verteilung
Kernzahl und k -Kern-Zerlegung
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Grundlegende Netzwerkeigenschaften
Knotenzentralität:
“Wie viele Leute kenne ich?”
Kernzahl:
“Wie gut bin ich vernetzt?”
Clusterkoeffizient:
“Der Freund meines Freundes ist mein Freund”
Zusammenhangskomponenten:
“Wer kann wen erreichen?”
Distanzen und Durchmesser:
“Wie viele Hops brauche ich dafür?”
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Inhalt
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Gradzentralität
Knotengradfolgen und -verteilungen
k -Kerne im Graphen
Grundlagen
Struktur der Kernzerlegung
Berechnung der Kernzerlegung
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Grundlagen:
Multimenge, Kardinalität
Definition (Multimenge, Kardinalität)
Eine Menge E zusammen mit einer Vielfachheit #E : E → N0 ihrer
Elemente heißt Multimenge.
Ihre Kardinalität ist
| E | = ∑ #E ( e ) .
e ∈E
Kurzschreibweise:
Beispiel: {1, 1, 2, 5, 3, 1, 2, 5}
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
#e für #E (e )
e ∈k E falls e ∈ E und # = k
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Grundlagen:
Graph, Multigraph
Definition (Graph, Multigraph)
Ein mglw. gerichteter Graph [Multigraph] ist ein Paar G = (V , E ) aus
einer endlichen Menge V von Knoten und einer Menge [Multimenge]
E ⊆ V × V von Kanten.
Kanten der Form {(v , v )|v ∈ V } heißen Schleifen.
Kanten e ∈ E in einem Multigraphen mit #e > 1 heißen Multikanten.
Definition (Schlichtheit)
Ein Graph ist schlicht (simple), wenn er weder Schleifen noch
Multikanten hat.
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Beispiel
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Inhalt
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Gradzentralität
Knotengradfolgen und -verteilungen
k -Kerne im Graphen
Grundlagen
Struktur der Kernzerlegung
Berechnung der Kernzerlegung
8
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Gradzentralität
Knoten-Zentralitätsmaß
Definition
Ein Knotenzentralitätsmaß für ein Netzwerk G = (V , E ) ist eine Funktion
c : V → R,
die jedem Knoten v ∈ V einen reellen Wert zuweist.
Allgemeiner kann man auch auf einen Attributwert auf einer geeigneten
Skala abbilden, die eine Rangordnung ermöglicht.
Abhängigkeit von der Position
Der zugewiesene Wert hängt von der Position des Knotens v in G ab, die
sich aus einer Teilmenge der Kanten E 0 ⊆ E ergibt.
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Gradzentralität
Knotengrad – “Wie viele Leute kenne ich?”
Definition (Knotengrad)
Sei ~
G = (V , ~E ) ein gerichteter Multigraph und sei v ∈ V .
Dann heißen
deg~− (v ) = deg− (v ) = ∑(u ,v )∈~E #(u , v )
G
deg~+ (v ) = deg+ (v ) = ∑(v ,w )∈~E #(v , w )
G
−
+
deg~G (v ) = deg(v ) = deg (v ) + deg (v )
von v .
Eingangsgrad
Ausgangsgrad
Knotengrad (oder Grad)
Falls G ein ungerichteter Multigraph ist, dann definieren wir den
(ungerichteten) Grad von v als
degG (v ) = deg(v ) =
∑
#{v , w } + 2 · #{v , v }
{v ,w }∈E ,v 6=w
Beispiel: Siehe Tafel!
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Gradzentralität
Grundlegende Resultate
Lemma
Jeder schlichte ungerichtete Graph mit mindestens zwei Knoten enthält
zwei Knoten gleichen Grades.
Lemma (handshake lemma)
In (gerichteten wie ungerichteten) Multigraphen mit m Kanten gilt:
∑
deg(v ) = 2m
v ∈V
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Gradzentralität
Grad-Zentralität
Definition
Die Grad-Zentralität weist jedem Knoten v ∈ V die Zahl seiner inzidenten
Nachbarn zu:
DC : V → N, v 7→ deg(v ).
Beispiel: Siehe Tafel!
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Gradzentralität
Inhalt
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Gradzentralität
Knotengradfolgen und -verteilungen
k -Kerne im Graphen
Grundlagen
Struktur der Kernzerlegung
Berechnung der Kernzerlegung
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Gradfolgen
Definition (Gradfolge)
Gegeben sei ein gerichteter oder ungerichteter Multigraph G = (V , E )
mit Knotenmenge V = {v1 , . . . , vn }.
Die Folge
D (G ) = (deg− (v1 ), deg+ (v1 ), . . . , deg− (vn ), deg+ (vn ))
des gerichteten bzw.
D (G ) = (deg(v1 ), . . . , deg(vn ))
des ungerichteten Multigraphen G heißt dessen Gradfolge.
Beispiel: Siehe Tafel!
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Gradverteilung
Definition
Die Gradverteilung eines Graphen G = (V , E ) ist eine Funktion
dd :{0, . . . , n − 1} → {0, . . . , n},
d 7→ |{v ∈ V : deg(v ) = d }|
(1)
(2)
Sie misst demnach die absolute (alternativ: relative) Häufigkeit jedes
möglichen Gradwertes.
Selbstübung: Formulierung für Multigraphen
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Beispiele für Gradverteilungen:
Konstant
Beispiel (siehe Tafel): 2D-Torus
Gradfolge ist konstant (alle Grade gleich)
Gitternetze: Häufig geringe Abweichungen, Knotengrade konstant in
der Eingabegröße (aber nicht alle gleich!)
16
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Beispiele für Gradverteilungen:
Power-law
Gradverteilung im afrikanischen WWW
Zahl der URLs mit Eingangsgrad i ist proportional zu i α für eine
Konstante α < 0
Solche Verteilungen nennt man Power-law-Verteilungen (Beispiel für
heavy-tail distribution)
Netzwerke mit einer solchen Gradverteilung bezeichnet man als
skaleninvariant
Achsen sind vertauscht! [http://www2002.org/CDROM/poster/164/]
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Fazit und Ausblick
Fazit
Gradverteilung wichtige strukturelle Eigenschaft eines Netzwerks
Gitternetze haben meist “einfache” Gradverteilungen
Komplexe Netzwerke sind meist skaleninvariant
(Power-law-Gradverteilung)
Ausblick
Mehr zu Gradfolgen,
insbesondere zur Generierung von Graphen mit bestimmten Gradfolgen,
im Abschnitt Netzwerkmodelle und Generatoren
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
Knotengradfolgen und -verteilungen
Inhalt
Knotenzentralitätsmaße
Wiederholung von Grundlagen
Gradzentralität
Knotengradfolgen und -verteilungen
k -Kerne im Graphen
Grundlagen
Struktur der Kernzerlegung
Berechnung der Kernzerlegung
19
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
k -Kerne im Graphen
Motivation
Grad eines Knotens alleine unzureichend als Maß der Verbundenheit
zum Graphen
Ein robusteres Maß ist die k -Kern-Struktur
Interpretierbar als geschachtelte Zerlegung, die Teile des Graphens
anhand ihrer Dichte zerlegt
Ermöglicht:
Identifikation zentraler Teile eines Netzwerks
Herausfiltern unwichtiger Teile
Literaturhinweise
M. Baur, M. Gaertler, R. Görke, M. Krug, D. Wagner: Augmenting k-Core Generation with Preferential
Attachment. Networks and Heterogeneous Media, 3(2):277-294, June 2008.
V. Batagelj and M. Zaversnik: Fast algorithms for determining (generalized) core groups in social
networks. Advances in Data Analysis and Classification, 5(2):129–145.
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
k -Kerne im Graphen
Definitionen (1)
Definition
Eine geschachtelte Zerlegung eines schlichten ungerichteten Graphen
G = (V , E ) ist eine endliche Folge (V0 , . . . , Vk ) von Teilmengen der
Knoten mit folgenden Eigenschaften:
V0 = V
Vi +1 ⊂ Vi für 0 ≤ i < k
Vk 6 = ∅
Definition
Der i-Kern von G ist der eindeutige Teilgraph, den man erhält, indem
man nacheinander alle Knoten mit Grad < i entfernt.
21
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Beispiel
[Baur et al., 2008]
22
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
k -Kerne im Graphen
Definitionen (2)
Definition
Der i-Kern ist die Menge aller Knoten mit mindestens i Nachbarn, die
auch zum i-Kern gehören.
Definition
Der Kern, Core(G ), von G ist der nichtleere k -Kern mit maximalem k .
Definition
Ein Knoten v hat die Kernzahl (coreness) i, wenn v zum i-Kern gehört,
aber nicht zum (i + 1)-Kern.
Definition
Die i-Schale von G besteht aus allen Knoten mit Kernzahl i.
23
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Beispiel
[Baur et al., 2008]
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Kernzahl als Zentralitätsmaß
Definition
Das Zentralitätsmaß CoreCentrality (CoreC) ordnet jedem Knoten seine
Kernzahl zu.
Bedeutung: Wichtigkeit des Knotens aufgrund seiner Vernetzung,
Berücksichtigung der Wichtigkeit von Knoten der “Umgebung”
25
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Agenda
Sequentielle Berechnung der Kern-Zerlegung
Parallele Berechnung der Kern-Zerlegung
Übung: Schranken zur Größe des i-Kerns
26
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Untere Schranken
Lemma
Sei G = (V , E ) ein Graph,
(V0 , . . . , Vk ) seine Kern-Zerlegung und
Gi := (Vi , Ei ) := G [Vi ] sein i-Kern.
Dann lässt sich die Größe jedes i-Kerns beschränken durch:
i + 1 ≤ | Vi |
27
and
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
(i + 1)i
≤ | Ei | .
2
(3)
Knotenzentralitätsmaße
k -Kerne im Graphen
Obere und untere Schranken
Lemma
Sei ni := |Vi \Vi +1 | die Zahl der Knoten in der i-Schale.
Sei mi := |Ei \Ei +1 | die Anzahl der Kanten, die zu einem Knoten mit
Kernzahl i und zu einem Knoten mit Kernzahl j ≥ i inzident sind.
Per Definition: Vk +1 := ∅, Ek +1 := ∅.
Dann lässt sich die Größe der i-Schale beschränken durch:
, if ni > i
d i ·2ni e
(n2i ) + ni (i − ni + 1) , if ni ≤ i
0≤
)
≤
ni ≤ | V |
(
i · ni
mi ≤
i · ni −
(4)
, if i < k
i (i +1)
2
, if i = k
(5)
Beweis: Siehe Tafel!
28
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Algorithmus
Algorithm 1 Berechnung der Kernzerlegung eines Graphen
1: function C ORE D ECOMPOSITION(G = (V , E ))
2:
Output: Kernzahl k des Kerns von G und Feld core mit Kernzahl jedes
Knotens
3:
Speichere die Knotengrade für alle Knoten in degree
4:
i←0
5:
while V 6= ∅ do
6:
i ← i +1
7:
for each v ∈ V mit degree [v ] < i do
8:
core [v ] ← i − 1
9:
for each u ∈ N (v ) do
10:
degree [u ] ← degree [u ] − 1
11:
end for
12:
Entferne v aus G
13:
end for
14:
end while
15:
return (i − 1, core )
16: end function
29
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Beispiel
[Baur et al., 2008]
30
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Korrektheit
Theorem
Der Algorithmus C ORE D ECOMPOSITION
berechnet bei Eingabe eines Graphen G = (V , E )
die Kernzahl von G und
seine k-Kern-Zerlegung mit core [v ] = Kernzahl von v .
Beweis: Übung!
Zur Erinnerung:
Der i-Kern von G ist der eindeutige Teilgraph, den man erhält, indem
man nacheinander alle Knoten mit Grad < i entfernt.
Der i-Kern ist die Menge aller Knoten mit mindestens i Nachbarn, die
auch zum i-Kern gehören.
31
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Laufzeit
Theorem
Sei G = (V , E ) mit |E | = m zusammenhängend und ungewichtet.
Der Algorithmus C ORE D ECOMPOSITION kann in
Laufzeit O(m )
implementiert werden.
Beweis: Siehe Tafel und Skript!
32
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Fazit k -Kerne
Die k -Kernstruktur gibt ein Maß an, das robuster ist als der
Knotengrad zur Bestimmung der Verbindung eines Knotens zum Rest
des Graphen
Lemmas beleuchten Größe der i-Schalen
Algorithmische Definition führt zu Algorithmus, der die Struktur
berechnet
Aus weiteren theoretischen Ergebnissen lässt sich ein Generator
entwickeln, der Graphen mit ähnlicher k -Kern-Struktur erzeugt
Bei Interesse bzgl. Generator: siehe [Baur et al., 2008]
33
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Knotenzentralitätsmaße
k -Kerne im Graphen
Herunterladen