Methoden der Netzwerkanalyse

Größe: px
Ab Seite anzeigen:

Download "Methoden der Netzwerkanalyse"

Transkript

1 Methoden der Netzwerkanalyse Skript zur Vorlesung Ulrik Brandes Sommersemester 005 (letzte Änderung:. August 006)

2 Prolog Methoden der Netzwerkanalyse (Spezialvorlesung Algorithmen) [AKTIV: wo treten Netzwerke auf?] [AKTIV: welche Fragestellungen?] Bachelor Vertiefung, Master, HS Diplom/Lehramt Grundlagen der Informatik, Angewandte Informatik bevor Inhalt bekanntgegeben wird Ablauf Vorlesung wie üblich, Themen z.t. neu wöchentliche Übung: Ausgabe Freitag, Besprechung Montag Termine: Ü Mo :5 :5 (HS06 M+I) V Di :5 :00 (HS JUR), Mi :5 :5 (HS06 M+I, :0???) Prüfungen (Klausur/mündliche Prüfung Ende des Semesters für Schein) i

3 Methoden der Netzwerkanalyse (SS 005) ii Geplanter Inhalt. Einführung. Zentralität. Cluster und Rollen. Netzwerkstatistik und -modelle 5. anschließendes Seminar geplant Ankündigungen Literatur: vertiefende Leseliste (später)

4 Inhaltsverzeichnis Einführung. Gradfolgen Teilgraphen, Wege und Zusammenhang Zentralität. Abstandszentralitäten Rückkopplungszentralitäten Kantenzentralitäten Gruppen und Rollen 95. Dichte Teilgraphen Rollen Modelle und Statistiken 0 iii

5 Kapitel Einführung Zunächst einige Definitionen zu zentralen Begriffen dieser Vorlesung. Diese dienen vor allem der Erinnerung sowie der Auflösung von Mehrdeutigkeiten durch abweichende Verwendung in anderen Veranstaltungen.. Def inition (Multimenge) Eine Menge E zusammen mit einer Vielfachheit # E : E N 0 ihrer Elemente heißt Multimenge. Wir schreiben kurz #e = # E (e) und e k E, falls #e = k, sowie e E bzw. e E, falls e k E für ein k N bzw. k = 0. Die Kardinalität (auch: Mächtigkeit) E = e E #e. Für Multimengen E,F gilt E F, falls e k E = e l F mit k l. Ist F jedoch eine gewöhnliche Menge, so gilt E F, falls e E = e F (unabhängig von #e).. Def inition (Multigraph) Ein (gerichteter) Multigraph ist ein Paar G = (V, E) aus einer endlichen Menge V von Knoten und einer Multimenge E V V von Kanten. Kanten in {(v,v) : v V } nennen wir Schleifen, und ein Multigraph ist schlicht, wenn er keine Schleifen hat. Kanten e k E mit k > heißen Multikanten (auch: Mehrfachkanten).. Definition (symmetrischer Multigraph) Ein Multigraph G = (V,E) heißt symmetrisch, falls (v,w) k E = (w,v) k E, und anti-symmetrisch, falls (v,w) E = (w,v) E. Zu einem beliebigen Multigraphen G = (V,E) ist der symmetrisierte Multigraph

6 Methoden der Netzwerkanalyse (SS 005) G = (V,E E ) definiert durch (v,w) k E (v,w) l E, (w,v) k E, k = k l > 0.. Bemerkung Anti-symmetrische Multigraphen haben keine Schleifen..5 Def inition (Graph) Ein Multigraph G = (V,E) ohne Multikanten (e E für alle e E, d.h. E ist eine gewöhnliche Menge) ist ein (gewöhnlicher) Graph. Zu einem Multigraphen G = (V,E) vereinbaren wir außerdem: n(g) = n = V und m(g) = m = E seine Größe G = n + m u Vorgänger von v, falls (u,v) E; N G (v) = N (v) = {u : (u,v) E} die Menge aller Vorgänger w Nachfolger von v, falls (v, w) E; N + G (v) = N+ (v) = {w : (v,w) E} die Menge aller Nachfolger x adjazent (benachbart) zu v, falls x Vorgänger oder Nachfolger von v; N G (v) = N(v) = N (v) N + (v) Menge aller Nachbarn von v e inzident zu v sowie v inzident zu e, falls e = (u,v) E oder e = (v,w) E; e inzident zu e, falls e = (u,w ),e = (u,w) E mit {u,u,w,w } < {u,w } + {u,w}. Da für unsere Zwecke weitgehend gleichbedeutend, definieren wir ungerichtete Multigraphen als Vereinfachung symmetrischer Multigraphen. Alle anderen Begriffe (gewöhnliche Graphen, Nachbarn, usw.) übertragen sich entsprechend..6 Definition (ungerichteter Multigraph) Zu einem symmetrischen Multigraphen G = (V, E) ist der zugehörige ungerichtete Multigraph Ḡ = (V,Ē) definiert durch {u,w} k Ē (u,w) k E und umgekehrt.

7 Methoden der Netzwerkanalyse (SS 005) Schließlich definieren wir noch eine Repräsentation von Multigraphen durch Matrizen. Diese wird später als Brücke zur Linearen Algebra dienen..7 Def inition (Adjazenzmatrix) Zu einem Multigraphen G = (V,E) ist die Adjazenzmatrix A(G) = (a v,w ) v,w V definiert durch a v,w = k (v,w) k E..8 Bemerkung Die verschiedenen Graphenklassen sind wie oben definiert, damit die zugehörigen Adjazenzmatrizen gerade die folgenden Klassen bilden: (gerichtete) Multigraphen: N n n 0 (gerichtete) Graphen: {0, } n n Symmetrische (Multi)graphen und ihre unterliegenden ungerichteten (Multi)graphen haben die gleiche, symmetrische Adjazenzmatrix und werden von uns daher auch oft gar nicht unterschieden. Die Adjazenmatrix eines schleifenfreien (Multi)graphen hat auf der Diagonalen nur Nullen.. Gradfolgen Wir beginnen mit lokalen Eigenschaften von Netzwerken..9 Def inition (Knotengrade) Sind G = (V, E) ein Multigraph und v V, so heißen d G (v) = d (v) = (u,v) E #(u,v) Eingangsgrad, d + G (v) = d + (v) = (v,w) E #(v,w) Ausgangsgrad und d G (v) = d(v) = d (v) + d + (v) Knotengrad oder kurz Grad von v. Ist Ḡ = (V,Ē) ein ungerichteter Multigraph, so definieren wir den (ungerichteten) Grad von v als d Ḡ (v) = d(v) = #{v,x} + #{v,v}. {v,x} Ē v x

8 Methoden der Netzwerkanalyse (SS 005) Für beliebige (Multi)graphen G definieren wir ferner δ(g) = mind(v) den minimalen Grad, v V d(g) = d(v) den durchschnittlichen Grad, n v V (G) = maxd(v) den maximalen Grad, v V sowie entsprechend für Ein- und Ausgangsgrade. Gilt δ(g) = d(g) = (G), so heißt G regulär..0 Bemerkung Für schlichte symmetrische Multigraphen G ist d G (v) = d Ḡ (v).. Bemerkung In gewöhnlichen Graphen sind d (v) = N (v) und d + (v) = N + (v), aber d(v) = N(v) nur in anti-symmetrischen oder schlichten ungerichteten Graphen.. Lemma Jeder schlichte ungerichtete Graph mit mindestens zwei Knoten enthält zwei Knoten gleichen Grades. Beweis: Gibt es keinen Knoten ohne Nachbarn, so liegen alle Knotengrade zwischen und n, sodass von den n Knoten mindestens zwei den gleichen Grad haben müssen (Taubenschlagprinzip). Gibt es genau einen Knoten ohne Nachbarn, liegen die Knotengrade der n anderen Knoten zwischen und n.. Lemma (Handschlaglemma) In (gerichteten wie ungerichteten) Multigraphen gilt Beweis: v V d(v) = m. Für gerichtete Multigraphen ist d (v) = m = d + (v), woraus wegen d(v) = d (v) + d + (v) für alle v V die Behauptung folgt. Ein ungerichteter Multigraph hat genau so viele Schleifen und halb so viele andere Kanten wie der zugehörige symmetrische Multigraph. Die Behauptung folgt wieder aus der Definition des (ungerichteten) Knotengrades. v V v V

9 Methoden der Netzwerkanalyse (SS 005) 5. Def inition (Gradfolgen) Gegeben sei ein gerichteter oder ungerichteter Multigraph G = (V, E) mit Knotenmenge V = {v,...,v n }. Die Folge D(G) = ((d (v ),d + (v )),...,(d (v n ),d + (v n ))) des gerichteten bzw. D(G) = (d(v )...,d(v n )) des ungerichteten Multigraphen G heißt dessen Gradfolge. Welche Folgen natürlicher Zahlen sind Gradfolgen bestimmter Multigraph- Existenz von Isomeren klassen? Das Handschlaglemma liefert eine notwendige Bedingung, die jedoch nur für allgemeine Multigraphen hinreichend ist. (Überlegen Sie sich ein Verfahren, um aus einer Folge ((a,b ),...,(a n,b n )) mit n i= a i = n i= b i einen Multigraphen mit ebendieser Gradfolge zu konstruieren!).5 Definition (konjugierte Zahlenfolge) Zu einer Folge D = (d,...,d n ) von natürlichen Zahlen sei = max j=,...,n d j. Die zu D konjugierte Folge D = (d,...,d ) ist definiert durch Für i > wird d i = 0 vereinbart. d i = {d j i : j =,...,n}. Die konjugierte Folge lässt sich leicht aus einem Ferrers-Diagramm ablesen: d d d d d 5 d 5 d d d d 5 d Da es sich lediglich um zwei verschiedene Weisen des Abzählens handelt, gilt n d i = d i. i i=

10 Methoden der Netzwerkanalyse (SS 005) 6.6 Satz (Ryser 957; Gale 957) Eine Folge (a,b ),...,(a n,b n ) von Paaren natürlicher Zahlen mit a... a n und a i,b j n ist genau dann die Gradfolge eines Graphen, wenn n a i = ( ) n b j = b j i= j j= ( ) k k n und = min{b j,k} für k =,...,n i= a i j= b j j= Beweis: Die erste Bedingung ist offensichtlich notwendig und man sieht leicht (wieder durch doppeltes Abzählen im Ferrers-Diagramm), dass die Gleichheiten auf der rechten Seite der zweiten Bedingung gelten. Um zu zeigen, dass die zweite Bedingung ebenfalls notwendig und zusammen mit der ersten dann aber auch hinreichend ist, konstruieren wir ein bipartites Flussnetzwerk mit Knoten s,v +,...,v n +, v,...,vn,t und Kanten (s,v + j ) mit Kapazität b j für alle j =,...,n, Kanten (v + j,v i ) mit Kapazität für alle i,j =,...,n und Kanten (v i,t) mit Kapazität a i für alle i =,...,n. v + v b a b a s t b n a n v + n v n Ein maximaler st-fluss, der alle zu s und t inzidenten Kanten saturiert, hat dann den Wert n i= a i = n j= b j. Zu jedem solchen Fluss definieren die flusstragenden Kanten (v + j,v i ) einen Graphen mit der gewünschten Gradfolge, und umgekehrt definiert jeder solche Graph einen entsprechenden Fluss. Um zu zeigen, dass ein solcher Fluss genau dann existiert, wenn zusätzlich die zweite Bedingung gilt, betrachten wir Teilmengen S {v,...,v n }.

11 Methoden der Netzwerkanalyse (SS 005) 7 Der gewünschte Fluss existiert genau dann, wenn aus jedem beliebigen S höchstens so viel hinausfließen muss wie hineinfließen kann, d.h. i: v i S a i n min{b j, S }. j= Da die a i nicht-aufsteigend sortiert sind, gilt aber a i i: v i S S i= a i für alle S. Die Charakterisierung erlaubt Schleifen, lässt sich aber mit Hilfe der folgenden Variante konjugierter Folgen für schlichte Graphen umformulieren..7 Definition (korrigiert-konjugierte Zahlenfolge) Zu einer nicht-aufsteigend sortierten Folge D = (d,...,d n ) von natürlichen Zahlen ist die korrigiert-konjugierte Folge D = ( d,..., d d +) definiert durch d i = {d j i : j =,...,i } + {d j i : j = i +,...,n}. Zu korrigiert-konjugierten Folgen lässt sich entsprechend ein korrigiertes Ferrers- Diagramm angeben: d d d d d5 d6 d 5 d d d d 5 d Auch für korrigiert-konjugierte Folgen gilt offensichtlich n d i = i i= d i. Statt der Charakterisierung für schlichte Graphen geben wir gleich eine für schlichte ungerichtete Graphen an.

12 Methoden der Netzwerkanalyse (SS 005) 8.8 Satz (Erdős und Gallai 960) Eine Folge d... d n von natürlichen Zahlen ist genau dann die Gradfolge eines schlichten ungerichteten Graphen, wenn und n d i 0 mod i= k i= d i k d i für k =,...,n (.) i= Beweis: Gibt es einen schlichten ungerichteten Graphen G mit D(G) = (d,...,d n ), so können wir o.e. d... d n annehmen. Die erste Bedingung folgt dann aus dem Handschlaglemma. Wir folgern die zweite Bedingung aus dem Satz über die Gradfolgen von gerichteten Graphen, indem wir den zugehörigen symmetrischen Graphen so modifizieren, dass alle Knoten mit d i i eine Schleife erhalten. Die Gradfolge dieses gerichteten Graphen sei ((a,b ),...,(a n,b n )). Dann ist für einen Index q (q < n da d n n ) { d i + für i q, a i = b i = sonst. Aus dem Ferrers-Diagramm erhalten wir außerdem { dj b + für j q, j = d j sonst. Mit dem Satz für gerichtete Graphen folgt dann min{q,k} + k i= k i= a i d i d i k i= b i k d i + min{q,k} für k =,...,n. Die Ungleichung gilt auch für den Fall k = n, denn wegen d i n ist n i= d i = d i i = n d i= i. Die umgekehrte Richtung ist deutlich schwieriger und wird hier nicht bewiesen. Idee: Zeige zunächst die Existenz eines schlichten gerichteten Graphen i=

13 Methoden der Netzwerkanalyse (SS 005) 9 mit entsprechenden Ein- und Ausgangsgraden und transformiere diesen sukzessive in einen schlichten symmetrischen Graphen mit gleicher Gradfolge. Dessen zugehöriger ungerichteter Graph ist der gesuchte..9 Satz Bedingung (.) ist äquivalent zu k d i k(k ) + i= n i=k+ min{d i,k} für k =,...,n. (.) Beweis: Zu gegebener Folge d... d n sei c k die Anzahl der leeren Felder (weder noch oder ) im Quadrat {d,...,d k } { d,..., d k } des korrigierten Ferrers-Diagramms. Dann lässt sich Bedingung (.) schreiben als k i= d i k i= d i + c k (.) Wegen c k 0 folgt (.), und damit auch (.), aus (.). Die Umkehrung beweisen wir durch einen Widerspruch. Angenommen, es gilt (.), aber k k d i > d i i= für ein k n (insbesondere also c k > 0). Da das Feld (, ) im korrigierten Ferrers-Diagramm nicht leer ist, gilt c = 0 und damit k >. Sei nun q der größte Index mit d q k. Dann ist q < k, weil c k > 0, und wir erhalten zunächst k k k n d i > d i = q(k ) + d i + i= i= i= i=q+ und durch einfache Umformung q d i > q(k ) + i= n i=k+ i=k+ d i. d i

14 Methoden der Netzwerkanalyse (SS 005) 0 Im Widerspruch dazu folgt aus (.) q d i q(q ) + i= q(q ) + n i=q+ k i=q+ min{d i,q} q(q ) + (k q)q + q(k ) + n i=k+ min{d i,q} + d i. n i=k+ d i n i=k+ Die obigen Sätze sind globale Kriterien für die Realisierbarkeit von Zahlenfolgen als Gradfolgen, die in Linearzeit getestet werden können. Zum Abschluss behandeln wir ein rekursives Kriterium, das unmittelbar auf einen Konstruktionsalgorithmus führt..0 Satz (Havel 955; Hakimi 96) Eine Folge d... d n mit d n ist genau dann Gradfolge eines schlichten ungerichteten Graphen, wenn auch d,...,d d +,d d +,...,d n Gradfolge eines solchen Graphen ist. Der Beweis ergibt sich unmittelbar aus der folgenden Beobachtung.. Lemma Zu einer Folge D = (d,...,d n ) mit d... d n sei G D die Menge aller schlichten ungerichteten Graphen mit Knoten {v,...,v n }, in denen v i den Grad d i hat. Ist G D nicht leer, dann enthält sie einen Graphen mit N(v ) = {v,...,v d +}. Beweis: Da für d = n jeder Graph in G D die Bedingung erfüllt, nehmen wir d < n an. Zu G = (V,E) G D definieren wir dann j(g) als den kleinsten Index mit {v,v j } E und wählen einen solchen Graphen G = (V,E) G D, für den j(g) maximal ist. Wir müssen zeigen, dass j(g) = d + und nehmen daher an, es wäre j = j(g) < d +. Von den d Nachbarn von v können dann höchstens d i

15 Methoden der Netzwerkanalyse (SS 005) d einen Index kleiner j haben, sodass es ein v i N(v ) mit i > j geben muss. Daraus folgt d j d i, und wegen v N(v i )\N(v j ) existiert dann auch ein weiterer Knoten v k N(v j ) \ N(v i ). v v v v j v i v k Der Graph G = (V,E ) mit E = (E\{{v,v i }, {v j,v k }}) {{v,v j }, {v i,v k }} ist dann aber ebenfalls in G D und j(g ) > j = j(g) im Widerspruch zur Maximalität.. Teilgraphen, Wege und Zusammenhang. Def inition (Teilgraph) Ein Multigraph G = (V,E) enthält einen Multigraphen G = (V,E ), falls V V und E E. Wir nennen G auch Teilgraph von G und schreiben G G.. Definition (Weg und Kreis) Ein (gerichteter) Weg (auch: Pfad) der Länge k ist ein Graph P k = (V,E) mit V = {v,...,v k+ } und E = {(v,v ),...,(v k,v k+ )}, wobei E = k verlangt wird. Wir nennen P k auch einen (v,v k+ )-Weg. Der Graph C k+ = (V,E {(v k+,v )}), (v k+,v ) E, heißt (gerichteter) Kreis (auch: Zykel) der Länge k +. Die Graphen P k und C k+ heißen einfach, falls V = k + (kein Knoten kommt doppelt vor).. Satz Jeder schlichte ungerichtete Graph G enthält einen Weg der Länge δ(g) und, falls δ(g), auch einen Kreis der Länge mindestens δ(g) +. Unter einem ungerichteten Weg bzw. Kreis verstehen wir sowohl den zugehörigen ungerichteten Graphen, als auch den Graphen, der aus einem Weg bzw. Kreis durch Umdrehen beliebig vieler seiner Kanten entsteht.

16 Methoden der Netzwerkanalyse (SS 005) Beweis: Betrachte den letzten Knoten t eines längsten Weges in G. Da es keinen längeren Weg gibt, müssen alle d(t) δ(g) Nachbarn von t Knoten des Weges sein, und weil G schlicht ist, handelt es sich um verschiedene Knoten. t Der erste zu t benachbarte Wegknoten schließt einen Kreis der Länge mindestens δ(g) +..5 Def inition (Zusammenhang) Ein Multigraph G = (V,E) heißt stark zusammenhängend, falls er für jedes Paar v,w V sowohl einen (v,w)-weg als auch einen (w,v)-weg enthält. G heißt (schwach) zusammenhängend, wenn der symmetrisierte Multigraph stark zusammenhängend ist..6 Definition (mehrfacher Zusammenhang) Ein ungerichteter Multigraph heißt k-fach (knoten)zusammenhängend, falls jeder durch Entfernung von höchstens k beliebigen Knoten (und aller inzidenten Kanten) entstehende Multigraph zusammenhängend ist. Der Multigraph heißt k-fach kantenzusammenhängend, falls jeder durch Entfernung von höchstens k beliebigen Kanten entstehende Multigraph zusammenhängend ist..7 Def inition (Komponenten) Zu einem schlichten Multigraphen heißt ein inklusionsmaximaler zusammenhängender (stark zushgd., k-fach zushgd., k-fach kantenzushgd.) Teilgraph (starke, k-fache, k-fache Kanten-) Zusammenhangskomponente. In Multigraphen mit Schleifen werden diese zu den eindeutigen (starken, k-fachen Kanten-) Zusammenhangskomponenten ihrer Knoten hinzugerechnet, für k > aber als eigene k-fache Zusammenhangskomponente gezählt.

17 Methoden der Netzwerkanalyse (SS 005) Tiefensuche Linearzeitalgorithmen zur Bestimmung von Zusammenhangskomponenten können als Spezialisierungen der folgenden Form der Tiefensuche formuliert werden. Die Funktionen root, traverse und backtrack werden dazu abhängig vom Komponententyp implementiert. Algorithmus : (Gerichtete) Tiefensuche (depth-first search, DFS) Eingabe : Multigraph G = (V, E) Daten : Stack S (für Knoten auf DFS-Pfad) Knotenarray incoming (für erste Eingangskante) Knoten- und Kantenmarkierungen foreach s V do if s nicht markiert then markiere s incoming[s] nil push s S root(s) while S nicht leer do v top(s) if ex. ein nicht markiertes e = (v, w) E then markiere e if w nicht markiert then markiere w incoming[w] e push w S traverse(v, e, w) else w pop(s) backtrack(w, incoming[w], top(s)) Ist v,...,v n die Reihenfolge, in der die Knoten markiert werden, so heißt DFS(v i ) = i die DFS-Nummer von v i. Die DFS-Nummer DFS((v,w)) = DFS(v) einer Kante sei die DFS-Nummer des Knotens, von dem aus sie durchlaufen wird. Wir definieren eine Tiefensuch(halb)ordnung auf V E durch DFS(p) DFS(q) p q für alle p,q V E und DFS(p) < DFS(q) p q für alle p,q V E. Für einen leeren Stack S sei top(s) = nil.

18 Methoden der Netzwerkanalyse (SS 005) Die Kanten werden während der Tiefensuche wie folgt klassifiziert. Zum Zeitpunkt, da die Kante (v,w) markiert wird, wird sie zu einer Baumkante ( ), falls w noch nicht markiert ist, Rückwärtskante ( ), falls w markiert ist, w v und w S, Querkante ( ), falls w markiert ist, w v und w S, und Vorwärtskante ( ), falls w markiert ist und v w. B E G A D C F H I Multigraph (gerichtete) Tiefensuche Indizes entsprechen Durchlaufreihenfolge der Knoten bzw. Kanten

19 Methoden der Netzwerkanalyse (SS 005) 5 Ersetzt man die eingekastete Kantenauswahl durch e = (v,w) E or e = (w,v) E, so werden die Kanten unabhängig von ihrer Richtung durchlaufen, z.b.: ungerichtete Tiefensuche Die folgenden Algorithmen benutzen alle das durch die Tiefensuche gegebene Gerüst. Wir geben daher nur die unterschiedlichen Versionen der drei ausgelassenen Methoden an. Alle diese Algorithmen können so implementiert werden, dass sie linear (in der Größe des Multigraphen) viel Zeit und Platz benötigen. In objekt-orientierten Programmen kann die Tiefensuche dann z.b. als abstrakte Klasse (von der speziellere Algorithmen ableiten) oder auch als Iterator über die Kanten (dessen Ausgabe die Spezialisierungen schrittweise verarbeiteten) implementiert werden. (Schwache) Zusammenhangskomponenten Algorithmus : (Schwache) Zusammenhangskomponenten (Spezialisierung der ungerichteten Tiefensuche) Daten : Komponente c (repräsentiert durch ersten Knoten) Ausgabe: Knoten- und Kantenarray component (zeigt auf den Repräsentanten) root(vertex s) begin c s; component[s] c end traverse(vertex v, edge e, vertex w) begin component[e] c component[w] c end

20 Methoden der Netzwerkanalyse (SS 005) 6 Zweifache Zusammenhangskomponenten.8 Lemma Zwei Kanten sind genau dann in einer zweifachen Zusammenhangskomponente, wenn es einen einfachen ungerichteten Kreis gibt, der beide enthält. Jede Kante liegt in genau einer zweifachen Zusammenhangskomponente. Beweis: Zu zwei gegebenen Kanten eines zweifach zusammenhängenden Multigraphen betrachte den ebenfalls zweifach zusammenhängenden Multigraphen, der dadurch entsteht, dass die Kanten durch je einen neuen Knoten unterteilt werden. Wir erhalten dann einen einfachen ungerichteten Kreis aus dem Satz von Menger (knotendisjunkte Version): In einem zweifach zusammenhängenden ungerichteten Multigraphen mit mindestens zwei Kanten gibt es zwischen je zwei Knoten zwei knotendisjunkte Wege. Umgekehrt ist jeder einfache ungerichtete Kreis zweifach zusammenhängend, sodass je zwei seiner Kanten in einer zweifachen Zusammenhangskomponente liegen. Eine Kante e kann nicht in zwei verschiedenen zweifachen Zusammenhangskomponenten liegen, denn wegen der Inklusionsmaximalität müsste es sonst in jeder dieser Komponenten eine weitere Kante e bzw. e geben, die nicht in der jeweils anderen liegt. Zu diesen gibt es je einen einfachen ungerichteten Kreis, auf dem sie gemeinsam mit e liegen. Die Vereinigung der beiden Kreise enthält einen einfachen ungerichteten Kreis, auf dem e und e liegen. e e e

21 Methoden der Netzwerkanalyse (SS 005) 7 Jede zweifache Zusammenhangskomponente ist also Vereinigung von einfachen ungerichteten Kreisen. Wir nutzen nun aus, dass bei der ungerichteten Tiefensuche jede Rückwärtskante einen Kreis schließt und jeder Kreis eine Rückwärtskante enthält. Algorithmus : Zweifache Zusammenhangskomponenten (Spezialisierung der ungerichteten Tiefensuche) Daten : Stack S E (Kanten in offenen Komponenten) Stack C (offene Komponenten, repräsentiert durch erste Kante) Ausgabe: Kantenarray component (zeigt auf Repräsentanten) traverse(vertex v, edge e, vertex w) begin if e ist Schleife then component[e] e else push e S E if e ist Baumkante then push e C if e ist Rückwärtskante then while w top(c) do pop(c) end backtrack(vertex w, edge e, vertex v) begin if e = top(c) and e nil then pop(c) repeat e pop(s E ) component[e ] e until e = e end

22 Methoden der Netzwerkanalyse (SS 005) 8 Mit der ungerichteten Tiefensuchreihenfolge aus dem obigen Beispiel durchläuft der Algorithmus zur Bestimmung der zweifachen Zusammenhangskomponenten die folgenden Zwischenstufen (Indizes entsprechen DFS-Nummern): (,) (,) (,) C (,) (,) (,) S E (,) (,) C (,) (,) (,) (,) S E nach traverse(,(, ), ) nach traverse(,(, ), ) (,) C (,) (,) (,) (,) (,) S E (,) C (,) (,) (,) (,) (,) (,) S E nach traverse(,(, ), ) nach traverse(,(, ), ) nach backtrack(,(, ), ) sind C und S E leer

23 Methoden der Netzwerkanalyse (SS 005) (6,7) (6,5) (,5) C (6,7) (6,5) (,5) S E (6,7) (6,5) (,5) C (6,7) (6,7) (6,5) (,5) S E nach traverse(6,(6,7),7) nach traverse(7,(6,7),6) (5,8) (,5) C (5,8) (,5) S E (5,8) (,5) C (8,5) (5,8) (,5) S E nach traverse(5,(5, 8), 8) nach traverse(8,(8, 5), 5)

24 Methoden der Netzwerkanalyse (SS 005) (8,9) (5,8) (,5) C 9 9 (8,9) (8,5) (5,8) (,5) S E (,5) C 9 9 (8,) (8,5) (5,8) (,5) S E nach traverse(9,(9, 9), 9) nach traverse(8,(8, ), ) Eine kompakte Darstellung der zweifachen Zusammenhangskomponenten eines Multigraphen ist der (bipartite) Block-Schnittknoten Baum, in dem eine Sorte Knoten die Komponenten (Blöcke), und die andere Sorte die Schnittknoten (Knoten, die in mehr als einer nicht-trivialen Komponente liegen, weil ihre Herausnahme den Multigraph unzusammenhängend macht) repräsentiert. E E,G G G A,B,C,D D D,E,F F F,H H H,I Block-Schnittknoten Baum

25 Methoden der Netzwerkanalyse (SS 005).9 Satz Algorithmus berechnet die zweifachen Zusammenhangskomponenten eines Multigraphen in Linearzeit. Beweis: Wir beweisen die Korrektheit des Algorithmus durch Induktion über die Anzahl der Aufrufe von traverse und backtrack. Für jede Kante des Graphen wird einmal traverse aufgerufen, backtrack aber nur für Baumkanten. Wir nennen eine markierte Baumkante, über die noch kein Backtracking erfolgt ist, offen. Jede andere markierte Kante ist fertig. Zu jedem Zeitpunkt induzieren die offenen Kanten einen Weg. Zu jeder zweifachen Zusammenhangskomponente des markierten Teilgraphen gibt es eine eindeutige erste Kante, und eine Komponente heißt offen (fertig), wenn ihre erste Kante offen (fertig) ist. Nach den ersten t Aufrufen von traverse und backtrack sei G t der von den markierten Kanten induzierte Teilgraph. Die offenen zweifachen Zusammenhangskomponenten, ihre Kantenmengen und ihre ersten Kanten bezeichnen und e (i) t, i k t, in der Reihenfolge, in der die e (i) t wir mit G (i) t, E (i) t markiert wurden. Wir zeigen die folgenden Invarianten:. Die Kanten jeder fertigen zweifachen Zusammenhangskomponenten zeigen auf deren erste Kante.. Auf C liegen e () t... e (kt) t in dieser Reihenfolge.. Auf S E liegen die Kanten aus E () t,...,e (kt) t in dieser Reihenfolge. Natürlich sind alle drei Aussagen vor dem ersten Aufruf richtig. Wir setzen daher voraus, dass sie für ein t > 0 nach t Aurufen gelten und unterscheiden zwei Fälle.. Fall (Aufruf von traverse(v,e,w)): Im Sonderfall, dass e eine Schleife ist, wird diese unmittelbar zu einer eigenen Komponente. Ist e eine Baumkante, so ist w ein Knoten vom Grad in G t und damit e die einzige Kante einer neuen offenen Komponente. Alle drei Invarianten bleiben richtig. Ist e eine Rückwärtskante aber keine Schleife, so bildet sie zusammen mit dem letzten, bei w v beginnenden Teilstück des Weges der offenen Kanten einen einfachen Kreis. Alle auf diesem Kreis liegenden Kanten gehören zu derselben zweifachen Zusammenhangskomponente von G t, und da alle Kanten e mit w e von C entfernt werden, gelten die Invarianten weiterhin.

26 Methoden der Netzwerkanalyse (SS 005). Fall (Aufruf von backtrack(w,e,v)): Im Fall e = nil ist w ein Knoten, der in der äußeren Schleife der Tiefensuche auf den Stack S gelegt wurde. Alle Kanten der (schwachen) Zusammenhangskomponente und damit auch alle ihre zweifachen Zusammenhangskomponenten waren damit schon beim vorhergehenden Aufruf fertig, sodass C und S E leer sind. Andernfalls wird die Kante e fertig, und aufgrund der zweiten Invariante ist sie genau dann erste Kante der offenen Komponente mit höchstem Index, wenn sie ganz oben auf C liegt. Da es in der ungerichteten Tiefensuche keine Quer- oder Vorwärtskanten gibt, kann die zugehörige Komponente nicht mehr wachsen und ist daher fertig. Wegen der dritten Invariante werden durch die repeat-schleife die richtigen Kanten vom Stack entfernt. Da die Tiefensuche sicher in Linearzeit durchgeführt werden kann, ist nur zu zeigen, dass die Aufrufe von traverse und backtrack insgesamt linear viel Zeit benötigen. Dies folgt aber unmittelbar aus der Beobachtung, dass jede Kante nur höchstens einmal auf S E und C abgelegt wird.

27 Methoden der Netzwerkanalyse (SS 005) Zweifache Kantenzusammenhangskomponenten.0 Lemma Zwei Knoten sind genau dann in einer zweifachen Kantenzusammenhangskomponente, wenn es einen ungerichteten Kreis gibt, der beide enthält. Jeder Knoten liegt in genau einer zweifachen Kantenzusammenhangskomponente. Algorithmus : Zweifache Kantenzusammenhangskomponenten (Spezialisierung der ungerichteten Tiefensuche) Daten : Stack S V (Knoten in offenen Komponenten) Stack C (offene Komponenten, repräsentiert durch ersten Knoten) Ausgabe: Knotenarray component (zeigt auf Repräsentanten) root(vertex s) begin push s S V push s C end traverse(vertex v, edge e, vertex w) begin if e ist Baumkante then push w S V push w C end if e ist Rückwärtskante then while w top(c) do pop(c) backtrack(vertex w, edge e, vertex v) begin if w = top(c) then pop(c) repeat u pop(s V ) component[u] w until u = w end. Satz Algorithmus berechnet die zweifachen Kantenzusammenhangskomponenten eines Multigraphen in Linearzeit. Beweis: Analog zu den zweifachen Zusammenhangskomponenten.

28 Methoden der Netzwerkanalyse (SS 005) Mit der gleichen ungerichteten Tiefensuchreihenfolge wie oben ergeben sich die folgenden Zwischenschritte. C S V C S V nach traverse(,(, ), ) nach traverse(,(, ), ) C S V C S V nach traverse(,(, ), ) nach traverse(,(, ), ) nach backtrack(,(, ), ) sind C und S V unverändert

29 Methoden der Netzwerkanalyse (SS 005) C S V C S V nach traverse(6,(6,7),7) nach traverse(7,(6,7),6) C 8 5 S V C 8 5 S V nach traverse(5,(5, 8), 8) nach traverse(8,(8, 5), 5)

30 Methoden der Netzwerkanalyse (SS 005) C S V C 8 5 S V nach traverse(9,(9, 9), 9) nach traverse(8,(8, ), ) Eine kompakte Darstellung der zweifachen Kantenzusammenhangskomponenten eines Multigraphen ist der Baum (sic!) der brückenfreien Komponenten, dessen Knoten die kontrahierte Menge der Knoten einer Komponente und dessen Kanten die Brücken des Multigraphen (Kanten, deren Herausnahme ihn unzusammenhängend macht) sind. G A,B,C,D,E,F H,I Baum der brückenfreien Komponenten

31 Methoden der Netzwerkanalyse (SS 005) 7 Starke Zusammenhangskomponenten. Lemma Zwei Knoten sind genau dann in einer starken Zusammenhangskomponente, wenn es eine geschlossene gerichtete Kantenfolge gibt, die beide enthält. Jeder Knoten liegt in genau einer starken Zusammenhangskomponente.. Satz Verwendet man Algorithmus als Spezialisierung einer gerichteten Tiefensuche und erweitert die eingekastete Bedingung zu e ist Rückwärtskante or e ist Querkante mit w S V, so berechnet der modifizierte Algorithmus die starken Zusammenhangskomponenten des eingegebenen Multigraphen in Linearzeit. Beweis: Eine Querkante schließt genau dann einen Kreis, wenn die Komponente, in der sich der Zielknoten w befindet, noch offen ist. Vorwärtskanten sind lediglich Abkürzungen für bereits vorhandene gerichtete Wege. Alle anderen Argumente sind analog zum Fall der zweifachen Kantenzusammenhangskomponenten. D.h. ein Kreis, in dem Knoten wiederholt vorkommen dürfen.

32 Methoden der Netzwerkanalyse (SS 005) 8 Wie schon bei den beiden vorhergehenden Beispielen betrachten wir wieder die Zwischenschritte des Algorithmus, diesmal aber natürlich bezüglich der gerichteten Tiefensuche. C S V C S V C S V nach traverse(,(, ), ) nach traverse(,(, ), ) nach traverse(,(, ), ) C S V C S V C 6 5 S V nach backtrack(,(, ), ) nach traverse(,(, ), ) nach traverse(6,(6, ), ) nach backtrack(, nil, nil) sind C und S V leer

33 Methoden der Netzwerkanalyse (SS 005) C S V C 9 8 S V nach traverse(6,(6, 7), 7) nach traverse(8,(8, 9), 9) C 8 S V C 8 S V nach backtrack(9,(8, 9), 8) nach traverse(8,(8, ), ) Eine kompakte Darstellung der starken Zusammenhangskomponenten eines Multigraphen ist der gerichtete kreisfreie Multigraph (directed acyclic graph, DAG), dessen Knoten die kontrahierten Komponenten und dessen Kanten

34 Methoden der Netzwerkanalyse (SS 005) 0 die dabei übrigbleibenden Kanten sind (genau die Kanten aller gerichteten Schnitte des Multigraphen). G A,B,C D,E,F H I DAG der starken Zusammenhangskomponenten

35 Kapitel Zentralität One of the primary uses of graph theory in social network analysis is the identification of the most important actors in a social network. (Wasserman/Faust, 99) [AKTIV: Wer ist zentral? Warum?]

36 Methoden der Netzwerkanalyse (SS 005) Die relative Wichtigkeit der Knoten eines Multigraphen interessiert auch in zahlreichen anderen Kontexten, wir wollen uns jedoch vordringlich mit den Gemeinsamkeiten der dahinter stehenden Methoden beschäftigen. Da der modellierte Gegenstand und insbesondere seine nicht durch den Multigraphen erfassten Eigenschaften für uns unbedeutend sind, wollen wir nur strukturell verschiedene Multigraphen unterscheiden.. Def inition (Isomorphie) Zwei Multigraphen G = (V,E) und G = (V,E ) heißen isomorph, G = G, falls es eine Bijektion α : V V mit (v,w) k E α(v,w) := (α(v),α(w)) k E gibt. In diesem Fall nennen wir α einen zugehörigen (Multigraphen-)Isomorphismus und schreiben auch α(g) = G. Falls V = V heißt α auch Automorphismus von G.. Def inition (Strukturindex) Seien K eine unter Bildung von Zusammenhangskomponenten abgeschlossene Klasse nicht-isomorpher Multigraphen und R 0 die Menge aller Vektoren über den nicht-negativen reellen Zahlen. Eine Funktion s : K R 0 heißt (Knoten- bzw. Kanten-)Strukturindex auf K, falls für alle G = (V,E) K s(g) R V 0 bzw. s(g) R E 0 (d.h. s ist ein Knoten- bzw. Kantenindex), für alle G = (V, E) K und Automorphismen α von G s(g) v = s(α(g)) α(v) bzw. s(g) e = s(α(g)) α(e) für alle v V bzw. e E (d.h. s bewertet ausschließlich die Struktur des Graphen), und für alle G = (V, E) K und Zusammenhangskomponenten C = (V C,E C ) G s(g) v s(c) w = s(c) v s(g) w bzw. s(g) e s(c) f = s(c) e s(g) f für alle v,w V C bzw. e,f E C (d.h. s ist konsistent). Gibt es zu einem Multigraph G K einen isomorphen Multigraphen α(g) K, so definieren wir s(g) = s(α(g)).

37 Methoden der Netzwerkanalyse (SS 005) Nicht jeder Strukturindex misst etwas, das unserem intuitiven Verständnis von Zentralität entspricht. Wir formulieren daher (sehr schwach erscheinende) Mindestanforderungen, die außerdem noch zwischen grundsätzlich verschiedenen Formen struktureller Zentralität unterscheiden.. Def inition (Zentralität) Ein Strukturindex c auf einer unter Hinzufügen von Kanten abgeschlossenen Klasse K von Multigraphen heißt (schwacher) (Knoten-)Zentralität(sindex), falls eine der drei folgenden Bedingungen für alle G = (V,E) K und v,w V gilt: Für alle x V c(g) v c(g) x = c(g + (v,w)) v c(g + (v,w)) x (Zentralität basierend auf Einfluss, Zugang, usw.) Für alle x V c(g) w c(g) x = c(g + (v,w)) w c(g + (v,w)) x (Zentralität basierend auf Reputation, Erreichbarkeit, usw.) Für alle x V c(g) v + c(g) w c(g) x = c(g + (v,w)) v + c(g + (v,w)) w c(g + (v,w)) x (Zentralität basierend auf Kontrolle, Mediation, usw.) Wir schreiben auch kurz c (K), c (K), bzw. c (K) und sagen, c sei vom Typ, bzw..

38 Methoden der Netzwerkanalyse (SS 005) Normierte Zentralitäten erlauben den Vergleich der relativen Wichtigkeit von Knoten in Netzwerken unterschiedlicher Größe, aber auch bzgl. unterschiedlicher Indizes.. Def inition (Normalisierung) Ein Knoten- bzw. Kanten-Strukturindex s auf K heißt normiert, falls s(g) v = v V für alle G = (V,E) K. bzw. s(g) e =.5 Bemerkung Zu jeder Zentralität c auf K gibt es eine eindeutige normierte Zentralität ĉ auf K mit c(g) v falls c(g) x > 0 für ein x V c(g) x x V ĉ(g) v = n sonst. Diese kann als Verteilung der Zentralität (der Wichtigkeit, des Einflusses, usw.) angesehen werden..6 Beispiel (Gradzentralität) Man prüft leicht nach, dass der Eingangsgrad eine -Zentralität, der Ausgangsgrad eine -Zentralität, und der Knotengrad eine -, und auch -Zentralität ist. e E Die Gradzentralitäten sind lokal in dem Sinne, dass sie ausschließlich die Nachbarschaft eines Knotens berücksichtigen. Wir werden zwei verschiedene Arten von Verallgemeinerungen betrachten, welche die globale Struktur des Multigraphen berücksichtigen. Bei der ersten gehen die Entfernungen zu anderen Knoten ein, bei der zweiten die Bewertungen der Nachbarn. Offene Frage: Folgt aus c (K) (K) (K), dass c monoton im Knotengrad ist?

39 Methoden der Netzwerkanalyse (SS 005) 5. Abstandszentralitäten Als Variante der Gradzentralitäten kann die Größe der Nachbarschaften eines Knotens zur Zentralitätsbestimmung herangezogen werden. Eine Möglichkeit, andere Knoten über die Nachbarschaft hinaus in die Bewertung einzubeziehen, besteht dann darin, die Zahl der Nachbarn von Nachbarn, die selbst keine Nachbarn des betrachteten Knotens sind, hinzuzuzählen, aber z.b. geringer zu gewichten. Deren noch nicht berücksichtigte Nachbarn könnten mit noch geringerem Gewicht hinzugezählt werden, usw..7 Def inition (Abstand) Sei G = (V,E) ein Multigraph. Gibt es für zwei Knoten s,t V einen Weg von s nach t, so heißt die kürzeste Länge eines (s,t)-weges Abstand (auch: Distanz), d G (s,t), von s nach t. Gibt es keinen (s,t)-weg, so vereinbaren wir d G (s,t) =. Um Schwierigkeiten mit unendlichen Abständen zu vermeiden, betrachten wir in diesem Abschnitt meist nur stark zusammenhängende Multigraphen. Sei daher im folgenden S die Klasse der stark zusammenhängenden Multigraphen und G die Klasse aller Multigraphen..8 Definition (Exzentrizität, Durchmesser, Radius) Für einen Multigraphen G = (V,E) definieren wir die Exzentrizität e G (v) = max{d G (v,w),d G (w,v) : w V }, den Radius rad(g) = min{e G (v) : v V } und den Durchmesser diam(g) = max{e G (v) : v V }. Üblicherweise wird das Zentrum C(G) V eines zusammenhängenden ungerichteten Graphen (d.h. eines ungerichteten Graphen mit endlichem Radius) als die Menge der Knoten mit kleinster Exzentrizität definiert, C(G) = {v V : e G (v) = rad(g)}. Wir können diesen Zentrumsbegriff zu einem Zentralitätsindex für stark zusammenhängende Multigraphen erweitern, indem wir z.b. allen Knoten im analog definierten Zentrum den Wert, und allen außerhalb den Wert 0 zuweisen. Frage: Um welche Sorte Zentralität handelt es sich dann?

40 Methoden der Netzwerkanalyse (SS 005) 6 Der folgende Index macht feinere Unterschiede, indem statt der Exzentrizität (also des maximalen Abstands) der mittlere Abstand zu anderen Knoten zugrunde gelegt wird..9 Definition (Closeness; Beauchamp 965) Die Closeness-Zentralität c C ist definiert durch c C (G) v = d G (v,t) t V für alle G = (V,E) S, wobei 0 = gelte. Frage: Warum wird Closeness-Zentralität nur auf stark zusammenhängenden Multigraphen definiert? 7.09 % 7.09 % 9.6 % 0.95 % 0.7 %.7 % 0.0 % 0.95 % 8.9 % 6.69 % 6.69 % normierte Closeness-Zentralität im Beispielgraphen

41 Methoden der Netzwerkanalyse (SS 005) 7.0 Satz c C (S) Beweis: Seien G = (V,E) S, c = c C (G), v,w V, G = G + (v,w) und c = c C (G ). Wir müssen zeigen, dass c v c x = c v c x für alle x V. Für ein festes x V folgt aus c v c x zunächst t V d G(v,t) t V d G(x,t). Wir zeigen, dass d G (v,t) d G (v,t) d G (x,t) d G (x,t) 0 für alle t V, woraus dann t V d G (v,t) t V d G (x,t) und somit die Behauptung folgt. Die hintere Ungleichung ist klar, da wir eine Kante hinzufügen und also keinen Abstand vergrößern. Ist d G (x,t) d G (x,t) > 0, so muss jeder kürzeste (x,t)-weg in G die neue Kante (v,w) benutzen. Es gilt daher d G (x,t) = d G (x,v) + d G (v,t) und wir erhalten d G (x,t) d G (x,t) = d G (x,t) [d G (x,v) + d G (v,t)] [d G (x,v) + d G (v,t)] [d G (x,v) + d G (v,t)] = d G (v,t) d G (v,t). Die letzte Gleichung gilt, weil eine neue Kante (v,w) den Abstand von x nach v nicht verkleinert.. Satz c C (S) (S) Beweis: c C (S) : c C (S) : x = v w x v w c w = = c v c v + c w = + = c x c w = < = c v c v + c w = + < = c x

42 Methoden der Netzwerkanalyse (SS 005) 8 Aus c C erhalten wir dennoch leicht eine -Zentralität, indem wir in der Definition die Distanzen von durch Distanzen nach v ersetzen. Die Bedingungen an -Zentralitäten sind motiviert durch den folgenden, sehr populären Index auf der Klasse aller nicht-isomorphen Multigraphen G.. Definition (Betweenness; Anthonisse 97, Freeman 977) Die Betweenness-Zentralität c B ist definiert durch c B (G) v = s,t V σ G (s,t v) σ G (s,t) für alle G = (V,E) G. Dabei bezeichne σ G (s,t) die Anzahl der kürzesten Wege von s nach t, σ G (s,t v) die Anzahl der kürzesten (s,t)-wege, die v als inneren Knoten enthalten (d.h. v liegt auf dem Weg, aber v s,t), und es gelte 0 0 = 0. 0 % 0 % 5.67 %.09 % 8.8 %.5 % 5.6 % 7.5 % 6.9 % 0 % 0 % normierte Betweenness-Zentralität im Beispielgraphen

43 Methoden der Netzwerkanalyse (SS 005) 9. Satz c B (G) Beweis: (verbesserungsbedürftig!) Seien wieder G = (V,E) G, v,w V und G = G + (v,w). Die Behauptung ist bewiesen, wenn wir zu jedem Paar s, t V für alle x V zeigen können, dass σ G (s,t v) + σ G (s,t w) σ G (s,t x) σ G (s,t) σ G(s,t v) + σ G (s,t w) σ G (s,t x) σ G (s,t). Wir wählen s,t,x V beliebig und unterscheiden danach, ob die neue Kante (v,w) den Abstand von s nach t verringert.. Fall: Bleibt der Abstand gleich, so ist jeder kürzeste (s,t)-weg in G auch ein solcher in G. Es gilt daher σ G (s,t) = σ G (s,t) + k, wobei (v,w) auf den k 0 neuen kürzesten (s,t)-wegen in G liegt. Ist s = w oder t = v, dann ist k = 0, sodass beide Seiten der Ungleichung identisch sind. Für s = v und t = w bestehen alle (alte und neue) kürzeste (s,t)-wege nur aus einer Kante. Weder v oder w noch x sind dann innerer Knoten, sodass beide Seiten identisch Null sind. Im Fall s = v und t w ist σ G (s,t v) = σ G (s,t v) = 0, aber wieder σ G (s,t w) = σ G (s,t w) + k und σ G (s,t x) σ G (s,t x) + k (wobei k = σ G (w,t)). Die Ungleichung folgt sofort, da immer σ G (s,t w) σ G (s,t x) σ G (s,t). Der Fall s v und t = w geht analog. Ist schließlich {s,t} {v,w} =, so sind v und w innere Knoten aller k neuen kürzesten (s,t)-wege, d.h. wir haben σ G (s,t v) = σ G (s,t v) + k und σ G (s,t w) = σ G (s,t w)+k. Da nicht jeder neue Weg auch x enthalten muss, ist σ G (s,t x) σ G (s,t x) + k. Für σ G (s,t v) + σ G (s,t w) σ G (s,t x) σ G (s,t) oder σ G (s,t x) = 0 folgt damit die Ungleichung. Andernfalls ist 0 < σ G (s,t x) < min{σ G (s,t v),σ G (s,t w)}, sodass x in G und G entweder auf einem kürzesten (s, v)-weg oder auf einem kürzesten (w, t)-weg liegt, jeweils jedoch nicht auf allen. Die Anzahl σ G (s,t x) σ G (s,t x) der neuen kürzesten (s,t)-wege über x wächst damit auch nur anteilig und ist dann höchstens k σg(s,t x) σ G (s,t v) bzw. k σg(s,t x) σ G (s,t w). Die Ungleichung folgt durch Einsetzen.. Fall: Ist d G (s,t) < d G (s,t), dann benutzt jeder der k > 0 kürzesten (s,t)- Wege in G die neue Kante (v,w), d.h. σ G (s,t) = k, kein kürzester (s,t)-weg in G ist auch ein solcher in G sowie s w und t v. Für {s,t} = {v,w} sind dann also s = v und t = w, woraus σ G (s,t x) = 0 folgt. Die linke Seite der Ungleichung ist damit entweder 0 oder, jedenfalls aber nicht kleiner als die rechte.

44 Methoden der Netzwerkanalyse (SS 005) 0 Für {s,t} {v,w} = sind auch σ G (s,t v) = σ G (s,t w) = k. Wir haben also = σ G (s,t v) σ G(s,t v) σ G (s,t) σ G und entsprechend für w. Liegt nun x auf keinem (s,t) kürzesten (s,t)-weg in G, ist also 0 = σ G (s,t x) σ G (s,t x), gilt damit die Ungleichung. Ist andererseits σ G (s,t x) > 0, dann muss x wieder auf einem kürzesten (s,v)- oder (w,t)-weg liegen. Da sich deren Anzahl aber in G gegenüber G nicht verändert, gilt σ G (s,t v) σ G (s,t x) bzw. σ G (s,t w) σ G (s,t x) σ G (s,t) σ G(s,t w) σ G (s,t x) σ G (s,t) σ G (s,t) σ G(s,t v) σ G (s,t x) σ G (s,t), woraus die Ungleichung folgt. Abschließend betrachten wir wieder nur den Fall s = v und t w. Es gilt σ G (s,t v) = σ G (s,t v) = 0 und σ G (s,t w) = k = σ G (s,t). Da alle kürzesten (s,t)-wege in G mit der Kante (s,w) = (v,w) beginnen, folgt σ G (s,t x) σ G (s,t w) = σ G (w,t). Liegt x auf keinem kürzesten (w,t)-weg, ist σ G (s,t x) = 0 und die Ungleichung gilt. Andernfalls können wir wie gerade eben σ G (s,t w) σ G (s,t x) σ G (s,t) σ G(s,t w) σ G (s,t x) σ G (s,t) schließen.. Bemerkung Wir haben sogar gezeigt, dass [c B (G ) v + c B (G ) w ] [c B (G) v + c B (G) w ] c B (G ) x c B (G) x, d.h. von einer neuen Kante (v,w) profitieren v und w zusammen mehr als jeder andere Knoten..5 Satz c B (S) (S) Beweis: c B (S) : c B (S) : w v v w c w = = c v c w = < 6 = c v c v = = c w c v = < 6 = c w

45 Methoden der Netzwerkanalyse (SS 005).6 Beispiel (Der Aufstieg Moskaus, Pitts 965/978) Netzwerk russischer Handelsrouten im./. Jahrhundert: Betweenness vs. Gesamtabstand der einzelnen Städte:

46 Methoden der Netzwerkanalyse (SS 005) Um Closeness- und Betweenness Zentralitäten zu berechnen, benötigen wir außer den paarweisen Abständen zwischen Knoten auch die paarweisen Anzahlen der kürzesten Wege und die Anzahlen von kürzesten Wegen über Dritte. Ein naheliegender Ansatz ergibt sich unmittelbar aus der Repräsentation von Multigraphen durch Adjazenzmatrizen..7 Lemma Sei ( G ) = (V,E) ein Multigraph, A = A(G) seine Adjazenzmatrix und A k = a (k) s,t deren k-te Potenz. Für zwei Knoten s,t V ist a (k) s,t gerade die s,t V Anzahl aller gerichteten Kantenfolgen von s nach t der Länge k. Beweis: Durch Induktion über k: Für k = 0 ist a (0) s,t = 0 für s t und a (0) s,t = andernfalls. Das ist gerade die Anzahl der gesuchten Kantenfolgen der Länge 0. Jede Kantenfolge von s nach t der Länge k > 0 endet mit einer Kante (v,t) für ein v V. Davon gibt es jeweils a v,t viele und nach Induktionsvoraussetzung ist a (k ) s,v die Anzahl der gerichteten Kantenfolgen von s nach v der Länge k. Für die Einträge von A k = A k A gilt aber a (k) s,t = a (k ) s,v a v,t v V und damit die Behauptung. Für zwei Knoten s,t V eines Multigraphen G = (V,E) mit endlichem Abstand von s nach t und einen weiteren Knoten s,t v V sind daher { } d G (s,t) = min k N 0 : a (k) s,t 0 n σ G (s,t) = a (d G(s,t)) s,t σ G (s,t v) = { σ G (s,v) σ G (v,t) 0 sonst. falls d G (s,t) = d G (s,v) + d G (v,t) Mit der naheliegenden O(n ) Implementation der Matrixmultiplikation erhalten wir daraus einen O(n ) Algorithmus für die Berechnung der Closenessund Betweenness-Zentralität.

47 Methoden der Netzwerkanalyse (SS 005) Wir werden die Laufzeit zunächst auf O(n ) und dann auf O(nm) verbessern. Da für viele soziale und große Netzwerke m O(n) gilt, entspricht das noch einmal einer Größenordnung. Der folgende Algorithmus ist die Erweiterung eines Standard-Algorithmus zur Bestimmung der paarweisen Abstände um die Anzahlen der kürzesten Wege. Algorithmus 5: Längen und Anzahlen kürzester Wege (Warshall 96; Floyd 96; Batagelj 99) Eingabe : Multigraph G = (V, E) Ausgabe: Matrix D = (d s,t ) s,t V (paarweise Abstände) Matrix Σ = (σ s,t ) s,t V (Anzahlen kürzester Wege) 0 v = w initialisiere D mit d v,w = v w und (v,w) E sonst v = w initialisiere Σ mit σ v,w = k v w und (v,w) k E 0 sonst foreach v V do foreach s V \ {v} do foreach t V \ {v} do if d s,t = d s,v + d v,t then σ s,t σ s,t + σ s,v σ v,t if d s,v + d v,t < d s,t then d s,t d s,v + d v,t σ s,t σ s,v σ v,t

48 Methoden der Netzwerkanalyse (SS 005).8 Satz Nach Beendigung des Algorithmus gilt d s,t = d G (s,t) und σ s,t = σ G (s,t) für alle s,t V. Beweis: Wir nehmen der Einfachheit halber an, dass die Knoten in jeder Schleife in der festen Reihenfolge v,...,v n durchlaufen werden. Für alle s,t V seien d (k) s,t und σ (k) s,t die nach 0 k n Durchläufen der äußersten Schleife berechneten Einträge. Wir zeigen, dass die d (k) s,t und σ (k) s,t gerade die Länge und Anzahl der kürzesten (s,t)-wege ist, in denen nur Knoten aus V (k) = {v,...,v k } als innere Knoten vorkommen. Die Aussage ist für k = 0 sicher richtig. Nehmen wir also an, sie gilt nach k 0 Durchläufen der äußersten Schleife, wählen ein festes Paar s,t V und betrachten den Knoten v k. Wenn v k auf einem kürzesten (s,t)-weg liegt, dessen innere Knoten alle aus V (k) stammen, dann haben die Teilwege von s nach v k und von v k nach t innere Knoten nur aus V (k ). Die Länge eines solchen Weges ist nach unserer Invariante gerade d (k ) s,v k σ (k ) s,v k kombinieren. solcher (s,v k )- und σ (k ) v k,t + d (k ) v k,t. Die solcher (v k,t)-wege können wir beliebig Da die Laufzeit offensichtlich in Θ(n ) ist, und wir aus den berechneten Informationen anschließend die Closeness- und Betweenness-Zentralitäten in Θ(n ) bzw. in Θ(n ) Zeit bestimmen können, erhalten wir insgesamt zwei Θ(n ) Algorithmen.

49 Methoden der Netzwerkanalyse (SS 005) 5 Breitensuche Zumindest für die Closeness-Zentralität wird die Laufzeit von der Berechnung der paarweisen Abstände dominiert. Statt mit Matrizen zu rechnen werden wir den Multigraphen daher wie bei den verschiedenen Typen von Zusammenhangskomponenten durchlaufen, um ausnutzen zu können, dass die meisten relevanten Netzwerke wenige Kanten haben, d.h. m o(n ). Anders als bei der Tiefensuche setzen wir die Suche allerdings nicht vom zuletzt, sondern vom zuerst gefundenen Knoten aus fort; suchen also in die Breite statt in die Tiefe. Die wesentliche Änderung in der Implementation besteht daher in der Verwendung einer Queue (FIFO: first-in, first-out) anstelle des Stacks (LIFO: last-in, first-out). Außerdem beschränken wir uns auf die Suche ausgehend von einem bestimmten Knoten. Da kein Backtracking stattfindet, wird der vom Argumentknoten aus durchsuchte Teilgraph erst zum Schluss ausgewertet. Algorithmus 6: (Gerichtete) Breitensuche (breadth-first search, BFS) Eingabe : Multigraph G = (V,E), Wurzel s V Daten : Queue Q (für Knoten in BFS-Front) Knoten- und Kantenmarkierungen markiere s Q (s) root(s) while Q nicht leer do entferne v Q foreach nicht markierte e = (v,w) E do markiere e if w nicht markiert then markiere w füge an Q w traverse(v, e, w) done(s)

50 Methoden der Netzwerkanalyse (SS 005) 6 Analog zur Tiefensuche definieren wir eine BFS-Numerierung der Knoten, die jedoch eher der DFS-Numerierung der Kanten gleicht, da sie Knoten mit gleich numerierten Vorgängern nicht unterscheidet. Der Eingabeknoten s erhält die Breitensuchnummer BFS(s) = 0, und wir nennen s Wurzel der Breitensuche. Wird ein Knoten w V beim Durchlaufen einer Kante (v,w) markiert, erhält er die Nummer BFS(w) = BFS(v) +. Beachte, dass v bei Durchlaufen von (v, w) bereits zuvor markiert wurde und daher numeriert ist. Die Breitensuchnummer aller nicht markierten Knoten sei. Die Kanten werden während der Breitensuche wie folgt klassifiziert, wobei die Bedeutung der Nicht-Baumkanten gegenüber der Tiefensuche leicht modifiziert ist. Zum Zeitpunkt, da die Kante (v,w) markiert wird, wird sie zu einer Baumkante ( Rückwärtskante ( Querkante ( Vorwärtskante ( ), falls w nicht markiert, ), falls w markiert und BFS(w) < BFS(v), ), falls w markiert und BFS(w) = BFS(v) und ), falls w markiert und BFS(w) > BFS(v). B E G A D C F H I Multigraph (gerichtete) Breitensuche Indizes entsprechen Breitensuchnummer der Knoten bzw. Durchlaufreihenfolge der Kanten (graue wurden nicht durchlaufen)

51 Methoden der Netzwerkanalyse (SS 005) 7 Wieder erhalten wir eine ungerichtete Version des Durchlaufs, indem wir die eingekastete Kantenauswahlbedingung durch ersetzen. e = (v,w) E bzw. e = (w,v) E ungerichtete Breitensuche Indizes entsprechen Breitensuchnummer der Knoten bzw. Durchlaufreihenfolge Kanten Man sieht leicht, dass eine Breitensuche mit O(m) Laufzeit implementiert werden kann.

52 Methoden der Netzwerkanalyse (SS 005) 8.9 Lemma Sei G = (V,E) ein Multigraph und s V. Nach Breitensuche mit Wurzel s gilt d G (s,v) = BFS(v) für alle v V. Beweis: Wird ein Knoten w an die Queue angehängt, dann gibt es einen Weg von der Wurzel s nach w, und umgekehrt werden alle Knoten, für die es einen solchen Weg gibt, während der Breitensuche einmal angehängt. Insbesondere erhalten genau diese Knoten eine endliche BFS-Nummer. Wir zeigen zunächst folgende Invariante: Sei Q = (v,...,v k ) der Zustand der Queue zu irgendeinem Zeitpunkt der Breitensuche, dann gilt BFS(v i ) BFS(v i+ ) für alle i < k und BFS(v k ) BFS(v ) +. Die Invariante gilt natürlich zu Beginn, wenn Q = (s). Die Queue ändert sich entweder durch Anfügen oder Entfernen eines Knotens. Wird ein Knoten w angefügt, so wurde zuvor ein Knoten v entfernt und wir können die Invariante annehmen. Das heißt aber, für v k (falls es überhaupt existiert), gilt BFS(v k ) BFS(v) + = BFS(w) und die Invariante bleibt erhalten. Der andere Fall (Entfernen eines Knotens) ist noch einfacher. Sei V k = {v V : d G (s,v) = k} für alle 0 k < n. Wir zeigen nun mit Hilfe der Invariante, dass v V k, falls die Breitensuche v die BFS-Nummer k zuweist. Zusammen mit der Beobachtung, dass alle erreichbaren Knoten eine BFS-Nummer erhalten, beweist das die Behauptung. Für V 0 = {s} ist nichts zu zeigen. Für einen Knoten w V k, 0 < k < n, gilt für jeden unmittelbaren Vorgänger v auf einem kürzesten (s,w)-weg, dass v V k. Zum Zeitpunkt da der erste solche Knoten aus Q entfernt wird, ist w wegen der obigen Invariante noch nicht in Q, hat also keine zu kleine BFS-Nummer erhalten. Die Behauptung folgt, da mit Induktion über k die Nachfolger aller Knoten aus V k numeriert werden, bevor ein Knoten aus V k aus der Queue entfernt wird.

53 Methoden der Netzwerkanalyse (SS 005) 9 Algorithmus 7: Closeness-Zentralität von s V (Spezialisierung der Breitensuche mit Wurzel s) Ausgabe: Zentralität c s root(vertex s) begin c s 0 end traverse(vertex v, edge e, vertex w) begin if e ist Baumkante then c s c s + BFS(w) end done(vertex s) begin if c s 0 then c s c s end.0 Satz Die Closeness-Zentralitäten der Knoten eines stark zusammenhängenden Multigraphen können in O(nm) Zeit berechnet werden. Beweis: Breitensuche von jedem Knoten aus. Wir zeigen als nächstes, dass auch Betweenness-Zentralität durch Breitensuche von jedem Knoten aus berechnet werden kann. Dazu müssen wir zunächst zeigen, wie nicht nur die Länge, sondern auch die Anzahl der kürzesten Wege von der Wurzel aus bestimmt werden kann. Sei dazu P G (s,v) = {(u,v) E : d G(s,v) = d G (s,u) + } die Multimenge aller eingehenden Kanten von v auf kürzesten (s, v)-wegen (jeweils mit gleicher Vielfachheit wie in E).. Lemma σ G (s,u) falls s v (u,v) P G σ G (s,v) = (s,v) sonst. Beweis: Falls s v gibt es auf jedem kürzesten (s,v)-weg einen eindeutigen Vorgänger u. Jeder kürzeste (s, u)-weg kann dann durch jede Kante (u,v) zu einem kürzesten (s,v)-weg verlängert werden. Beachte zur Schreibweise: Für jede Kante aus P G (s,v) werden entsprechend ihrer Vielfachheit viele Summanden addiert.

54 Methoden der Netzwerkanalyse (SS 005) 50 Da wir bei der Breitensuche immer nur einen Bezugspunkt (die Wurzel) haben, schreiben wir die Definition der Betweenness-Zentralität um. Dazu definieren wir die Abhängigkeit des Paares s,t V bzw. des Knotens s V vom Knoten v V als δ G (s,t v) = σ G(s,t v) σ G (s,t) δ G (s v) = t V δ G (s,t v). Die Betweenness-Zentralität des Knotens v V ist dann die Summe der einseitigen Abhängigkeiten aller anderen Knoten von v, c B (G) v = s V δ G (s v), und wir haben folgende Rekursionsgleichung.. Lemma Für s v V Wir erweitern den Begriff der Abhängigkeit um benötigte Kan- Beweis: ten zu δ G (s v) = (v,w) P G (s,w) für ein w V σ G (s,v) σ G (s,w) ( + δ G(s w)). δ G (s,t v,e) = σ G(s,t v,e) σ G (s,t) wobei σ G (s,t v,e) die Anzahl der kürzesten (s,t)-wege sei, die sowohl den inneren Knoten v als auch die Kante e enthalten. Wir haben dann δ G (s v) = t V = t V δ G (s,t v) δ G (s,t v, (v,w)) = (v,w) P G (s,w) für ein w V (v,w) P G (s,w) für ein w V δ G (s,t v, (v,w)). t V

55 Methoden der Netzwerkanalyse (SS 005) 5 Zu v V sei w V ein Knoten mit (v,w) P G (s,w). Von den σ G(s,w) kürzesten (s,w)-wegen enthalten σ G (s,v) viele kürzeste (s,v)-wege, die dann die Kante (v,w) benutzen, sodass σ G(s,v) σ σ G (s,w) G(s,t w) kürzeste Wege von s nach t w sowohl v als auch (v, w) benutzen. Die Abhängigkeit des Paares s,t von v und (v,w) ist daher δ G (s,t v, (v,w)) = { σg (s,v) σ G (s,w) σ G (s,v) σg(s,t w) σ G (s,w) σ G (s,t) falls t = w falls t w w δ G (s w ) s v w δ G (s w ) w δ G (s w ) Durch Einsetzen erhalten wir δ G (s v) = δ G (s,t v) t V = δ G (s,t v, (v,w)) = = (v,w) P G (s,w) für ein w V (v,w) P G (s,w) für ein w V (v,w) P G (s,w) für ein w V t V σ G(s,v) σ G (s,w) + t V \{w} σ G (s,v) σ G (s,w) ( + δ G(s w)). σ G (s,v) σ G (s,w) σg(s,t w) σ G (s,t)

56 Methoden der Netzwerkanalyse (SS 005) 5 Die folgende Spezialisierung der Breitensuche berechnet die Abhängigkeiten der Wurzel von allen anderen Knoten, indem nach Ende der Breitensuche für alle Knoten in umgekehrter Reihenfolge die Abhängigkeiten mittels der Rekursionsgleichung bestimmt werden. Dazu reicht es, für einen Knoten w V anstelle der Kanten aus P G (w) nur deren Anfangsknoten (mit gleicher Vielfachheit) zu speichern. Algorithmus 8: Abhängigkeiten eines Knotens s V von allen anderen (Spezialisierung der Breitensuche mit Wurzel s) Daten : Knotenarray σ s (Anzahl der kürzesten Wege von s) Knotenarray P s (Liste der Vorgänger auf kürzesten Wegen) Stack S (Knoten in Reihenfolge ihres Abstands von s) Ausgabe: Knotenarray δ s (Abhängigkeiten, initialisiert mit 0) root(vertex s) begin σ s (s) = end traverse(vertex v, edge e, vertex w) begin if e ist Baumkante then füge an P s (w) v σ s (w) σ s (v) push w S if e ist Vorwärtskante then füge an P s (w) v σ s (w) σ s (w) + σ s (v) end done(vertex s) begin while S nicht leer do w pop(s) foreach v P s (w) do δ s (v) δ s (v) + σs(v) σ s(w) ( + δ s(w)) end

57 Methoden der Netzwerkanalyse (SS 005) 5. Satz Die Betweenness-Zentralitäten der Knoten eines Multigraphen können in O(nm) Zeit berechnet werden. Beweis: Summiere für alle Knoten deren Abhängigkeiten von jeweils allen anderen.. Bemerkung Die beiden breitensuchbasierten Algorithmen lassen sich so implementieren, dass der Speicherplatzbedarf linear in der Größe des Multigraphen ist, und sind auch gut parallelisierbar..5 Beispiel (Needle-Exchange Network, Valente und Foreman 000) Studie in Baltimore: Analyse eines Multigraphen, dessen Knoten Drogenabhängige repräsentieren, die an einem Spritzenumtauschprogramm teilnehmen. Darin können gebrauchte Spritzen gegen saubere eingetauscht werden. Die Spritzen sind markiert, und bringt ein Abhängiger eine Spritze zurück, die ein anderer entgegengenommen hat, induziert dies eine Kante zwischen den beiden, welche die Übergabe repräsentiert. 59 Knoten, 669 Kanten (sehr dünn: 0,% aller möglichen) Auf einem Standard-PC (Stand 000, ca. 00 MHz) hätte Betweenness- Zentralität mit kubischer Laufzeit ca. Tage benötigt (die dabei verwendeten Matrizen passten wegen des quadratischen Platzbedarfs aber gar nicht erst in den Speicher). Mit linearem Speicherbedarf und O(nm) Algorithmus dauerte die Berechnung weniger als 0 Minuten.

58 Methoden der Netzwerkanalyse (SS 005) 5 Eine Laufzeit von O(nm) kann für sehr große Netzwerke, selbst wenn sie dünn sind, immer noch zu lang sein. Wir betrachten daher abschließend zwei Spezialfälle, nämlich eine Methode zur näherungsweisen Berechnung von Closeness-Zentralität in Netzwerken mit kleinem Durchmesser und Linearzeitalgorithmen für beide Zentralitäten in dem Fall, dass die Eingabe ein ungerichteter Baum ist. Näherungsweise Berechnung von Closeness-Zentralität Ein wesentlicher Unterschied in den beiden Verfahren zur Berechnung von Zentralitäten besteht darin, dass nach einer einzelnen Breitensuche bei Closeness-Zentralität der Zentralitätswert der Wurzel bekannt ist, wohingegen bei der Betwenness-Zentralität nur der Beitrag der Wurzel zu allen anderen Zentralitätswerten ermittelt wird. Ein weiterer Unterschied besteht darin, dass eine für manche Arten von Netzwerken typische Eigenschaft, nämlich ein beschränkter Durchmesser ( kleine Welt ), bei Closeness-Zentralität für eine Beschränkung der auftretenden Größen sorgt, wohingegen bei Betweenness der tatsächliche Abstand zweier Knoten weitgehend irrelevant ist. Wir nutzen diese Tatsache aus, um Closeness-Zentralität mit weniger Aufwand angenähert zu berechnen. Damit sich der gemachte Fehler unabhängig von der Größe des Netzwerks abschätzen lässt, betrachten wir statt des Kehrwerts des Gesamtabstands den (gleichwertigen) Kehrwert des mittleren Abstands zu allen anderen Knoten, d.h. wir betrachten für einen Knoten v V die standardisierte Closeness-Zentralität c C (G) v = n d G (v,t), t V deren Werte alle im Intervall [0, ] liegen. Sei im folgenden G = (V,E) S ein stark zusammenhängender Multigraph mit kleinem Durchmesser, d.h. diam(g) D für eine Konstante D. Weil die auftretenden paarweisen Abstände dadurch auf ein konstant großes Intervall beschränkt sind, gilt bei zufälliger Auswahl von k Knoten t,...,t k V für

59 Methoden der Netzwerkanalyse (SS 005) 55 genügend großes k und damit c C (G) v d G (v,t) t V n n n kp d G (v,t i ) i= k k d G (v,t i ) i= k (n ) k =. k n d G (v,t i ) Wählen wir also Knoten t,...,t k V zufällig und unabhängig voneinander, dann können zunächst die Abstände 0 d G (v,t i ) D für alle v V durch k Breitensuchen entgegen der Kantenrichtungen in G bestimmt und aufsummiert werden. Der so erhaltene Wert kann dann einfach in die Näherungsformel eingesetzt werden. Daraus ergibt sich der folgende Algorithmus, in dem wir noch offen lassen, wieviele Referenzknoten gewählt werden sollen. Algorithmus 9: Closeness-Zentralität in sehr großen Graphen Eingabe : stark zusammenhängender Multigraph G = (V,E) Wiederholungszahl k Ausgabe: standardisierte Closeness c (näherungsweise; initialisiert mit 0) i= repeat k mal this wähle zufälliges t V umgekehrt gerichtete Breitensuche mit Wurzel t foreach v V do c(v) c(v) + BFS(v) foreach v V do c(v) (n ) k n c(v)

60 Methoden der Netzwerkanalyse (SS 005) 56 In der Analyse des Algorithmus verwenden wir für die Fehlerabschätzung die folgende Aussage über die Abweichung des Mittelwertes einer Stichprobe vom erwarteten Mittelwert. Der Beweis kann mit elementaren Mitteln erfolgen, ist hier aber nicht von Interesse..6 Lemma (Hoeffding 96) Sind X,...,X k unabhängige Zufallsvariablen mit 0 X i M für alle i =,...,k, dann gilt ( ( ) X X k X X k P E ξ) e k( M) ξ. k k.7 Satz (Eppstein und Wang 00) Sei D eine Konstante und G = (V,E) ein stark zusammenhängender Multigraph mit diam(g) D. Dann können in Zeit O( m log n) Werte (c ε v ) v V so berechnet werden, dass für alle v V c v c C (G) v εd mit großer Wahrscheinlichkeit. Beweis: Wir benutzen den obigen Algorithmus und wenden das Lemma auf die Kehrwerte der berechneten Zentralitäten an. Dazu setzen wir n M = n D n X i = n d G(v,t i ) (0 X i M) ξ = εd und zeigen zunächst, dass der Erwartungswert der gemittelten Summe gerade der Kehrwert der tatsächlichen Zentralität ist: t V t k V n k k i= n d n G(v,t i ) k = n n k (n ) k k n k d G (v,t) t V t V = d G(v,t) n =. c C (G) v

61 Methoden der Netzwerkanalyse (SS 005) 57 Wählen wir außerdem log n k =, dann ist für ein festes v V die Wahrscheinlichkeit einer Abweichung um mindestens εd höchstens ( n k ) i= P d «G(v,t i ) (n ) k c C (G) v εd e log n ε εd n n D ε e log n = n. Die Wahrscheinlichkeit, dass ein solcher Fehler an irgendeinem Knoten auftritt, ist damit höchstens. n Frage: Ist das gut? Der Satz macht eine Aussage über die Kehrwerte der Zentralitäten. Bei Durchmesser höchstens D liegt der Kehrwert der standardisierten Closeness- Zentralität zwischen und D. /x -x+ std. Closeness D Kehrwert Für Knoten mit großer Zentralität wirkt sich eine Abweichung vom Kehrwert also stärker aus, als für solche mit kleiner Zentralität, der Fehler in der Zentralität ist aber kleiner als der im Kehrwert. Beachte auch, dass wir im Anschluss (mit noch einmal der gleichen Laufzeit) für die k = log n ε Knoten mit größtem Schätzwert die Zentralität exakt bestimmen könnten. Frage: Funktioniert das auch mit Betweenness?

62 Methoden der Netzwerkanalyse (SS 005) 58 Zentralitäten auf ungerichteten Bäumen Ein ungerichteter Baum ist ein zusammenhängender schlichter ungerichteter Graph ohne einfache Kreise. Da die bisher betrachteten Zentralitäten auf kürzesten Wegen basieren, legt die folgende Eigenschaft nahe, dass solche Zentralitäten auf Bäumen leichter zu berechnen sind..8 Lemma Zwischen je zwei Knoten eines ungerichteten Baumes gibt es genau einen einfachen Weg. Beweis: Da der Graph zusammenhängend ist, gibt es mindestens einen Weg. Gäbe es zwischen irgendzwei Knoten zwei verschiedene einfache Wege, so enthielte deren Vereinigung einen einfachen Kreis. Um die Zentralitäten aller Knoten eines ungerichteten Baumes zu berechnen, durchlaufen wir zu einem ungerichteten Baum T einen zugehörigen Wurzelbaum T s, d.h. einen gerichteten Graphen, den wir dadurch erhalten, dass wir einen Knoten s als Wurzel auszeichnen und alle Kanten von der Wurzel weg orientieren. Der Teilgraph aller von einem Knoten v in T s aus erreichbaren Knoten heißt Wurzelteilbaum T s (v). s Wurzel Zentrum v v T T s T s (v) Durch das obige Lemma wissen wir, dass alle Wege zwischen einem Knoten aus einem Wurzelteilbaum und einem Knoten im Rest des Graphen die Teilbaumwurzel v enthalten müssen (es gibt ja nur genau einen). Wir sammeln daher die für die Zentralitäten benötigten Informationen (Abstandssumme, Knotenzahlen) inner- und außerhalb der Wurzelteilbäume und kombinieren sie dann.

63 Methoden der Netzwerkanalyse (SS 005) 59 Der gesamte Wurzelbaum wird dazu zweimal durchlaufen, wobei wir beim ersten Mal Informationen von unten nach oben (bottom-up) und beim zweiten Mal von oben nach unten (top-down) weiterreichen. Das Weiterreichen geschieht jeweils in Abhängigkeit von der zu berechnenden Zentralität. Algorithmus 0: Zentralitätsschema für ungerichtete Bäume Eingabe : ungerichteter Baum T = (V, E) Ausgabe: Knotenarray n + (Knotenzahl im Wurzelteilbaum) bottom up(vertex v) begin n + v foreach w N + T s (v) do bottom up(w) n + v n + v + n + w uplabel(v, w) end top down(vertex v) begin downlabel(v) foreach w N + T s (v) do top down(w) end begin wähle ein s V bottom up(s) top down(s) end.9 Lemma Nach Ausführung des Algorithmus ist n + v die Zahl der Knoten im Wurzelteilbaum T s (v). Beweis: Wir beweisen die Behauptung durch Induktion über die Tiefe der Rekursion im ersten Durchlauf (im zweiten ändern sich die Werte nicht mehr). Hat ein Knoten v V keine Nachfolger, erhält er korrekterweise den Wert n + v =. Andernfalls sind die Werte der Nachfolger nach Induktionsvoraussetzung korrekt berechnet. Da die Wurzelteilbäume der Nachfolger

64 Methoden der Netzwerkanalyse (SS 005) 60 disjunkt sind, ist die gewünschte Anzahl. n + v = + w N + Ts (v) n + w n + s = Berechnung der n + v.0 Lemma Sei T = (V,E) ein ungerichteter Baum und T s = (V s,e s ) der zugehörige Wurzelbaum mit Wurzel s V. Ist T s (v) = (V s (v),e s (v)) der Wurzelteilbaum von v V, dann gilt d T (s,t) = d Ts (s,t) = ( + d Ts (v,t)). t V t V v N + Ts (s) t V s(v) Beweis: Die erste Gleichheit gilt, weil die gerichteten Wege von der Wurzel weg genau den einzigen Wegen im ungerichteten Baum entsprechen. Die zweite gilt, weil der Abstand von der Wurzel zu einem Knoten gerade um eins größer ist, als der Abstand von deren Nachfolger auf dem eindeutigen Weg.

65 Methoden der Netzwerkanalyse (SS 005) 6 Algorithmus : Closeness-Zentralität in ungerichteten Bäumen (Spezialisierung des Zentralitätsschemas für Bäume) Daten : Knotenarray d (Abstandssumme, initialisiert mit 0) Ausgabe: Knotenarray c (Closeness-Zentralität) uplabel(vertex v, vertex w) begin d v d v + d w + n + w end downlabel(vertex v) begin if N T s (v) = {u} then d v d u + n n + v c v d v end Ergebnis von uplabel Ergebnis von downlabel. Satz Die Closeness-Zentralitäten der Knoten eines ungerichteten Baumes können in O(n) Zeit berechnet werden. Beweis: Wir zeigen, dass der obige Algorithmus korrekt ist. Mit Induktion über die Rekursionstiefe und dem Lemma folgt, dass im ersten Durchlauf für jeden Knoten die Abstände zu allen Knoten seines Wurzelteilbaums summiert werden. Für die Wurzel sind damit alle Abstände korrekt aufsummiert. Für alle anderen Knoten v sind die Abstände zu den übrigen gerade um eins kleiner als vom Vorgänger im Wurzelbaum, wenn der Zielknoten im eigenen Wurzelteilbaum liegt, und sonst um eins größer. Die Differenz beträgt also n + v + (n n + v ) = n n + v. Die Behauptung folgt mit Induktion über den Abstand von der Wurzel.

66 Methoden der Netzwerkanalyse (SS 005) 6. Lemma Sei T = (V,E) ein ungerichteter Baum und T s = (V s,e s ) der zugehörige Wurzelbaum mit Wurzel s V. Ist T s (v) = (V s (v),e s (v)) der Wurzelteilbaum von v V, dann gilt c B (T) v = (n n + v ) (n + v ) + n + w (n n + w ). w N + Ts (v) Beweis: Wir zählen die Wege mit v als innerem Knoten. Ein solcher Weg beginnt entweder außerhalb des Wurzelteilbaums von v, oder innerhalb des Wurzelteilbaums eines Nachfolgers w von v. Im ersten Fall gibt es n n + v mögliche Anfangsknoten, zu denen jeder der n + v Knoten im Wurzelteilbaum von v (ohne v selbst) als Endknoten in Frage kommt. Im zweiten Fall gibt es n + w mögliche Anfangsknoten, zu denen jeder der n n + w Knoten außerhalb des Wurzelteilbaums von w und ungleich v als Endknoten in Frage kommt. Algorithmus : Betweenness-Zentralität in ungerichteten Bäumen (Spezialisierung des Zentralitätsschemas für Bäume) Ausgabe: Knotenarray c (Betweenness-Zentralität, initialisiert mit 0) uplabel(vertex v, vertex w) begin c v c v + n + w (n n + w ) end downlabel(vertex v) begin c v c v + (n n + v ) (n + v ) end

67 Methoden der Netzwerkanalyse (SS 005) Ergebnis von uplabel Ergebnis von downlabel. Satz Die Betweenness-Zentralitäten der Knoten eines ungerichteten Baumes können in O(n) Zeit berechnet werden. Beweis: Wir zeigen, dass der obige Algorithmus korrekt ist. Mit Induktion über die Rekursionstiefe und dem Lemma folgt, dass im ersten Durchlauf für jeden Knoten die Abhängigkeiten der Paare mit Anfangsknoten im Wurzelteilbaum aufsummiert werden. Da es nur eine Kante zum Vorgänger gibt, müssen im zweiten Durchlauf nur noch die Paare mit Anfangsknoten außerhalb des Wurzelteilbaums hinzugezählt werden.. Bemerkung Für große Multigraphen mit vielen zweifachen Zusammenhangskomponenten können die Baumalgorithmen mit den Spezialisierungen der Breitensuche kombiniert auf den Block-Schnittknoten-Baum angewandt werden. Der Teufel steckt wie üblich im Detail..5 Bemerkung Es gibt einige weitere Beispiele für Zentralitäten, die über kürzeste Wege definiert werden. Alle diese Indizes können durch Spezialisierung der Breitensuche bzw. des Baumschemas mit den jeweiligen Laufzeiten berechnet werden..6 Bemerkung Zentralitäten, die auf kürzesten Wegen basieren, können auf natürliche Weise auf Multigraphen mit positiven Kantengewichten (deren Summe die Länge

68 Methoden der Netzwerkanalyse (SS 005) 6 eines Weges angibt) verallgemeinert werden. Die verallgemeinerten Indizes können ähnlich berechnet werden, wenn man die Breitensuche durch eine ähnlich schematisierte Version von Dijkstras Algorithmus ersetzt. Bei effizienter Implementation führt das zu einer Laufzeit von O(nm + n log n). Auf Bäumen ist die Anpassung noch einfacher und sogar die Linearzeit bleibt erhalten.

69 Methoden der Netzwerkanalyse (SS 005) 65. Rückkopplungszentralitäten Wir haben Knotengrade als lokales Zentralitätsmaß kennengelernt und nichtlokale Zentralitätsmaße basierend auf Abständen und kürzesten Wegen behandelt. In diesem Abschnitt betrachten wir Zentralitätsmaße, die alle Wege (genauer: Kantenfolgen) berücksichtigen. Als Verallgemeinerung des Ausgangsgrades haben wir bei der Closeness- Zentralität eines Knotens alle anderen Knoten berücksichtigt, aber einen Verlust an Einfluss bei wachsendem Abstand angenommen. Durch die Kehrwertbildung wurden diejenigen Knoten besonders zentral, deren Einfluss auf andere am wenigsten abgeschwächt wurde. Eine andere Möglichkeit derselben grundlegenden Idee besteht darin, den ausgeübten Einfluss mit jeder verwendeten Kante um z.b. einen konstanten Faktor 0 < α < abzuschwächen, und dann den Einfluss eines Knotens auf einen anderen über alle Kantenfolgen zu diesem anderen zu summieren. Mit dem Lemma über Adjazenzmatrizen A = A(G) und die Anzahlen von Kantenfolgen sind die Zentralitäten dann gerade die Zeilensummen der Einflussmatrix A = (α A) k. k= Allerdings konvergiert diese Reihe nur für hinreichend kleines α. Wir geben eine solche Abschwächung an..7 Lemma Die Einflussmatrix ist wohldefiniert, falls α = min { (G), + (G)} +. Beweis: Wir zeigen durch Induktion über k, dass die Folgen aller Einträge der Summanden (α A) k jeweils von der Folge { ( ) k ) } + k min,( majorisiert wird. Dazu reicht es aus, für alle Einträge a (k) s,t von A k zu zeigen, dass a (k) s,t min{ (G) k, + (G) k }. Aus der Konvergenz von k= qk für q (0, ) folgt dann die Behauptung.

70 Methoden der Netzwerkanalyse (SS 005) 66 Die Einträge von A sind höchstens kleiner als = max v V u N (v) a u,v und + = max v V w N + (v) a v,w. Für beliebige s,t V betrachte daher den Eintrag a (k) s,t von A k mit k >. Wegen A k = A k A gilt a (k) s,t = v V und wegen A k = A A k analog a (k) s,t = v V a (k ) s,v a v,t = max a (k ) v N s,v (t) a s,v a (k ) v,t + max a (k ) v N v,t (t) (v,t) E = (s,v) E a (k ) s,v a (k ) v,t Nach Induktionsvoraussetzung ist aber { ( min ) k ( ) }, + k a (k ) u,w für alle u,w V..8 Definition (Einfluss; Katz 95) Die Einfluss-Zentralität c I ist definiert durch ( ) c I (G) = (α A) k k= für alle G G mit Adjazenzmatrix A = A(G) und Abschwächung α = α(g) = min{ (G), + (G)}+..9 Bemerkung In der Originalarbeit von Katz (95) werden nicht Kantenfolgen zu, sondern von anderen Knoten bewertet. Der Zentralitätsindex heißt dort entsprechend auch nicht Einfluss, sondern Status. Vermutung: c I (G) (G)

71 Methoden der Netzwerkanalyse (SS 005) %.90 % 9.5 %.5 %. %.06 %.6 % 9.6 % 0.09 %.0 %.0 % normierte Einfluss-Zentralität im Beispielgraphen Die unendliche Reihe ist für die tatsächliche Berechnung unpraktisch. Aufgrund der folgenden Gleichgewichtsbeziehungen können wir die Einfluss- Zentralitäten allerdings auch durch Lösen eines linearen Gleichungssystems bestimmen. Man beachte die auffällige formale Ähnlichkeit mit der Rekursionsformel für Abhängigkeiten (s. Betweenness-Zentralität)..0 Lemma c I (G) v = (v,w) E α ( + c I (G) w )

72 Methoden der Netzwerkanalyse (SS 005) 68 Beweis: Zunächst gilt A = (αa) k = (αa) (αa) k k= k=0 ( = (αa) I + ) (αa) k k= = (αa) (I + A ) und daher c I (G) = A = (αa) (I + A ) = (αa) ( + c I (G)). Nebenbei können wir damit auch formal ausdrücken, inwiefern Einfluss eine Verallgemeinerung der Ausgangsgrad-Zentralität c + D (G) ist.. Folgerung c I (G) = α (c + D (G) + A c I(G) ) Beweis: Wie oben gezeigt ist c I (G) = αa + αa c I (G), und es gilt (G) = A. c + D Die Lösung großer, dünn besetzter Gleichungssysteme (und wir können wie üblich davon ausgehen, dass die Adjazenzmatrix dünn ist), wird oft iterativ angenähert. Bei der sogenannten Jacobi-Iteration wird mit einer initialen Näherung gestartet und jede Gleichung einzeln unter Verwendung der Näherungen aus dem letzten Schritt gelöst. Hier können wir ganz ähnlich vorgehen durch c (0) v = 0 c (i+) v = α (v,w) E ( + c w (i) ). Die folgende Aussage zeigt, dass sich die resultierende Folge zur Annäherung an die Zentralitätswerte eignet und die Summation wie nach Anwendung des Distributivgesetzes auf die unendliche Summe erfolgt. Jede Iteration benötigt nur O(n + m) Schritte.

73 Methoden der Netzwerkanalyse (SS 005) 69. Lemma Es ist c (i+) c (i) für alle i N 0 und c (i) i c I (G) Beweis: Wir zeigen ( i ) c (i) = (αa) k k= für alle i N 0 per Induktion (d.h. in jeder Iteration wird ein Reihenglied hinzugefügt). Für i = 0 ist c (0) = 0 = ( 0 k= (αa)k), und für i = folgt c () = αa = ( k= (αa)k). Für i > 0 gilt c (i+) = αa + αa c (i) nach Definition und unter Verwendung der Induktionsvoraussetzung ( i ) c (i+) = αa + αa (αa) k = αa + = ( i+ ( i+ k= ) (αa) k k= ) (αa) k k= Das Abbruchkriterium im folgenden Algorithmus ist lediglich ein Beispiel. Algorithmus : Einfluss-Zentralitäten (näherungsweise) Eingabe : Multigraph G = (V,E), Toleranz ε Daten : Knotenarray c (letzte Näherung) Ausgabe: Knotenarray c (Einfluss bis auf ε, initialisiert mit 0) α min{ (G), + (G)} + repeat c c foreach v V do c v 0 foreach (v,w) E do c v c v + α ( + c w) until max v V c v c v < ε

74 Methoden der Netzwerkanalyse (SS 005) 70. Beispiel (und einige Fragen) Der Algorithmus angewandt auf den Beispielgraphen. Auf der x-achse sind die Knoten geordnet nach Einfluss-Zentralität aufgeführt. Jede Linie entspricht der Näherung nach einer Iteration. Von 000 Iterationen sind die ersten zwanzig sowie die letzte gezeigt Die Konvergenz ist in diesem Beispiel gut. Ist das immer so? Wann ist es (nicht) so? Die Einfluss-Zentralitäten sind in diesem Beispiel sogar eine Verfeinerung der Ausgangsgrade (ein Knoten mit höherem Ausgangsgrad hat auch höheren Einfluss). Ist das immer so? Wann ist das (nicht) so? Es hat auch während der ersten Iterationen keine Rangvertauschungen gegeben. Warum? Ist das immer so? Wann (nicht)?

75 Methoden der Netzwerkanalyse (SS 005) 7 Wir haben gesehen, dass drei Faktoren den Einfluss eines Knotens bestimmen: die Zahl seiner Nachbarn, deren Einfluss, und eine vorgegebene Abschwächung des Einflusses entlang jeder Kante. Verzichten wir auf den Knotengrad, zählen nur noch die wechselseitigen Abhängigkeiten der Bewertungen. Die Zentralität eines Knotens ist dann proportional zu der seiner Nachfolger, und für einen entsprechenden Index c heißt das c v = α c w bzw. c = αa c. (v,w) E Ein geeigneter Proportionalitätsfaktor lässt sich hierfür allerdings nicht so leicht angeben wie bei der Einfluss-Zentralität es muss ihn nicht einmal immer geben.. Definition (Eigenwert, Eigenvektor) Gilt für eine quadratische Matrix A und einen Vektor x A x = λx, dann heißt x Eigenvektor von A. Ist x 0, so heißen λ Eigenwert und (λ,x) Eigenpaar von A. Da wir für λ = α aus der Zentralitätsgleichung A c = λc erhalten, bieten sich positive reelle Eigenwerte λ der Adjazenzmatrix für die Wahl der Abschwächung an. Es muss dann allerdings auch einen zugehörigen nicht-negativen Eigenvektor geben. Wir werden zeigen, dass für stark zusammenhängende Multigraphen immer ein entsprechendes Eigenpaar exisitiert. Im folgenden sei daher A die Adjazenzmatrix eines stark zusammenhängenden Multigraphen G = (V, E). Ungleichungen, Beträge, usw. von Vektoren und Matrizen sind immer komponentenweise zu verstehen..5 Def inition Ein Vektor x R V 0 \ {0} ist eine ρ-pseudoharmonische Bewertung von G, falls A x ρx.

76 Methoden der Netzwerkanalyse (SS 005) 7.6 Lemma Ist G ein stark zusammenhängender Multigraph, dann existiert ein größtes ρ R >0, für das es eine ρ-pseudoharmonische Bewertung von G gibt. Beweis: Sei F(x) = (Ax) v min v V : x v 0 x v definiert auf der Menge der nicht-negativen Knotenbewertungen R V 0 \ {0}. Jeder nicht-negative Vektor x ist F(x)-pseudoharmonisch. Da F invariant unter Multiplikation mit einem Skalar ist, wäre die Behauptung also bewiesen, wenn wir einen Vektor y in der Menge P = {x R V : x 0, v V x v = }. angeben könnten, für den F(y) maximal ist. Weil P kompakt ist, würde dessen Existenz folgen, wenn F auf P stetig wäre. Dies ist aber an den Rändern nicht der Fall. Statt P betrachten wir daher zunächst die Menge P = (I + A) n P. Die Matrix A = (I + A) ist die Adjazenzmatrix des Multigraphen G, den man aus G erhält, indem man an jedem Knoten eine Schleife hinzufügt. Da im stark zusammenhängenden Multigraphen G keine zwei Knoten einen Abstand größer n haben können, ist die Zahl der Kantenfolgen der Länge n von irgendeinem Knoten zu irgendeinem anderen in G echt größer als Null. Folglich sind A und damit auch alle Vektoren in P positiv. Außerdem ist auch P kompakt. Weil aber F stetig auf ganz P ist, nimmt F einen maximalen Wert ρ für einen Vektor z P an. Durch Setzen von y v = z v z w w V erhalten wir auch ein y P mit F(y) = F(z) = ρ. Da aber außerdem F((I + A) n x) F(x), gibt es kein x P mit F(x) > ρ.

77 Methoden der Netzwerkanalyse (SS 005) 7.7 Lemma Sei x eine ρ-pseudoharmonische Bewertung eines stark zusammenhängenden Multigraphen G mit maximalem ρ R. Dann ist (ρ,x) ein Eigenpaar von A(G). Beweis: Sei σ(x) = {v : (Ax) v > ρx v } die Menge der nicht im ρ-gleichgewicht befindlichen Knoten, dann ist x genau dann ein Eigenvektor von A, wenn σ(x) =. Nehmen wir also an, σ(x) wäre nicht leer. Der Träger einer Knotenbewertung x ist die Menge der Knoten mit Bewertung ungleich Null. Sei h R V 0 \ {0} ein nicht-negativer Vektor mit Träger σ(x). Für den Vektor y = x + εh gilt (Ay) v ρy v = (Ax) v ρx v + ε(ah) v ερh v. Für v σ(x) ist (Ax) v > ρx v, und für hinreichend kleines ε damit auch die rechte Seite der obigen Gleichung. Folglich (Ay) v > ρy v. Für v σ(x) sind (Ax) v = ρx v und h v = 0. Folglich (Ay) v ρy v = ε(ah) v. Für ε > 0 ist die rechte Seite nicht-negativ, und weil G stark zusammenhängend ist, existiert mindestens ein v σ(x) so, dass (Ah) v > 0. Zusammengenommen haben wir σ(x) σ(y). Gilt σ(y) = n, dann ist y auch ρ -pseudoharmonisch für ein ρ > ρ, was ein Widerspruch ist. Andernfalls ist y aber immerhin ρ-pseudoharmonisch und σ(y) > σ(x), sodass wir das Argument mit y anstelle von x wiederholen können. Nach einer endlichen Anzahl von Wiederholungen ergibt sich der Widerspruch zur Maximalität von ρ.

78 Methoden der Netzwerkanalyse (SS 005) 7 Der Spektralradius ρ(g) eines Multigraphen ist der größte Betrag eines Eigenwertes seiner Adjazenzmatrix. Dieser muss selbst nicht Eigenwert sein, und der zugehörige Eigenwert muss auch nicht reell sein..8 Lemma Ist G ein stark zusammenhängender Multigraph, dann gibt es eine ρ(g)- pseudoharmonische Bewertung von G. Beweis: Sei ρ der maximale Wert, sodass G eine ρ-pseudoharmonische Bewertung hat. Für jede n n-matrix B mit B A = A(G) und Eigenpaar (θ,x) gilt θ x = θx = Bx B x A x, d.h. x ist ein θ -pseudoharmonischer Vektor von G und daher θ ρ. Da insbesondere A selbst die Voraussetzungen erfüllt, ist ρ = ρ(g)..9 Lemma Die ρ(g)-pseudoharmonische Bewertung eines stark zusammenhängenden Multigraphen G ist eindeutig bis auf Skalarmultiplikation und hat nur positive Einträge. Beweis: Wir zeigen zunächst, dass jede ρ(g)-pseudoharmonische Bewertung nur positive Einträge hat. Angenommen, x v = 0 für ein v V (pseudoharmonische Bewertungen sind nicht-negativ). Da (ρ(g), x) Eigenpaar von A ist, gilt auch (Ax) v = ρ(g)x v = 0. Andererseits gilt (Ax) v = a v,w x w, woraus wegen A 0 w N + (v) a v,w 0 = x w = 0 folgt. Da G aber stark zusammenhängend ist, liefert ein einfaches Induktionsargument, dass x = 0. Dann ist x aber keine pseudoharmonische Bewertung. Nehmen wir also noch an, es gäbe zwei linear unabhängige ρ(g)-pseudoharmonische Bewertungen x und y. Für jede Linearkombination gilt dann A(ax + by) = aax + bay aρ(g)x + bρ(g)y = ρ(g)(ax + by) und wir können a,b R so wählen, dass ax + by nicht-negativ und an einer Stelle Null ist. Dies ist ein Widerspruch zur bereits bewiesenen Teilaussage.

79 Methoden der Netzwerkanalyse (SS 005) 75 Die hergeleiteten Eigenschaften sind im zentralen Satz des Abschnitts zusammengefasst, der uns die Definition einer Zentralität erlaubt, in der die Bewertungen nur von den Bewertungen der jeweiligen Nachbarn abhängen..50 Satz (Perron 907 und Frobenius 9) Der Spektralradius ρ(g) der Adjazenzmatrix eines stark zusammenhängenden Multigraphen G ist ein Eigenwert. Der zugehörige Eigenvektor ist eindeutig bis auf Skalarmultiplikation und alle seine Einträge haben das gleiche Vorzeichen..5 Definition (Eigenvektor-Zentralität; Bonacich 97) Die Eigenvektor-Zentralität c E ist definiert für alle G = (V,E) S als die eindeutige Lösung von c E (G) = ρ(g) A(G) c E(G) mit c E (G) v > 0, v V, und v V c E(G) v = (d.h. die Eigenvektor- Zentralität wird grundsätzlich normiert). 5.8 % 5.8 %.9 %.89 % 6.9 %.5 %.06 % 9.9 % 6 %.7 %.7 % normierte Eigenvektor-Zentralität im Beispielgraphen Vermutung: c E (S) (ohne Beweis)

80 Methoden der Netzwerkanalyse (SS 005) 76 Die exakte Berechnung von Eigenvektoren ist schwierig. Von den zahlreichen numerischen Methoden zu ihrer Annäherung betrachten wir nur die einfachste: die sogenannte Potenziteration. Wie bei der iterativen Bestimmung der Einfluss-Zentralitäten wird die punktweise Gleichgewichtsgleichung genutzt, um eine Folge von Näherungen zu erzeugen. Ausgehend von einem beliebigen Startvektor c (0), etwa c (0) =, besteht die durch c (i+) = Ac (i) definierte Folge von Schätzwerten aus den Vektoren A i c (0), die abgesehen von einem problematischen Sonderfall eine Näherung für die Eigenvektor- Zentralität liefern..5 Lemma Für einen stark zusammenhängenden, nicht bipartiten Multigraphen G gilt für geeignetes c (0) c (i) c (i) i c E (G) c E (G). Beweis: Seien λ,...,λ n die Eigenwerte von A(G). Da G stark zusammenhängend und nicht bipartit ist, können wir ρ(g) = λ > λ... λ n annehmen (dabei wird benutzt, dass ρ(g) genau dann Eigenwert von G ist, wenn G bipartit ist; s. Übung). Ferner seien x,...,x n zugehörige Eigenvektoren, insbesondere also x proportional zum gesuchten. Lässt sich der Startvektor mit geeigneten Koeffizienten b,...,b n als c (0) = b x b n x n schreiben, dann folgt daraus mit Induktion über i A i c (0) = n b j λ i jx j j= und, falls b 0, ( n A i c (0) = b λ i x + ( b j λj b j= λ ) i x j ). Wegen λ > λ j für alle j =,...,n folgt die Behauptung.

81 Methoden der Netzwerkanalyse (SS 005) 77.5 Beispiel Betrachte den zusammenhängenden bipartiten Graphen C. Die Eigenwerte sind (λ,λ,λ,λ ) = (, 0, 0, ) (s. Übung) mit Eigenvektoren x = (,,, ) T, x = (, 0,, 0) T, x = (0,, 0, ) T und x = (,,, ) T. Bei Startvektor c (0) = x + x (also a 0) ergibt sich jedoch die Folge { c (i) ( i, i, i, i ) T falls i gerade = ( i, i, i, i ) T falls i ungerade, die sich keinem Eigenvektor nähert. Da die Folgenglieder stark wachsen, normieren wir in jeder Iteration. Die Konvergenzaussage wird dadurch nicht beeinflusst. Algorithmus : Eigenvektor-Zentralitäten (näherungsweise) Eingabe : Multigraph G = (V, E) S, nicht bipartit Abbruchkriterium ε Daten : Knotenarray c (letzte Näherung) Ausgabe: Knotenarray c (Eigenvektor-Zentralität) foreach v V do c v n repeat c c foreach v V do c v 0 foreach w N + G (v) do c v c v + a v,w c w ρ c ; c c ρ until ρ während der letzten Iterationen nur um ε verändert.5 Bemerkung Die Laufzeit des Verfahrens ist wieder O(n + m) pro Iteration. Allerdings hängt die Konvergenzgeschwindigkeit der Potenziteration vom Verhältnis λ λ ab und kann daher sehr schlecht sein. Das Abbruchkriterium kann deutlich geschickter gewählt werden. Für mittelgroße Graphen ist der obige Algorithmus jedoch durchaus praktikabel.

82 Methoden der Netzwerkanalyse (SS 005) 78 Hubs & Authorities.55 Beispiel (Bibliographische Netzwerke, WWW) Bei der Analyse wissenschaftlicher Publikationen interessiert man sich für einflussreiche Publikationen, bedeutende Autoren, wichtige Zeitschriften, usw. Die Datenbasis besteht normalerweise aus mindestens einem von zwei Netzwerktypen: Knoten Kanten Zitiernetzwerk Publikationen v zitiert w Autorenschaft Autoren & Publikationen v ist Autor von w Bei wissenschaftlichen Veröffentlichungen ist der zweite Typ wesentlich einfacher erhältlich, da sich diese Netzwerke leicht aus bibliographischen Datenbanken automatisch erzeugen lassen. Zitate sind aus Aufsätzen und Büchern sehr aufwändig zu extrahieren, sodass entsprechende Datensätze (z.b. Science Citation Index) sehr teuer sind. Eine andere Form der Publikation von Wissen sind WWW-Seiten. Hier ist das Aufwandsverhältnis genau umgekehrt, da sich Zitate (Links) aus HTML- Seiten sehr leicht extrahieren lassen, Autoren jedoch selten zuverlässig feststellbar sind.

83 Methoden der Netzwerkanalyse (SS 005) 79 Wir betrachten zwei Operatoren, mit denen aus gerichteten Multigraphen (wie etwa Zitier- und Autorenschaftsnetzwerken) symmetrische (ungerichtete) Multigraphen für Teilaspekte einer Analyse gewonnen werden..56 Definition (Bibliographische Operatoren; Kessler 96 und Small 97) Ist G ein Multigraph, dann heißt der symmetrische Multigraph B(G) mit Adjazenzmatrix B(G) = A(B(G)) = A(G)A(G) T (bibliographische) Kopplung von G. Der symmetrische Multigraph C(G) mit Adjazenzmatrix C(G) = A(C(G)) = A(G) T A(G) heißt Kozitation von G. Kopplung B(G) Ausgangsgraph G Kozitation C(G).57 Bemerkung Enthält G mindestens eine Kante, so sind weder B(G) noch C(G) bipartit (s. Übung)..58 Beispiel (Erdős-Graph) Angewandt auf ein Autorenschaftsnetzwerk ergibt die bibliographische Kopplung den Kollaborationsgraph. Der wohl berühmteste Kollaborationsgraph ist der Erdős-Graph. Dabei handelt es sich um den von allen wissenschaftlichen Publikationen induzierten Kollaborationsgraph zusammen mit einer Knotenbewertung (der Erdős-Zahl), die den Abstand vom Paul Erdős entsprechenden Knoten angibt. Erdős selbst hat die Erdős-Zahl 0, seine Koautoren die Erdős-Zahl, deren Koautoren, die nicht Erdős oder Koautor Erdős sind, die Erdős-Zahl, usw. Siehe auch

84 Methoden der Netzwerkanalyse (SS 005) 80 Im Rahmen des CLEVER-Projekts zur Verbesserung von WWW-Suchmaschinen wurde bei IBM das Verfahren HITS entwickelt, das wesentlich auf dem folgenden Zentralitätsindex beruht..59 Definition (Hubs & Authorities; Kleinberg 999) Für G G ist die Hub-Zentralität c H definiert durch c H (G) = c E (B(G)) und die Authority-Zentralität c A durch c A (G) = c E (C(G))..60 Bemerkung Da die symmetrischen Multigraphen B(G) und C(G) nicht notwendig zusammenhängend sind, gehen wir in der obigen Definition von einer Verallgemeinerung der Eigenvektor-Zentralität auf Vereinigungen stark zusammenhängender Multigraphen aus. Die Zentralitäten in jeder Zusammenhangskomponente summieren sich dabei zur relativen Größe der Komponente auf % 5.66 % 5. % 5. % ACHTUNG: G ist bipartit 0.58 %.6 %.5 %.88 % 5.68 %.9 %. % 5.9 %.65 % 9.9 % 0.95 %.6 % 6.6 % 6.9 %.6 %.6 %. %. % normierte Hub-Zentralität normierte Authority-Zentralität im Beispielgraphen im Beispielgraphen (falsch normiert) (falsch normiert) Vermutung: c H (G) und c A (G)

85 Methoden der Netzwerkanalyse (SS 005) 8 Der naheliegende Ansatz zur Berechnung von Hubs & Authorities, zunächst B(G) und C(G) zu berechnen und auf die Ergebnisse dann jeweils Potenziteration anzuwenden, ist im allgemeinen ungeeignet, da die Eigenschaft geringer Dichte verloren gehen kann..6 Lemma n(g) = n(b(g)) = n(c(g)), aber m(b(g)) = v V d G (v) m(c(g)) = v V d + G (v) Beweis: Nach Definition haben die Adjazenzmatrizen der beiden abgeleiteten Multigraphen die gleichen Dimensionen, sodass die Anzahl der Knoten unverändert ist. Für die Kardinalität der Kantenmenge von B(G) mit Adjazenzmatrix B = (b u,w ) u,w V ist m(b(g)) = u,w V b u,w = (AA T ) u,w u,w V = a u,v a w,v = a u,v a w,v u,w V v V v V u V w V = a u,v a w,v = a u,v d G (v) v V u V w V v V u V = v V d G (v) und analog für m(c(g)).

86 Methoden der Netzwerkanalyse (SS 005) 8 Der folgende Zusammenhang erlaubt es uns, die Potenziterationen für beide Zentralitätsindizes ineinander zu schachteln..6 Lemma c H (G) = A(G) c A (G) und c A (G) = A(G) T c H (G). Beweis: Wir können annehmen, dass B(G) und C(G) zusammenhängend sind, denn andernfalls übertragen sich alle Argumente entsprechend auf die Zusammenhangskomponenten. Im Beweis zur Konvergenz der Potenziteration wurde gezeigt, dass bei stark zusammenhängenden, nicht-bipartiten Multigraphen für einen geeigneten Startvektor x die Folge A i x gegen einen Eigenvektor des betragsgrößten Eigenwertes von A = A(G) konvergiert. Daher konvergiert die Folge (AA T ) i x für die meisten x gegen ein Vielfaches von c H (G), und die Folge (A T A) i y für die meisten y gegen ein Vielfaches von c A (G). Wegen (AA T ) i x = A(A T A) i (A T x) folgt der erste Teil der Behauptung mit Wahl von y = A T x. Der zweite folgt analog. Aus dem obigen Beweis können wir unmittelbar die Korrektheit des folgenden Näherungsalgorithmus folgern. Algorithmus 5: Hub- & Authority-Zentralitäten (näherungsweise) Eingabe : Multigraph G = (V,E), Abbruchkriterium ε Ausgabe: Knotenarray a (Authority-Zentralität) Knotenarray h (Hub-Zentralität) foreach v V do a v n repeat foreach v V do h v 0 foreach (v,w) E do h v h v + a w ρ h h ; h h ρ h foreach v V do a v 0 foreach (u,v) E do a v a v + h u ρ a a ; a a ρ a until ρ a,ρ h während der letzten Iterationen nur um ε verändert Trotz der möglicherweise höheren Dichte von B(G) und C(G) ist die pro Iteration benötigte Zeit damit wieder nur O(n(G) + m(g)).

87 Methoden der Netzwerkanalyse (SS 005) 8 PageRank Die Suchmaschine Google verwendet für die Relevanzbewertung unter anderem einen Zentralitätsindex namens PageRank. Dieser kann als Variante sowohl der Einfluss- als auch der Eigenvektor-Zentralität angesehen werden..6 Def inition Zu einem Multigraph G = (V,E) sei die Ausgangsgradmatrix D + (G) = (d v,w ) v,w V definiert durch { d + d + G (v) falls v = w v,w = 0 sonst. Die (ausgangsgrad-)normalisierte Adjazenzmatrix definieren wir als wobei für (D + (G)) = (d d v,w = M + (G) = (D + (G)) A(G) v,w) v,w V gelte { d + G (v) falls v = w und d + G (v) > 0 0 sonst..6 Bemerkung In normalisierten Adjazenzmatrizen ist die Zeilensumme für Knoten mit mindestens einer ausgehenden Kante gleich Eins. Sie können als Adjazenzmatrix eines (kanten-)gewichteten Multigraphen M + (G) interpretiert werden. Entsprechende Definitionen und Aussagen für den Eingangsgrad und den Knotengrad sind natürlich ebenfalls möglich, werden aber hier nicht benötigt. Bei der Eigenvektor-Zentralität werden die Werte an den Nachfolgerknoten aufsummiert. Nimmt man stattdessen den Mittelwert, so ergibt sich c v = α a v,w d + G (v) c w bzw. c = αm + (G)c. w N + G (v) Die Bewertung c heißt dann harmonisch. Die Zentralität eines Knotens ist damit also proportional zur mittleren Zentralität der von ihm direkt beeinflussten Knoten. In WWW-Zitiernetzwerken ist diese Sichtweise sicher wenig plausibel, da Links keine Beeinflussung der Seiten darstellen, auf die verwiesen wird.

88 Methoden der Netzwerkanalyse (SS 005) 8 Wir hatten bereits festgestellt, dass aus einer Zentralität eine Zentralität wird, wenn wir sie im Graphen mit umgedrehten Kanten berechnen. Da PageRank die Relevanz von WWW-Seiten bewerten soll, bietet sich die so umgekehrte Sichtweise an: Die Relevanz einer Seite überträgt sich zu gleichen Teilen auf die durch ausgehende Hyperlinks referenzierten Seiten. Eine entsprechende Bewertung müsste dann c v = u N G (v) a u,v d + G (u) c u bzw. c = M + (G) T c. erfüllen. Ein Proportionalitätsfaktor ist hier nicht nötig:.65 Lemma Ist G ein stark zusammenhängender, nicht bipartiter Multigraph, so gilt ρ(m + (G) T ) =. Beweis: Aus den Überlegungen zur Potenziteration wissen wir, dass die Folge (M + (G) T ) i x für geeignete x und i gegen einen zum Spektralradius gehörigen Eigenvektor mit ausschließlich positiven Einträgen konvergiert. Außerdem gilt v V (M + (G) T x) v = v V = u V = u V u N (v) v N + (u) x u, a u,v d + (u) x u = (u,v) E a u,v d + (u) x u = u V x u d + (u) x u a u,v d + (u) v N + (u) d.h. die Summe der Einträge eines Vektors ist invariant unter Multiplikation mit der normalisierten Adjazenzmatrix. Dies gilt insbesondere für den positiven Eigenvektor zum Spektralradius, sodass letzterer gleich Eins sein muss.

89 Methoden der Netzwerkanalyse (SS 005) Bemerkung (Irrfahrten auf Graphen und das WWW) Die Potenziteration für (M + (G)) T kann als Irrfahrt auf G interpretiert werden: Die Knoten von G beschreiben mögliche Aufenthaltsorte. Die ausgehenden Kanten eines Knotens entsprechen den erlaubten Übergängen an Aufenthaltsorte zum nächsten Zeitpunkt. Der Wechsel des Aufenthaltsortes geschieht zufällig, d.h. jeder mögliche Übergang findet mit gleicher Wahrscheinlichkeit statt. Bei Vorgabe einer Anfangsverteilung x (0), etwa der Gleichverteilung n, beschreibt der Vektor (M + (G) T ) i x (0) die Aufenthaltswahrscheinlichkeiten an den Knoten nach genau i Übergängen. Die Matrix (M + (G)) T heißt in dieser Interpretation auch Übergangsmatrix. Drücken wir die Aufenhaltswahrscheinlichkeiten zu Zeitpunkt i durch Zufallsvariablen X (i) aus, dann heißt X (0),X (),... auch (homogene) Markoff-Kette, und die Konvergenzbedingungen stark zusammenhängend und bipartit entsprechen den Bedingungen irreduzibel und aperiodisch für die Existenz einer stationären Verteilung (einer Verteilung, die sich durch Anwendung der Übergangsmatrix nicht ändert). Statt als rückgekoppelte Zentralität kann ein Eigenvektor zum größten Eigenwert von (M + (G)) T daher auch als die stationäre Verteilung einer Irrfahrt auf dem Graphen gedeutet werden. In WWW-Graphen lässt sich diese interpretieren als die Aufenthaltswahrscheinlichkeit eines zufällig umherirrenden Benutzers auf der jeweiligen Seite.

90 Methoden der Netzwerkanalyse (SS 005) 86 Will man die Aufenthaltswahrscheinlichkeiten zur Relevanzbewertung der Datenbasis einer Suchmaschine verwenden, ist die Einschränkung auf stark zusammenhängende, nicht bipartite Multigraphen unrealistisch. Die folgende Idee beseitigt das Problem: Statt in jedem Schritt einem Link zu einer Seite zu folgen, kann der herumirrende Benutzer mit einer Wahrscheinlichkeit ω auch zu irgendeiner Seite springen. Dadurch wird der Multigraph der möglichen Übergänge vollständig, insbesondere also stark zusammenhängend und nicht bipartit. Bei gleich wahrscheinlichen Sprungzielen erhalten wir die von Google verwendete Zentralität..67 Definition (PageRank; Brin und Page 998) Für G G und ein 0 < ω < ist der PageRank c P definiert als die eindeutige Lösung von c P (G) = ( ω) M + (G) T c P (G) + ω n. Vermutung: c P (G) S? 5. % 5. % 7.9 % 0.87 % 7.8 % 5.8 %.6 % 0.79 %. % 5.68 % 5.68 % PageRank im Beispielgraphen (ω = ) Offene Frage: Welche Auswirkungen hat ω auf die Reihung der Knoten?

91 Methoden der Netzwerkanalyse (SS 005) 87 Algorithmus 6: PageRank (näherungsweise) Eingabe : Multigraph G = (V,E), Sprungw keit 0 < ω < Abbruchkriterium ε Daten : Knotenarray c (letzte Näherung) Ausgabe: Knotenarray c (PageRank) foreach v V do c v n repeat c c foreach v V do c v ω n foreach u N (v) do c v c v + ( ω) a u,v d + (u) c u until c c < ε

92 Methoden der Netzwerkanalyse (SS 005) 88. Kantenzentralitäten Wir wollen noch kurz anreißen, wie Kantenzentraliäten definiert werden könnten. Die dazugehörige Theorie ist noch weniger weit entwickelt als die für Knotenzentralitäten. Geeignete notwendige Bedingungen an Kantenstrukturindizes sind nicht bekannt. Zumindest bei der Betweenness-Zentralität lässt sich die Grundidee unmittelbar auf Kanten übertragen..68 Definition (Kanten-Betweenness; Anthonisse 97) Die Erweiterung der Betweenness-Zentralität c B auf Kanten ist definiert durch c B (G) e = σ G (s,t e) σ G (s,t) s,t V für alle G = (V,E) G (mit den Bezeichnungen aus der Knoten-Betweenness- Zentralität)..69 Lemma δ G (s (v,w)) = { σg (s,v) σ G (s,w) ( + δ G(s w)) falls (v,w) P G (s,w) 0 sonst. Beweis: Falls (v,w) P G (s,w), also auf keinem kürzesten (s,w)-weg liegt, dann liegt (v,w) auch auf keinem kürzesten (s,t)-weg für irgend ein t V, sodass δ G (s (v,w)) = 0. Im Beweis zur Abhängigkeit von Knoten hatten wir bereits gesehen, dass δ G (s,t v, (v,w)) = { σg (s,v) σ G (s,w) σ G (s,v) σg(s,t w) σ G (s,w) σ G (s,t) falls t = w falls t w Da aber δ G (s,t v, (v,w)) = δ G (s,t (v,w)) folgt die Behauptung durch Summation über alle t V.

93 Methoden der Netzwerkanalyse (SS 005) 89 Zur Berechnung brauchen wir also lediglich den Betweenness-Algorithmus um Abhängigkeiten von Kanten zu erweitern. Für Multigraphen mit Mehrfachkanten ist wieder zu beachten, dass die Vorgängerzählung angepasst werden muss. Algorithmus 7: Abhängigkeiten eines Knotens s V (Spezialisierung der Breitensuche mit Wurzel s) Daten : Knotenarray σ s (Anzahl der kürzesten Wege von s) Knotenarray P s (Liste der Vorgänger auf kürzesten Wegen) Stack S (Knoten in Reihenfolge ihres Abstands von s) Ausgabe: Knoten- und Kantenarray δ s (Abhängigkeiten, initialisiert mit 0) root(vertex s) begin σ s (s) = end traverse(vertex v, edge e, vertex w) begin if e ist Baumkante then füge an P s (w) v σ s (w) σ s (v) push w S if e ist Vorwärtskante then füge an P s (w) v σ s (w) σ s (w) + σ s (v) end done(vertex s) begin while S nicht leer do w pop(s) foreach v P s (w) do δ s (v) δ s (v) + σs(v) σ s(w) ( + δ s(w)) end δ s ((v,w)) σs(v) σ s(w) ( + δ s(w))

94 Methoden der Netzwerkanalyse (SS 005) Beispiel (Clustern mit Kanten-Betweenness) Haben Kanten eine hohe Betweenness-Zentralität, dann sind sie wesentliche Verbindungen zwischen verschiedenen Teilgraphen. Insbesondere haben Brücken eine hohe Betweenness, die umso größer ist, je ähnlicher die Größe der Teilgraphen ist, zu denen die beiden Endknoten gehören. Eine Idee, durch wiederholtes Entfernen von Kanten den Graphen schrittweise in Cluster zu zerlegen, besteht daher darin, die jeweils am höchsten bewerteten Kanten auszuwählen. Der nachfolgende Algorithmus beschreibt das Vorgehen im Detail. Algorithmus 8: Betweenness-Clustern (Girvan und Newman 00) Eingabe : Multigraph G = (V, E) Ausgabe: Teilgraph C G (Zusammenhangskomponenten definieren die Cluster) C G repeat B {e E(C) : c B (C) e maximal} entferne die Kanten in B aus C until bel. Abbruchbedingung (z.b. Anzahl Cluster, Clustergrößen) Die Laufzeit ist im schlechtesten Fall O(nm ), denn in jeder Iteration muss die Kanten-Betweenness neu berechnet werden. Sie ist in der Regel aber niedriger, wenn z.b. die Kanten-Betweenness in gut aufgeteilten Graphen nur noch in kleinen Komponenten bestimmt werden muss. Das folgende Netzwerk beschreibt die Freundschaftsbeziehungen in einem Karate-Verein. Das anschließende Dendrogramm gibt die Aufteilung der Cluster an (aus: Girvan und Newman 00) Offene Frage: Kann Information aus der Kanten-Betweenness-Berechnung für die nächste Iteration wiederverwendet werden (Berechnung auf dynamischen Graphen, bei denen nur Kanten entfernt werden), um die Gesamtlaufzeit zu verringern?

95 Methoden der Netzwerkanalyse (SS 005) 9 Analog können wir Closeness- und andere Zentralitäten auf Kanten übertragen. Die Definitionen von Wegen und Abständen seien dazu in naheliegender Weise auf Kanten verallgemeinert..7 Definition (Kanten-Closeness-, -Einfluss-, und -Eigenvektor-Zentralität) Die Erweiterungen der Closeness-, Einfluss- und Eigenvektor-Zentralität auf Kanten sind definiert durch durch c C (G) e = d G (e,e ) e E c I (G) (u,v) = c E (G) (u,v) = λ (v,w) E (v,w) E α ( + c I (G) (v,w) ) c E (G) (v,w) für alle G = (V,E) S (für c I (G) sogar G G) und geeignete α,λ. Wir zeigen die Wohldefiniertheit allgemeiner..7 Def inition (Kantengraph) Zu einem Multigraphen G = (V, E) ist der zugehörige Kanten(multi)graph E(G) = (E, F) definiert durch ((u,v), (v,w)) k F (u,v) r E, (v,w) s E und k = r s.7 Lemma Seien G = (V,E) ein gerichteter Multigraph und E(G) = (E,F) der zugehörige Kantengraph. Dann gilt: (i) G gewöhnlich = E(G) gewöhnlich (ii) G schleifenfrei E(G) schleifenfrei (iii) E(G) stark zusammenhängend G besteht einer starken Zusammenhangskomponente und einer beliebigen Anzahl isolierter Knoten (iv) G stark zusammenhängend und nicht bipartit = E(G) stark zusammenhängend und nicht bipartit

96 Methoden der Netzwerkanalyse (SS 005) 9 Beweis: Die beiden ersten Eigenschaften sind offensichtlich. Für die dritte sei G stark zusammenhängend. Es gibt dann zwischen je zwei Knoten einen gerichteten Weg. Insbesondere gibt es für je zwei Kanten (u,v), (w,x) einen gerichteten Weg von v nach w und einen von x nach u. Diese entsprechen in E(G) gerichteten Wegen von (u,v) nach (w,x) und von (w,x) nach (u,v), sodass auch E(G) stark zusammenhängend ist. Bei Hinzufügen von isolierten Knoten zu G bleibt E(G) unverändert. Ist umgekehrt E(G) stark zusammenhängend, so finden wir für jeden nicht isolierten Knoten in G eine inzidente Kante. Zu zwei Knoten in G betrachte daher zwei inzidente Kanten, etwa (u,v) und (w,x). Mit der gleichen Überlegung wie oben folgt aus dem starken Zusammenhang von E(G) die Existenz zweier gerichteter Wege in G, von denen der eine mit (u,v) beginnt und mit (w,x) endet, und der andere umgekehrt. Schließlich sei G stark zusammenhängend und nicht bipartit. Angenommen, E(G) wäre bipartit, also insbesondere schleifenfrei, und E = E E eine entsprechende Partition der Kanten von G. Ist v V ein beliebiger Knoten, dann gibt es, weil G stark zusammenhängend ist, mindestens eine eingehende und eine ausgehende inzidente Kante. Gibt es eine eingehende Kante (u, v) E, dann sind alle ausgehenden Kanten (v,w) E und damit auch alle eingehenden Kanten (u,v) E. Entsprechend für ein (u,v) E. Die Knoten von G können folglich danach aufgeteilt werden, ob ihre eingehenden oder ausgehenden Kanten in E sind. Dann wäre G aber bipartit, denn keine zwei aus einer der beiden Mengen können adjazent sein. Ein Knotenzentralitätsindex angewandt auf den Kantengraph liefert eine Bewertung der Kanten im Ausgangsgraphen, die als Kanten-Zentralität gedeutet werden könnte. Wegen der Eigenschaften (iii) und (iv) im obigen Lemma ist die Erweiterung der nur auf eingeschränkten Klassen definierten Maße unproblematisch.

97 Methoden der Netzwerkanalyse (SS 005) 9.7 Def inition (Zentralitäten) Sei c eine Knotenzentralität und G ein Multigraph so, dass c(e(g)) definiert ist. Dann heißt der Strukturindex c mit und c(g) v = c(g) v c(g) e = c(e(g)) e die zugehörige (allgemeine) Zentralität..75 Satz c C = c C, c I = c I, c E = c E. Beweis: Die Definitionen der Kanten-Zentralitäten entsprechen genau denen für Knoten-Zentralitäten angewandt auf den Kantengraphen. Für Closeness, Einfluss und Eigenvektor-Zentralität können die Algorithmen für die entsprechenden Knoten-Zentralitäten mit wenigen Modifikationen benutzt werden, um die Kanten-Zentralitäten ohne Konstruktion des Kantengraphen zu bestimmen. Bei Betweenness führt die Definition über den Kantengraphen allerdings zu Inkonsistenzen..76 Satz c B und c B sind verschieden. Beweis: Es gibt sogar Unterschiede auf zusammenhängenden ungerichteten Graphen: e e e e e e Graph G e e Kantengraph E(G) Es gilt c B (e ) = 6 > c B (e ) = c B (e ) = > = c B (e ), aber c B (e ) = c B (e ) = 0 < = c B (e ) = c B (e ).

98 Methoden der Netzwerkanalyse (SS 005) 9 Man könnte das Problem darin vermuten, dass nur innere Knoten in die Knoten-Betweenness auf dem Kantengraph eingehen, weil die jeweils erste und letzte Kante aller kürzesten Wege im Ausgangsgraphen dadurch nicht berücksichtigt werden. Aus dem vorstehenden Beweis können wir aber ableiten, dass auch eine entsprechende Modifikation der Knoten-Betweenness keine Abhilfe schaffen kann..77 Folgerung Für jede Knoten-Zentralität c ist c verschieden von c B. Beweis: In dem Beispiel im obigen Beweis sind die Knoten e und e von E(G) strukturell äquivalent, sodass für jeden Knotenstrukturindex c gelten muss c(e ) = c(e ) und c(e ) = c(e ). Es gilt aber auch c B (e ) c B (e ).

99 Kapitel Gruppen und Rollen In diesem Kapitel liegt unser Augenmerk nicht auf der (strukturellen) Wichtigkeit einzelner Knoten oder Kanten, sondern auf der Zugehörigkeit von Knoten zu (strukturellen) Teilmengen. Diese können entweder durch relativ enge Beziehungen untereinander, d.h. größere Dichte der Kanten innerhalb des induzierten Teilgraphen als nach außen, oder durch Ähnlichkeit der Nachbarschaften, d.h. gleichartige Beziehungen zu gleichartigen anderen, gebildet werden. Im ersten Fall sprechen wir von Gruppen, im zweiten von Rollen.. Dichte Teilgraphen Ein Graph ist dicht, wenn viele der möglichen Kanten auch tatsächlich vorhanden sind.. Def inition (Dichte) Die Dichte D(G) eines Multigraphen G = (V,E) ist definiert durch D(G) = {(u,w) V V : (u,w) E,u w} n(n ). Ein Multigraph hat damit die maximal mögliche Dichte, wenn jeder Knoten mit jedem anderen verbunden ist. Der schlichte ungerichtete Graph K n = (V,E) mit Knotenmenge {,...,n} und Kantenmenge E = {{v,w} : v w V } heißt auch der vollständige Graph auf n Knoten. 95

100 Methoden der Netzwerkanalyse (SS 005) 96 Kommt der vollständige Graph als Teilgraph eines anderen vor, können die beteiligten Knoten als eng zusammenhaltende Gruppe angesehen werden.. Definition (Clique; Luce and Perry 99) In einem schlichten ungerichteten Graph G = (V, E) heißt eine Knotenteilmenge C V Clique (der Größe C bzw. C -Clique), falls der von C knoteninduzierte Teilgraph G[C] vollständig ist. Eine Clique heißt maximal, wenn sie inklusionsmaximal ist. Das größte k {0,...,n}, für das G eine k-clique enthält, heißt Cliquenzahl ω(g) = k von G.. Satz Die Bestimmung von ω(g) ist N P-schwer. Beweis: Wir zeigen, dass das Entscheidungsproblem CLIQUE (Gegeben ein Graph G = (V,E) und ein k N, gibt es in G eine Clique der Größe mindestens k?) N P-vollständig ist. CLIQUE ist klarerweise in N P. Für die Vollständigkeit geben wir eine polynomiale Reduktion des N P-vollständigen Problems SAT auf CLIQUE an. Sei als SAT-Instanz eine Formel φ = C... C r in konjunktiver Normalform mit jeweils drei Literalen pro Klausel gegeben. Die Klauseln seien C i = y i, y i, y i, mit y i,j {x,...,x n,x,...,x n } für alle i =,...,r. Wir konstruieren daraus einen ungerichteten Graphen G(φ) = (V,E) mit V = {y i,j : i r, j =,, } E = {{y i,j,y i,j } ; i < i r, y i,j y i,j } und zeigen, dass φ genau dann erfüllbar ist, wenn es in G(φ) eine Clique der Größe r gibt. Ist φ erfüllbar, dann lässt sich in jeder Klausel ein erfülltes Literal wählen. Da alle erfüllt sind, gilt für keine zwei, dass das eine Negation des anderen ist. Da sie außerdem noch aus verschiedenen Klauseln stammen, sind die zugehörigen Knoten in G(φ) vollständig verbunden. Enthält umgekehrt G(φ) eine Clique mit r Knoten, dann ist in jeder Klausel mindestens ein zugehöriges Literal vertreten. Die zugehörigen Variablen können alle so belegt werden, dass das Literal erfüllt ist, denn weil je zwei Knoten der Clique adjazent sind, widersprechen sich die Literale nicht.

101 Methoden der Netzwerkanalyse (SS 005) 97. Bemerkung Die Situation ist algorithmisch sogar noch unerfreulicher, weil es im Fall P N P auch keinen polynomialen Algorithmus gibt, mit dem die Cliquenzahl bis auf einen konstanten Faktor approximiert werden kann. Das heißt aber natürlich nicht, dass sich die Cliquen eines Graphen nicht bestimmen ließen. Wir werden als nächstes sogar alle maximalen Cliquen aufzählen. Ein Aufzählungsalgorithmus gibt alle Objekte einer Menge in irgendeiner Reihenfolge aus. Er arbeitet mit Verzögerung O(f(n)), falls die Laufzeit vor Ausgabe des ersten Elements, zwischen je zwei Elementen und nach dem letzten Element jeweils in O(f(n)) ist..5 Satz Algorithmus 9 zählt alle maximalen Cliquen eines ungerichten Graphen mit Verzögerung O(nm) und O(n + m) Platz auf. Beweis: Der Algorithmus ist korrekt, denn er durchläuft einen binären Baum, dessen Knoten der Tiefe i gerade die maximalen Cliquen im von den Knoten {,...,i} induzierten Graphen G[{,...,i}] repräsentieren, und gibt jeweils die maximalen Cliquen in G = G[,...,n] aus. Das sieht man wie folgt. Aus einer maximalen Clique C in G[,...,i ] erhält man auf folgende Weisen eine maximale Clique in G[,...,i]:. Fall: (C N(i)) Wenn alle Knoten in C zu i adjazent sind, dann ist C {i} die einzige maximale Clique in G[,...,i], die C enthält.. Fall: (C N(i)) Dann ist zumindest C auch maximale Clique in G[,...,i]. Die größte i enthaltende Clique, die in G[,...,i] aus C entsteht, ist K = (C N(i)) {i}. Allerdings ist K nicht notwendig eine maximale Clique, und K könnte auf die gleiche Weise auch aus anderen maximalen Cliquen C von G[,...,i ] entstehen. Im Algorithmus wird K daher nur dann als Nachfolger von C angesehen, wenn C die lexikographisch erste maximale Clique von G[,...,i ] ist, die durch Schnitt mit der Nachbarschaft von i zu einer maximalen Clique in G[,...,i] führt.

102 Methoden der Netzwerkanalyse (SS 005) 98 Algorithmus 9: Aufzählung aller maximalen Cliquen (Tsukiyama, Ide, Ariyoshi und Shirakawa, 977) Eingabe : ungerichteter Graph G = (V = {,...,n},e) Ausgabe: alle in G enthaltenen maximalen Cliquen maximal(vertex set K, vertex i) begin // -- Ist K maximale Clique in G[...i]? for j =,...,i do if j K and K N(j) then return false return true end parent(vertex set K, vertex i) begin // -- lexikographisch erste maximale Clique // -- in G[...i-], die K-i enthält P K \ {i} for j =,...,i do if P N(j) then P P {j} return P end insert(vertex i) begin if i = n + then gib maximale Clique C aus else if C N(i) then // -- einziger Nachfolger C C {i}; insert(i + ); C C \ {i} else // -- linker Nachfolger insert(i + ) end begin C insert() end // -- rechter Nachfolger K (C N(i)) {i} if maximal(k,i) and C = parent(k,i) then C K; insert(i + ); C parent(c,i)

103 Methoden der Netzwerkanalyse (SS 005) 99 Für die Laufzeit beachte, dass der Test auf Maximalität in maximal, die Bestimmung des Elternknotens in parent und die Tests und Schnitte mit der Nachbarschaft von i in O(n+m) Zeit möglich sind. Da die Menge C an einem inneren Knoten des impliziten Baumes nie leer ist und jeder innere Knoten mindestens einen Nachfolger hat, ist die Länge der durchlaufenen Wege von der Wurzel zum ersten Blatt, zwischen zwei Blättern und nach dem letzten Blatt jeweils durch n beschränkt. Da auf den Zusammenhangskomponenten von G getrennt gerechnet werden kann, ergibt sich insgesamt eine Verzögerung von O(nm) für den Aufzählungsalgorithmus. Der Speicherplatzbedarf ist linear, weil nicht einmal die Menge C zwischengespeichert, sondern nach Beendigung eines rekursiven Aufrufs wiederhergestellt wird..6 Bemerkung Algorithmus 9 gibt die Cliquen in einer unkontrollierten Reihenfolge aus. Es gibt einen anderen Aufzählungsalgorithmus, der die Cliquen bei ebenfalls O(n ) Verzögerung in lexikographischer Reihenfolge aufzählt. Dieser braucht im schlechtesten Fall allerdings exponentiell viel Speicherplatz. Kerne Es sind zahlreiche Abschwächung der Forderung nach vollständiger Verbundenheit definiert worden. Eine wegen ihrer algorithmisch leichten Bestimmung interessante verlangt lediglich eine feste Mindestzahl von Nachbarn..7 Def inition (Kern) Der k-kern eines schlichten ungerichteten Graphen G = (V,E) ist der inklusionsmaximale Teilgraph Core k (G) G mit δ(core k (G)) k, d.h. in dem jeder Knoten mindestens Grad k hat. Der Kern, Core(G), von G ist der nichtleere k-kern mit maximalem k..8 Lemma Für alle k,l N 0 ist Core k (G) eindeutig und k l = Core k (G) Core l (G). Beweis: Gäbe es mehr als einen k-kern, so wäre deren Vereinigung wieder ein k-kern, da kein Knotengrad kleiner wird. Aus der Inklusionsmaximialität folgt damit die Eindeutigkeit.

104 Methoden der Netzwerkanalyse (SS 005) 00 Für k l erfüllen alle Knoten des k-kerns die Gradbedingung an den l-kern und sind damit höchstens weniger..9 Def inition (Kernzahl) Die Kernzahl core(v) eines Knotens v V ist das größte k, für das der Knoten im k-kern enthalten ist..0 Lemma core(v) {w N(v) : core(w) core(v)} Beweis: Kein Knoten w N(v) mit core(w) < core(v) liegt im core(v)- Kern. Es muss daher mindestens core(v) viele Nachbarn von v mit Kernzahl nicht kleiner als core(v) geben. Ein Graph G ist identisch mit seinem δ(g)-kern, und die Kernzahl eines Knotens mit minimalem Grad ist eben dieser Grad. Um den (δ(g)+)-kern zu bestimmen, können daher zunächst alle Knoten mit minimalem Grad entfernt werden. Ein Knoten, der dann auch nur noch Grad höchstens δ(g) hat, kann ebenfalls nicht im (δ(g) + )-Kern liegen und entfernt werden. Dieser Prozess kann fortgesetzt werden, bis alle Knoten enfernt sind oder mindestens Grad δ(g) + haben. Analog werden die Knoten mit höherer Kernzahl bestimmt.

105 Methoden der Netzwerkanalyse (SS 005) 0 Algorithmus 0: Kernzahlen (Batagelj und Zaveršnik 999) Eingabe : schlichter ungerichteter Graph G = (V,E) Daten : Array vert (Knoten geordnet nach Grad) Knotenarray pos (Position in Array) Array bucket ( (G) + Behälter, initialisiert mit 0) Ausgabe: Knotenarray c (Kernzahlen) foreach v V do c[v] d G (v) inkrementiere bucket[d G (v)] first 0 for d = 0,..., (G) do size bucket[d] bucket[d] first first first + size foreach v V do pos[v] bucket[d G (v)] vert[pos[v]] v inkrementiere bucket[d G (v)] for d = (G),..., do bucket[d] bucket[d ] bucket[0] 0 for i = 0,...,n do v vert[i] foreach w N G (v) do if c[w] > c[v] then u vert[bucket[c[w]]] if u w then pos[u] pos[w] pos[w] bucket[c[w]] vert[pos[u]] u vert[pos[w]] w inkrementiere bucket[c[w]] dekrementiere c[w]

106 Methoden der Netzwerkanalyse (SS 005) 0. Beispiel c: bucket: (nach. Schleife) bucket: (nach. und wieder nach. Schleife) bucket: (nach. Schleife) vert: (nach. Schleife, Doppelstriche markieren Behältergrenzen) Im zweiten Teil werden nun alle Knoten in der Reihenfolge ihrer Kernzahlen abgearbeitet. In den Tabellen sind vert(i) und c(vert(i)) jeweils nach dem i-ten Durchlauf aufgeführt. Die Behältergrenzen (bucket) sind durch horizontale Trennlininen gekennzeichnet.

107 Methoden der Netzwerkanalyse (SS 005) 0 i vert c i vert c i vert c i vert c i vert c i vert c i vert c

108 Methoden der Netzwerkanalyse (SS 005) Bemerkung k-kerne sind nicht notwendig zusammenhängend.. Satz Der Algorithmus bestimmt die Kernzahlen in Zeit O(n + m). Beweis: Im ersten Teil werden die Knoten mittels Bucket-Sort entsprechend ihrer Knotengrade sortiert. Das geschieht wie folgt:. Nach Durchlauf der ersten Schleife enthält das Ausgabearray c als obere Schranke für die Kernzahl den Knotengrad, und das Array bucket(0,..., (G)) für jeden möglichen Knotengrad die Anzahl der Knoten dieses Grades.. Das Array vert(0,...,n ) soll später die sortierte Knotenfolge enthalten. In der zweiten Schleife werden dazu die jeweils ersten Positionen von Knoten eines jeden Grades durch Präfixsummenbildung bestimmt.

109 Methoden der Netzwerkanalyse (SS 005) 05. In der dritten Schleife wird jeder Knoten an den Beginn des noch freien Abschnitts vor der ersten Position von Knoten höheren Grades gesetzt. Die Knoten sind damit sortiert, aber die ersten Positionen sind nun die des jeweils nächsten Behälters.. Diese Verschiebung wird in der vierten Schleife rückgängig gemacht. Für alle v V gilt dann also c(v) = d G (v), v = vert(pos(v)) und mit der Vereinbarung bucket( (G) + ) = n auch bucket(d G (v)) pos(v) < bucket(d G (v) + ). Sei v 0,...,v n die Reihenfolge, in der die Knoten im zweiten Teil betrachtet werden (da nur hinter dem Laufindex umsortiert wird, wird kein Knoten zweimal betrachtet). Ferner seien nach Ausführung des i-ten Schleifendurchlaufs b i+ = bucket(c(v i )+), wobei wir wieder bucket( (G)+) = n setzen, und H i der von den Knoten mit pos(v) > i induzierte Graph. Dann gelten die folgenden Invarianten.. Für alle v V gilt v = vert(pos(v)) und bucket(c(v)) pos(v) < bucket(c(v) + ).. Für alle w V mit pos(w) b i+ gilt c(w) = d Hi (w).. Für alle v V mit pos(v) < b i+ gilt c(v) = core(v). Für die erste Invariante ergeben sich nur dann Änderungen, wenn zwei Knoten u und w vertauscht werden. Während der erste Teil der Aussage explizit wiederhergestellt wird, bleibt der zweite erhalten, weil w mit der reduzierten Abschätzung der Kernzahl durch den Tausch mit dem ersten Element des Behälters und Verschiebung von dessen Anfang um eins nach hinten in den vorhergehenden Behälter wechselt. Die zweite Invariante gilt, weil alle Knoten w ab b i+ nach der ersten Invariante c(w) > c(v i ) haben und daher bei Entfernen von v i ihr Grad richtig angepasst wird. Die dritte Invariante folgt aus den ersten beiden und am Ende der Schleife folgt aus ihr die Korrektheit des Algorithmus. Die ersten vier Schleifen werden höchstens n mal durchlaufen und jeder Durchlauf benötigt konstant viel Zeit. In der letzten Schleife werden für jeden Knoten alle inzidenten Kanten betrachtet. Da alle anderen Operationen konstant viel Zeit benötigen, folgt mit dem Handschlaglemma, dass die Laufzeit in O(n + m) ist.

110 Methoden der Netzwerkanalyse (SS 005) 06. Rollen Anstelle von Zusammengehörigkeit werden wir nun Ähnlichkeit als Partitionskriterium verwenden.. Definition (Strukturelle Äquivalenz) Eine Äquivalenzrelation V V auf der Knotenmenge eines Multigraphen G = (V,E) heißt strukturelle Äquivalenz, falls für alle v w gilt (x,v) k E = (x,w) k E und (v,x) k E = (w,x) k E. Im Allgemeinen ist diese Definition viel zu streng, um nützlich zu sein. Von den zahlreichen Abschwächungen des strukturellen Äquivalenzbegriffs betrachten wir hier nur den am weitesten verbreiteten..5 Definition (Reguläre Äquivalenz) Eine Äquivalenzrelation V V auf der Knotenmenge eines Multigraphen G = (V,E) heißt (reguläre) Äquivalenz, falls für alle v w gilt x N (v) = es ex. ein y N (w) mit x y und x N + (v) = es ex. ein y N + (w) mit x y. Eine reguläre Äquivalenz definiert eine Partition der Knotenmenge in Teilmengen aus äquivalenten Knoten. Diese Teilmengen können wir als Rollen auffassen. Wir zeigen zunächst, dass die Menge der möglichen Rollenzuweisungen eine wohlgeordnete Struktur hat. Erinnerung: Eine binäre Relation P P heißt partielle Ordnung, falls sie reflexiv, antisymmetrisch und transitiv ist. Das Paar (P, ) ist dann eine partiell geordnete Menge. Zu X P ist y P eine obere (untere) Schranke, falls x y (y x) für alle x X. Eine obere (untere) Schranke y P von X P heißt Supremum (Infimum), falls für alle oberen (unteren) Schranken z P von X gilt y z (z y). Falls ein Supremum oder Infimum existiert, so ist es eindeutig. Eine partiell geordnete Menge (P, ) ist ein Verband, falls Infimum und Supremum für alle X P existieren. Für den Nachweis, dass eine partiell geordnete Menge ein Verband ist, reicht es aus, für alle Teilmengen die Existenz des Supremums zu zeigen.

111 Methoden der Netzwerkanalyse (SS 005) 07.6 Lemma Eine partiell geordnete Menge (P, ) ist ein Verband, falls für jedes X P das Supremum existiert. Beweis: Zu einer beliebigen Teilmenge X P erhält man das Infimum als Supremum von {y P : für alle x X gilt y x}..7 Satz Die regulären Äquivalenzen eines Multigraphen bilden einen Verband. Beweis: Sei R die Menge der regulären Äquivalenzen eines Multigraphen G = (V,E). Wir definieren auf R eine partielle Ordnung durch. Damit bedeutet, dass feiner als und gröber als ist. Wir zeigen, dass (R, ) ein Verband ist. Wegen des vorstehenden Lemmas und weil mit der Knotenmenge auch die Menge der regulären Äquivalenzen endlich ist, reicht es zu zeigen, dass für je zwei reguläre Äquivalenzen, R das Supremum existiert. Sei die transitive Hülle der Vereinigung von und. Da es sicher keine kleinere Menge gibt, die als Supremum in Frage kommt, bleibt zu zeigen, dass regulär ist. Seien dazu u w und x N (u) für beliebige u,v,x V. Wir müssen ein z N (w) mit x z finden. Nach Konstruktion von (Vereinigung und transitive Hülle) existiert eine Folge von Knoten u = v,...,v k = w V so, dass für alle i =,...,k gilt v i j v i+ für jeweils mindestens ein j {, }. Weil und regulär sind, gibt es dann aber auch eine Folge x = z,...,z k mit z i N (v i ) und z i j z i+ für alle i =,...,k und jeweils mindestens ein j {, }. Das gesuchte z ist z k. Analog findet man zu x N + (u) ein z N + (w) mit x z. Da (R, ) ein Verband ist, existiert zu jeder Partition der Knoten eine gröbste reguläre Äquivalenz, die diese verfeinert..8 Def inition Das reguläre Innere einer Partition ist das Supremum aller regulären Äquivalenzen, welche die Partition verfeinern. Ein naheliegender Ansatz zur Berechnung des regulären Inneren besteht darin, in der gegebenen Partition alle Paare von Knoten derselben Teilmenge daraufhin zu testen, ob sie regulär äquivalent sind, und gegebenfalls die

112 Methoden der Netzwerkanalyse (SS 005) 08 Menge zu teilen. Das Verfahren wird auch CATREGE genannt und häufig in Programmen für die Analyse von sozialen Netzwerken verwendet. Algorithmus : Reguläres Inneres (Borgatti und Everett 99) Eingabe : Multigraph G = (V = {,...,n},e) Partition P : V {,...,n} von V Ausgabe: reguläres Inneres von P repeat for v V do Q[v] v stable true for v =,...,n do for u =...,v do if P[u] = P[v] then if {P[x] : x N (u)} = {P[x] : x N (v)} and {P[x] : x N + (u)} = {P[x] : x N + (v)} then Q[v] Q[u] else stable false P Q until stable.9 Satz Algorithmus berechnet das reguläre Innere der Eingabepartition in O(n ) Zeit und O(n + m) Platz. Beweis: Im Algorithmus werden alle Paare von Knoten daraufhin überprüft, ob sie bisher als äquivalent eingestuft waren und bezüglich der aktuellen Partition die Bedingung für reguläre Äquivalenz erfüllen. Falls ja, werden die Partitionsmengen in P jeweils durch den Knoten mit dem kleinsten Index repräsentiert. Andernfalls gelten die beiden Knoten in der nächsten Runde nicht mehr als äquivalent. Da die Partition auf diese Weise immer nur verfeinert wird, geraten Knoten nur dann in verschiedene Äquivalenzklassen, wenn sie in keiner Verfeinerung der Eingabepartition regulär äquivalent sind. Für die Laufzeit beachte, dass die Anzahl der Äquivalenzklassen höchstens n mal größer werden kann. In jedem Durchlauf der äußeren Schleife werden

113 Methoden der Netzwerkanalyse (SS 005) 09 alle ( n ) Knotenpaare betrachtet. Der Vergleich der Nachbarschaften erfordert den Durchlauf durch alle Adjazenzlisten und kann in amortisiert O(m) realisiert werden, sodass wir insgesamt eine Laufzeit von O(n ) erhalten..0 Bemerkung Mit einem effizienteren Verfahren von Tarjan und Paige (987), das vor allem im Bereich Programmanalyse bekannt ist, kann das reguläre Innere in Laufzeit O(m log n) berechnet werden.

114 Kapitel Modelle und Statistiken In letzter Zeit werden vermehrt Parameter (Gradfolgen, Kernzahlfolgen, etc.) empirischer Graphen (Internet, WWW, Proteine, etc.) berechnet und diskutiert. Insbesondere interessieren dabei die inhärenten Bildungsgesetze, welche die beobachteten Ausprägungen dieser Parameter hervorrufen. Wir behandeln in diesem Abschnitt einige Modelle und Algorithmen zur Beschreibung und effizienten Erzeugung von Multigraphen, und untersuchen Zusammenhänge zwischen Modellen und Parametern.. Def inition (Graphenmodelle) Ein (Graphen-)Modell (K,P) besteht aus einer Klasse K von Graphen zusammen mit einem Wahrscheinlichkeitsmaß P auf dieser Klasse. Im folgenden sei X eine Zufallsvariable für Graphen in K. Ist G = (V,E) K ein fester Graph, so wird seine Wahrscheinlichkeit mit P(X = G) oder kurz P(G) bezeichnet. Entsprechend bezeichnen wir die Wahrscheinlichkeit, dass ein zufälliger Graph des Modells eine bestimmte Eigenschaft aufweist, z.b. mit P( (G) = 7) oder P(e E). Der Erwartungswert einer Eigenschaft wird mit m(g), d G (v) usw. bezeichnet. Wir betrachten zunächst ein Modell für schlichte ungerichtete Graphen. Sei dazu G(n) die Klasse der ungerichteten Graphen mit Knotenmenge V n = {0,...,n }. 0

115 Methoden der Netzwerkanalyse (SS 005). Definition (Zufallsgraphen; Gilbert 959) Für jedes n N 0 und 0 p heißt das Modell G(n,p) = (G(n),P) mit P induziert durch P({v,w} E) = p unabhängig für alle v w V n Zufallsgraph (mit n Knoten und Kantenwahrscheinlichkeit p). Wir vereinbaren q = p.. Lemma P(G) = p m q n(n ) m Beweis: Da alle Kantenwahrscheinlichkeiten unabhängig sind, gilt P(X = G) = P({v,w} E) = p q. v w V {v,w} E {v,w} E Erzeugen eines Graphen in einem Modell (K, P) bedeutet, algorithmisch einen Graphen so zu konstruieren, dass man ein bestimmtes G K mit Wahrscheinlichkeit P(G) erhält, d.h. wenn man bei k Aufrufen mit gleicher Eingabe k(g) mal den Graphen G erhalten hat, dann gilt k(g) k P(G). k Wir gehen davon aus, dass uns ein Zufallszahlengenerator R[0, ] zur Verfügung steht, der unabhängig und gleichverteilt Zahlen im Intervall [0, ] erzeugt. Der naheliegende Algorithmus zur Erzeugung von Zufallsgraphen führt für jedes Knotenpaar ein Zufallsexperiment aus und verbindet die beiden Knoten genau dann, wenn R[0, ] p. Die Laufzeit dieses Konstruktionsalgorithmus ist allerdings in Θ(n ), unabhängig von p. Ist p klein, so ist der Graph höchstwahrscheinlich dünn und die Laufzeit wesentlich länger als der Graph groß. Um zu einem effizienteren Algorithmus zu gelangen, betrachte die Knotenpaare (v,w) V V mit v < w. Wenn wir diese in irgendeiner Reihenfolge aufzählen, wie lange dauert es dann im naheliegende Algorithmus, bis wieder eine Kante eingefügt wird? Zu einem beliebigen Zeitpunkt kommt die nächste Kante mit Wahrscheinlichkeit q k p nach genau k Fehlversuchen.

116 Methoden der Netzwerkanalyse (SS 005) Um mit dem Zufallsgenerator eine Fehlversuchszahl k mit Wahrscheinlichkeit q k p zu erzeugen, ordnen wir jedem k ein Teilintervall von [0, ] der Länge q k p zu. Man beachte, dass q k p = p k=0 q k = p q k=0 = ist. Sind die Intervalle der Größe nach geordnet, so endet das Intervall von k bei k k q i p = p q i = p qk+ = q k+. q i=0 i=0 Zu einer Zufallszahl R R[0, ] brauchen wir also nur das kleinste k zu bestimmen, dessen zugehöriges Intervall hinter R endet: R 0 p qp q p... q k+ R < q k+ < R e (k+)log q < e log( R) log( R) k > log q Wir lassen daher log( R) potentielle Kanten aus. Wegen der Gleichverteilung des Zufallszahlengenerators kann log R anstelle von log( R) verwendet log q werden.

117 Methoden der Netzwerkanalyse (SS 005) Algorithmus : Erzeugen von Zufallsgraphen Eingabe : Knotenzahl n N 0, Kantenwahrscheinlichkeit 0 < p < Ausgabe: Graph G = ({0,...,n },E) E r log( p) v ; w while v < n do w w + + r log R[0, ] while w v and v < n do w w v; v v + if v < n then E E {{v,w}}. Satz Der Algorithmus erzeugt einen Zufallsgraphen G = (V,E) in Zeit O(n + m) und benötigt dafür genau m + Zufallszahlen. Beweis: Für die Korrektheit brauchen wir nur noch zu zeigen, dass alle möglichen Paare (v, w) V V mit v < w berücksichtigt werden. Eine lexikographische Aufzählung der Paare entspricht aber einem zeilenweisen Durchlauf durch die untere Dreiecksmatrix der Adjazenzmatrix. Die folgende Skizze zeigt, warum die Indexberechnungen korrekt sind. n (v+) { }} { Bild ersetzen (transponieren) v w n v n Zur Laufzeit beachte, dass in jedem (bis auf den letzten) Durchlauf der äußeren Schleife eine Kante erzeugt und in jedem Durchlauf der inneren Schleife die Nachbarschaft eines Knotens abgeschlossen wird.

118 Methoden der Netzwerkanalyse (SS 005) Welche Eigenschaften haben die erzeugten Graphen? Die erwartete Anzahl von Kanten ist m = n(n ) (P({v,w} E) + P({v,w} E) 0) = p, v w V sodass für festes 0 < p < gilt m Θ(n ). Da wir vor allem an der Modellierung dünner Graphen interessiert sind, sollte p also geeignet in Abhängigkeit von n gewählt werden. Wählt man die Kantenwahrscheinlichkeit p abhängig von der Knotenzahl n, dann treten Phasenübergänge auf, unterhalb derer bestimmte Eigenschaften fast immer gegeben sind, aber oberhalb nicht (oder umgekehrt)..5 Definition (Eigenschaften fast aller/keines Graphen) Eine Eigenschaft A K haben fast alle Graphen eines Modells (K,P), wenn lim P(G A) = n bzw. hat sie fast kein Graph des Modells, wenn lim P(G A) = 0. n.6 Def inition (Schwellenfunktion) Eine Funktion t(n) heißt Schwelle(nfunktion) einer Eigenschaft A von Zufallsgraphen, wenn für alle Wahlen von p = p(n) lim P(G A) = n 0 falls p(n) falls p(n) 0 t(n) n t(n) n.7 Bemerkung Mit t(n) ist auch jede andere Funktion in Θ(t(n)) Schwellenfunktion. Aus m = p n(n ) können wir bereits folgern, dass unterhalb der Schwelle, d.h. für p(n) o( ), fast kein Zufallsgraph eine Kante enthält. Analog n n sind fast alle Zufallsgraphen oberhalb von vollständig. n.8 Bemerkung Für zahlreiche interessante Eigenschaften gibt es solche Schwellen. So ist n Schwelle für (G) >, Schwelle für das Enthalten eines Kreises (d.h. n n unterhalb sind fast alle Zufallsgraphen Wälder) und log n Schwelle dafür, dass n fast alle Graphen zusammenhängend sind.

119 Methoden der Netzwerkanalyse (SS 005) 5 Exkurs: Die Probabilisitische Methode Das ursprüngliche Anwendungsgebiet von Zufallsgraphen sind Existenzaussagen für Graphen mit bestimmten Eigenschaften..9 Def inition (Ramsey-Zahlen) Für r,s N mit r,s hat ein Graph G G(n) die Eigenschaft (r,s), wenn er einen knoteninduzierten Teilgraphen G r G(r) enthält, der vollständig verbunden ist (eine Clique K r der Größe r), oder einen knoteninduzierten Teilgraph G s G(s), der nur aus isolierten Knoten besteht (eine unabhängige Menge der Größe s). Das kleinste n N, für das jeder Graph in G(n) die Eigenschaft (r,s) hat, ist die Ramsey-Zahl R(r,s)..0 Bemerkung Falls jeder Graph in G(n) die Eigenschaft (r,s) hat, dann auch jeder Graph in G(n ) mit n > n. Ein Graph hat die Eigenschaft (r,s) genau dann, wenn sein Komplementgraph die Eigenschaft (s,r) hat. Es gilt R(r, ) = r, denn entweder ist G G(r) eine Clique, oder es gibt zwei nicht-adjazente (unabhängige) Knoten (für n < r haben die Cliquen K n nicht die Eigenschaft (r, )). Aus Symmetriegründen folgt R(, s) = s. Wir leiten zunächst eine obere Schranke für die Ramsey-Zahlen her.. Lemma Für r,s > ist R(r,s) R(r,s) + R(r,s ). Beweis: Seien n r = R(r,s) und n s = R(r,s ) und G = (V,E) G(n) für n = n r + n s. Wir zeigen, dass G die Eigenschaft (r,s) hat. Für einen beliebigen Knoten v V sei N (v) = V \ (N(v) {v}) die Menge der von v unabhängigen Knoten. Wegen N(v) + N (v) = n ist entweder N(v) n r oder N (v) n s. Ist N(v) n r, dann gibt es in N(v) eine Clique der Größe r, die zusammen mit v eine Clique der Größe r ergibt, oder eine unabhängige Menge N s der Größe s. Der Fall N (v) n s ist analog, sodass G in jedem Fall die Eigenschaft (r,s) hat.. Folgerung ( ) r + s R(r,s) r Beweis: Durch Induktion über r,s. Zunächst sind R(r, ) = r = ( r r ) und R(,s) = s = ( s ). Mit dem Lemma und der Induktionsvorausset-

120 Methoden der Netzwerkanalyse (SS 005) 6 zung folgt R(r,s) R(r,s) + R(r,s ) ( ) ( ) r + s r + s + r r = ( ) r + s r aus der Rekursionsformel für Binomialzahlen. Insbesondere ist also R(r,r) ( ) ( r r = r ) ( r + r ) r r für alle r. Eine (interessantere) untere Schranke wird mit der Probabilisitischen Methode bewiesen.. Satz R(r,r) r Beweis: Wir haben bereits R(, ) = und (s. oben) R(, ) 6. Der ungerichtete Kreis C 5 hat nicht die Eigenschaft (, ), sodass R(, ) = 6. Für r sei n <. r Wir zeigen, dass es in G(n) einen Graphen geben muss, der nicht die Eigenschaft (r,r) hat. Im Modell G(n, ) hat jeder Graph G G(n) Wahrscheinlichkeit P(G) = (n ). Insbesondere induziert eine beliebige Teilmenge A V n mit A = r eine Clique mit Wahrscheinlichkeit (r r ). Wegen n < ist daher die Wahrscheinlichkeit, irgend eine Clique der Größe r zu finden, ( ) (r ) n = (r ) n! = r r!(n r)! ) (r A V n: A =r = n(n ) (n r + ) r(r ) < r (r ) (r ) = r +. (r ) n r r (r ) Aus Symmetriegründen ist auch die Wahrscheinlichkeit, dass der Zufallsgraph eine unabhängige Menge der Größe r enthält, kleiner als. Da beide Wahrscheinlichkeiten zusammen echt kleiner als sind, muss es also einen Graphen mit n Knoten geben, der weder eine Clique noch eine unabhängige Menge der Größe r enthält.

121 Methoden der Netzwerkanalyse (SS 005) 7 Zurück zur Netzwerkanalyse: Eine der am leichtesten zu bestimmenden Kenngrößen empirischer Netzwerke ist die Verteilung der Knotengrade. In Zufallsgraphen ist d G (v) = p (n ), doch wie sieht die Verteilung aus?. Lemma Für Zufallsgraphen gilt ( ) n P(d G (v) = k) = p k q n k k und unter der Voraussetzung (n ) p(n) n λ > 0 lim P(d G(v) = k) = e λ λk n k!. für alle 0 k n. Beweis: Aus der Beobachtung, dass jede der ( ) n k möglichen Nachbarmengen Wahrscheinlichkeit p k q n k hat, ergibt sich der erste Teil der Behauptung. Für den zweiten Teil betrachte ( ) n p k q n k k = (n )! k!(n k)! pk ( p) n k = (n )! (n k)!( p) pk ( k p)n k! (n )! = (n k)!( p) k (n ) k ( (n ) k p k λ (n )p k! (n ) λ ) n Für n geht der erste Faktor nach Voraussetzung gegen, der zweite gegen λk k! und der dritte gegen e λ.

122 Methoden der Netzwerkanalyse (SS 005) 8 In großen Zufallsgraphen sind die Knotengrade bei festem Erwartungswert (und daher insbesondere sehr kleinem p) also in etwa Poisson-verteilt. In vielen interessanten empirischen Netzwerken ist aber beobachtet worden, dass die Knotengrade einem Potenzgesetz folgen, d.h. P(d G (v) = k) verhält sich wie k γ für ein γ > 0 und zufällig gewähltes v V. Anschaulich bedeutet das, dass die Anzahl der Knoten höheren Grades rapide kleiner wird. Für diese Netzwerke scheint also ein anderes Modell nötig zu sein, in dem einige Knoten als Nachbarn bevorzugt werden. Idee für ein Modell mit Bevorzugung (Barabási und Albert 999):... ausgehend von einer kleinen Anzahl (m 0 ) von Knoten, fügen wir in jedem Schritt einen neuen Knoten mit m( m 0 ) Kanten ein, die den neuen Knoten mit m der bereits im System vorhandenen Knoten verbinden. Um in das Modell Bevorzugung zu integrieren, nehmen wir an, dass die Wahrscheinlichkeit Π, mit der der neue Knoten mit einem Knoten i verbunden wird, vom Grad k i dieses Knotens abhängt, sodass Π(k i ) = k i Pj k j. Nach t Schritten führt das Modell zu einem zufälligen Netzwerk mit t+m 0 Knoten und mt Kanten. Probleme mit dieser Definition: Da der Graph nach t Schritten mt Kanten hat, müssen die m 0 initialen Knoten isoliert gewesen sein. Dann ist aber Π nicht wohldefiniert. Bei gleichzeitiger Wahl der m Nachbarn eines neuen Knotens reicht für die Auswahl einer Nachbarschaft die Angabe der Randverteilungen für die einzelnen Knoten nicht aus. Beispiel: Betrachte den Fall m = und füge zu C (dem einfachen Kreis mit Knoten) einen weiteren Knoten v hinzu. Wir legen die Wahrscheinlichkeiten für die sechs mögliche Nachbarschaften von v willkürlich fest. Die Wahrscheinlichkeit eines Paares, in dem die beiden Nachbarn von v selbst benachbart sind, sei p für ein beliebiges 0 p. Entsprechend ist die Wahrscheinlichkeit der beiden nicht benachbarten Paare p. Für jeden Knoten des C ist die Auswahlwahrscheinlichkeit dann wie gewünscht, unabhängig von p.

123 Methoden der Netzwerkanalyse (SS 005) 9 Wegen dieser Schwierigkeiten verwenden wir das folgende präzisere Modell. Da es über gerichteten Multigraphen definiert ist, sei im folgenden G(n) die Klasse der gerichteten Multigraphen mit Knotenmenge V n = {,...,n}..5 Definition (Bevorzugung; Bollobás und Riordan 00) Für n N 0 ist das Multigraphenmodell mit Bevorzugung, G n = (G(n),P), wie folgt induktiv definiert. Für G = (V,E) G(n + ) sei G = G[V n ] der von den Knoten {,...,n} induzierte Teilgraph von G. Dann ist 0 falls d + G (n + ) oder m(g) m(g ) P(G) = P(G dg (v) ) falls (n +,v) E, v n n+ P(G ) falls (n +,v) E, v = n +. n+ Zu b N erhalten wir das Modell Gb n aus Gnb durch Kontraktion von jeweils b aufeinanderfolgenden Knoten, d.h. ein Knoten i n eines Graphen im Modell Gb n entspricht den Knoten ib,...,ib + b eines Graphen im Modell G nb..6 Bemerkung Wir können einen Multigraphen im Modell G n also als Ergebnis eines Prozesses ansehen, in dem zu jedem Zeitpunkt ein Knoten hinzukommt. Dieser erhält genau eine ausgehende Kante, deren Zielknoten mit Wahrscheinlichkeit proportional zu seinem Knotengrad (der Summe aus Ein- und Ausgangsgrad) gewählt wird, wobei für den neuen Knoten nur der Ausgangsgrad (das bereits feststehende Ende der Kante) gezählt wird. Bereits hochgradige Knoten werden also weiter bevorzugt. Für den Erzeugungsalgorithmus gehen wir diesmal von Zufallszahlengeneratoren R{0,...,r} aus, die gleichverteilt und unabhängig ganze Zahlen aus {0,...,r} erzeugen. Die Idee des Algorithmus besteht darin, die gewünschte Auswahlwahrscheinlichkeit eines Knotens durch eine entsprechende Anzahl von Kopien zu bewirken.

124 Methoden der Netzwerkanalyse (SS 005) 0 Algorithmus : Erzeugen von Multigraphen mit Bevorzugung Eingabe : Knotenzahl n N 0, Ausgangsgrad b N 0 Daten : Array N[0...nb ] von Knoten (entspricht Liste der Kanten) Ausgabe: Multigraph G = ({0,...,n },E) E m 0 foreach v = 0,...,n do foreach j = 0,...,b do N[m] v w N[R{0,...,m}] N[m + ] w E E {{v,w}} inkrementiere m.7 Satz Der Algorithmus erzeugt einen Multigraphen mit Bevorzugung G = (V, E) in O(n + m) Zeit und Platz und benötigt dafür genau m Zufallszahlen..8 Satz (Bollobás, Riordan, Spencer und Tusnády 00) Für a,b N sei δ(a,b) = b(b + ) (a + b)(a + b + )(a + b + ) dann gilt für Multigraphen mit Bevorzugung Gb n ( P ( ε) δ(a,b) {v V n : d ) G (v) = a} ( + ε) δ(a,b) n n für alle ε > 0 und 0 a n5. Insbesondere verhält sich die Eingangsgradverteilung also ungefähr wie a. Da der Ausgangsgrad b konstant ist, folgt der Knotengrad im zum symmetrisierten Multigraphen gehörigen ungerichteten Multigraphen ebenfalls einem Potenzgesetz. Dies war für die oben zitierte Modellidee aus Experimenten gefolgert worden..9 Bemerkung Mit einer ähnlichen Idee lassen sich Multigraphen mit fest vorgegebenen Gradfolgen erzeugen (zufälliges Matching).

125 Methoden der Netzwerkanalyse (SS 005) Zum Abschluss betrachten wir noch ein Modell für ungerichtete Multigraphen, das durch die folgenden Standardvermutungen über Personenbekanntschaften motiviert ist: Jede Person hat eine beschränkte Anzahl von Bekannten (kleiner durchschnittlicher Knotengrad ohne Ausreißer) Viele Bekannte kennen sich untereinander (lokal dichte Teilgraphen) Man ist mit den meisten anderen Personen über eine kurze Kette von Bekannten verbunden (kleiner durschnittlicher Abstand, Die Welt ist ein Dorf! ) Im folgenden sei G(n) die Menge der ungerichteten Multigraphen mit Knotenmenge V n = {0,...,n }. Während die erste Standardvermutung mit dem mittleren Knotengrad bereits formalisiert ist, können für die anderen beiden aus aus den bereits definierten Größen Dichte und Distanz passende neue abgeleitet werden..0 Def inition (Cluster-Koeffizient) Sei G = (V,E) ein Multigraph und G[V ] G der von einer Teilmenge V V induzierte Teilgraph. Die Dichte C(v) = D(G[N(v) \ {v}]) der (echten) Nachbarschaft eines Knotens v V heißt Cluster-Koeffizient C(v) von v. Die Cluster-Koeffizient C(G) von G ist der mittlere Cluster- Koeffizient seiner Knoten, C(G) = n C(v).. Definition (Charakteristische Weglänge) Die charakteristische Weglänge eines Multigraphen G = (V,E) ist der mittlere Abstand seiner Knoten, L(G) = n(n ) v V d G (s,t). s t V

126 Methoden der Netzwerkanalyse (SS 005) Graphen mit zwei der drei Eigenschaften lassen sich leicht konstruieren.. Def inition (Torus) Seien d,k N, V k = {0,...,k } und V d k G = (Vk d,e) mit = V k V } {{ } k. Der Graph d mal {(v,...,v d ), (w,...,w d )} E d min{v i w i,w i v i i= mod k} r heißt (k,d,r)-torus. Wir identifizieren ihn mit dem durch die Bijektion (v,...,v d ) d v i k i i= bestimmten isomorphen Graphen in G(k d ).. Beispiel (7,, )-Torus Nachbarn eines Knotens in (k,, )-Torus mit k 5

127 Methoden der Netzwerkanalyse (SS 005) Wir analysieren nur eindimensionale Tori. Für höhere Dimensionen ergeben sich analoge Resultate.. Lemma In einem (n,,r)-torus G = (V,E) mit r n gilt (i) d(g) = r (ii) C(G) = (r ) (r ) (iii) L(G) n r Beweis: Zwei Knoten v w V n sind genau dann adjazent, wenn w i mod n für ein i {v r,...,v,v,...,v + r}. Jeder Knoten hat damit genau r Nachbarn. Die r Nachbarn eines Knotens v bilden r(r ) Paare. Betrachte den Knoten n mit Nachbarschaft N(n) = {n r,...,n,,...,r}. Die Knoten in {n r,...,n } und {,...,r} sind jeweils paarweise adjazent, und jeder Knoten i {,...,r} hat r i weitere Nachbarn in {n r,...,n }. Insgesamt ergibt sich daher C(n) = r(r ) + r = = r(r ) i= (r i) r(r ) + (r )r r(r ) + r(r ) (r ) (r ) und aus Symmetriegründen C(G) = C(n). r r = r(r ) + r i= i r(r ) + r = + + r r = r r Schließlich beobachten wir leicht, dass der Knoten n jeweils r Knoten mit Abstand,,..., n r (und höchstens r Knoten mit um größerem Abstand). Die Summe der Abstände zu den n anderen Knoten ist daher mindestens n r n ( n ) r r + r i = r i= Dies gilt analog für alle Knoten, sodass r n L(G) + r n n r n r n. r

128 Methoden der Netzwerkanalyse (SS 005) Für festes r n hat ein (n,,r)-torus also konstanten Knotengrad und einen konstant hohen Cluster-Koeffizienten. Allerdings ist die charakteristische Weglänge linear in n. Die Idee des nun folgenden Graphenmodells ist, durch Umleitung einiger Kanten die erwarteten Abstände zu verkürzen, um so auch der dritten Eigenschaft zu entsprechen..5 Definition (Kleine Welt; Strogatz und Watts 998) Zu k,d,r N und 0 p heißt das Graphenmodell S(k,d,r,p) = (G(k d ),P) kleine Welt der Dimension d, falls P die Wahrscheinlichkeit angibt, dass der Graph aus einem (k, d, r)-torus entstanden ist, indem jede Kante unabhängig mit Wahrscheinlichkeit p genau einen neuen Endknoten erhalten hat. Wir beschränken uns weiterhin auf Dimension. Der Erzeugungsalgorithmus durchläuft die Kanten eines (n,, r)-torus, fügt sie aber nur mit Wahrscheinlichkeit p in den Graphen ein. Mit Wahrscheinlichkeit p wird eine neue Kante von einem der beiden Endknoten zu einem zufälligen anderen eingefügt. Dabei können Mehrfachkanten entstehen. Algorithmus : Erzeugen kleiner Welten der Dimension Eingabe : Knotenzahl n N Nachbarschaftsparameter r N, r n Änderungswahrscheinlichkeit 0 < p < Ausgabe: Graph G = ({0,...,n },E) E foreach v = 0,...,n do foreach w = v +,...,v + r do w w mod n R R[0, ] if p R p then E E {{v,w}} else if R < p then E E {{v,v + R(n ) mod n}} p else E E {{w,w + ( R)(n ) mod n}} p

129 Methoden der Netzwerkanalyse (SS 005) 5.6 Satz Der Algorithmus erzeugt eine kleine Welt G = (V,E) in O(n + m) Zeit und Platz und benötigt dafür genau m Zufallszahlen. Die folgende Grafik aus dem Artikel von Strogatz und Watts (998) zeigt den Cluster-Koeffizienten und die charakteristische Weglänge in Abhängigkeit von der Änderungswahrscheinlichkeit (n = 000 und r = 5). Insbesondere ist für p der Cluster-Koeffizient noch sehr hoch, die charakteristische Weglänge aber stark 50 gefallen. Diese Ergebnisse sind experimentell. Lassen sie sich analytisch bestätigen? Wie ist das asymptotische Verhalten? Gibt es für ein p = p(n) einen optimalen Kompromiss?

130 Methoden der Netzwerkanalyse (SS 005) 6 Triadenzählung Abschließend wollen wir Cluster-Koeffizienten berechnen. Wir betrachten dabei allerdings den allgemeineren Fall aller möglichen Dreieckskonfigurationen in schlichten gerichteten Graphen. Je drei Knoten eines schlichten Graphen induzieren einen von 6 nichtisomorphen Teilgraphen (Triadentypen): : 00 : 0 : 0 : 0D 5: 0U 6: 0C 7: D 8: U 9: 00T 0: 00C : 0 : 0D : 0U : 0C 5: 0 6: 00 Die Menge T = ( V ) der Triaden eines schlichten Graphen G = (V,E) wird entsprechend der größten Zusammenhangskomponenten in drei Klassen eingeteilt:

131 Methoden der Netzwerkanalyse (SS 005) 7 die Einertriaden T vom Typ 00, die Zweiertriaden T vom Typ 0 oder 0 sowie die Dreiertriaden T = T \ (T T ). Wir bezeichnen die jeweiligen Anzahlen der Triaden mit t = T = ( n ) und t i = T i für i =,,. In dünnen Graphen sind die weitaus meisten Einertriaden, sodass wir darin lediglich t und t berechnen und die Anzahl der Einertriaden aus t = t t t ermiteln..7 Lemma Sind G = (V,E) ein schlichter Graph und (u,v) E, dann gibt es in G n (N(u) N(v)) \ {u,v} Zweiertriaden, die u und v enthalten. Diese sind alle vom Typ 0, falls auch (v,u) E, und vom Typ 0 sonst. Beweis: Die Menge (N(u) N(v)) \ {u,v} beschreibt genau diejenigen Knoten, die weder zu u noch zu v adjazent sind. Im Folgenden sei G = (V, E) ein schlichter gerichteter Graph, dessen Knoten beliebig aber fest angeordnet sind (z.b. durch Nummerierung). Um alle Zweier- und Dreiertriaden nur einmal zu zählen, werden wir nur Tripel (u,v,w) V mit u < v < w betrachten. In dem durch ein solches Tripel induzierten Teilgraph gibt es nur sechs mögliche Kanten, sodass wir den Triadentyp in einer Tabelle mit 6 = 6 Einträgen nachschlagen können. Dazu wird jeder Triade ein eindeutiger Code zugewiesen, der den Index in der Tabelle bestimmt. Ist A(G) = (a v,w ) v,w V die Adjazenzmatrix von G, dann definieren wir für u < v < w V code(u,v,w) = ( ( ( ( a w,v + a v,w ) + a w,u ) + a u,w ) + a v,u ) + a u,v.

132 Methoden der Netzwerkanalyse (SS 005) 8 Z.B. erhält eine D-Triade dadurch den Code 5: u v w u 0 v 0 w 0 5 w,v v,w w,u u,w v,u u,v Die Funktion type : {,...,6} {,...,6} liefere entsprechend der folgenden Tabelle den zu einem Code gehörigen Triadentyp. code type code type code type code type

133 Methoden der Netzwerkanalyse (SS 005) 9 Algorithmus 5: Triadenzählung (Batagelj und Mrvar 000) Eingabe : schlichter Graph G = ({,...,n},e) Ausgabe: Triadenzählung t[...6] (initialisiert mit 0) foreach v V do foreach u N(v) mit u < v do S (N(u) N(v)) \ {u,v} if (u,v), (v,u) E then i = else i = t[i] t[i] + n S foreach w S do if v < w or (u < w < v and u N(w)) then i type(code(u,v,w)) t[i] t[i] + t[] ( ) n 6 i= t[i].8 Satz Algorithmus zählt die Triaden eines schlichten Graphen in Zeit O(m ). Beweis:

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

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

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Algorithmen für Graphen Fragestellungen: Suche

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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

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

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 ) Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

Mehr

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

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Wie löst man Mathematikaufgaben?

Wie löst man Mathematikaufgaben? Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

4. Übungsblatt Matrikelnr.: 6423043

4. Übungsblatt Matrikelnr.: 6423043 Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Wie Google Webseiten bewertet. François Bry

Wie Google Webseiten bewertet. François Bry Wie Google Webseiten bewertet François Bry Heu6ge Vorlesung 1. Einleitung 2. Graphen und Matrizen 3. Erste Idee: Ranking als Eigenvektor 4. Fragen: Exisi6ert der Eigenvektor? Usw. 5. Zweite Idee: Die Google

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

BONUS MALUS SYSTEME UND MARKOV KETTEN

BONUS MALUS SYSTEME UND MARKOV KETTEN Fakultät Mathematik und Naturwissenschaften, Fachrichtung Mathematik, Institut für Mathematische Stochastik BONUS MALUS SYSTEME UND MARKOV KETTEN Klaus D. Schmidt Ringvorlesung TU Dresden Fakultät MN,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Traversierung Durchlaufen eines Graphen, bei

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Lösungen zum 3. Aufgabenblatt

Lösungen zum 3. Aufgabenblatt SS, Lineare Algebra Die Lösungen wurden erstellt von: Isabel Voigt, Vanessa Lamm und Matthias Rehder Hinweis: Eine Liste der zur Bearbeitung verwendeten Literatur ist unter www.mathematiwelt.com aufrufbar.

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

7 Die Determinante einer Matrix

7 Die Determinante einer Matrix 7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =

Mehr

Information Systems Engineering Seminar

Information Systems Engineering Seminar Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Algorithmische Methoden der Netzwerkanalyse

Algorithmische Methoden der Netzwerkanalyse Algorithmische Methoden der Netzwerkanalyse Marco Gaertler 9. Dezember, 2008 1/ 15 Abstandszentralitäten 2/ 15 Distanzsummen auf Bäumen Lemma Sei T = (V, E) ein ungerichteter Baum und T s = (V S, E s )

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

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

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

Erinnerung/Zusammenfassung zu Abbildungsmatrizen Erinnerung/Zusammenfassung zu Abbildungsmatrizen Thomas Coutandin ([email protected]) 7. November 2 Abbildungsmatrizen Im Folgenden betrachten wir stets endlich dimensionale K-Vektorräume (K irgend

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Mengensysteme, Wahrscheinlichkeitsmaße

Mengensysteme, Wahrscheinlichkeitsmaße Kapitel 1 Mengensysteme, Wahrscheinlichkeitsmaße Der Großteil der folgenden fundamentalen Begriffe sind schon aus der Vorlesung Stochastische Modellbildung bekannt: Definition 1.1 Eine Familie A von Teilmengen

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

Mehr

Übungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr.

Übungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr. Gert Zöller Übungsklausur Hilfsmittel: Taschenrechner, Formblatt mit Formeln. Lösungswege sind stets anzugeben. Die alleinige Angabe eines

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

Mehr

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014 UserManual Handbuch zur Konfiguration einer FRITZ!Box Autor: Version: Hansruedi Steiner 2.0, November 2014 (CHF 2.50/Min) Administration Phone Fax Webseite +41 56 470 46 26 +41 56 470 46 27 www.winet.ch

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann [email protected]

Mehr