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.

Kapitel 1. Einführung

Kapitel 1. Einführung 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

Mehr

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 studla@bioinf.uni-leipzig.de 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 bernhard.ganter@tu-dresden.de 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 studla@bioinf.uni-leipzig.de 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 (cthomas@student.ethz.ch) 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 heitmann@informatik.uni-hamburg.de

Mehr