Proseminar Netzwerkanalyse

Werbung
Proseminar Netzwerkanalyse
Algorithmen für Zentralitätsindizes
Erweiterte Zentralitäts-Konzepte
Universität Trier
Fachbereich Informatik
Sommersemester 2005
Almasa Adrovic
Dirk Lex
Inhaltsverzeichnis
1
2
Zentralitätsindizes
1.1 Basisalgorithmen . . . . . . . . . . . . . . . . . . .
1.1.1 Bestimmung des kürzesten Pfades zwischen
einem Startknoten und allen anderen Knoten
1.1.2 Bestimmung des kürzesten Pfades
zwischen allen Knoten . . . . . . . . . . . .
1.2 Zentralitätsspezifische Algorithmen . . . . . . . . .
1.2.1 Betweenness Zentralität . . . . . . . . . . .
1.3 schnelle Näherungsverfahren . . . . . . . . . . . . .
1.3.1 Abschätzung der Zentralität . . . . . . . . .
1.4 Dynamische Berechnungen . . . . . . . . . . . . . .
1.4.1 kontinuierlicher Update der Näherung des
PageRank . . . . . . . . . . . . . . . . . . .
1.4.2 dynamische Updates . . . . . . . . . . . . .
. . . . . . .
2
2
. . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
3
4
4
7
7
8
. . . . . . .
. . . . . . .
8
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
erweiterte Zentralitätskonzepte
11
2.1 Normalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Vergleich von Elementen eines Graphen . . . . . . . . . . 11
2.1.2 Vergleich von Elementen verschiedener Graphen . . . . . 12
2.2 Personalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Personalisierung von distanz- und kürzester Pfad-basierten
Zentralitäten . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Vier Dimensionen eines Zentralitätsindexes . . . . . . . . . . . . 15
2.3.1 Strukturierung . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Unabhängigkeit der Dimensionen . . . . . . . . . . . . . 16
2.3.3 Entwurf eines geeigneten Zentralitätsindexes . . . . . . . 16
2.4 Axiomatisierung . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 Axiomatisierung für distanzbasierte Knotenzentralitäten . 18
2.4.2 Axiomatisierung für Feedback-Zentralitäten . . . . . . . . 20
2.5 Stabilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Stabilität von distanzbasierten Zentralitäten . . . . . . . . 22
1
Kapitel 1
Zentralitätsindizes
1.1
1.1.1
Basisalgorithmen
Bestimmung des kürzesten Pfades zwischen
einem Startknoten und allen anderen Knoten
Die Berechnung des kürzesten Pfades zwischen einem Knoten (dem Quellknoten
/ Source) und einem anderen Knoten ist ein klassisches Problem, auch bekannt als
Single Source Shortest Path“-Problem (SSSP).
”
Ein wichtiger Algorithmus, der dieses Problem für Graphen mit nichtnegativen
Kantengewichten löst, ist der folgende:
Der Dijkstra-Algorithmus:
Input: Graph G = (V, E), Kantengewicht ω : E → R, Quellknoten s ∈ V
Output: kürzeste Pfad-Distanz d(s, v) zu allen Knoten v ∈ V
P = ∅, T = V
d(s, v) = ∞ for all v ∈ V , d(s, s) = 0, pred(s) = 0
while P 6= V do
v = argmin{d(s, v) | v ∈ T }
P := P ∪ v, T := T \{v}
for w ∈ N (v) do
if d(s, w) > d(s, v) + ω(v, w) then
d(s, w) := d(s, v) + ω(v, w)
pred(w) = v
fi
od
od
2
Laufzeit: O(m + n log n)
Für ungewichtete Graphen (ω(v, w) = 1 für alle v, w ∈ V ) kann die Priority Queue durch eine gewöhnliche Queue ersetzt werden, was eine Laufzeit von
O(m + n) ergibt (vgl. Breitensuche).
1.1.2
Bestimmung des kürzesten Pfades
zwischen allen Knoten
Die Berechnung des kürzesten Pfades zwischen allen Knoten ist als All-Pairs
”
Shortest Path“-Problem (APSP) bekannt.
Eine leicht ersichtliche Herangehensweise, um dieses Problem zu lösen, ist es, eine Schleife über alle n Knoten laufen zu lassen und n mal den Dijkstra-Algorithmus
anzuwenden. Als Laufzeit bekäme man somit O(nm + n2 log n).
Lemma:
Sei d(u, v), u, v ∈ V , die Länge eines Pfades von u nach v. Dann repräsentiert d
die Länge des kürzesten Pfades genau dann, wenn gilt:
d(u, w) = d(u, v) + d(v, w) für alle u, v, w ∈ V
Dieses Lemma kann nun für einen alternativen Algorithmus verwendet werden:
Der Floyd-Warshall-Algorithmus:
Input: Graph G = (V, E), Kantengewicht ω : E → R
Output: kürzeste Pfad-Distanz d(u, v) zwischen allen Knoten u, v ∈ V
d(u, v) = ∞, pred(u, v) = 0 for all u, v ∈ V
d(v, v) = 0 for all v ∈ V
d(u, v) = ω(u, v), pred(u, v) = u for all {u, v} ∈ E
for v ∈ V do
for {u, w} ∈ V xV do
if d(u, w) > d(u, v) + d(v, w) then
d(u, w) := d(u, v) + d(v, w)
pred(u, w) := pred(v, w)
fi
od
od
Laufzeit: O(n3 )
Ob dieser Algorithmus schneller ist, hängt somit von der Anzahl m der Kanten
des Graphen ab.
3
1.2
Zentralitätsspezifische Algorithmen
Die meisten Zentralitätsindizes können relativ gut und schnell berechtnet werden,
indem man einfach strikt ihrer Definition folgt. Dennoch sind häufig Verbesserungen dieser Algorithmen möglich.
1.2.1
Betweenness Zentralität
Die Betweenness Zentralität eines Knotens v ∈ V ist wie folgt definiert:
cB (v) =
X
s6=v6=t∈V
σst (v)
,
σst
wobei σst die Anzahl der kürzesten Pfade zwischen s und t und σst (v) die Anzahl
dieser Pfade ist, die durch v gehen.
Ein direkt dieser Definition folgender Algorithmus könnte also wie folgt aussehen:
• Erstelle eine Tabelle mit Länge und Anzahl der kürzesten Pfade zwischen
allen Knoten-Paaren
• für jeden Knoten c tue:
– nehme alle möglichen Paare s, t (s 6= v 6= t)
– nutze die Tabelle, um die kürzesten s-t Pfade durch v zu identifizieren
– berechne cB
Dabei kann für die Berechnung der kürzesten Pfade im ersten Schritt der (entsprechend angepasste) Dijkstra-Algorithmus verwendet werden.
Für die Berechnung der σst (v)-Werte im zweiten Schritt beachte man folgende
Gleichung: σst (v) = σsv ∗ σvt
Damit ergibt sich für die Berechnung von cB (v) eine Laufzeit von O(n2 ) für jeden
Knoten v, insgesamt also eine Laufzeit von O(n3 ) für den gesamten Algorithmus.
Brandes konnte allerdings zeigen, dass dies auch besser geht.
Dazu führen wir zunächst folgende Definition ein:
4
Definition (Paar-Abhängigkeit und Abhängigkeit):
Die Paar-Abhängigkeit eines Knotenpaares s, t ∈ V von einem dazwischen liegenden Knoten v ist definiert als
δst (v) =
σst (v)
σst
und die Abhängigkeit eines Knotens s ∈ V von einem Knoten v ∈ V als
X
δs• (v) =
δst (v).
t∈V
Die Betweenness Zentralität kann also berechnet werden als:
X
cB (v) =
δs• (v).
s6=v∈V
Theorem (Brandes):
Die Abhängigkeit δs• (v) eines Quellknotens s ∈ V von jedem anderen Knoten
v ∈ V erfüllt die Gleichung
X
σsv
(1 + δs• (w)).
δs• (v) =
σsw
w:v∈pred(s,w)
Beweis:
Zunächst erweitern wir die Variablen für die Anzahl der kürzesten Pfade und für
die Abhängigkeiten wie folgt:
Definiere δst (v, e) als die Anzahl der kürzesten Pfade von s nach t, die sowohl
den Knoten v ∈ V als auch die Kante e ∈ E enthalten. Weiterhin definieren wir
die Paar-Abhängigkeiten eines Knotenparres s, t von einem Knoten v und einer
Kante e als δst (v, e) = σst (v, e)/σst . Damit schreiben wir
X
X
δs• (v) =
δst (v) =
δst (v, {v, w}).
t∈V
w:v∈pred(s,w)
Nun betrachten wir einen Knoten w, für den gilt: v ∈ pred(s, w). Es gibt σsw
kürzeste Pfade von s nach w, von denen σsv von s nach v gehen und anschließend
die Kante {v, w} benutzen. Für einen gegebenen Knoten t bedeutet dies, dass ein
Anteil σsv /σsw der Anzahl der Kürzesten Pfade σst (w) von s nach t 6= w, die den
Knoten w benutzen, ebenfalls die Kante {v, w} benutzen. Für die Paar-Abhängigkeit von s und t von v und {v, w} ergibt dies:
(
σsv
if t = w,
δst (v, {v, w}) = σσsw
σst (w)
sv
· σst
if t 6= w.
σsw
5
Durch Austauschen der Summationsreihenfolge und Substitution ergibt sich:

X
X
δst (v, {v, w}) =
w:v∈pred(s,w) t∈V
X
w:v∈pred(s,w)
=
X
w:v∈pred(s,w)
 σsv
σsw

X σsv σst (w)

+
·
σsv
σst
t∈V \w
σsv
(1 + δs• (w)).
σsw
Der Algorithmus zur Berechnung der Betweenness Zentralität, welcher darauf
aufbaut funktioniert nun wie folgt:
Zunächst berechne n Kürzeste-Pfad-Bäume - einen für jeden Knoten s ∈ V . Erstelle während dieser Berechnungen ebenfalls die Vorgängermengen pred(s, v).
Als nächstes nimm einen Knoten s ∈ V , seinen Kürzesten-Pfad-Baum und seine
Vorgängermenge und berechne die Abhängigkeiten δs• (v) für alle anderen Knoten
v ∈ V unter Verwendung des eben bewiesenen Theorems von Brandes. Für den
Knoten s können die Abhängigkeiten berechnet werden, indem man die Knoten in
absteigender Reihenfolge ihrer Distanz von s entlang geht (also bei den Blättern
des Kürzesten-Pfad-Baumes beginnt).
Um letztlich den Zentralitätswert des Knotens v zu berechnen, muss man lediglich alle Abhängigkeitswerte addieren, die während der n SSSP-Berechnungen
berechnet wurden. Der resultierende Platzbedarf von O(n2 ) kann vermieden werden, indem der Zentralitätswert als eine Art Laufvariable angesehen wird. Man
addiert dann einfach die berechneten Abhängigkeiten für jeden Knoten sofort zu
diesem ’laufenden Zentralitätswert’.
Somit berechnet dieser Algorithmus die Betweenness Zentralität jedes Knotens
v ∈ V und benötigt dafür lediglich die Berechnung eines Kürzester-Pfad-Baumes
für jeden Knoten v ∈ V . Weiterhin ist der Platzbedarf linear zur Anzahl an Knoten und Kanten.
Theorem (Brandes):
Die Betweenness Zentralität cB (v) für alle Knoten v ∈ V kann in Zeit O(nm + n2 log n)
für gewichtete Graphen und in Zeit O(nm) für ungewichtete Graphen berechnet
werden. Der Platzbedarf beträgt O(n + m).
6
1.3
schnelle Näherungsverfahren
1.3.1
Abschätzung der Zentralität
Abschätzung der Closeness-Zentralität in einem gewichteten Graphen:
Definition: Closeness-Zentralität
cc (v) := sumx∈v d(v, x)/(n − 1)
Algorithmus zur Abschätzung:
1.
2.
3.
Wähle K Knoten {v1 , ..., vK } zufällig aus V
Für jeden Knoten v ∈ {v1 , ..., vK } löse das SSSP-Problem mit v als Quelle
Für jeden Knoten v ∈ V berechne:
P
n
ĉc (v) = (K·(n−1))
· K
i=1 d(v, vi )
Als nächstes stellt sich nun die Frage, wie groß K gewählt werden muss, um eine
gute Näherung für den Zentralitätsindex zu erhalten.
Dazu betrachten wir folgendes Lemma:
P
Seien x1 , ..., xk unabhängig und ai ≤ xi ≤ bi , µ = E[ xi /K] sei der Erwartungswert. Dann gilt für ξ > 0:
o
n PK
PK
2 2
2
xi
P i=1
−
µ
≥
ξ
≤ 2 · e−2K ξ / i=1 (bi −ai ) .
K
n∆
i ,u)
, µ = cc (v), ai = 0 und bi = n−1
, so lässt sich die
Setzt man nun xi = n·d(v
n−1
Wahrscheinlichkeit, dass der Fehler beim Annähern von cc (v) durch ĉc (v) größer
ist als ξ beschränken durch:
( P
)
K x
PK
2 2
2
i=1 i
− µ ≥ ξ
≤ 2 · e−2K ξ / i=1 (bi −ai )
P K
2
n∆
2 2
= 2 · e−2K ξ /K ( n−1 )
2
2
= 2 · e−Ω(Kξ /∆ )
Setzt man weiter ξ = ·∆ und K = Θ log2 n , so ist die Wahrscheinlichkeit, einen
Fehler größer als · ∆ zu machen, höchstens n1 für jeden abgeschätzten Wert. Dabei ist eine Konstante und ∆ = ∆G der Durchmesser des Graphen.
7
Unter Berücksichtigung der Komplexität des SSSP-Problems ergibt sich eine Gesamtlaufzeit von O(K(n + m)) (ungewichteter Graph) bzw. O(K(m + n log n))
(gewichteter Graph) und mit K = Θ(log n/2 ) schließlich
O(
und
O(
log n
(n + m))
2
log n
(m + n log n)).
2
Mit Hilfe der selben Technik lässt sich u. a. auch die Betweenness-Zentralität
annähern:
K
X
n
ĉB (v) :=
( δvi • (v)
K
i=1
1.4
1.4.1
Dynamische Berechnungen
kontinuierlicher Update der Näherung des
PageRank
Zur Berechnung der Wichtigkeit einer Seite im Internet, z. B. mittels PageRank,
ist es wichtig, die Veränderungen des Webgraphen zu beachten (z. B. das Löschen
von Seiten (Knoten) oder Links (Kanten).
Dazu wollen wir uns nun den ’On-line Page Importance Computation’-Algorithmus
(OPIC) ansehen, welcher eine Näherung des PageRank berechnet, ohne den kompletten Webgraphen (inklusive aller Links) speichern zu müssen.
Die Idee des Algorithmus ist die Aufteilung eines ’Cash’-Wertes. Bei der Initialisierung des Algorithmus besitzt jede Seite einen cash-Wert. Der genäherte PageRank wird dann direkt über die aktuelle Cash-Aufteilung berechnet.
Dazu werden zwei Arrays benötigt:
c: aktuelle Aufteilung des cash
h: History der Cash-Werte
für jede Seite.
P
Zudem sei g = ni=1 h[i] die Summe der History-Werte.
8
Der genäherte PageRank ist dann gegeben durch:
cP Rapprox (i) =
h[i] + c[i]
g+1
”On-line Page Importance Computation”-Algorithmus (OPIC):
Input: Graph G
Output: c, h, g
for i ← 1 to n do
c[i] ← 1/n
h[i] ← 0
od
g←0
repeat
wähle einen Knoten i aus G //(∗ )
h[i] ← h[i] + c[i]//U pdate der History von i
for each child j of i do
c[j] ← c[j] + c[i]/d+ [i]//verteile Cash von i an Kinder
od
g ← g + c[i]//U pdate des globalen History − W ertes
c[i] ← 0//Reset Cash von i
until 0 = 1//(∗∗ )
(∗ )Bei den Auswahlstrategien der Knoten ist es wichtig, dass die
W ahrscheinlichkeiten, einen Knoten auszuwählen gleichverteilt sind,
d. h. alle Knoten müssen regelmäßig U pdates durchlauf en.
M ögliche Auswahlstrategien wären z. B. eine gleichverteilte Zuf allswahl,
ein zyklisches Durchlauf en aller Knoten oder eine 00 gierige00 Auswahl
(d. h. es wird immer der Knoten mit dem aktuell höchsten Cash ausgewählt
und bei gleichem Cash − W ert zuf ällig einer dieser Knoten ausgewählt).
(∗∗ )Die Repeat − Schleif e läuf t endlos
und sorgt f ür kontinuierliche U pdates des P ageRank
9
1.4.2
dynamische Updates
Um eine Beschleunigung des Algorithmus zur Berechnung der Wichtigkeit einer
Seite zu erreichen, lässt sich folgende Idee ausnutzen:
Berechne den PageRank nur für den veränderten Teil eines Netzwerkes neu.
Am Beispiel des Webgraphen bedeutet dies, dass man auf das Hinzufügen und
Entfernen von Seiten und Links reagieren muss.
Auf einen genauen Algorithmus möchten wir an dieser Stelle aber verzichten.
10
Kapitel 2
erweiterte Zentralitätskonzepte
2.1
2.1.1
Normalisierung
Vergleich von Elementen eines Graphen
Nun möchten wir uns mit der Frage befassen, wie man Zentralitätwerte eines Graphen G = (V, E) miteinander vergleichen kann.
Dazu möchten wir zunächst eine Vereinfachung der Notation einführen:
• Zentralitätsvektor statt Funktion
• Zentralität cx , wobei x für die verschiedenen Akronyme steht, z. B. cB =
Betweenness-Zentralität, cc = Closeness-Zentralität
• Vektor cx mit cxi = cx (i)∀i ∈ V
Jeder Zentralitätsvektor cx kann nun normaliesiert werden, indem man die Zentralitätswerte durch die p-Norm des Zentralitätsvektors dividiert. Auf diese Weise
erhält man Zentralitätswerte cxi ≤ 1.
Dabei ist die p-Norm definiert als
(P
1
1≤p<∞
( ni=i |cxi |p ) p ,
||cx ||p =
maxi=1,...,n {|cxi |}, p = ∞
Nutzt man die Maximalnorm (p = ∞) zur Normalisierung, so ist der maximale
Zentralitätswert 1 und dieser Wert wird von mindestens einem Knoten angenommen. Damit ergibt die Normalisierung mit Maximalnorm eine Art ,,relative” Zentralität für jeden Knoten des Graphen.
Die Normalisierung mittels der p-Norm ist allerdings im Allgemeinen ungeeignet,
um Knoten verschiedener Graphen miteinander zu vergleichen!
11
2.1.2
Vergleich von Elementen verschiedener Graphen
Will man Knoten verschiedener Graphen miteinander vergleichen, so kann die unterschiedliche Größe der Graphen problematisch sein.
Definition:
Sei Gn die Menge von zusammenhängenden Graphen G = (V, E), mit |V | = n.
Dann sei die Punkt-Zentralität definiert als
00
c xi =
c xi
,
c∗x
00
wobei cxi = maxG∈Gn maxi∈V (G) cxi der maximale Zentralitätswert ist, den ein
Knoten in allen Graphen mit n Knoten annehmen kann.
00
Unter Ausnutzung der Punkt-Zentralität cxi wird der Maximalwert 1 stets von
mindestens einem Knoten in mindestens einem Graphen der Größe n angenommen.
Auf diese Weise ist ein Vergleich der Zentralitätswerte möglich.
Leider ist dies jedoch oft nur in der Theorie möglich, da die Ermittlung von c∗x
i. A. alles andere als trivial und für manche Zentralitätskonzepte sogar unmöglich
ist.
Nichtsdestotrotz gibt es einige Zentralitätskonzepte, die die Berechnung von c∗x
erlauben. Ein einfaches Beispiel hierfür ist die Grad-Zentralität. Es ist offensichtlich, dass bei einem ungerichteten Graphen mit n Knoten die maximale GradZentralität n - 1 ist. Entsprechend klar ist c∗c = (n − 1)−1 (man beachte die Definition der Closeness-Zentralität).
1
1
= max{d(u,v):v∈V
. OffensichtFür die Eccentricity-Zentralität gilt cE (u) = e(u)
}
∗
lich ist der maximal erreichbare Zentralitätswert hier 1, also cE = 1. Ein weiteres
Beispiel ist die ”Shortest Paths Betwenness”-Zentralität. Der maximale Zentra2
litätswert, den ein Knoten hier annehmen kann, ist n −3n+2
(gegeben in einem
2
Stern).
2.2
Personalisierung
Am Beispiel einer Suchmaschine im Internet lässt sich die Motivation für eine
Personalisierung von Zentralitäten recht einfach erklären: Man stelle sich eine
Suchmaschine vor, die die Ergebnisse nach persönlichen Interesse des Nutzers individuell ordnet. Auf diese Weise würde man stets die individuell relevantesten
Seiten schnell finden.
Zwei wesentliche Ideen und Methoden, dies zu erreichen, sollen nun kurz vorgestellt werden:
12
1) Ändern der Gewichtung der Knoten (Seiten) und/oder Kanten (Links) über
einen Peronalisierungsvektor v. Die Gewichte der Knoten können dabei z. B. für
die Zeit stehen, die man täglich auf der relevanten Seite verbringt und das Gewicht
einer Kante könnte die Wahrscheinlichkeit beschreiben, dass ein bestimmter Link
verwendet wird.
2) Wahl einer ,,Wurzelmenge” R ⊆ V von Knoten. Man misst dann die Wichtigkeit der anderen Knoten und der Kanten relativ zu R.
2.2.1
Personalisierung von distanz- und kürzester Pfad-basierten
Zentralitäten
Sei R eine Menge von Knoten eines Graphen. R sei dabei so gewählt, dass die
Knoten in R als wichtig angenommen werden. Die Frage, die sich nun stellt, ist
wie die Wichtigkeit der anderen Knoten in Relation zu R bewertet werden kann.
Dieser Frage wollen wir nun nachgehen.
Sei c(v) ein Zentralitätsindex für Knoten. Dann gibt c(v|R) die relative Wichtigkeit des Knotens v in Bezug auf eine gegebene Wurzelmenge R an. Weiter sei
P (s, t) eine wohldefinierte Menge von Pfaden zwischen den Knoten s und t.
Vorschläge für eine solche Pfadmenge wären z. B.:
• eine Menge kürzester Pfade
• eine Menge von k-kürzesten Pfaden, definiert als die Menge aller Pfade mit
Länger kleiner als ein gegebenes k
• eine Menge von k-kürzesten knotendisjunkten Pfaden (Anmerkung: In den
meisten Graphen ist eine solche Pfadmenge nicht eindeutig definiert. Für eine deterministische Zentralität ist es aber wichtig, eine eindeutige Pfadmenge zu bestimmen. Daher sollte diese Pfadmenge ausschließlich in Graphen
Anwendung finden, in denen es nur eine mögliche Menge knotendisjunkter
Pfade für jedes Knotenpaar s, t gibt.)
13
Die Menge der kürzesten Pfade wird z. B. in der ,,Shortest Path Betweenness”Zentralität benutzt. Die relative Betweenness-Zentralität cRBC (v) kann dann auf
drei Weisen definiert werden:
• source relative betweenness centrality:
XX
csRBC (v) =
δrt (v)
r∈R t∈V
Ein Knoten v wird also als wichtig definiert, wenn ein (möglichst großer)
Teil der kürzesten Pfade, die von einem Knoten r aus der Wurzelmenge R
zu einem Knoten t ∈ V führen, durch v verläuft.
• target relative betweenness centrality:
XX
δsr (v)
ctRBC (v) =
s∈V r∈R
Hier wird ein Knoten v als wichtig angesehen, wenn er in einem (möglichst
großen) Teil der kürzesten Pfade enthalten ist, die in einem Knoten r ∈ R
enden.
• source and target in rootset:
cRBC (v) =
XX
δrs rt (v)
rs ∈R rt ∈R
In diesem Fall wird ein Knoten v dann als wichtig angenommen, wenn er
auf einem (möglichst großen) Teil kürzester Pfade liegt, die von der Wurzelmenge R in die Wurzelmenge R führen.
Wählt man eine andere Pfadmenge P (s, t), z. B. die Menge der k-kürzesten Pfade,
so muss die Definition von δst (v) wie folgt geändert werden:
δst|P (v) =
σst (v)
,
|P (s, t)|
wobei σst (v) die Menge aller Pfade p ∈ P (s, t) ist, die v enthalten.
Dieses Beispiel veranschaulicht die generelle Idee hinter dieser Art der Personalisierung von Zentralitätsindizes. Man kann diese Methode leicht auf andere
distanzbasierte Zentralitäten erweitern.
14
2.3
Vier Dimensionen eines Zentralitätsindexes
In diesem Abschnitt wollen wir uns mit einer Strukturierung des weiten Feldes der
Zentralitätsmaße, Personalisierungs- und Normalisierungsmethoden befassen.
2.3.1
Strukturierung
1) Basisterm
Über den Basisterm wollen wir die Zentralitätsmaße in vier Kategorien einteilen:
• Erreichbarkeit (Reachability) (Basisterm: d(u, v))
Knoten werden als zentral angenommen, wenn sie möglichst viele andere
Knoten erreichen.
Bsp.: degree, eccentricity, closeness
→ basieren alle auf dem Distanzkonzept d(u, v) zweier Knoten u und v. So
zählt man z. B. bei der Gradzentralität die Anzahl an Knoten, die in Distanz
1 erreicht werden können.
• Flussbetrag (Amount of Flow) (Basisterm: fst (x))
Maß des Flusses fst (x) von einem Knoten s zu einem Knoten t, der durch
einen Knoten oder eine Kante x geht.
Bsp.: ,,current flow”-Zentralitäten (z. B. current flow betweenness, current
flow closeness), random walks
• Vitalität (Vitality) (Basisterm: V(G, x) = f (G) − f (G\{x}))
Zentralität definiert als Wert einer Funktion f auf G mit und ohne dem
entsprechenden Element
Bsp.: maximum flow betweenness vitality
• Rückkopplung (Feedback)
können durch die abstrakte Formel c(vi ) = f (c(v1 ), ..., c(vn )) zusammengefasst werden, wobei der Zentralitätswert eines Knotens vi von den Zentralitätswerten der Knoten v1 , ..., vn abhängt
Bsp.: viele Zentralitäten sozialer Netzwerke, Web-Zentralitäten
2) Term Operator
Oft kann eine ganze Menge geeigneter Operatoren auf einen Basisterm angewandt
werden, um einen brauchbaren Zentralitätsindex zu erhalten. Diese Idee soll nun
an einigen Zentralitätsmaßen illustriert werden:
15
Sind die Distanzen für eine gegebene Anwendung definiert, können wir wählen,
ob der Zentralitätsindex durch das Maximum aller Distanzen von u zu allen anderen Knoten v gegeben ist (eccentricity) oder als Summe über alle Distanzen
(closeness) oder als Durchschnitt der Distanzen zu allen anderen Knoten (normalisierte Closeness-Zentralität).
3) Personalisierung
Die dritte Dimension ist durch Methoden der Personalisierung gegeben (siehe
oben).
4) Normalisierung
Die Methoden der Normalisierung von Zentralitäten bildet entsprechend die vierte
Dimension.
2.3.2
Unabhängigkeit der Dimensionen
Alle vier Dimensionen sind unabhängig voneinander. Man sollte allerdings beachten, dass diese Dimensionen lediglich ein Vorschlag für die Betrachtung der
Zentralitäten darstellt. Obwohl alle vorgestellten Zentralitäten sinnvoll in diese
einteilbar sind, kann man nicht sicher sein, dass auch alle in Zukunft veröffentlichten Zentralitäten entsprechend einteilbar sein werden. Desweiteren kann man
nicht versichern, dass jede mögliche Kombination auch zu einem sinnvollen und
brauchbaren Zentralitätsindex führt.
2.3.3
Entwurf eines geeigneten Zentralitätsindexes
Das folgende Diagramm erläutert kurz eine Methode, einen geeigneten Zentralitätsindex für eine bestimmte Applikation zu finden.
Der erste Schritt besteht darin, sich die Frage zu überlegen, die durch das Zentralitätsmaß beantwortet werden soll. Dadurch erhält man meist schon die Kategorie
und den entsprechenden Basisterm.
Anschließend sind Personalisierungen möglich. Nun muss der Term Operator bestimmt werden.
Da für Feedback-Zentralitäten eine Personalisierung mittels einer Wurzelmenge R
meist nicht möglich bzw. sinnvoll ist, folgt der entsprechende Pfad im Diagramm
hier einem separaten Weg. Hier ist der nächste Schritt, das lineare Gleichungssystem zu ermitteln und zu lösen.
Als letzter Schritt folgt nun in der Regel eine Normalisierung wie zuvor beschrieben.
16
Fig. 1: flow chart for choosing, adapting or designing an appropriate centrality measure
for a given application
17
2.4
Axiomatisierung
In diesem Abschnitt möchten wir uns mit der Frage beschäftigen, ob es generelle Eigenschaften gibt, die ein Zentralitätsindex haben sollte. Insbesondere zieht dies den Versuch
mit sich, den Begriff des Zentralitätsindexes exakt zu definieren. Im folgenden soll kurz
gezeigt werden, warum dies schwierig bis nahezu unmöglich ist.
2.4.1
Axiomatisierung für distanzbasierte Knotenzentralitäten
Beginnen wollen wir mit einem grundlegenden Versuch von Sabidussi, der speziell zwei
Graphoperationen untersucht hat:
• Hinzufügen einer Kante (u, v):
Seien u, v verschiedene Knoten von G mit (u, v) ∈
/ E(G).
Den Graph H = (V, E ∪ {(u, v)}) erhält man durch Hinzufügen der Kante (u, v).
• Verschieben einer Kante (u, v)
Seien u, v, w drei verschiedene Knoten von G mit (u, v) ∈ E(G) und (u, v) ∈
/
E(G). Den Graphen H = (V, E\{(u, v)} ∪ {(u, w)}) erhält man durch Entfernen
von (u, v) und Einfügen von (v, w). Das Verschieben einer Kante muss zulässig
sein, d. h. der resultierende Graph muss immer noch zusammenhängend sein.
Sei Gn die Klasse der zusammenhängenden, ungerichteten Graphen mit n Knoten. Weiter
sei c : V → R+
0 eine Funktion von der Knotenmenge V eines Graphen G = (V, E) ∈ Gn
in die Menge der nichtnegativen reellen Zahlen.
Sc (G) = {u ∈ V : ∀v ∈ V c(u) ≥ c(v)} sei die Menge der Knoten von G mit maximaler
Zentralität bzgl. einer gegebenen Knotenzentralität c.
Definition (Knotenzentralität nach Sabussi):
Eine Funktion c heißt Knotenzentralität auf G ∈ Gn0 , und Gn0 heißt c-zulässig genau
dann, wenn die folgenden Bedingungen erfüllt sind:
1. Gn0 ist abgeschlossen bzgl. Isomorphismen, d. h. aus G ∈ Gn0 und H ' G folgt
H ∈ Gn0 .
2. Ist G = (V, E) ∈ Gn0 , u ∈ V (G) und man erhält H aus G durch Verschieben einer
Kante zu u oder durch Hinzufügen einer Kante zu u, dann ist auch H ∈ Gn0 , d.
h. Gn0 ist abgeschlossen unter den Operationen Verschieben und Hinzufügen von
Kanten.
3. Sei G 'φ H. Dann ist cG (u) = cH (φ(u)) ∀ u ∈ V .
4. Sei u ∈ V (G), und man erhalte H aus G durch Hinzufügen einer Kante zu u. Dann
gilt cG (u) < cH (u) und cG (v) ≤ cH (v) ∀ v ∈ V .
18
5. Sei u ∈ Sc (G), und man erhalte H aus G entweder durch Verschieben einer Kante zu u oder durch Hinzufügen einer Kante zu u. Dann gilt cG (u) < cH (u) und
u ∈ Sc (H).
Die Gradzentralität ist wie leicht zu verifizieren ist eine Knotenzentralität nach dieser Definition. Die Eccentrity-Zentralität cE (u) hingegen ist nach dieser Definition keine Knotenzentralität, da u. a. die Bedingung 5 nicht erfüllt ist:
Fig. 2: Example: the eccentricity centrality ist not a vertex centrality according to Sabidussi’s defintion: u ∈ Sc (G) but u ∈
/ Sc (H).
Kishi konnte nachweisen, dass die Closeness-Zentralität nach Sabidussis Definition ebenfalls keine Knotenzentralität ist und hat eine andere Definition vorgeschlagen.
Sei c eine Funktion auf den Knoten eines zusammenhängenden Graphen G = (V, E).
Weiter seien u, v zwei verschiedene, nicht benachbarte Knoten von G.
Das Einfügen von (u, v) führt zu einem Graphen H = (V, E ∪ {(u, v)}), wobei die Differenz ∆uv (w) = cH (w) − cG (w) für alle Knoten w ∈ G gemessen wird.
Definition (Knotenzentralität nach Kishi):
Eine Funktion c heißt Knotenzentralität genau dann, wenn die folgenden Bedingungen
erfüllt sind:
1. ∆uv (u) > 0, d. h. cG (u) < cH (u).
2. Für alle w ∈ V mit d(u, w) ≤ d(v, w) gilt ∆uv (u) ≥ ∆uv (w) für alle Paare nicht
benachbarter Knoten u und v.
Nach dieser Definition ist die Closeness-Zentralität eine Knotenzentralität. Die EccentricityZentralität ist allerdings auch nach Kishis Definition keine Knotenzentralität. In dem Beispiel von eben ist Bedingung 2 aus Kishis Definition verletzt.
19
2.4.2
Axiomatisierung für Feedback-Zentralitäten
Von Grad- zu Feedbackzentralitäten
Sei Gn die Menge der ungewichteten gerichteten Graphen mit n Knoten. Für eine gerichtete Kante (i, j) ∈ E sagt man, der Knoten i dominiert den Knoten j.
Definition:
Gegeben sei eine Menge V von Knoten mit |V | = n. Das β-Maß auf V ist eine Funktion
β : Gn → Rn definiert als:
βG (i) =
X
+
j∈NG
(i)
1
∀ i ∈ V, G ∈ Gn
d−
G (j)
zur Erinnerung:
• d− (j) ist der Eingangsgrad des Knotens j, also die Anzahl der Knoten mit Ziel j.
• N + (i) ist die Menge der Knoten j, für die eine gerichtete Kante (i, j) existiert.
Das β-Maß kann als Feedback-Zentralität angesehen werden, da der Wert des Knotens i
von Eigenschaften der Knoten in der direkten Nachbarschaft abhängt. Über vier Axiome
lässt sich das β-Maß eindeutig bestimmen.
Definition:
Eine
Sk Partition von G ∈ Gn ist eine Teilmenge {G1 , ..., GK } ⊆ Gn so, dass
– k=1 Ek = E und
– Ek ∩ El = ∅ ∀ 1 ≤ k, l ≤ K, k 6= l
Eine Partition heißt unabhängig, falls zusätzlich gilt:
|{k ∈ {1, ..., K} : d−
Gk (i)| ≤ 1 ∀ i ∈ V,
d. h., falls jeder Knoten höchstens in einem gerichteten Graphen der Partition dominiert
wird.
Nun stellt sich die Frage, welche Eigenschaften eine Zentralität haben sollte, um ein Maß
für die Dominanz (oder die ,,relationsbezogene Kraft”) eines Knoten darzustellen.
In den folgenden Axiomen sei nun f : Gn → Rn ein ,,relational power measure” auf
V , welches anstelle der Zentralität verwendet wird. Ein relational power measure weist
jedem gerichteten Netzwerk mit n Knoten einen n-dimensionalen Vektor von reellen Zahlen zu, so dass die i-te Komponente des Vektors ein Maß für die Dominanz des Knotens i
ist.
20
Axiom 1: Dominanz-Normalisierung
Für alle G ∈ Gn folgt
X
fG (i) = |{j ∈ VG : d−
G (j) > 0}|.
i∈VG
Axiom 2: Wert von Dummy-Knoten
Für alle G ∈ Gn und i ∈ V mit NG+ (i) = ∅ folgt fG (i) = 0,
d. h. ein Knoten, der keinen anderen Knoten dominiert, hat den Wert 0.
Axiom 3: Symmetrie
+
−
−
Für alle G ∈ Gn und i, j ∈ V mit d+
G (i) = dG (j) und dG (i) = dG (j) folgt fG (i) =
fG (j),
d. h. zwei Knoten, die dieselbe Dominanzstrukur aufweisen (sie dominieren die gleiche
Anzahl an Knoten und werden von der gleichen Anzahl an Knoten dominiert), haben denselben Dominanz-Wert im relational power measure.
Axiom 4: Additivität bzgl. unabhängiger Partitionen
Für alle G ∈ Gn und jede unabhängige Partition {G1 , ..., GK } von G gilt
fG =
K
X
fGk .
k=1
(Dieses Axiom bezieht sich auf das Zusammenfügen mehrerer gerichteter Graphen).
Interessanterweise haben diese Axiome eine starke Verbindung zu den zuvor besprochenen gradbasierten Zentralitäten: Ändert man das Normalisierungsaxiom leicht ab, dann
erhält man als einzige Zentralität, die die Axiome erfüllt, die Ausgangsgradzentralität
(von van den Brink und Gilles, die die Axiome aufstellten, ,,score-measure” genannt).
Genauer: Ersetzt man Axiom 1 durch
Axiom 1b: Score-Normalisierung
Für alle G ∈ Gn folgt
X
fG (i) = |E|,
i∈V
so ist die folgende Funktion das einzige relational power measure, welches die Axiome 2
- 4 und 1b erfüllt:
σG (i) = d+
G (i) ∀ i ∈ V, G ∈ Gn .
Verschiedene Axiome wurden ebenfalls für Feedbackzentralitäten im engeren Sinne aufgestellt, auf die wir hier aber nicht im Detail eingehen möchten.
21
2.5
Stabilität
In diesem letzten Abschnitt möchten wir uns mit dem Begriff der Stabilität befassen.
Man stelle am Beispiel des Web-Graphen vor, das ein neuer Link gesetzt oder eine neue
Seite eingestellt wird. In dieser Situation stellt sich in natürlicher Weise die Frage, in
wie weit sich die Änderung auf die berechneten Zentralitäten auswirkt. Bleiben die Werte
nahezu konstant oder ändern sie sich völlig?
Wir wollen uns dabei allerdings auf die Untersuchung von distanzbasierten Zentralitäten
beschränken und in diesem Zusammenhang die Begriffe des stabilen, quasi-stabilen und
unstabilen Graphen einführen.
2.5.1
Stabilität von distanzbasierten Zentralitäten
Sei u ∈ Sc (G) = {u ∈ V : ∀v ∈ V c(u) ≥ c(v)} ein zentraler Knoten bzgl. der
Zentralität c und (u, v) ∈
/ G. Dann erhält man den Graphen H = (V, E ∪ (u, v)) durch
Hinzufügen einer Kante (u, v) zu G.
Betrachten wir nun die Menge Sc (H), so können folgende Fälle auftreten:
F all 1 : Sc (H) ⊆ Sc (G) ∪ {v}
oder
F all 2 : Sc (H) * Sc (G) ∪ {v}
für jeden Knoten v ∈ V .
Ein Graph, für den der zweite Fall eintritt, heißt unstabiler Graph bzgl. c.
Den ersten Fall kann man wie folgt weiter aufteilen:
F all 1.1 : Sc (H) ⊆ Sc (G) und u ∈ Sc (H)
und
F all 1.2 : Sc (H) * Sc (G) oder u ∈
/ Sc (H)
Ein Graph G heißt stabiler Graph im Falle 1.1 und quasi-stabiler Graph im Falle, dass
1.2 eintritt (jeweils bzgl. der Zentralität c).
Eine allgemeinere Form der Closeness-Zentralität nach Kishi lautet:
1
,
a
k=1 k nk (u)
cGenC (u) = P∞
wobei nk (u) die Anzahl an Knoten ist, deren Distanz von u gerade k ist und jedes ak ist
eine Konstante. Für ak = k ergibt sich somit:
1
1
= cC (u).
=P
k=1 ak nk (u)
v∈V d(u, v)
P∞
22
Kishi und Takeuchi konnten zeigen, unter welchen Bedingungen es stabile, quasi-stabile
und unstabile Graphen für allgemeine Zentralitätsfunktionen cGenC der o. g. Form gibt:
Theorem:
Für jede allgemeine Knotenzentralität cGenC der o. g. Form gilt:
1. a2 < a3 ⇒ ∃ ein quasi-stabiler Graph
2. a3 < a4 ⇒ ∃ ein unstabiler Graph
Theorem:
Jeder zusammenhängende ungerichtete Graph G ist stabil genau dann, wenn die allgemeine Knotenzentralität cGenC die Gleichung a3 = a4 erfüllt.
Weiter konnte Sabidussi eine wichtige Eigenschaft für ungerichtete Bäume zeigen:
Theorem:
Falls ein ungerichteter Graph G ein Baum ist, dann ist G stabil bzgl. der ClosenessZentralität.
23
Quellen
U. Brandes, T. Erlebach (Eds): Network Analysis, 2005
Kapitel 2: Fundamentals
Kapitel 3: Centrality Indices
und im Speziellen:
Kapitel 4: Algorithms for Centrality Indices
Kapitel 5: Advanced Centrality Concepts
24
Herunterladen