Beispiel-Prüfungsfragen für Effiziente Algorithmen II M. Dietzfelbinger, 6. Februar 2011.

Größe: px
Ab Seite anzeigen:

Download "Beispiel-Prüfungsfragen für Effiziente Algorithmen II M. Dietzfelbinger, 6. Februar 2011."

Transkript

1 Beispiel-Prüfungsfragen für Effiziente Algorithmen II M. Dietzfelbinger, 6. Februar Vorbemerkung: Die Liste der Beispielfragen soll bei der Vorbereitung helfen. Sie definiert nicht den Prüfungsstoff um. (Der Prüfungsstoff ist, was in der Vorlesung besprochen wurde. Mit weniger Gewicht auch Erweiterungen oder Ergänzungen, die in der Übung behandelt wurden.) Allgemein: Wann immer eine Frage ein Berechnungsproblem erwähnt, muss man unbedingt in der Lage sein, dieses zu spezifizieren. Manchmal ist schon diese Aufgabe etwas komplizierter. Beispiel: Der Input ist ein Flussnetzwerk. Dies besteht aus einem gerichteten Graphen G = (V, E), in dem eine Quelle q V und eine Senke s V ausgezeichnet sind. Zudem hat jede Kante (u, v) eine Kapazität c(u, v) 0. Ein Fluss f in einem Flussnetzwerk ordnet jeder Kante (u, v) einen Fluss f(u, v) zu, wobei zwei Bedingungen zu erfüllen sind: 0 f(u, v) c(u, v) an jeder Kante (u, v); Flusserhaltung (Kirchhoff-Regel) an jedem Knoten. Der Wert w(f) des Flusses f ist (q,v) E f(q, e), der Fluss aus der Senke hinaus. Die Aufgabe ist, einen Fluss mit maximalem Wert zu finden. Ganz wichtig ist, dass man die Algorithmen beschreiben kann. Dabei ist es normalerweise nicht wesentlich, dass man den Pseudocode (wenn er in der Vorlesung vorkam) hinschreiben kann, sondern dass man weiß, was gemacht wird. Dabei ist normalerweise eine korrekte allgemeine Beschreibung der Vorgehensweise besser als die Durchführung an einem Beispiel. Aber auch Beispiele sollte man können. Viele Algorithmen haben Namen. Diese Namen (z. B. Algorithmus von Edmonds und Karp ) gehören zur Fachsprache, man muss sie kennen und dem Problem zuordnen können. Ebenso wichtig ist, dass man die asymptotischen Laufzeiten der Algorithmen kennt. (Tipp: Wenn es nicht anders geht, herausschreiben und auswendiglernen.) Für eine gute oder sehr gute Note ist es notwendig, auch Implementierungsdetails und Beweise für Korrektheit bzw. Laufzeitschranken vortragen zu können. Für ein 1

2 sehr gut wird das Beherrschen des (gesamten) Stoffes der Vorlesung verlangt. Soweit Übungen sich direkt auf den Vorlesungsstoff beziehen ( führen Sie Algorithmus XYZ auf der folgenden Eingabe aus, oder wenn Algorithmen angewendet oder verallgemeinert werden), sind sie ebenfalls gut zur Prüfungsvorbereitung geeignet. Es folgen Beispielfragen. 1 Flussalgorithmen 1.1 Was ist ein Flussnetzwerk (FNW)? 1.2 Gegeben ein FNW G = (V, W, q, s, c). Was ist ein (zulässiger) Fluss in G? (Was heißt Flusserhaltung bzw. Kirchhoff-Regel?) 1.3 Wie ist der Wert w(f) eines Flusses f definiert? Was ist ein maximaler Fluss? 1.4 Gegeben FNW G und Fluss f dazu. Wie ist das Restnetzwerk (RNW) G f definiert? 1.5 Gegeben ein q-s-weg p im RNW G f. Was ist die Kapazität von p? Wie kann man p benutzen, um den Fluss zu vergrößern? 1.6 Gegeben ein FNW G = (V, W, q, s, c). Was ist ein Schnitt (Q, S) in G? Was ist die Kapazität c(q, S) eines Schnittes (Q, S)? Was ist ein minimaler Schnitt? 1.7 Gegeben FNW G = (V, W, q, s, c), Fluss f, Schnitt (Q, S). Formulieren Sie eine Beziehung zwischen w(f) und c(q, S). Wie funktioniert der Beweis? (Prinzip kennen, nicht vorrechnen.) 1.8 Formulieren Sie das Max-Flow-Min-Cut-Theorem. 1.9 Beweisen Sie das (bzw. einen Schritt im) Max-Flow-Min-Cut-Theorem. ((a) Wenn f maximaler Fluss, dann hat das RNW keinen q-s-weg. (b) Wenn das RNW keinen q-s-weg hat, dann gibt es einen Schnitt (Q, S) mit f(w) = c(q, S). (c) Wenn es einen Schnitt (Q, S) mit f(w) = c(q, S) gibt, dann ist f maximal (und c(q, S) minimal).) Jeder dieser Schritte hat seinen ganz eigenen Beweisgedanken. (c) ist fast trivial, (a) und (b) sind interessant. 2

3 1.10 Formulieren Sie die Ford-Fulkerson-Methode (FF-Methode) zur Berechnung eines maximalen Flusses. Beweisen Sie die Korrektheit für ganzzahlige Kantenkapazitäten (insbesondere: weshalb terminiert der Algorithmus?) Formulieren Sie das Ganzzahligkeitsprinzip bei Flüssen ( wenn alle c(u, v) ganzzahlig sind, dann exisitert ein ganzzahliger maximaler Fluss ). Wieso folgt dies aus der FF-Methode? 1.12 Schätzen Sie die Laufzeit der FF-Methode ab (mit Begründung). Kennen Sie ein Beispiel, wo der Faktor C (mit C = c({q}, V {q})) tatsächlich relevant ist? 1.13 Der Algorithmus von Edmonds und Karp ist nur eine spezielle Ausformung der FF-Methode. Wie wird dazu der Algorithmus spezialisiert? Was ist die Laufzeit? 1.14 Wie beweist man die Laufzeitschranke O(m 2 n) für den Edmonds-Karp-Algorithmus? (Die Anzahl der Iterationen ist O(mn) wieso? Eine Iteration kostet Zeit O(m) wieso?) 1.15 Was ist das Niveaunetzwerk (NNW) G f? 1.16 Was ist ein Sperrfluss? Zu welchem Netzwerk gehört er? (Zum NNW!) 1.17 Wieviele Sperrflussberechnungen benötigt man bei der Sperrfluss-Methode höchstens? 1.18 Beweisen Sie, dass es bei der Sperrflussmethode nicht mehr als n 1 Iterationen geben kann Beschreiben Sie die Methode Forward-Backward-Propagation zur Sperrflussberechnung. Wie viele Propagationsphasen gibt es maximal? (n 1) Beweis hierfür? 1.20 Geben Sie die Zeitanalyse für eine Propagationsphase an Was ist die Gesamtlaufzeit der Sperrflussmethode mit Forward-Backward-Propagation? 1.22 In der Übung wurde eine andere Methode zur Sperrflussberechnung angegeben, nämlich der Algorihmus von Dinitz. Was ist hier anders? Welche Laufzeit ergibt sich für die Flussberechnung? 3

4 2 Matchingalgorithmen 2.1 Was ist ein Matching (in einem allgemeinen Graphen)? 2.2 Was ist ein inklusionsmaximales Matching? Ist es schwer zu finden? (Nein, ein naiver Algorithmus führt zum Ziel.) 2.3 Was ist ein kardinalitätsmaximales Matching ( maximum matching )? 2.4 Transformieren Sie eine Instanz für das Problem kardinalitätsmaximales Matching in bipartiten Graphen in eine äquivalente Instanz des Flussproblems. Formulieren Sie die Äquivalenz, zeigen Sie, wie sich die Lösungen ineinander transformieren lassen. 2.5 Was ist ein einfaches (Fluss-)Netzwerk? Was ist mit dem RNW G, wenn das FNW G einfach ist? Wieso? 2.6 Wir wenden die Sperrflussmethode auf ein einfaches FNW G an. Geben Sie eine obere Schranke für die Anzahl der Runden an (2 n) und beweisen Sie sie. (Es gibt zwei Phasen: Wenn der erreichte Fluss noch weiter als n vom Optimum entfernt ist, dann kann dass RNW nicht tief sein. [Wieso?] Es kann nur n viele Phasen geben, in denen der schon erreichte Fluss näher als n am Optimum ist.) 2.7 Wie lange dauert eine Sperrflussberechnung in einem einfachen Netzwerk? (Wenn man es richtig macht, und das geht wie?) 2.8 Was tut der Algorithmus von Hopcroft-Karp? (Maximale Matchings mit der Sperrflussmethode in Flussnetzwerken.) Was ist seine Laufzeit? 2.9 Welches Problem löst man mit der ungarischen Methode? (Gewichtsmaximale perfekte Matchings in vollständigen bipartiten Graphen, oder auch: das Zuordnungsproblem bei Kosten bzw. Nutzen für jede Paarung.) 2.10 Wie vergrößert man ein Matching M mit Hilfe eines alternierenden Weges? Was ist ein alternierender Baum? Wie sieht ein alternierender Baum aus, wenn es keinen alternierenden Weg von der Wurzel aus gibt? Was kann man über die Kardinalitäten der Levels sagen? 2.11 Was ist der zentrale Trick bei der ungarischen Methode? (Knotenmarkierungen!) 4

5 2.12 Was ist der Gleichheitsgraph G l? 2.13 Formulieren und beweisen Sie den Satz von Kuhn/Munkres Wie wird bei der ungarischen Methode die Knotenmarkierung in einem Schritt geändert? (Gemeint ist die allgemeine Formulierung mit Mengen S [links] und T [rechts].) 2.15 Beschreiben Sie den Algorithmus Ungarische Methode! (Auch an einem Beispielinput.) Was ist die asymptotische Laufzeit? 2.16 Spezifizieren Sie das Problem Stabile Paarung Beschreiben Sie den Algorithmus von Gale und Shapley Beweisen Sie, dass der Algorithmus terminiert und eine stabile Paarung liefert Beweisen Sie die Verschärfung der Analyse: Der Algorithmus liefert immer dieselbe Paarung, nämlich {(best(w), w) w W }. (Das ist natürlich eine eher schwierige Frage.) 2.20 Wenn wir im Problem Stabile Paarung die Bedingungen ändern (manche Beteiligte akzeptieren mehrere Partner gleichzeitig, es gibt eine ungleiche Anzahl an Männern/Frauen), wie kann man den Algorithmus anpassen oder die Eingabe geeignet transformieren? (Übung Blatt 4 Aufgabe 2.) 3 Amortisierte Analyse 3.1 Was ist der Zweck einer amortisierten Analyse eines Algorithmus oder einer Datenstruktur? 3.2 Was ist der Ansatz der direkten oder Aggregationsmethode? Führen Sie sie am Beispiel eines Binärzählers durch. 3.3 Was ist der Ansatz der Bankkontomethode? Was muss man feststellen bzw. definieren? (Feststellen: die echten Kosten für jede Operation; definieren: die amortisierten Kosten für jede Operation.) Was ist der zentrale (und schwierigste) Schritt? (Die Formulierung einer Induktionsbehauptung über den Kontostand.) Was muss man über den Kontostand beweisen? (Dass er immer nichtnegativ bleibt.) 5

6 3.4 Was folgt für die Summe der echten Kosten? ( Summe der amortisierten Kosten.) 3.5 Erklären Sie die Bankkontomethode am Beispiel Stack mit multipop-operation [ Binärzähler, Stack mit Verdopplungs- und Halbierungsstrategie ]. 3.6 Was ist der Ansatz der Potenzialmethode? Was muss man feststellen bzw. definieren? (Feststellen: die echten Kosten für jede Operation; definieren: das Potenzial für jeden Zustand der Datenstruktur.) Was muss man berechnen/abschätzen? (Die amortisierten Kosten für jede Operation.) Was ist der schwierige Schritt? (Die Definition des Potenzials; aber auch die Abschätzung der amortisierten Kosten kann etwas schwieriger sein.) Was muss man dann beweisen? (Dass das Potenzial am Ende mindestens so groß ist wie am Anfang.) 3.7 Was folgt für die Summe der echten Kosten? ( Summe der amortisierten Kosten.) 3.8 Erklären Sie die Potenzialmethode am Beispiel Stack mit multipop-operation [ Binärzähler, Stack mit Verdopplungs- und Halbierungsstrategie ]. 3.9 Wo haben wir die Potenzialmethode noch verwendet? (Bei der Analyse von Fibonacci-Heaps.) 4 Implementierungen von Priority Queues 4.1 Welche Operationen gibt es bei Priority Queues? (Varianten: Grundform mit new, makepq, insert, min, extractmin. Adressierbare PQ mit den zusätzlichen Operationen decreasekey und delete. Verschmelzbare PQ mit der zusätzlichen Operation union.) 4.2 Welche Variante benötigt der Algorithmus von Dijkstra? (Die mit decrease- Key.) Wie viele insert-, extractmin-, decreasekey-operationen kommen im Algorithmus von Dijkstra höchstens vor? (n, n, m.) 4.3 Beschreiben Sie die Datenstruktur Binomial Queues zur Implementierung von Priority Queues. Dazu braucht man Binomialbäume mit ihren Grundeigenschaften, die Heapbedingung und die Binärdarstellung von n, der Anzahl der Einträge. Welche Zeiger benötigt ein Knoten, damit man die notwendigen Navigationsund Umformungsschritte ausführen kann? 6

7 4.4 Beschreiben Sie, wie bei Binomialheaps die Operationen new, insert, min, union, extractmin auszuführen sind. Geben Sie die Laufzeiten an und begründen Sie sie. (Interessant besonders: die Operation Union mit Laufzeit O(log n).) 4.5 Beschreiben Sie, wie bei Binomialheaps die Operation decreasekey auszuführen ist. (Besonders interessant: die nicht ganz triviale Variante, die keine Knoteninhalte kopiert.) 4.6 Beschreiben Sie den Aufbau eines Fibonacci-Heaps. Geben Sie an, welche Zeiger ein Knoten benötigt. Wann wird eine Markierung gesetzt, wann wieder entfernt? 4.7 Wie ist die Potentialfunktion Φ für Fibonacci-Heaps definiert? 4.8 Beschreiben Sie die Hilfsoperationen join (für zwei Bäume) und cleanup. Was sind jeweils die tatsächlichen Kosten? Die amortisierten Kosten? 4.9 Beschreiben Sie die (einfachen) Operationen new, min, insert, makepq, extractmin. Jeweils unter Angabe der tatsächlichen Kosten und der amortisierten Kosten Beschreiben Sie die Operation decreasekey. Was sind die tatsächlichen Kosten, was die amortisierten Kosten? 4.11 In der Analyse wird eine Schranke D(n) für den maximalen Grad eines Knotens in einem Fibonacci-Heap mit n Knoten benutzt. Welche Schranke ist das? (D(n) = log n = O(log n).) Wie beweist man sie? (Man definiert den Rang rank(v) eines Knotens v als die Anzahl der Kinder von v und zeigt, dass ein Knoten mit Rang i mindestens F i+2 Nachfahren hat. Wie geht dieser Beweis, in dem der Markierungsmechanismus die Hauptrolle spielt?) 5 Algorithmen für Textsuche 5.1 Was ist das Textsuch-Problem? Wie läuft der naive Algorithmus hierfür ab, welche Rechenzeit benötigt er? 5.2 Definieren Sie: u ist echter Rand von w. 5.3 Wie ist die MP-Fehlerfunktion q f(q) im Algorithmus von KMP definiert? 7

8 5.4 Beschreiben Sie den Algorithmus von Knuth-Morris-Pratt, unter Benutzung der Fehlerfunktion. (Idee und Ablauf erklären, am Beispiel ausführen, oder Pseudocode: was Ihnen am besten liegt.) 5.5 Zeigen Sie, dass der KMP-Algorithmus Laufzeit O(n) hat (wenn f gegeben ist). 5.6 Formulieren Sie die im Korrektheitsbeweis benutzten Invarianten. 5.7 Wie wird die Fehlerfunktion f berechnet? Welche Laufzeit ergibt sich? 5.8 Wie ist die verfeinerte KMP-Fehlerfunktion f definiert? Wie kann man sie aus f berechnen? 5.9 Welches Problem löst der Algorithmus von Aho-Corasick? 5.10 Man kann Textsuche mit einer endlichen Menge von Suchmustern auch mit Hilfe von endlichen Automaten durchführen. Wie ist ein solcher Automat zu definieren? (Blatt 6, Aufgabe 4.) Inwiefern unterscheidet sich der im AC-Algorithmus verwendete Graph hiervon? (Die Knotenmengen sind gleich! Der endliche Automat hat für jeden Zustand (im Prinzip) Σ Ausgangskanten, die Fehlerfunktion hat für jeden Knoten nur einen Wert.) 5.11 Wie ist der AC-Graph definiert? (Knotenmenge: alle Präfixe aller Muster in Π. Kante von Knoten v zu Knoten f(v), wenn... Ein Knoten ist als Ausgabeknoten markiert, wenn... ) 5.12 Wie läuft die Suche mit dem Algorithmus von Aho-Corasick ab? (Starten, Navigieren im Graphen, wann wird eine Ausgabe erzeugt?) Formulieren Sie die verwendete Invariante Wie lange dauert die Suche in einem Text S[1..n] mit dem AC-Algorithmus nach einem Muster aus Π, ohne Vorverarbeitung? (O(n + k), wobei k die Anzahl der gefundenen Vorkommen von Wörtern aus Π ist.) 5.14 Wie läuft die Vorverarbeitung im AC-Algorithmus ab, d. h. die Berechnung der Funktionen f und g? Was ist die Laufzeit? 5.15 Was sind die drei zentralen ( anderen ) Ideen im Algorithmus von Boyer und Moore? (Muster mit Text von rechts nach links vergleichen. Verschieben des Musters in Sprüngen ( shifts ), mit zwei Regeln: Anhand des Buchstabens, der 8

9 zum letzten Mismatch geführt hat ( bad character rule ); Anhand des Suffixes im Muster, das verglichen wurde, eventuell inklusive des ersten Mismatch- Buchstabens: good-suffix-regel.) 5.16 Erläutern Sie BM-Textsuche, wenn man ausschließlich die BC-Regel benutzt. (Das ist die Variante von Horspool.) Es gibt zwei Varianten. Welche? (Nur das am weitesten rechts stehende Vorkommen eines Buchstabens, alle Vorkommen eines Buchstabens berücksichtigen.) 5.17 Wann ist ein Shift s nach der GS-Regel zulässig? Wie begründet man dies? (Bilder aus der Vorlesung.) Die GS-Funktion wählt die kleinste zulässige Shiftweite Wie läuft BM-Textsuche ab, wenn man ausschließlich die GS-Regel benutzt? Was ist die Laufzeit (kein Beweis)? 5.19 Wie läuft BM-Textsuche ab, wenn man beide Regeln kombiniert benutzt? Was ist die Laufzeit (kein Beweis)? 5.20 Wie sind die Präfix- oder Z-Werte Z 2,..., Z n eines Textes S[1..n] definiert? Wie kann man sie berechnen? (Erläutern Sie die Rolle der Zahlen r i bzw. l i und skizzieren Sie die möglichen Fälle.) Welchen Zeitbedarf hat das Verfahren? 5.21 Bei der Berechnung der GS-Shiftwerte wird die Z-Funktion benutzt. Wie? (Man benutzt die Z-Werte der Umkehrung P [m]..p [1] des Musters P [1..m]. Dies liefert die Suffixwerte N(k).) 5.22 Was haben Suffixwerte mit den GS-Shifts zu tun? Geben Sie die entsprechenden Bilder an. ( Großer Shift um s = m k j entspricht einem echten Rand von P der Länge k; einen solchen echten Rand kann man an der Gleichheit N(k) = k erkennen.) ( Kleiner Shift um s = m k < j ist zulassig nach Mismatch bei j genau dann wenn N(k) = m j.) 5.23 Was bedeuten die Hilfsfunktionen L(j) und l(j)? Wie kann man sie mit Hilfe der Suffixfunktion N berechnen? 5.24 Welchen Zeitbedarf hat die Vorverarbeitungsphase, die die GS-Shiftwerte für ein Muster P [1..m] berechnet? (O(m).) Viel Spaß bei der Vorbereitung und viel Erfolg bei der Prüfung! 9

Kapitel 1: Flussalgorithmen

Kapitel 1: Flussalgorithmen Netzwerke und Flüsse Ein Flussnetzwerk ist ein gerichteter Graph G = (V, E, c) mit zwei ausgewählten Knoten q, s V und einer Kapazitätsfunktion c : E N 0. Die Quelle q hat Eingangsgrad 0 und die Senke

Mehr

4.2 Fibonacci-Heaps Aufbau Potenzialfunktion. Knoten v hat folgende Felder:

4.2 Fibonacci-Heaps Aufbau Potenzialfunktion. Knoten v hat folgende Felder: 4.2 Fibonacci-Heaps 4.2.1 Aufbau Knoten v hat folgende Felder: Vaterzeiger p(v) Zeiger auf linkes Geschwister: prev(v) Zeiger auf rechtes Geschwister: next(v) Kindzeiger: child(v) Schlüssel: key: aus U

Mehr

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.

Mehr

markiert, 0: unmarkiert.)

markiert, 0: unmarkiert.) 4.2 Fibonacci-Heaps Fibonacci-Heaps (F-Heaps) implementieren adressierbare Priority Queues (siehe Anfang von Kap. 4). Wie bei Binomialheaps besteht der Heap aus heapgeordneten Bäumen, jedoch mit gelockerten

Mehr

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I 9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der

Mehr

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Name:... Vorname:... Matr.-Nr.:... Studiengang:... Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 6

Grundlagen der Algorithmen und Datenstrukturen Kapitel 6 Grundlagen der Algorithmen und Datenstrukturen Kapitel 6 Christian Scheideler + Helmut Seidl SS 2009 25.05.09 Kapitel 6 1 Priority Queue M: Menge von Elementen Jedes Element e identifiziert über key(e).

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 4: Flüsse

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 4: Flüsse Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 4: Flüsse Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 4: Flüsse Flüsse Netzwerk, Fluss, s,t-schnitt, Kapazität MaxFlow-MinCut-Theorem Restnetzwerk

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007 2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/2007 12. April 2007 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber

Mehr

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen Kapitel 10 Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Flüsse, Schnitte, bipartite Graphen

Flüsse, Schnitte, bipartite Graphen Flüsse, chnitte, bipartite Graphen Matthias Hoffmann 5.5.009 Matthias Hoffmann Flüsse, chnitte, bipartite Graphen 5.5.009 / 48 Übersicht Einführung Beispiel Definitionen Ford-Fulkerson-Methode Beispiel

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Algorithmen zur Berechnung von Matchings

Algorithmen zur Berechnung von Matchings Algorithmen zur Berechnung von Matchings Berthold Vöcking 10. Oktober 2006 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Graphalgorithmen Netzwerkalgorithmen. Laufzeit Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai

Mehr

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens Praktikum Algorithmen-Entwurf (Teil 5)..5 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen Endpunkt

Mehr

markiert, 0: unmarkiert.)

markiert, 0: unmarkiert.) (Dietzfelbinger, 08.01.2013) 4.2 Fibonacci-Heaps Fibonacci-Heaps implementieren adressierbare Priority Queues (siehe Anfang von Kap. 4). Es werden alle dort angegebenen Operationen implementiert. Wie ein

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006 1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit

Mehr

KAPITEL 4 FLÜSSE IN NETZWERKEN

KAPITEL 4 FLÜSSE IN NETZWERKEN KAPITEL 4 FLÜSSE IN NETZWERKEN F. VALLENTIN, A. GUNDERT 1. Das Max-Flow-Min-Cut Theorem Es sei D = (V, A) ein gerichteter Graph, s, t V zwei Knoten. Wir nennen s Quelle und t Senke. Definition 1.1. Eine

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen. Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Kapitel 1: Flussalgorithmen

Kapitel 1: Flussalgorithmen Netzwerke und Flüsse Kapitel 1: Flussalgorithmen Ein Flussnetzwerk ist ein gerichteter Graph G = (V, E, q, s, c) mit zwei ausgewählten Knoten q, s V und einer Kapazitätsfunktion c : E N. Die Quelle q hat

Mehr

Kapitel 5. Textalgorithmen. 5.1 Grundbegriffe

Kapitel 5. Textalgorithmen. 5.1 Grundbegriffe Kapitel 5 Textalgorithmen 5.1 Grundbegriffe Wir beschäftigen uns hauptsächlich mit Textsuche (und Varianten). Gegeben: Alphabet Σ (mindestens zwei Buchstaben). Text S = s 1... s n Σ in Array S[1..n]. Muster

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Graphenalgorithmen Maximaler Fluss Einleitung Flussnetzwerke Ford-Fulkerson Fulkerson Methode Maximales bipartites Matching

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse

Mehr

Algorithmen zur Berechnung von Matchings

Algorithmen zur Berechnung von Matchings Algorithmen zur Berechnung von Matchings Berthold Vöcking 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber auf freie Stellen

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen Flußnetzwerke 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

24. Minimale Spannbäume

24. Minimale Spannbäume Problem Gegeben: Ungerichteter, zusammenhängender, gewichteter Graph G = (V, E, c). 4. Minimale Spannbäume Gesucht: Minimaler Spannbaum T = (V, E ), E E, so dass e E c(e) minimal. Motivation, Greedy, Algorithmus

Mehr

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Lange Klausurvorbereitung Hier finden Sie alle Begriffe, Zusammenhänge und Algorithmen, die mit Blick auf die Klausur relevant sind. Um es

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Martin Hofmann und Jan Johannsen Institut für Informatik LMU München Sommersemester 2002 Graphalgorithmen Grundlegendes Repräsentation von Graphen Breiten- und Tiefensuche Minimale

Mehr

Effiziente Algorithmen Übung 2 Lösungen

Effiziente Algorithmen Übung 2 Lösungen TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, M. Sc. Stefan Walzer https://www.tu-ilmenau.de/iti/lehre/lehre-ws-016017/ea/

Mehr

1. Übungsblatt zu Algorithmen II im WS 2011/2012

1. Übungsblatt zu Algorithmen II im WS 2011/2012 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Moritz Kobitzsch, Dennis Schieferdecker. Übungsblatt zu Algorithmen II im WS 0/0 http://algo.iti.kit.edu/algorithmenii.php

Mehr

Übung 5 Algorithmen II

Übung 5 Algorithmen II Michael Axtmann michael.axtmann@kit.edu http://algo.iti.kit.edu/algorithmenii_ws6.php - 0 Axtmann: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Flüsse, Schnitte, Bipartite Graphen

Flüsse, Schnitte, Bipartite Graphen Flüsse, Schnitte, Bipartite Graphen Sebastian Hahn 4. Juni 2013 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni 2013 1 / 48 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie

Mehr

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44 Graphalgorithmen II Sebastian Ehrenfels 4.6.2013 Sebastian Ehrenfels Graphalgorithmen II 4.6.2013 1 / 44 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford

Mehr

25. Minimale Spannbäume

25. Minimale Spannbäume 695 25. Minimale Spannbäume Motivation, Greedy, Algorithmus von Kruskal, Allgemeine Regeln, Union-Find Struktur, Algorithmus von Jarnik, Prim, Dijkstra, Fibonacci Heaps [Ottman/Widmayer, Kap. 9.6, 6.2,

Mehr

Klausur zum Modul Einführung in die Diskrete Mathematik

Klausur zum Modul Einführung in die Diskrete Mathematik Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und

Mehr

Sortieren II / HeapSort Heaps

Sortieren II / HeapSort Heaps Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php

Mehr

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41 Zeichenketten Michael Fularczyk 17.05.2011 Michael Fularczyk Zeichenketten 17.05.2011 1 / 41 Inhalt Zeichenketten Zeichensätze Darstellung Suchverfahren naive Stringsuche Knuth-Morris-Pratt Boyer-Moore

Mehr

6 Flüsse und Matchings

6 Flüsse und Matchings 6. Flüsse in Netzwerken Flußnetzwerke 6 Flüsse und Matchings In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert werden

Mehr

Zeichenketten. 10. Mai 2017 Simon Bachstein Simon Bachstein Hallo Welt -Seminar - LS 2 Zeichenketten 1

Zeichenketten. 10. Mai 2017 Simon Bachstein Simon Bachstein Hallo Welt -Seminar - LS 2 Zeichenketten 1 Zeichenketten 10. Mai 2017 Simon Bachstein 10.05.2017 Simon Bachstein Hallo Welt -Seminar - LS 2 Zeichenketten 1 Übersicht String-Matching Problem Motivation Algorithmen zur Lösung Naive Stringsuche KMP

Mehr

3.2 Generischer minimaler Spannbaum-Algorithmus

3.2 Generischer minimaler Spannbaum-Algorithmus 3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Übungsblatt zu Algorithmen II im WS 2016/2017 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen Effiziente Algorithmen Einführung 1 Inhalt 1. Flußprobleme 2. Matching. Lineares Programmieren 4. Ganzzahliges Programmieren 5. NP-Vollständigkeit 6. Approximationsalgorithmen 7. Backtracking und Branch-and-Bound

Mehr

Beispiel-Prüfungsfragen für Effiziente Algorithmen M. Dietzfelbinger, 15. Juli 2011, leicht korrigiert 27. Juli 2011

Beispiel-Prüfungsfragen für Effiziente Algorithmen M. Dietzfelbinger, 15. Juli 2011, leicht korrigiert 27. Juli 2011 Beispiel-Prüfungsfragen für Effiziente Algorithmen M. Dietzfelbinger, 15. Juli 2011, leicht korrigiert 27. Juli 2011 Vorbemerkung: Die Liste der Beispielfragen soll bei der Vorbereitung helfen. Sie definiert

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

Effiziente Algorithmen (SS2014)

Effiziente Algorithmen (SS2014) Effiziente Algorithmen (SS204) Kapitel 2 Flüsse Walter Unger Lehrstuhl für Informatik 26.06.204 09: (2:2) Walter Unger 7..205 7:56 SS204 Z x Inhalt I Dinitz mit Propagation Einleitung Algorithmus und

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 4 Suchen in Texten Version vom: 15. November 2016 1 / 39 Vorlesung 8 15. November

Mehr

Wie wird ein Graph dargestellt?

Wie wird ein Graph dargestellt? Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

Klausur Algorithmentheorie

Klausur Algorithmentheorie Prof. Dr. G. Schnitger Frankfurt, den 24.02.2011 M. Poloczek Klausur Algorithmentheorie WS 2010/2011 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen

Mehr

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden! Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................

Mehr

Zeichenketten. 29. April 2015 Benedikt Lorch. Benedikt Lorch Zeichenketten April

Zeichenketten. 29. April 2015 Benedikt Lorch. Benedikt Lorch Zeichenketten April Vorlage Zeichenketten 29. April 2015 Benedikt Lorch Benedikt Lorch Zeichenketten 17. 29. April 2015 1 Motivation String Matching in the DNA Alphabet 1 Σ DNA = {A, G, C, T} DNA Text: 1 982 672 Zeichen Suchstring:

Mehr

1.3 Knuth-Morris-Pratt-Algorithmus

1.3 Knuth-Morris-Pratt-Algorithmus 1.3 Knuth-Morris-Pratt-Algorithmus Präprozessing bestimmt längste Ränder der Präfixe von P Die Kenntnis der Ränder erspart Vergleiche bei periodischen Suchwörtern Laufzeit: Θ(m) für das Präprozessing,

Mehr

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin Anwendungen von Netzwerkfluss Wojciech Polcwiartek Institut für Informatik FU Berlin 13. 01. 2009 Gliederung Einführung Netzwerk, Fluss und Schnitt Max-Flow-Min-Cut Theorem Algorithmen zum Bestimmen vom

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

String - Matching. Kapitel Definition

String - Matching. Kapitel Definition Kapitel 1 String - Matching 1.1 Definition String - Matching ( übersetzt in etwa Zeichenkettenanpassung ) ist die Suche eines Musters ( Pattern ) in einem Text. Es findet beispielsweise Anwendung bei der

Mehr

Flüsse, Schnitte, bipartite Graphen

Flüsse, Schnitte, bipartite Graphen Flüsse, Schnitte, bipartite Graphen Vlad Popa 08.06.2010 Inhaltsverzeihnis 1. Flussnetzwerke und Flüsse 1.1 Ford- Fulkerson 1.2 Edmond Karp 1.3 Dinic 2. Schnitte 3. Maximaler Fluss bei minimalen Kosten

Mehr

10 Kürzeste Pfade SSSP-Problem

10 Kürzeste Pfade SSSP-Problem In diesem Kapitel setzen wir uns mit der Berechnung von kürzesten Pfaden in einem Graphen auseinander. Definition 10.1 (Pfadgewichte). i) Das Gewicht eines Pfades p = (v 0, v 1,..., v k ) ist die Summe

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

String matching: Überblick

String matching: Überblick String matching: Überblick String matching = Erkennung von Zeichenketten. Problemstellung & Anwendungen Grundlagen Rabin-Karp Verfahren (basierend auf hashing) String-matching mit endlichen Automaten Knuth-Morris-Pratt

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Fibonacci-Heaps und deren Anwendung

Fibonacci-Heaps und deren Anwendung Fibonacci-Heaps und deren Anwendung Alexander Schiffel und Stefan Hurtz 24. Juli 2005 Inhaltsverzeichnis 1 Einleitung und Motivation 2 2 Die Datenstruktur 2 3 Amortisierte Laufzeitanalyse 3 4 Grundoperationen

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching

Mehr

VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz

VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz Gruppe A: Bernhard Stader, Georg Ziegler, Andreas Zugaj 10. November 2004 Inhaltsverzeichnis

Mehr

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt U N S A R I V E R S A V I E I T A S N I S S Grundzüge von Algorithmen und Datenstrukturen, WS /6: Lösungshinweise zum 3. Übungsblatt Christian Hoffmann, Fabian Bendun Aufgabe 3. (a) Sei j i + = n die Größe

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

Effiziente Algorithmen 2

Effiziente Algorithmen 2 Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Beispiel-Prüfungsfragen Effiziente Algorithmen M. Dietzfelbinger, Stand 29. Juli 2013.

Beispiel-Prüfungsfragen Effiziente Algorithmen M. Dietzfelbinger, Stand 29. Juli 2013. Beispiel-Prüfungsfragen für Effiziente Algorithmen M. Dietzfelbinger, Stand 29. Juli 2013. Vorbemerkung: Die Liste der Beispielfragen soll bei der Vorbereitung helfen. Sie definiert nicht den Prüfungsstoff

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006 . Klausur zur Vorlesung Algorithmentechnik Wintersemester 005/006 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes Aufgabenblatt

Mehr

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

Algorithmische Mathematik I

Algorithmische Mathematik I Algorithmische Mathematik I Wintersemester 2011 / 2012 Prof. Dr. Sven Beuchler Peter Zaspel Übungsblatt zur Wiederholung Teil 1. Abgabe am -. Aufgabe 1. a) Was ist eine B-adische Darstellung mit fixer

Mehr

Algorithmen zur exakten Suche in Texten. Algorithmen und Datenstrukturen II 1

Algorithmen zur exakten Suche in Texten. Algorithmen und Datenstrukturen II 1 Algorithmen zur exakten Suche in Texten Algorithmen und Datenstrukturen II 1 Die Klasse String Zeichenketten sind in Java Objekte. Sie können mit dem +-Operator zu neuen Objekten verknüpft werden. String

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009 . Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem

Mehr

Karlsruher Institut für Technologie. Klausur Algorithmen I

Karlsruher Institut für Technologie. Klausur Algorithmen I Klausur-ID: Vorname: Matrikelnummer: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 11. April 2018 Klausur Algorithmen I Aufgabe 1. Kleinaufgaben 15 Punkte

Mehr

Algorithmen 1 Tutorium

Algorithmen 1 Tutorium Algorithmen 1 Tutorium Tutorium 13 Misch Sadler 18. Juli 2011 INHALT: VIELES Übersicht 1 Dynamische Programmierung 2 Wiederholung 3 Klausuraufgaben 4 Ende Misch Sadler Algo 1 Tut 18. Juli 2011 2/21 Übersicht

Mehr

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Flüsse in Netzwerken

Flüsse in Netzwerken Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss

Mehr

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16) Berlin, 14. April 2016 Name:... Matr.-Nr.:... Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16) 1 / 10 2 / 10 3 / 11 4 / 9 5 / 10 Σ / 50 Einlesezeit: Bearbeitungszeit:

Mehr

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

Algorithmen und Datenstrukturen (Informatik II) SS Klausur Lehrstuhl für Algorith. und Datenstrukturen Prof. Dr. Hannah Bast Axel Lehmann Algorithmen und Datenstrukturen (Informatik II) SS 2013 http://ad-wiki.informatik.uni-freiburg.de/teaching Klausur Mittwoch

Mehr