11 Dynamisches Programmieren
|
|
|
- Stephanie Lang
- vor 9 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen Dynamisches Programmieren Gegenstand dieses und des nächsten Kapitels sind noch einmal Algorithmen. Zunächst beschreiben wir das sog. dynamische Programmieren. kein spezieller Algorithmus, sondern Lösungsstrategie (vgl. divide-and-conquer) Begriff stammt aus der Zeit, als Programmieren noch Tabellenmethoden bezeichnete (vgl. linear programming); gemeint ist also ein Optimierungsverfahren, nicht Computerprogrammierung. Anwendungen sind Optimierungsaufgaben, d.h. Maximal- oder Minimalstellen einer Zielfunktion zu bestimmen. 11 Dynamisches Programmieren TU Bergakademie Freiberg, WS 2005/06
2 Algorithmen und Datenstrukturen 280 Die Entwicklung eines Algorithmus nach dieser Strategie kann in vier Schritte zerlegt werden: 1. Charakterisierung der Struktur einer Optimallösung 2. Rekursive Definition des Wertes einer Optimallösung 3. Berechnung des Wertes einer Optimallösung (rekursiv) 4. Konstruktion der Optimallösung aus berechneter Information (optional) Schritt 4 kann entfallen sofern nur der Wert einer Optimallösung von Interesse ist. Wir betrachten ein einführendes Beispiel Dynamisches Programmieren TU Bergakademie Freiberg, WS 2005/06
3 Algorithmen und Datenstrukturen Steuerung einer Fertigungsstraße Automobilfabrik mit 2 Fertigungsstraßen für Autokarosserien: Jede Straße besteht aus n Stationen: S 1,1,..., S 1,n bzw. S 2,1,..., S 2,n. Stationen S 1,j und S 2,j führen beide denselben Fertigungsschritt aus, benötigen hierfür aber unterschiedliche Zeiten a 1,j bzw. a 2,j. Anlaufzeiten e 1, e 2 ( entry ) Auslaufzeiten x 1, x 2 ( exit ) Nach Durchlaufen einer Station kann eine Karosserie entweder ohne Verzögerung auf derselben Straße bleiben oder zur anderen Straße wechseln. Hierbei tritt eine Verzögerung von t i,j ein, wenn zuletzt Station S i,j durchlaufen wurde (j = 1,..., n 1) Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
4 Algorithmen und Datenstrukturen 282 Aufgabe: Für diese gegebenen Kosten (=Zeiten) ist diejenige (optimale) Kombination von Stationen aus Straße 1 und 2 zu bestimmen, welche zum schnellsten Durchlauf durch die Fertigungsstraße führt. Brute force Methode: Kombinationen erschöpfend durchprüfen Jeder Lösungskandidat ist vollständig bestimmt durch Angabe der aus Straße 1 gewählten Stationen. Straße 1 besitzt n Stationen, also 2 n mögliche Teilmengen. Demnach wären also 2 n mögliche Lösungen zu vergleichen. Dies wird zu teuer für n groß Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
5 Algorithmen und Datenstrukturen Struktur einer Optimallösung Charakterisierung der Kombination, die am schnellsten durch die Fertigung führt bis einschließlich Station S 1,j : j = 1: klar, nur ein möglicher Weg j > 1: zwei mögliche Wege durch S 1,j 1 und dann direkt zu S 1,j durch S 2,j 1, dann Wechsel auf Straße 1 zu S 1,j Angenommen, der Weg durch S 1,j 1 ist der schnellere. Wesentliche Feststellung: Weg durch S 1,j 1 muß bereits optimal gewesen sein. Andernfalls könnten wir einen schnelleren Weg durch S 1,j konstruieren. Analoge Überlegung im Fall, dass schnellster Weg durch S 2,j 1 führt Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
6 Algorithmen und Datenstrukturen 284 Allgemein: Eine optimale Lösung (schnellster Weg bis einschließlich Station S 1,j ) ist aufgebaut aus optimalen Lösungen von Teilproblemen (schnellster Weg bis einschließlich Station S 1,j 1 bzw. S 2,j 1 ). Mann nennt diese Eigenschaft optimale Substruktur. Damit lassen sich Optimallösungen des Ausgangsproblems aus Optimallösungen von Teilproblemen aufbauen. Hier: schnellster Weg bis einschl. S 1,j entweder schnellster Weg durch S 1,j 1, danach direkt zu S 1,j, oder schnellster Weg durch S 2,j 1, danach Straßenwechsel zu S 1,j Aus Symmetriegründen analog bei Vertauschung von 1 und 2. Strategie daher: konstruiere schnellsten Weg durch S 1,j bzw. S 2,j mit Hilfe der Teillösungen durch S 1,j 1 bzw. S 2,j Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
7 Algorithmen und Datenstrukturen Rekursive Lösung Setze f i [j] := kürzeste Zeit durch S i,j, i = 1, 2, j = 1,..., n. Gesucht: f := kürzeste Zeit durch gesamte Fertigung Es gilt f = min{f 1 [n] + x 1, f 2 [n] + x 2 }, (11.1a) f 1 [1] = e 1 + a 1,1, (11.1b) f 2 [1] = e 2 + a 2,1, (11.1c) f 1 [j] = a 1,j + min{f 1 [j 1], f 2 [j 1] + t 2,j 1 }, (j = 2,..., n), (11.1d) f 2 [j] = a 2,j + min{f 2 [j 1], f 1 [j 1] + t 1,j 1 }, (j = 2,..., n). (11.1e) 11.1 Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
8 Algorithmen und Datenstrukturen 286 Aufbau der Optimallösung: f i [j] gibt lediglich den Wert der optimalen Teillösung an (Auswertung der Zielfunktion). Die Teillösung selbst kann wie folgt konstruiert werden: Sei l i [j] die Nummer der Fertigungsstraße (1 oder 2) deren (j 1)-te Station im schnellsten Weg durch S i,j benutzt wurde. M.a.W. S li [j],j 1 wurde vor S i,j durchlaufen. Definiert für i = 1, 2 und j = 2,..., n. l := Straßennummer, deren Station n benutzt wird Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
9 Algorithmen und Datenstrukturen Berechnung der Optimalwerte Naiver Ansatz: Rekursive Berechnung gemäß Gleichungen (11.1). Dies erfordert aber exponentiellen Aufwand. Sei r i (j) die Anzahl des Auftretens von f i [j] in diesen Rekursionen. Es gilt r 1 (n) = r 2 (n) = 1. Aus (11.1d), (11.1e) folgt r 1 (j) = r 2 (j) = r 1 (j + 1) + r 2 (j + 1), (j = 1,..., n 1) Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
10 Algorithmen und Datenstrukturen 288 Behauptung: Es gilt r i (j) = 2 n j. Beweis: Induktion über j von n abwärts Anfang (j = n): hier ist 2 n j = s 0 = 1 = r i (n). Induktionsschritt: Angenommen r i (j + 1) = 2 n (j+1). Es folgt r i (j) = r 1 (j + 1) + r 2 (j + 1) = 2 n (j+1) + 2 n (j+1) = 2 n (j+1)+1 = 2 n j. Damit tritt allein schon f 1 [1] bereits 2 n 1 Mal auf. Diese Reihenfolge ( top-down ) also nicht geeignet. Beobachtung: f i [j] hängt nur ab von f 1 [j 1] und f 2 [j 1] (j 2). Somit könnte man auch in umgekehrter Reihenfolge (j aufsteigend) rechnen Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
11 Algorithmen und Datenstrukturen 289 FASTEST-WAY(a, t, e, x, n) 1 f 1 [1] e 1 + a 1,1 ; f 2 [1] e 2 + a 2,1 2 for j 2 to n 3 do if f 1 [j 1] + a 1,j f 2 [j 1] + t 2,j 1 + a 1,j 4 then f 1 [j] f 1 [j 1] + a 1,j 5 l 1 [j] 1 6 else f 1 [j] f 2 [j 1] + t 2,j 1 + a 1,j 7 l 1 [j] 2 8 if f 2 [j 1] + a 2,j f 1 [j 1] + t 1,j 1 + a 2,j 9 then f 2 [j] f 2 [j 1] + a 2,j 10 l 2 [j] 2 11 else f 2 [j] f 1 [j 1] + t 1,j 1 + a 2,j 12 l 2 [j] 1 13 if f 1 [n] + x 1 f 2 [n] + x 2 14 then f f 1 [n] + x 1 15 l 1 16 else f f 2 [n] + x 2 17 l Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
12 Algorithmen und Datenstrukturen Rekonstruktion der Optimallösung PRINT-STATIONS(l, n) 1 i l 2 Ausgabe Straße i Station n 3 for j n downto 2 4 do i l i [j] 5 Ausgabe Straße i, Station j 1 Laufzeit: Θ(n) Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
13 Algorithmen und Datenstrukturen 291 S 1,1 S 1,2 S 1,3 S 1,4 S 1,5 S 1,6 Straße Straße S 2,1 Beispiel für Fertigungsstraße mit n = 6 S 2,2 S 2,3 S 2,4 S 2,5 S 2, Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
14 Algorithmen und Datenstrukturen 292 In diesem Fall erhalten wir für die Größen f i [j] j f 1 [j] f 2 [j] und somit f = 38. Für die l i [j] ergibt sich j l 1 [j] l 2 [j] und somit l = Steuerung einer Fertigungsstraße TU Bergakademie Freiberg, WS 2005/06
15 Algorithmen und Datenstrukturen Längste gemeinsame Teilfolge Eine (endliche) Folge Z = z 1,..., z k heißt Teilfolge einer Folge X = x 1,..., x m, falls es eine aufsteigende Folge verschiedener Indizes i 1, i 2,..., i k gibt, sodass z j = x ij für j = 1,..., k. Beispiel: Z = B, C, D, B ist Teilfolge von X = A, B, C, B, D, A, B mit Indices i 1 = 2, i 2 = 3, i 3 = 5, i 4 = 7. Eine Folge Z ist eine gemeinsame Teilfolge zweier Folgen X und Y, falls Z sowohl Teilfolge von X als auch von Y ist. Beispiel: Z = B, C, A ist gemeinsame Teilfolge von X = A, B, C, B, D, A, B und Y = B, D, C, A, B, A Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
16 Algorithmen und Datenstrukturen 294 Aufgabe: Zu zwei gegebenen Folgen X = x 1,..., x m und Y = y 1,..., y n bestimme man eine gemeinsame Teilfolge (lgt) maximaler Länge. a Im obigen Beispiel ist die gemeinsame Teilfolge Z von X und Y nicht maximal. Eine maximale gemeinsame Teilfolge ist B, D, A, B. Anwendung: Charakterisierung der Ähnlichkeit zweier DNA-Sequenzen (Folge über dem Alphabet {A,C,G,T}). Ist eine Teilfolge der anderen? Ist eine durch geringe Modifikationen in die andere überführbar? Besitzen beide eine (möglichst lange) gemeinsame Teilfolge? a Diese Aufgabe findet man in der Literatur auch als LCS Problem (longest common subsequence) bezeichnet Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
17 Algorithmen und Datenstrukturen 295 Brute-Force Strategie: Man prüfe für jede Teilfolge von X nach, ob sie auch Teilfolge von Y ist und merke sich die längste. Jede Teilfolge von X entspricht einer Teilmenge der Indizes {1,..., m}, davon gibt es 2 m. Prüfen auf Teilfolgeneigenschaft erfordert Aufwand O(n). Insgesamt also O(n2 m ), zu teuer Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
18 Algorithmen und Datenstrukturen Optimale Substruktur Wir zeigen: das LCS-Problem besitzt die optimale Substruktureigenschaft, ist also durch dynamisches Programmieren lösbar. Wir charakterisieren hierzu zunächst die Struktur einer lgt. Bezeichnung: Zu einer Folge X = x 1, x 2,..., x m bezeichnen wir für i = 0, 1,..., m die nach i Gliedern abgebrochene Teilfolge X i = x 1, x 2,..., x i als i-ten Präfix von X. Satz 11.1 Ist die Folge Z = z 1,, z 2,..., z k eine lgt von X = x 1, x 2,..., x m und Y = y 1, y 2,..., y n, so gilt: (a) Aus x m = y n folgt z k = x m = y n und Z k 1 ist lgt von X m 1 und Y n 1. (b) Ist x m y n, so folgt aus z k x m dass Z lgt von X m 1 und Y ist. (c) Ist x m y n, so folgt aus z k y m dass Z lgt von X und Y n 1 ist Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
19 Algorithmen und Datenstrukturen 297 Fazit: Eine lgt zweier Folgen enthält (als Präfix) eine lgt von Präfixen dieser beiden Folgen. Zwei Fälle: ein oder zwei Teilprobleme x m = y n : hier ist eine lgt von X m 1 und Y n 1 zu bestimmen; Anfügen von x m an diese lgt liefert lgt von X, Y. x m y n : bestimme lgt von X, Y n 1 und lgt von X m 1, Y. Die längere von beiden ist eine lgt von X, Y. Da alle möglichen Fälle betrachtet wissen wir: eine dieser Teillösungen muß in lgt von X, Y vorkommen Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
20 Algorithmen und Datenstrukturen Rekursive Formulierung Bezeichnet c[i, j] die Länge der lgt von X i und Y j, so gilt es, c[m, n] zu bestimmen. Rekursive Formulierung: c[i, j] = 0 falls i = 0 oder j = 0, c[i 1, j 1] + 1 falls i, j > 0 und x i = y j, max{c[i 1, j], c[i, j 1]} falls i, j > 0 und x i y j. Der hierdurch nahegelegte rekursive Algorithmus zur Bestimmung der Länge einer lgt zweier Folgen besitzt wieder exponentielle Laufzeit. Da es aber nur Θ(mn) Teilprobleme gibt, fürt dynamisches Programmieren zu einem schnelleren Algorithmus. Die Werte c[i, j] werden einmal berechnet und in einer Tabelle der Größe (m + 1) (n + 1) gespeichert Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
21 Algorithmen und Datenstrukturen 299 LCS-LENGTH(X, Y ) 1 m length[x] 2 n length[y ] 3 for i 1 to m 4 do c[i, 0] 0 5 for j 1 to n 6 do c[0, j] 0 7 for i 1 to m 8 do for j 1 to n 9 do if x i = y j 10 then c[i, j] c[i 1, j 1] + 1; b[i, j] 11 else if c[i 1, j] c[i, j 1] 12 then c[i, j] c[i 1, j]; b[i, j] 13 else c[i, j] c[i, j 1]; b[i, j] 14 return c, b 11.2 Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
22 Algorithmen und Datenstrukturen 300 Rekonstruktion einer Optimallösung Hierzu wird die zweite in LCS-LENGTH erzeugte Tabelle b verwendet. Bei b[m, n] beginnen. b[i, j] enthält den Tabelleneintrag des Teilproblems, welches zur Bestimmung der lgt von X i und Y j verwendet wurde. Wann immer ein auftritt, heißt dies x i = y j ist Element der lgt. PRINT-LCS(b, X, i, j) 1 if i = 0 oder j = 0 2 then return 3 if b[i, j] = 4 then PRINT-LCS(b, X, i 1, j) 5 Drucke x i 6 elseif b[i, j] = 7 then PRINT-LCS(b, X, i 1, j) 8 else PRINT-LCS(b, X, i, j 1) Laufzeit: O(m + n) Längste gemeinsame Teilfolge TU Bergakademie Freiberg, WS 2005/06
23 Algorithmen und Datenstrukturen Elemente des dynamischen Programmierens Die Haupmerkmale dieser Entwurfsstrategie sollen hier noch einmal herausgestellt werden Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
24 Algorithmen und Datenstrukturen Optimale Substruktur Zeige: die Lösung eines Teilproblems besteht aus einer Auswahl, durch die sich ein oder mehrere weitere Teilprobleme ergeben. Annahme: optimale Auswahl sei bekannt (zunächst hypothetisch) Bestimme damit die resultierenden Teilprobleme und charakterisiere deren Struktur. Zeige: die Teillösungen der optimalen Lösung müssen selbst wieder optimal sein. Oft funktioniert ein Cut-and-Paste -Beweis: Annahme: eine der Teillösungen nicht optimal. Entferne diese Teillösung (cut). Ersetze sie durch eine optimale Teillösung (paste). Leite daraus eine bessere Lösung des ursprünglichen Problems und damit einen Widerspruch her Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
25 Algorithmen und Datenstrukturen 303 Optimale Substruktur variiert von Problem zu Problem. 1. Anzahl Teilprobleme erforderlich für eine optimale Lösung 2. Anzahl Wahlmöglichkeiten bei der Weiterverfolgung von Teilproblemen Fertigungsstraße 1 Teilproblem 2 Wahlmöglichkeiten (für S i,j zwischen S 1,j 1 und S 2,j 1. Längste gemeinsame Teilfolge 1 Teilproblem Entweder 1 Wahlmöglichkeit falls x i = y j : lgt von X i 1, Y j 1 2 Wahlmöglichkeiten falls x i y j : zwischen lgt von X i 1,Y und lgt von X, Y j Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
26 Algorithmen und Datenstrukturen 304 Grob: Laufzeit ergibt sich aus (# Teilprobleme insgesamt) (# Wahlmöglichkeiten ). Fertigungsstraße: Θ(n) Teilprobleme, 2 Wahlmöglichkeiten, Laufzeit Θ(n). Längste gemeinsame Teilfolge: Θ(mn) Teilprobleme, 2 Wahlmöglichkeiten, Laufzeit Θ(mn) Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
27 Algorithmen und Datenstrukturen 305 Beim dynamischen Programmieren wird die optimale Substruktur in einer Bottom-Up -Vorgehensweise ausgenutzt. Zuerst wird eine Optimallösung von Teilproblemen bestimmt Danach Auswahl einer der optimalen Teillösungen zur Konstruktion einer Lösung der ursprünglichen Problems. Im Gegensatz hierzu gehen die im nächsten Kapitel zu behandelnden Greedy-Algorithmen in Top-Down -Manier vor: Zuerst Auswahl einer vielversprechenden Alternative Danach Lösung der resultierenden Teilprobleme 11.3 Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
28 Algorithmen und Datenstrukturen 306 Nicht jedes Problem besitzt die optimale Substruktureigenschaft. Wir betrachten hierzu zwei ähnlich anmutende Probleme. Gegeben sei ein ungewichteter gerichteter Graph G = (V, E) und gesucht seien spezielle Wege (Folgen adjazenter Knoten). Kürzester Weg: Bestimme einen Weg u v mit minimaler Kantenzahl. Dieser Muß einfach sein (ohne Zyklen), da andernfalls durch Entfernen der Zyklen kürzere Wege entstünden. Längster einfacher Weg: Bestimme einfachen Weg u v mit maximaler Kantenzahl. (Ohne Forderung der Einfachheit könnte man beliebig lange Wege zurch Hinzunahme von Zyklen erzeugen.) 11.3 Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
29 Algorithmen und Datenstrukturen 307 Das Problem des kürzesten Weges besitzt die optimale Substruktureigenschaft: Sei p der kürzeste Weg u v. Sei w ein beliebiger Knoten längs p. Sei p 1 der Teilweg u w. Dann ist p 1 ein kürzester Weg u w. Beweis: Gäbe es einen kürzeren Weg p 1: u w, so erhielte man durch Ersetzen von p 1 durch p 1 einen Weg u p 1 w p 2 v mit weniger Kanten als p. Wir können also einen kürzesten Weg u v bestimmen, indem wir zu allen Zwischenknoten w kürzeste Wege u w und w v bestimmen Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
30 Algorithmen und Datenstrukturen 308 Das Problem des längsten Weges besitzt die optimale Substruktureigenschaft nicht [Beispiel] 11.3 Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
31 Algorithmen und Datenstrukturen Überlappende Teilprobleme Diese treten dann auf, wenn ein rekursiver Algorithmus immer wieder dieselben Teilprobleme aufsucht. Gute divide-and-conquer Algorithmen erzeugen auf jeder Rekursionsstufe neue Teilprobleme. Beispiel: Merge-Sort. Im Fertigungsstraßen-Beispiel: rekursive Lösung verwendet 2 n j Mal f i [j] (j 1,..., n). Der Tabellenalgorithmus reduziert den Aufwand von exponentiell zu linear. Alternativer Ansatz: Memoisierung. Top-Down Variante mit der Effizienz von dynamischem Programmieren. Verwendet den (eigentlich naiven) Rekursiven Ansatz, merkt sich aber Lösungen zu bereits behandelten Teilproblemen Elemente des dynamischen Programmierens TU Bergakademie Freiberg, WS 2005/06
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer
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
Randomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
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
Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
Das Problem des Handlungsreisenden
Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
3.3 Optimale binäre Suchbäume
3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum
19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Das Rucksack-Problem Ein Dieb, der einen Safe
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik [email protected] Das Rucksack-Problem Ein Dieb, der einen
Lösungen von Übungsblatt 12
Lösungen von Übungsblatt 12 Algorithmen (WS 2018, Ulrike von Luxburg) Lösungen zu Aufgabe 1 Eine (kanonische) Möglichkeit, die Branch-Schritte auszuführen ergibt sich wie folgt: Das ursprüngliche Problem
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
Berechnung von Abständen
3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie
Algorithmen I. Tutorium Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-12. Sitzung Dennis Felsing [email protected] www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-07-04 Überblick 1 Dynamische Programmierung Idee Längste gemeinsame Teilfolge
Algorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)
WS 2015/16 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
19. Dynamic Programming I
502 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Tutoraufgabe 1 (Suchen in Graphen):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn
6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.
Algorithmen und Datenstrukturen 132 6 Quicksort In diesem Abschnitt wird Quicksort, ein weiterer Sortieralgorithmus, vorgestellt. Trotz einer eher langsamen Worst-Case Laufzeit von Θ(n 2 ) ist Quicksort
5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 [email protected] 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen
Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen Aufgabe 1: Es sei D die Menge aller rationalen Dedekind-Mengen, also D := { M 2 Q M is Dedekind-Menge }. Auf der Menge D definieren wir
Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: 7 8 9 10 Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )
Algorithmi Übung 3 Prof. Dr. Heiner Kloce Winter 11/12 16.10.2011 Divide&Conquer- Algorithmen lassen sich gut als reursive Algorithmen darstellen. Das Prinzip eines reursiven Algorithmus beruht darauf,
Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.
2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert
Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5
Kamil Swierkot Paderborn, den 01.06.2007 Aufgabe 17 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5 Bei der Optimierungsvariante des SubSetSum Problems wird bei der Eingabe
Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei
7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften
2. Vorlesung. Die Theorie der schwarz-weissen Ketten.
2. Vorlesung. Die Theorie der schwarz-weissen Ketten. Die Theorie der schwarzen Steinchen haben wir jetzt halbwegs vertanden. Statt mit schwarzen Steinen wie die Griechen, wollen wir jetzt mit schwarzen
Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren
Algorithmen und Datenstrukturen 74 3 Rekursionen Vor allem bei rekursiven Algorithmen besitzt die Laufzeitfunktion eine naheliegende rekursive Formulierung, d.h. die Laufzeitfunktion ist konstant für den
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
Dynamische Programmierung II
Vorlesungstermin 10: Dynamische Programmierung II Markus Püschel David Steurer talks2.dsteurer.org/dp2.pdf Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Plan für heute Dynamische Programmierung
Lineare Algebra II 5. Übungsblatt
Lineare Algebra II Übungsblatt Fachbereich Mathematik SS Prof Dr Kollross / Mai Susanne Kürsten Tristan Alex Gruppenübung Aufgabe G (Algebraisch abgeschlossener Körper) Ein Körper heißt algebraisch abgeschlossen,
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
Dynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
12. Rekursion Grundlagen der Programmierung 1 (Java)
12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung
Kürzeste-Wege-Algorithmen und Datenstrukturen
Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2
Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).
Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.
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
Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen
2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung. Sebastian Küpper
Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung Sebastian Küpper Redundanz Rekursiver Lösungen Rekursion kann elegante Bescheibungen zur Problemlösung ergeben
Algorithmen I - Tutorium 28 Nr. 12
Algorithmen I - Tutorium 28 Nr. 12 20.07.2017: Spaß mit Dynamischer und Linearer Programmierung Marc Leinweber [email protected] INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 26. Vorlesung Greedy- und Approximationsalgorithmen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Operations Research Optimierung für Wirtschaftsabläufe:
8 Konvergenzkriterien und Häufungswerte von Folgen in R
8 Konvergenzkriterien und Häufungswerte von Folgen in R 8.1 Konvergenz monotoner Folgen 8.2 Die Zahl e 8.3 Existenz monotoner Teilfolgen 8.4 Auswahlprinzip von Bolzano-Weierstraß 8.5 Konvergenzkriterium
Dynamische Programmierung
Dynamische Programmierung Julian Brost 11. Juni 2013 Julian Brost Dynamische Programmierung 11. Juni 2013 1 / 39 Gliederung 1 Was ist dynamische Programmierung? Top-Down-DP Bottom-Up-DP 2 Matrix-Kettenmultiplikation
19. Dynamic Programming I
Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,
Dynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
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
Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:
Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls
Rechenregeln für Summen
Rechenregeln für Summen Im Umgang mit Summen sind gewisse Regeln zu beachten. 1 Summe gleicher Summanden Betrachten wir folgende Summe: x Hier enthält x keinen Summationsindex, d.h. es wird x einfach n-mal
Greedy Algorithms - Gierige Algorithmen
Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2
Graphen und Bäume. A.1 Graphen
Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen
5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
Datenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
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
Dynamisches Programmieren - Problemstruktur
Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)
Wann sind Codes eindeutig entschlüsselbar?
Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C
b liegt zwischen a und c.
2 DIE ANORDNUNGSAXIOME 5 (2.4) a, b, c R : (a < b 0 < c) ac < bc Monotoniegesetz der Multiplikation Bezeichnungen a > b : b < a (> wird gelesen: größer als ) a b : a < b oder a = b a b : a > b oder a =
1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen
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
Flüsse in Netzwerken
Skript zum Seminar Flüsse in Netzwerken WS 2008/09 David Meier Inhaltsverzeichnis 1 Einführende Definitionen und Beispiele 3 2 Schnitte in Flussnetzwerken 12 2.1 Maximaler s t Fluss..........................
Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:
Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu
Kapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)
Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und
Approximationsalgorithmen
Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen
Das Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
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
Übung zur Vorlesung Diskrete Strukturen I
Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt 10 Prof. Dr. J. Csirik 7. Januar 00 randt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am 16.
