Kapitel 1 Einführung Wir erörtern als erstes verschiedene Möglichkeiten, die Knoten in einem Graphen ausgehend von ihrer strukturellen Lage adäquat zu bewerten. Die hierfür definierten Bewertungsmaße beschreiben bzgl. unterschiedlicher Kriterien, wie sehr die von den Knoten repräsentierten Objekte im Mittelpunkt des Geschehens stehen oder aber periphere Erscheinungen sind. Da diese Bewertungen, die sogenannten Zentralitäten auch von der Größe der betrachteten Graphen abhängen, werden anschließend einige Ansätze zur Normierung vorgestellt. Dadurch sollen diese Abhängigkeiten entfernt werden, was es ermöglicht, Zentralitäten von Graphen unterschiedlicher Grösße zu vergleichen. 1.1 Zentralitäten in Graphen Eine gegebene reale Situation soll auf ein Modell abgebildet werden, das die strukturellen Eigenschaften respektiert, und für das bereits ausgereifte Analysemöglichkeiten existieren. Geeignet ist hierfür ein Graph G = (V,E), bestehend aus einer Menge Knoten V und einer Menge Kanten E. Die reale, also die zu modellierende Situation ist z.B. ein soziales Netzwerk oder das WWW. In einer Gruppe von Personen gibt es nun z.B. mehr oder weniger herausragende Persönlichkeiten, im WWW Websites mit unterschiedlicher Informationsqualität. Eine solche intuitive Beurteilung der in den verschiedenen Fällen beteiligten Objekte soll nun durch eine explizite Zuordnung eines Maßes konkretisiert werden. Dieses Maß ordnet dann jedem Objekt, bzw. dem diesem Objekt entsprechenden Knoten, eine (i.a. nicht negative) reelle Zahl zu. Dabei wird nur die nach der Modellierung der ursprünglichen Situation noch vorhandene Information herangezogen, d.h. nur strukturelle Eigenschaften (des Graphen) werden berücksichtigt. 1 Ein Zentralitätsmaß Z (auch Zentralitätsindex oder Zentralität) ist also eine Abbildung Z : V −→ R+ 0 , vi −→ Z(vi ), i = 1, . . . , n. Ein Spaltenvektor, dessen Komponenten die Zentralitätswerte sämtlicher Knoten enthalten, sei bezeichnet durch Z(G), d.h. Z(G) := (Z(vi ), ..., Z(vn )) Diesen Vektor bezeichnen wir als Zentralitäts-Vektor. −→ Die hier vorgestellten Zentralitätsmaße sollen die Eigenschaft haben, dass der Zentralitätswert Z(vi ) eines Knotens vi , umso höher ist, je größer das Ansehen, die Popularität, der Status, die Prominenz, die Wichtigkeit eines durch einen Knoten vi repräsentierten Objektes bzgl. unterschiedlicher Bewertungskriterien ist. Es ist darauf zu achten, dass die Modellierung einer Situation ausschließlich mit Beziehungen des gleichen Typs geschieht. Kombinationen von Beziehungen wie Vorgesetztenverhältnis und Freundschaft führen nicht zu sinnvollen Ergebnissen. Bevor wir die Graphen bewerten können, wollen wir an ihnen zunächst einige Transformationen durchführen. Durch diese Vereinfachungen geht keine für die Bewertung relevante Information verloren: • Schleifen eliminieren • Mehrfachkanten eliminieren: In nicht einfachen Graphen auftretende Mehrfachkanten werden durch eine entsprechende Kantengewichtung zu einer Kante zusammengefasst. • für alle im folgenden betrachteten Graphen G = (V,E), sei | V |= n, | E |= m und A = (aij ) im ungewichteten Graphen bzw. W = (wij ) im gewichteten Graphen die Adjazenzmatrix von G. • 1 := (1, ..., 1)T sei der mit Einsen gefüllte Spaltenvektor und I die Einheitsmatrix jeweils passender Dimension. Im folgenden wollen wir nun erst einmal zwei grundsätzlich verschiedene Ansätze zur Bewertung der Knoten eines Netzwerkes, und damit der Definition von Zentralitätsindizes betrachten: 2 1.1.1 Nachbarzentralitäten Zum einen bestimmen wir den Zentralitätswert Z(vi ) eines Knotens vi in Abhängigkeit von seinen Nachbarn vj und/oder deren Zentralitätswerten Z(vj ). Ein hoher Zentralitätswert Z(vi ) wird dabei beispielsweise erreicht werden, wenn besonders viele und/oder besonders hoch bewertete Knoten vj in der Nachbarschaft von vi liegen. 1.1.2 Entfernungszentralitäten Zum anderen werden wir den Zentralitätswert eines Knotens vi , abhängig von seiner Entfernung zu den anderen Knoten eines Netzwerkes bestimmen. Dabei werden wir nur ungerichtete Graphen betrachten. Ein hoher Zentralitätswert Z(vi ) wird dabei beispielsweise erreicht werden, wenn vi zu den anderen Knoten kleine Abstände hat oder auf vielen sie verbindenden kürzesten Wegen liegt. 3 Kapitel 2 Popularitätsindex P Intuitive Herleitung von P durch Betrachtung folgendes sozialen Netzwerks: • n Individuen führen eine Abstimmung wie folgt durch: • jedes Individuum kann gewählt werden • jedes Individuum kann jedes andere Individuum entweder wählen oder nicht (1 oder 0) −→ jedes Individuum kann höchstens n-1 Stimmen abgeben und n-1 Stimmen erhalten −→ Ziel: jedem der Individuen eine von dieser Abstimmung abhängige Zentralitätsbewertung zuordnen −→ Graph modellieren G = (V,E) mit V = v1 , ..., vn (beteiligte Individuen) und (vi , vj )E gdw. ,,vi wählt vj “ −→ Adjazenzmatrix A von G: aij = 1, (vi , vj )E 0, sonst −→ es ergibt sich intuitiv: P (vi ) = din (vi ) für alle vi E (Popularitätsindex ist also lokal bestimmt) Pn −→ din(vi) = j=1 aji −→ Es ergibt sich der Popularitäts-Vektor von G: P (G) = 1T A −→ P (vi ) ist von der Anzahl der Nachbarn von vi abhängig −→ Nachbarschaftszentralität −→ P (vi ) beschreibt die Anzahl der Knoten der Entfernung 1 −→ Abstandszentralität 4 Kapitel 3 Nachbarzentralitäten 3.1 Status-Index S (Leo Katz 1953) −→ Ausgangspunkt: G, A, P (G) −→ aber bei S(vi ) wird nicht nur berücksichtigt, wie viele Stimmen vi erhält , sondern auch, von wem vi gewählt wird (d.h. auch der Status derjenigen, die vi gewählt haben) Satz: Ist A die Adjazenzmatrix eines ungewichteten, einfachen Graphen ohne Schleifen, so ist (A1 )ij die Anzahl der Wege der Länge 1 von vi nach vj −→ aik ∗ akj = 1 gdw. ,,vi wählt vk und vk wählt vj “; also: die Spaltensummen von A2 sind die jeweils für eine Person über Wege der Länge 2 indirekt abgegebenen Stimmen. −→ der Status-Index ergibt sich nun aus der Aufsummierung der Spaltensummen von A, A2 , A3 , A4 , usw., die passend gewichtet werden, um die geringere Effektivität von weniger direkter Zustimmung zu berücksichtigen: S(G) = 1T T wobeiT := ϕA + ϕ2 A2 + ϕ3 A3 + · · · • um hier Konvergenz zu erreichen, kann ϕ nicht beliebig gewählt werden Satz: Sei A Adjazenzmatrix eines Graphen G, 0 < ϕ ∈ R, λmax der größte Eigenwert von A. Dann gilt: λmax < 1 gdw.ϕA + ϕ2 A2 + ϕ3 A3 + · · · konvergiert ϕ 5 ⇒T ⇒T ⇒T ⇒T ⇒I ⇒I ⇒I ⇒ (T + I)−1 ⇒T +I ⇒T = = = = = = = = = = ⇒ S(G) = ⇒ S(G) = ⇒ S(G) = ⇒ S(G) = ϕA + ϕ2 A2 + ϕ3 A3 + · · · (I + ϕA + ϕ2 A2 + · · ·) ∗ ϕA (I + T ) ∗ ϕA ϕA + ϕT A T − ϕT A + I − ϕA T ∗ I − ϕT A + I 2 − I ∗ ϕA (T + I) ∗ (I − ϕA) I − ϕA (I − ϕA)−1 (I − ϕA)−1 − I 1T ∗ T 1T ∗ (ϕA + ϕT A) 1T ∗ ϕA + 1T ∗ ϕT A ϕ ∗ P (G) + ϕ ∗ S(G) ∗ A also: das Statusmaß S eines Knoten vi bestimmt sich also als die mit Faktor ϕ gewichteten Summe der Statusmaße der zu ihm adjazenten Knoten und seines eigenen Popularitätsindexes. 3.2 Hubbell-Index (Charles H.Hubbell 1965) Der Hubbel-Index dient, änlich wie der Status-Index, zur Darstellung sozialler Netze. Hierbei können auch äußere Einflüsse miteinbezogen werden. Deswegen ist der Index für gerichtete, gewichtete Graphen. Gegeben ist also ein gewichteter Graph G = (V, E) und eine gewichtete Abbildung c : E → R+ , die jeder Kante einen positiven reellen Wert zuordnet. Für den Graphen G gibt es die Adjazenzmatrix W , für die gilt: c(vi , vj ) , falls vi vj beeinflußt wij = 0 , sonst Außerdem gelten noch folgende Formeln: H(vi ) = qi + (xi1 + · · · + xin ) xij = wij ∗ H(vj ) Wobei qi der äußere Einfluss auf den Knoten vi ist und xij der Anteil des Knoten vj auf vi ist. 6 H(vi ) = qi + (wi1 ∗ H(v1 ) + · · · + win ∗ H(vn )) n X = qi + wij ∗ H(vj ) j=1 Für den ganzen Graphen gilt also: H(G) (H(v1 ), · · · , H(vn )) n n X X = q1 + w1j ∗ H(vj ), · · · , qn + wnj ∗ H(vj ) = j=1 = j=1 n n X X (q1 , · · · , qn ) + w1j ∗ H(vj ), · · · , wnj ∗ H(vj ) j=1 H(G) j=1 = q + W ∗ H(G) (3.1) Durch Umformung erhalten wir H(G) = (I − W )−1 ∗ q (3.2) Wie beim Status Vektor S mußfür den größten Eigenwert φmax von W gelten: φmax < 1 (Satz 3.1). Der Nachteil bei Hubbel ist, die wilkürliche Annahme des externen Beeinflußungsvektor q. 3.3 Standardzentralität B (Bonacich 1972) • nur bei symmetrischen Strukturen (z.B. Freundschaftsgraph) • also: ungerichteter Graph G • weiterhin soll G ungewichtet und zusammenhängend sein • n Individuen, deren freundschaftlichen Beziehungen untereinander bekannt sind → G = (V,E) → Adjazenzmatrix A mit 1 , falls vi und vj befreundet sind aij = aji = 0 , sonst • Bestimmung von B durch Bestimmung der kleinsten quadratischen Abweichung: 7 • S : V → R+ 0 gesucht, so dass Si := S(vi ), i = 1, ..., n, die Tendenz des vi beschreibt, Freundschaften mit den anderen der betrachten Gruppe einzugehen • Für i = 1,...,n sollte das Produkt Si ∗ Sj dabei jeweils ,,nahe“ bei dem Wert der tatsächlichen Bindung zwischen vi und vj , nämlich aij liegen • Gesucht wird Vektor S := S(G), der die Summe der quadratischen Differenzen zwischen S T S und A minimiert, also: suche S = (S1 , ..., Sn ) mit: n X n X (Si ∗ Sj − aij )2 i=1 j=1 minimal; • demnach errechnet sich S als Eigenvektor zum größten Eigenwert b von A, wobei die Länge von S auf b normiert wird → B(G) := S 3.4 Verhandlungszentralitäten Es wird ein gerichteter ungewichteter Graph betrachtet, der ein Netzwerk mit Verhandlungspartnern darstellt. Es ist klar das man selbst ein stärkere Verhandlungspartner ist, wenn man nur mit schwächeren verhandelt und umgekehrt. Deswegen wird auch das Zentralitätsmaßvon den Nachbarn beeinflußt. Wir betrachen deswegen einen gerichteten ungewichteten Graphen G mit V , der Menge der Verhandlungspartner und E die Menge der in Verhandlung stehenden Leute. Dabei gibt es die Adjazenzmatrix A mit 1 , falls vi mit vj verhandelt aij = 0 , sonst Dadurch gilt für die Verhandlungszentralität von vi V (vi ) = n X (α + β ∗ V (vj )) ∗ aij j=1 wobei • α die Anzahl der Nachbarn mit denen vi in Verhandlung steht berücksichtigt • β den Grad, wie stark vi von seinen Nachbarn beeinflußt wird ist. α und β werden vorher vom Betrachter festgelegt und können nicht berechnet werden. Damit vi von starken Verhandlungspartnern geschwächt wird, mußβ negativ sein. Denn nur so verringert sich das Zentralitätsmaßvon vi in der Berechnung. Für den kompletten Graphen erhalten wir die Formel V (G) = α(I − βA)−1 ∗ A 8 3.5 PageRank R (Sergey Brin/ Lawrence Page 1998) • stellten den Prototyp der WWW-Suchmaschine GOOGLE vor • um aus den auf Anfragen oft unzähligen Antworten möglichst qualitativ hochwertige auszuwählen, die dem Suchenden dann als ,,erste Wahl“ präsentiert werden, wird bei GOOGLE das Zentralitätsmaß R benutzt • dieses bewertet alle Seiten des WWW aufgrund ihrer strukturellen Position in dem durch die Hyperlink - Struktur des WWW gegebenen Graphen G • Reihenfolge der Präsentation der Seiten eines Suchergebnisses ergibt sich durch die Sortierreihenfolge des PageRank - Vektors R(G): 1 falls vi einen Hyperlink zu vj enthält • → aij = 0 , sonst • damit eine Seite nicht scheinbar eine hohe Qualität erhält (unzählige Links von Seiten EINER Person), ist deswegen nach einem Zentralitätsmaß gefragt, das bei der Indexierung einer Webseite die gesamte Webstruktur berücksichtigt, d.h. ein global bestimmtes Maß • WWW- Surfer: • startet auf beliebiger Seite • wechselt nun unaufhörlich die Webseite (mit Wahrscheinlichkeit q [0, 1] klickt er zufällig einen der Links auf aktueller Seite an/ mit Wahrscheinlichkeit p = 1 - q ruft er zufällig eine völlig neue Seite auf • Wahrscheinlichkeiten gleich verteilt • für einen Surfer, der sich auf vj befindet, ergibt sich die Wahrscheinlichkeit (q∗a ) P(j,i) = np + dout (vjij ) von vj nach vi zu wechseln; mit: • n = Anzahl Seiten insgesamt • dout (vj ) = Anzahl ausgehender Links auf Seite vj • aji = Anzahl Links auf vj , die auf die Seite vi zeigen ({0, 1}) • dout (vj ) 6= 0 wird angenommen, um 00 zu verhindern; befinden sich auf (q∗a ) vj keine Hyperlinks, so definieren wir dout (vjij ) := 0 • um unser Zentralitätsmaß definieren zu können, benötigen wir noch einen Parameter λ, der uns die Existenz einer von Null verschiedenen Lösung garantiert 9 • PageRank von vi bestimmt sich nun im wesentlichen als Summe der PageRanks aller Seiten vj , jeweils gewichtet mit der Wahrscheinlichkeit P(j,i), d.h.: ll → λR(vi ) ⇒ λR(vi ) = = n X j=1 n X j=1 (P (j, i) ∗ R(vj )) (( q ∗ aji p + ) ∗ R(vj )) n dout (vj ) (3.3) (3.4) (3.5) P so dass λ maximal und ||R(G)||1 := k R(vk ) = 1. Um das Auftreten von 0 0 zu verhindern: 1 , falls i = j und dout (vi ) 6= 0 −1 d (v ) out i Somit ergibt sich (Dr )ij = 0, sonst in Matrixdarstellung wegen ||R(G)||1 = 1 also: ll → λR(G) = (p/n ∗ 1 ∗ 1T + q ∗ Dr−1 ∗ A)T ∗ R(G) ⇒ λR(G) = (X + A0 )T ∗ R(G) (3.6) (3.7) wo X := np ∗ 1 ∗ 1T und A0 := q ∗ Dr−1 ∗ A −→ R (G) ist also Eigenvektor zum größten Eigenwert von (X + A0 )T 3.6 Authorities und Hubs (Jon M. Kleinberg 1998) Die ist ein anderes Zentralitätsmaßzum Beurteilen der Qualität von Webseiten. Es werden eigentlich zwei Zentralitätsmaße benutzt, die sich allerdings gegenseitig beeinflußen. • Seiten mit guten Informationen, für Suchende also wichtig, nennt man Authorities. • Seiten die auf viele Authorities verweisen, ein Suchender also von ihnen schnell auf Informationen kommt, nennt man Hubs. Betrachtet man nun einen Subgraphen des WWW G, mit V die Menge der WWW-Seiten und E die Menge der Links. So bekommt man eine Adjazenzmatrix A vom Graphen G, für die gilt: 1 , falls vi einen Links auf vj besitzt aij = 0 , sonst Nun ist folgende Beurteilung durchzuführen: • gute Authorities werden von guten Hubs gelinkt 10 • gute Hubs linken auf viele gute Authorities Es ist also ein iterativer Algorithmus, der die Beurteilung ausrechnet. Allerdings mußman die Schritte der Iteration angeben, die maximal ausgeführt werden sollen, denn sonst würde der Algorithmus ewig weiterrechnen. Also wäre es am sinnvollsten wenn die Werte konvergieren würden. • λKA (G) = (AT A)KA (G) • λKH (G) = (AAT )KH (G) 11 Kapitel 4 Entfernungszentralitäten 4.1 Stresszentralität ST (Shimbel, 1953) • nur für ungerichtete Graphen sinnvoll • für die Bestimmung von ST eines Knotens vi wird die Anzahl sämtlciher Kürzester Wege von Knotenpaaren {vj , vk }, j, k 6= i bestimmt, auf denen vi liegt. • ST (G) ergibt sich also durch Aufsummieren der durch vi führenden kürzesten Wege aller Knotenpaare, d.h. ist gjk (vi ) die Anzahl zu den Knoten vj und vk gehörender kürzester Wege (es kann auch mehrere kürzeste Wege geben zwischen zwei P Knoten!), auf denen vi liegt, so gilt: ST (vi ) = vj 6=vi 6=vk V gjk (vi ) • ST (G) = (ST (v1 ), · · · , ST (vn )) • Beachte: der ,,zentrale“ Knoten eines Sterns mit n Knoten erreicht nicht den maximal möglichen Stresszentralitätswert in einem Graphen mit n Knoten 4.2 ZwischenZentralitäten (Anthonisse 1971) Die Stresszentraliät kann nur in Graphen benutzt werden wo es immer nur einen kürzesten Weg zwischen zwei Knoten gibt. Wenn es aber mehrere kürzeste Wege gibt, hackt es. Dafü gibt es die Zwischenzentralitẗ ZW . Hier können mehrere kürzete Wege betrachtet werden und anteilig in die Zentralität eingerechnet werden. Er sagt dann aus wie wahrscheinlich ein Knoten vi Einfluss auf die Komunikation zwischen vj und vk hat, wenn er auf einem der kürzesten Wege liegt. 12 Den Einflußvon vi auf die Komunikation von vj und vk bezeichnen wir als bjk (vi ). Berechnet wird es wie folgt, bjk (vi ) = gjk (vi ) gjk wobei gjk die Anzahl aller kürzesten Wege ist und gjk (vi ) die Anzahl der kürzesten Wege auf denen vi liegt. Das ZentralitätsmaßZW für vi brechnet sich dann folgendermaßen X ZW (vi ) := bjk (vi ) vj 6=vj 6=vk ∈V für den gesamten Graphen ZW (G) = (ZW (v1 ), · · · , ZW (vn )) 4.3 Abstandszentralität AB (Sabidussi, 1966) • nur für zusammenhängende, ungerichtete Graphen sinnvoll • der gesamte Abstand eines Knotens vi zu den anderen Knoten wird für AB(vi ) bestimmt und daraus unser gewünschtes Maß berechnet • der Abstand oder die Entfernung zweier Knoten ist dabei die Länge eines kürzesten Weges zwischen diesem Knotenpaar. • Gesamtabstand von vi zu den anderen Knoten ist die Summe der Einzelabstände • Knoten, die zu den anderen Knoten einen geringen Gesamtabstand haben, sollen ein hohes Maß an Abstandszentralität erhalten • Bezeichnen wir die Länge eines kürzesten Weges eine Knotenpaares vi , vk mit dist(vi , vk ), so definieren wir: 1 dist(v i , vk ) i=1 AB(vk ) = Pn −→ AB(G) = (AB(v1 ), · · · , AB(vn )) 13 Kapitel 5 Normierung Nachdem man nun den Zentralitätsvektor ausgerechnet hat, steht man vor dem Problem was diese Zahlen eigentlich aussagen. Wenn z.B. ein Knoten den Popularitätsindex 4 hat P (vi ) = 4, ist das in einem Netzwerk mit 5 Knoten der maximale Index den man bekommen kann. Aber in einem Netzwerk mit 100 Knoten ist das wenig. Es fehlt auch die Mglichkeit Werte aus verschieden Netzwerken zu vergleichen. Da setzt nun die Normierung an. Es gibt folgende drei Normierungen äußere Relativ-Zentralität innere Relativ-Zentralität prozentuale Relativ-Zentralität 5.1 äußere Relativ-Zentralität Hier wird der Zentralitätvektor mit dem maximal möglichen Wert verglichen. Z1 (G) := 5.2 Z(G) Zmax (n) innere Relativ-Zentralität Hier wird der Zentralitätvektor mit dem maximal Wert aus dem Vektor verglichen. Z(G) Z2 (G) := maxZ(G) 14 5.3 prozentuale Relativ-Zentralität Hier wird der Zentralitätvektor mit der Summe aller Werte aus dem Vektor verglichen. Z(G) Z3 (G) := sumZ(G) 15