Methoden der Netzwerkanalyse



Ähnliche Dokumente
Kapitel 1. Einführung

Das Briefträgerproblem

8 Diskrete Optimierung

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

Algorithmen und Datenstrukturen 2

1 topologisches Sortieren

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

WS 2009/10. Diskrete Strukturen

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

Algorithmentheorie Maximale Flüsse

Primzahlen und RSA-Verschlüsselung

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

Guten Morgen und Willkommen zur Saalübung!

Anmerkungen zur Übergangsprüfung

7 Rechnen mit Polynomen

Algorithmen und Datenstrukturen (WS 2007/08) 63

Einführung in die Algebra

Algorithmen II Vorlesung am

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

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

0, v 6 = , v 4 = 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 )

3. Zusammenhang. 22 Andreas Gathmann

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

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

Konzepte der Informatik

Informationsblatt Induktionsbeweis

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Kombinatorische Optimierung

Absolute Stetigkeit von Maßen

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

Theoretische Grundlagen der Informatik

16. All Pairs Shortest Path (ASPS)

Codierungstheorie Rudolf Scharlau, SoSe

WS 2013/14. Diskrete Strukturen

Die reellen Lösungen der kubischen Gleichung

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

Eigenwerte und Eigenvektoren von Matrizen

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

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

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

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

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

Zeichen bei Zahlen entschlüsseln

Grundlagen der Theoretischen Informatik, SoSe 2008

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

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

Grundbegriffe der Informatik

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

Wie löst man Mathematikaufgaben?

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

Algorithmen und Datenstrukturen

Lineare Gleichungssysteme

Bestimmung einer ersten

Theoretische Grundlagen der Informatik WS 09/10

4. Übungsblatt Matrikelnr.:

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

1 Mathematische Grundlagen

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

Musterlösungen zur Linearen Algebra II Blatt 5

Wie Google Webseiten bewertet. François Bry

2.11 Kontextfreie Grammatiken und Parsebäume

BONUS MALUS SYSTEME UND MARKOV KETTEN

Lineare Gleichungssysteme

Mathematischer Vorbereitungskurs für Ökonomen

Algorithmen und Datenstrukturen 2

Grundbegriffe der Informatik

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Lösungen zum 3. Aufgabenblatt

Repetitionsaufgaben Wurzelgleichungen

Beispiel Zusammengesetzte Zufallsvariablen

7 Die Determinante einer Matrix

Information Systems Engineering Seminar

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

Programmiersprachen und Übersetzer

8. Quadratische Reste. Reziprozitätsgesetz

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

Algorithmische Methoden der Netzwerkanalyse

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

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

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

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 )

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

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

Mengensysteme, Wahrscheinlichkeitsmaße

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

3.2 Spiegelungen an zwei Spiegeln

Statistische Untersuchungen zu endlichen Funktionsgraphen

Ü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.

Beispiellösungen zu Blatt 111

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

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

Data Mining: Einige Grundlagen aus der Stochastik

Kombinatorische Optimierung

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

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!.

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

Transkript:

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

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

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)

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

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

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.

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

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

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 6 6 5 Da es sich lediglich um zwei verschiedene Weisen des Abzählens handelt, gilt n d i = d i. i i=

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 }.

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 6 5 5 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.

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=

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

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

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.

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.

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.

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 5 9 6 8 6 5 7 7 0 8 9 5 (gerichtete) Tiefensuche Indizes entsprechen Durchlaufreihenfolge der Knoten bzw. Kanten

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.: 6 5 8 9 5 7 5 0 6 7 8 9 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

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

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

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

Methoden der Netzwerkanalyse (SS 005) 9 5 5 5 5 6 6 7 6 7 7 6 (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 5 8 5 8 5 8 5 5 6 6 7 7 6 7 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)

Methoden der Netzwerkanalyse (SS 005) 0 8 5 8 5 8 5 8 5 8 5 8 5 8 7 6 7 6 (8,9) (5,8) (,5) C 9 9 (8,9) (8,5) (5,8) (,5) S E 7 6 7 6 (,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

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.

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.

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.

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

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

Methoden der Netzwerkanalyse (SS 005) 6 5 8 5 8 6 7 9 9 5 C 9 8 5 S V 6 7 9 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

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.

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 5 6 6 5 C 6 5 S V nach backtrack(,(, ), ) nach traverse(,(, ), ) nach traverse(6,(6, ), ) nach backtrack(, nil, nil) sind C und S V leer

Methoden der Netzwerkanalyse (SS 005) 9 5 6 7 7 5 C 7 6 5 S V 5 6 7 8 9 9 8 C 9 8 S V nach traverse(6,(6, 7), 7) nach traverse(8,(8, 9), 9) 5 6 7 8 9 8 C 8 S V 5 6 7 8 9 8 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

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

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?]

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)).

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..

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?

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?

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

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

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

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.

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

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:

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.

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

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.

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)

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 9 5 0 6 7 8 0 5 (gerichtete) Breitensuche Indizes entsprechen Breitensuchnummer der Knoten bzw. Durchlaufreihenfolge der Kanten (graue wurden nicht durchlaufen)

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 6 8 5 0 5 7 9 0 5 ungerichtete Breitensuche Indizes entsprechen Breitensuchnummer der Knoten bzw. Durchlaufreihenfolge Kanten Man sieht leicht, dass eine Breitensuche mit O(m) Laufzeit implementiert werden kann.

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.

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.

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

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)

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

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.