Algorithmische Methoden zur Netzwerkanalyse

Größe: px
Ab Seite anzeigen:

Download "Algorithmische Methoden zur Netzwerkanalyse"

Transkript

1 Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische Informatik nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse

2 Vorlesung 16 Programm: Clusteranalyse in Graphen Übungsaufgabe 14 Lokale Optimierung von Modularität 2 Henning Meyerhenke, Institut für Theoretische Informatik

3 Inhalt Einführung Lokale Algorithmen 3 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

4 Community Detection Natürliche Gruppen eines Netzwerks identifizieren Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile des Netzwerks aber welche? Clusteranalyse (z. B. geometrisch) Daten desselben Clusters sind sich ähnlich Daten verschiedener Cluster sind sich unähnlich 4 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

5 Community Detection Natürliche Gruppen eines Netzwerks identifizieren Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile des Netzwerks aber welche? Clusteranalyse (z. B. geometrisch) Daten desselben Clusters sind sich ähnlich Daten verschiedener Cluster sind sich unähnlich Community Detection Knoten desselben Clusters sind stark miteinander verbunden Knoten verschiedener Cluster sind schwach miteinander verbunden blogspot.com 4 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

6 Community Detection Problem (Graph Clustering / Community Detection) Eingabe: Graph G = (V, E) Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert Weitere Anwendungen Ähnliche Objekte finden (Gene, Produkte, Personen,...) Verteiltes Rechnen, Speichern Visualisierung 5 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

7 Community Detection Problem (Graph Clustering / Community Detection) Eingabe: Graph G = (V, E) Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert Weitere Anwendungen Ähnliche Objekte finden (Gene, Produkte, Personen,...) Verteiltes Rechnen, Speichern Visualisierung ZF Modularität ist Differenz aus zwei Verhältnissen (Coverage, erw. Cov.): ( ( ) ) E(C) q(c) = m v C deg(v) 2 2m C C 5 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

8 Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? 6 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

9 Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? Problem 2: 3-PARTITION Seien 3k positive ganze Zahlen a 1,..., a 3k derart gegeben, dass 3k i=1 a i = kb und b/4 < a i < b/2 für eine ganze Zahl b und alle i = 1,..., 3k. Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen in jeder Menge in der Summe b ergeben? 6 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

10 Komplexitätsbeweis Vorüberlegungen zur Reduktion 3-PARTITION ist streng N P-vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P-vollständig Kein Algorithmus kann das Problem entscheiden in einer Zeit, die polynomiell in der Summe der Eingabewerte ist (es sei denn, P = N P) Daher braucht unsere Transformation in der Reduktion auch nur pseudo-polynomiell zu sein 7 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

11 Komplexitätsbeweis Vorüberlegungen zur Reduktion 3-PARTITION ist streng N P-vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P-vollständig Kein Algorithmus kann das Problem entscheiden in einer Zeit, die polynomiell in der Summe der Eingabewerte ist (es sei denn, P = N P) Daher braucht unsere Transformation in der Reduktion auch nur pseudo-polynomiell zu sein Zeigen: Instanz A = {a 1,..., a 3k } von 3-PARTITION kann derart in Instanz (G(A), K (A)) von MODULARITY transformiert werden, dass G(A) genau dann eine Clusterung C mit q(c) K hat, wenn 3-PARTITION lösbar ist. 7 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

12 Reduktion [Brandes et al., IEEE TKDE 2008] 8 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

13 Komplexitätsbeweis Theorem (Brandes et al., IEEE TKDE 2008) MODULARITY ist streng N P-vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q(c) K (A) MODULARITY N P Zum Beweis der Vollständigkeit: Transformation wie beschrieben Aus A = {a 1,..., a 3k } wird (G(A), K (A)) Lösung für A erfordert Aufteilung der Element-Knoten zwischen den Clustern, die so gleichmäßig wie möglich bzgl. der Summe der Knotengrade pro Cluster ist Siehe auch aktualisiertes Skript! 9 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

14 Inhalt Einführung Lokale Algorithmen 10 Henning Meyerhenke, Institut für Theoretische Informatik

15 Spektrale Optimierung von Modularität N P-schwer: Was nun? : Globale Methode (Heuristik) Hier: Darstellung für Teilung in 2 Cluster Allgemeines k durch rekursives Vorgehen Setzt voraus, dass k bekannt ist 11 Henning Meyerhenke, Institut für Theoretische Informatik

16 Spektrale Optimierung von Modularität N P-schwer: Was nun? : Globale Methode (Heuristik) Hier: Darstellung für Teilung in 2 Cluster Allgemeines k durch rekursives Vorgehen Setzt voraus, dass k bekannt ist Gegeben: Schlichter, ungerichteter und zusammenhängender Graph G = (V, E), V = n, mit positiven Kantengewichten Gesucht: 2-Clusterung (V 1, V 2 ), die Modularität maximiert 11 Henning Meyerhenke, Institut für Theoretische Informatik

17 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 12 Henning Meyerhenke, Institut für Theoretische Informatik

18 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 12 Henning Meyerhenke, Institut für Theoretische Informatik

19 Kodierung von Bipartitionen in Vektoren Sei (V 1, V 2 ) eine 2-Clusterung von V. Wir kodieren diese in x = (x 1,..., x n ) T Z n durch: x i = { 1 vi V 1 +1 v i V 2 Beachten Sie: Normiert mit x 2 2 = n. 13 Henning Meyerhenke, Institut für Theoretische Informatik

20 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 14 Henning Meyerhenke, Institut für Theoretische Informatik

21 Kodierung des Graphen in einer Matrix Adjazenzmatrix: A = Henning Meyerhenke, Institut für Theoretische Informatik

22 Kodierung des Graphen in einer Matrix Adjazenzmatrix: A = Gradmatrix: D = Henning Meyerhenke, Institut für Theoretische Informatik

23 Kodierung des Graphen in einer Matrix Definition (Laplace-Matrix) L := D A L = = Henning Meyerhenke, Institut für Theoretische Informatik

24 Modularität: Andere Formulierung Beobachtung q(c) lässt sich auch schreiben als: 1 2m ij ( A ij wobei δ das Kronecker-Symbol ist und c(i) der Cluster von Knoten i in C. ) deg(i) deg(j) δ(c 2m i, c j ), (1) 17 Henning Meyerhenke, Institut für Theoretische Informatik

25 Modularitäts-Matrix Definition Sei die Modularitäts-Matrix B definiert als: B ij = A ij deg(i) deg(j) 2m Proposition n j=1 B ij = 0 i Q = 1 4m xt Bx 18 Henning Meyerhenke, Institut für Theoretische Informatik

26 Modularitäts-Matrix Definition Sei die Modularitäts-Matrix B definiert als: B ij = A ij deg(i) deg(j) 2m Proposition n j=1 B ij = 0 i Q = 1 4m xt Bx Beweis: Übung! 18 Henning Meyerhenke, Institut für Theoretische Informatik

27 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 19 Henning Meyerhenke, Institut für Theoretische Informatik

28 Zielfunktion und Nebenbedingungen Maximiere Q = 1 4m xt Bx u. d. Nb. x i { 1, 1} i 20 Henning Meyerhenke, Institut für Theoretische Informatik

29 Zielfunktion und Nebenbedingungen Maximiere Q = 1 4m xt Bx u. d. Nb. x i { 1, 1} i Bild des Suchraums: Siehe Tafel! 20 Henning Meyerhenke, Institut für Theoretische Informatik

30 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 21 Henning Meyerhenke, Institut für Theoretische Informatik

31 Das kontinuierliche Problem Die Ganzzahligkeits-Bedingung wird relaxiert: Maximiere Q = 1 4m xt Bx u. d. Nb. x i R i und x T x = n 22 Henning Meyerhenke, Institut für Theoretische Informatik

32 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 23 Henning Meyerhenke, Institut für Theoretische Informatik

33 Lösen des kontinuierlichen Problems Siehe Tafel! 24 Henning Meyerhenke, Institut für Theoretische Informatik

34 Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 25 Henning Meyerhenke, Institut für Theoretische Informatik

35 Lösung diskretisieren Kontinuierliche Lösung x = z 1 diskrete Lösung x mit folgenden Eigenschaften: x i {+1, 1} (x soll eine 2-Clusterung kodieren) { 1 xi < 0 x i = +1 x i > 0 26 Henning Meyerhenke, Institut für Theoretische Informatik

36 Lösung diskretisieren Kontinuierliche Lösung x = z 1 diskrete Lösung x mit folgenden Eigenschaften: x i {+1, 1} (x soll eine 2-Clusterung kodieren) { 1 xi < 0 x i = +1 x i > 0 Herleitung: Siehe Tafel! 26 Henning Meyerhenke, Institut für Theoretische Informatik

37 Spektrale Partitionierung Algorithmus Eingabe: G = (V, E) Ausgabe: 2-Clusterung (V 1, V 2 ) von G 1. Konstruiere B(G) 2. Berechne den Eigenvektor z 1 von B(G) 3. Partitioniere Indizes von z 1 in zwei Teile: V 1 := {i z 1 (i) < 0}, V 2 := {i z 1 (i) > 0} 4. Weise die Null-Einträge von z 1 beliebig zu 5. return (V 1, V 2 ) 27 Henning Meyerhenke, Institut für Theoretische Informatik

38 Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse 28 Henning Meyerhenke, Institut für Theoretische Informatik

39 Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) 28 Henning Meyerhenke, Institut für Theoretische Informatik

40 Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) Trotzdem wertvoll: In der Praxis z. B. als Startlösung 28 Henning Meyerhenke, Institut für Theoretische Informatik

41 Inhalt Einführung Lokale Algorithmen 29 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

42 Lokale Optimierung von Modularität nicht Maß aller Dinge Nun: Hierarchische Methoden mit Greedy-Ansatz Keine Eingabe der Zahl von Clustern notwendig Literaturhinweise A. Clauset, M.E.J. Newman, C. Moore: Finding community structure in very large networks. Phys. Rev. E 70, (2004). Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre: Fast unfolding of communities in large networks. J. Stat. Mech. (2008) P doi: / /2008/10/p C.L. Staudt, H. Meyerhenke: Engineering High-Performance Community Detection Heuristics for Massive Graphs. Extended version of ICPP 13 paper. Submitted, Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

43 Agglomeratives Clustering Dendrogramm zur Visualisierung von aggl. Clusterungen Abbildung: Quelle: Wikipedia 31 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

44 Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert 32 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

45 Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert Beispiel: Siehe Tafel! 32 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

46 Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert Beispiel: Siehe Tafel! Typische Dendrogrammtiefe bei hierarchischen Graphen: O(log n) 32 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

47 Die CNM-Methode Effiziente Implementierung für dünn besetzte Graphen Ziel: Effiziente Implementierung für dünn besetzte Graphen Definition (Dünn besetzter Graph) Ein Graph G = (V, E) heißt dünn besetzt, wenn E = O( V ) gilt. Frage: Wie würden Sie die Kante bestimmen, die die höchste ZF-Verbesserung ergibt? 33 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

48 Die CNM-Methode Effiziente Implementierung für dünn besetzte Graphen Ziel: Effiziente Implementierung für dünn besetzte Graphen Definition (Dünn besetzter Graph) Ein Graph G = (V, E) heißt dünn besetzt, wenn E = O( V ) gilt. Frage: Wie würden Sie die Kante bestimmen, die die höchste ZF-Verbesserung ergibt? Datenstrukturen: Max-Heap, der die möglichen Verbesserungen speichert Optionale Verbesserung: Für jeden Knoten Zeiger auf seine Einträge im Max-Heap oder sogar einen Max-Heap pro Knoten 33 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

49 Die CNM-Methode Effiziente Implementierung für dünn besetzte Graphen Ziel: Effiziente Implementierung für dünn besetzte Graphen Definition (Dünn besetzter Graph) Ein Graph G = (V, E) heißt dünn besetzt, wenn E = O( V ) gilt. Frage: Wie würden Sie die Kante bestimmen, die die höchste ZF-Verbesserung ergibt? Datenstrukturen: Max-Heap, der die möglichen Verbesserungen speichert Optionale Verbesserung: Für jeden Knoten Zeiger auf seine Einträge im Max-Heap oder sogar einen Max-Heap pro Knoten Details siehe Übung 33 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

50 Die Louvain-Methode Initialisierung und Phase 1 Initialisierung: Jeder Knoten ist sein eigener Cluster Danach: Zwei Phasen, die sich wiederholen: Phase 1, lokale Verbesserung: Für jeden Knoten v lokal entscheiden, ob ein Wechsel in die Community des Nachbarn eine Verbesserung der ZF (Modularität) ergibt. Wechsel von v in Community mit stärkster positiver Verbesserung. Wiederholt, bis keine Verbesserung möglich. Abarbeitungsreihenfolge der Knoten beliebig, z. B. zufällig 34 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

51 Die Louvain-Methode Phase 2 Phase 2, Schrumpfen des Graphen: Kontraktion jeder gefundenen Community zu einem einzelnen Knoten Aktualisierung der Knoten- und Kantengewichte: Schleifen erhalten Gewicht aller alten Intra-Cluster-Kanten, die übrigen Kanten erhalten das Gewicht der alten Kanten zwischen den zugehörigen Communitys Bild zur Verfügung gestellt von M. Ovelgönne 35 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

52 Pseudocode der Louvain-Methode 1: function LOUVAIN(G = (V, E)) 2: ζ ζ singleton (G); anychange false Initialisierung 3: repeat Phase 1 4: localopt true 5: for u V do 6: δ max v N(u) { mod(v, ζ(u) ζ(v))} 7: C ζ(arg max v N(u) { mod(v, ζ(u) ζ(v))}) 8: if δ > 0 then 9: ζ(u) C; localopt false; anychange true 10: end if 11: end for 12: until localopt 13: if anychange then Phase 2 14: G contract(g, ζ) 15: ζ prolong(louvain(g )) 16: end if 17: return ζ 36 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

53 Die Louvain-Methode Parallele Implementierung mod-werte werden ständig aktualisiert muss schnell gehen Parallel über die Knotenmenge iterieren Jeder Knoten berechnet zu jeder inzidenten Kante den aktuellen mod-wert Kollisionsgefährdete Werte werden durch Locks geschützt Alternative Implementierung: Werte speichern und nur an der Verschiebestelle aktualisieren (weniger parallel) 1: repeat Phase 1 2: localopt true 3: for u V in parallel do 4: δ max v N(u) { mod(v, ζ(u) ζ(v))} 5: C ζ(arg max v N(u) { mod(v, ζ(u) ζ(v))}) 6: if δ > 0 then 7: ζ(u) C 8: localopt false 9: anychange true 10: end if 11: end for 12: until localopt =0 37 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

54 Die Louvain-Methode Testgraphen uk uk-2002 kron-g500-simple-logn20 europe cage15 soc-livejournal eu-2005 copapersdblp as-skitter belgium coauthorsciteseer caidarouterlevel G_n_pin_pout preferentialattachment as-22july06 PGPgiantcompo polblogs power celegans_metabolic Graphs n m Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

55 Die Louvain-Methode Experimentelle Ergebnisse (2x Intel Xeon E5-2670) power PGPgiantcompo as-22july06 G_n_pin_pout caidarouterlevel coauthorsciteseer as-skitter copapersdblp eu-2005 soc-livejournal europe-osm kron_g500-simple-logn20 uk modularity power PGPgiantcompo as-22july06 G_n_pin_pout caidarouterlevel coauthorsciteseer as-skitter copapersdblp eu-2005 soc-livejournal europe-osm kron_g500-simple-logn20 uk time [s] Abbildung: Qualität (Q) und Laufzeit (s) der Louvain-Methode 39 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

56 Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

57 Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Zwei Heuristiken vorgestellt: Direkte Agglomeration (CNM-Methode), meist mit wenigen großen Communitys Mehrebenen-Agglomeration mit gieriger lokaler Verbesserung (Louvain-Methode), meist mit guter Qualität und guter Laufzeit 40 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

58 Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Zwei Heuristiken vorgestellt: Direkte Agglomeration (CNM-Methode), meist mit wenigen großen Communitys Mehrebenen-Agglomeration mit gieriger lokaler Verbesserung (Louvain-Methode), meist mit guter Qualität und guter Laufzeit Es existieren zahlreiche Abwandlungen Sehr aktiver Forschungsbereich Zur Zeit von besonderem Interesse: Einbezug von Semantik, Parallelisierung 40 Henning Meyerhenke, Institut für Theoretische Informatik Lokale Algorithmen

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, 25.01.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

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

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

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Dozent: Prof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK

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

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

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

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

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

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

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

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

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

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren

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

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

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

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

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

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

Algorithmische Mathematik

Algorithmische Mathematik Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)

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

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

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

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

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

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

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah Lernmaterial für die Fernuni Hagen effizient und prüfungsnah www.schema-f-hagen.de Sie erhalten hier einen Einblick in die Dokumente Aufgaben und Lösungen sowie Erläuterungen Beim Kauf erhalten Sie zudem

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

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

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr

Die Verbindung von Linearer Programmierung und Graphentheorie

Die Verbindung von Linearer Programmierung und Graphentheorie Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der

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

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 7 Lineare Programmierung II 1 Lineare Programme Lineares Programm: Lineare Zielfunktion Lineare Nebenbedingungen (Gleichungen oder Ungleichungen) Spezialfall der konvexen Optimierung

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

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

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, 08.02.2012 Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, 08.02.2012 Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, 08.02.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

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

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

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

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

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

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

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

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

W-Rechnung und Statistik für Ingenieure Übung 11

W-Rechnung und Statistik für Ingenieure Übung 11 W-Rechnung und Statistik für Ingenieure Übung 11 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) Mathematikgebäude Raum 715 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) W-Rechnung und Statistik

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

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Maximizing the Spread of Influence through a Social Network

Maximizing the Spread of Influence through a Social Network 1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2

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

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

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

(λ Ri I A+BR)v Ri = 0. Lässt sich umstellen zu

(λ Ri I A+BR)v Ri = 0. Lässt sich umstellen zu Herleitung der oppenecker-formel (Wiederholung) Für ein System ẋ Ax + Bu (B habe Höchstrang) wird eine Zustandsregelung u x angesetzt. Der geschlossene egelkreis gehorcht der Zustands-Dgl. ẋ (A B)x. Die

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN Zinsen haben im täglichen Geschäftsleben große Bedeutung und somit auch die eigentliche Zinsrechnung, z.b: - Wenn Sie Ihre Rechnungen zu spät

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

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

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

Kevin Caldwell. 18.April 2012

Kevin Caldwell. 18.April 2012 im Rahmen des Proseminars Numerische Lineare Algebra von Prof.Dr.Sven Beuchler 18.April 2012 Gliederung 1 2 3 Mathematische Beschreibung von naturwissenschaftlich-technischen Problemstellungen führt häufig

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

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

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

3. Grundlagen der Linearen Programmierung

3. Grundlagen der Linearen Programmierung 3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations

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

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

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

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen

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

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

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

Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet.

Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet. Widerstandsnetzwerke - Grundlagen Diese Aufgaben dienen zur Übung und Wiederholung. Versucht die Aufgaben selbständig zu lösen und verwendet die Lösungen nur zur Überprüfung eurer Ergebnisse oder wenn

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

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

Lichtbrechung an Linsen

Lichtbrechung an Linsen Sammellinsen Lichtbrechung an Linsen Fällt ein paralleles Lichtbündel auf eine Sammellinse, so werden die Lichtstrahlen so gebrochen, dass sie durch einen Brennpunkt der Linse verlaufen. Der Abstand zwischen

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Frohe Weihnachten und ein gutes neues Jahr!

Frohe Weihnachten und ein gutes neues Jahr! Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr