Kapitel 5: Suchverfahren: Backtracking

Größe: px
Ab Seite anzeigen:

Download "Kapitel 5: Suchverfahren: Backtracking"

Transkript

1 Kapitel 5: Suchverfahren: Backtracking Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 278 / 541

2 Suchverfahren: Backtracking Viele Probleme lassen sich als Suchprobleme formulieren. Dies gilt z.b. für Optimierungsprobleme. Beispiele a) Erfüllbarkeitsproblem SAT: Eingabe: Formel A. Frage: Ist A erfüllbar? Lösung: Suche nach einer Belegung ϕ : V B mit ϕ(a) = 1. b) Rucksackproblem RSP: Eingabe: P = (p i ) i=1,...n,w = (w i ) i=1,...,n,k. Frage: Welcher Profit lässt sich maximal erzielen? Lösung: Suche zulässigen Vektor x = (x i ) i=1,...,n, x i {0, 1}, der n i=1 p ix i maximiert. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 279 / 541

3 Suchverfahren: Backtracking Beispiele (Forts.) c) Problem des Handlungsreisenden TSP: Eingabe: = (d ij ) i,j=1,...,n Distanz-Matrix. Frage: Wie lang ist die kürzeste Rundreise? Lösung: Suche eine Permutation π = (π 1,...,π n ), so dass d π1,π 2 +d π2,π 3 + +d πn 1,π n +d πn,π 1 minimal ist. Fragen: Wie stellt man den Suchraum dar? Wie sucht man nach der Lösung? Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 280 / 541

4 5.1 Der Suchraum 5.1 Der Suchraum Sei P ein Suchproblem. Ein Lösungsansatz zu P definiert den Suchraum S mit Startzustand z 0 S und Zielzuständen (goals) G S, eine Übergangsrelation S S, die angibt, in welche direkten Folgezustände z man von einem Zustand z aus kommen kann, ein Verfahren, wie man (gemäß ) von z 0 zu einem z G kommen kann. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 281 / 541

5 5.1 Der Suchraum Der Suchraum (Forts.) Aufgaben zur Entwicklung eines Lösungsansatzes: Modellierung von S: Was sind Zustände? Angabe von : Welche Suchschritte sind möglich? Aufbau und Durchsuchung von S: Wie sucht man effizient? Was muss man zwischenspeichern? Beachte: S ist häufig endlich, kann aber auch unendlich sein. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 282 / 541

6 5.1 Der Suchraum Durchsuchung des Suchraums Modellierung von S (konzeptionell): Wir modellieren S als Baum, wobei jeder Knoten einen Zustand als Marke trägt: z 0 ist die Wurzel. Knoten z hat alle z als Söhne mit z z. Aufbau von S: Zu jedem Zeitpunkt ist nur ein Anfangsbaum T von S aufgebaut (und durchsucht). Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 283 / 541

7 5.1 Der Suchraum Durchsuchung des Suchraums (Forts.) Es gibt unterschiedliche Aufbaustrategien: Tiefensuche (depth first search). Breitensuche (breadth first search). Mischformen hierzu, z.b. iterative deepening : Baue T depth first bis zur vorgegebenen Tiefe t 0 auf. Falls dabei kein z G gefunden wurde, erhöhe t 0 zu t 1 und baue T bis zur Tiefe t 1 auf. Iteriere diesen Prozess. Heuristische Suche: Schätze die Erfolgschancen der Suche unter jedem Blatt von T ab und baue T unter dem besten Knoten weiter auf. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 284 / 541

8 5.1 Der Suchraum Bemerkungen zur Suchstrategie Heuristische Suchverfahren werden später besprochen. Breitensuche ist häufig ineffizient, weil nahe der Wurzel selten Zielknoten liegen. Tiefensuche ist gefährlich, falls der Suchbaum unendliche Tiefe hat. Dann empfiehlt sich das iterative deepening. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 285 / 541

9 5.1 Der Suchraum Bemerkungen zur Suchstrategie (Forts.) Zentraler Punkt bei der Tiefensuche: Backtracking: Gehe auf dem aktuellen Ast rauf, bis zu einem Knoten, der noch nicht voll expandiert ist, d.h., einen nicht-expandierten Sohn hat. Starte hier die Tiefensuche erneut. Beschränkung der Suche: Manchmal kann man abschätzen, dass unter einem Knoten z kein Zielknoten liegt. Dann die Suche hier abbrechen, also den Suchbaum hier nicht weiter entwickeln. Beschränkungsprädikat B(z) verwenden. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 286 / 541

10 5.2 Das n-damen-problem 5.2 Das n-damen-problem Problem: Eingabe: Ein Feld der Größe n n (Schachbrett). Aufgabe: Positioniere n Damen so, dass keine eine andere bedroht. Modellierung: Dame i stehe in Zeile i und Spalte x i (i,x i = 1,...,n). Dann gilt: Dame i bedroht Dame j gdw. i j = x i x j x i = x j (Übung!). Wir positionieren die Damen in der Reihenfolge k = 1,...,n. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 287 / 541

11 5.2 Das n-damen-problem Modellierung des n-damen-problems (Forts.) Der volle Suchraum besteht dann aus: Knoten der Form: z = (x 1,...,x k ) mit k 0, 1 x i n,x i x j für i j. Wurzel: z 0 = (), also k = 0. Kanten: (x 1,...,x k ) (x 1,...,x k,x k+1 ) mit x k+1 / {x 1,...,x k }. Zielknoten: (x 1,...,x n ) mit i j x i x j für alle 1 i < j n. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 288 / 541

12 5.2 Das n-damen-problem Modellierung des n-damen-problems (Forts.) Beispiel n = 3 Der volle expandierte Suchbaum: T ( ) (1) (2) (3) (1, 2) (1, 3) (2, 1) (2, 3) (3, 1) (3, 2) (1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1) Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 289 / 541

13 5.2 Das n-damen-problem Modellierung des n-damen-problems (Forts.) Beispiel n = 3 (Forts.) kompaktere Darstellung: x 1 = x 2 = x 3 = Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 290 / 541

14 5.2 Das n-damen-problem Modellierung des n-damen-problems (Forts.) Interpretation des Knotens z = (x 1,...,x k ): Es sind k Damen gesetzt, und zwar Dame i auf das Feld (i,x i ) für alle i = 1,...,k. Beschränkung der Suche: Setze B(z) gdw. z enthält eine Bedrohung, also: B(x 1,...,x k ) gdw. es gibt 1 i < j k mit i j = x i x j oder x i = x j. Alle Knoten z im Baum T erfüllen B(z). Zum Test, ob der Sohn z = (x 1,...,x k 1,x k ) von z = (x 1,...,x k 1 ) in T aufgenommen wird, hat man also: B(z ) gdw. i k = x i x k x i = x k für ein 1 i < k. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 291 / 541

15 5.2 Das n-damen-problem Der Suchalgorithmus (informell) Algorithmus A: Baue den Suchbaum depth first von links nach rechts auf. Stoppe den Aufbau unter z, falls B(z) gilt. Gib z aus, falls z ein Zielknoten ist. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 292 / 541

16 5.2 Das n-damen-problem Der Suchalgorithmus (informell) (Forts.) Beispiel n = 4 T x 1 = 1 2 x 2 = x 3 = x 4 = 3 3 erster Zielknoten Knoten z ist mit markiert, wenn B(z) gilt. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 293 / 541

17 5.2 Das n-damen-problem Der Suchalgorithmus (informell) (Forts.) Beispiel n = 4 (Forts.) Die Suche wurde hier nach dem Finden des ersten Zielknotens eingestellt. Der gefundene Zielknoten entspricht folgender Situation (als Schachbrett dargestellt): Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 294 / 541

18 5.2 Das n-damen-problem Der Algorithmus Damen Algorithmus: A : Damen(n) = suche(1,n,x) mit suche(k, n, x) = Ref: x; x k 1; while x k n do if not B(x 1,...,x k ) ( Ein Algorithmus für B sei gegeben ) then if k = n then output(x 1,...,x n ); x n n else suche(k + 1,n,x) fi fi x k x k + 1 od Es werden alle Lösungen ausgegeben. Beachte: Das Backtracking wird hier durch die rekursive Programmierung automatisch realisiert. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 295 / 541

19 Der Algorithmus Damen (Forts.) 5.2 Das n-damen-problem Beispiel: Eine Rechnung für n = 4 Man verfolge die Rechnung für n = 4: k x k , 2, 3 3 1, 2, 3, , 2 4 1, 2, 3, 4 3 3, , 2, 3, , 2, 3 + Erklärung: Backtrack-Punkt: Die k-te Dame konnte nicht gesetzt werden. + Lösung gefunden Alle Damen sind gesetzt worden: x 1 = 2, x 2 = 4, x 3 = 1, x 4 = 3. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 296 / 541

20 Der Algorithmus Damen (Forts.) 5.2 Das n-damen-problem Zeitbedarf A baut den vollen Suchbaum T auf. T hat Tiefe n, auf Tiefe k gibt es maximal n k Knoten, jeder Knoten verursacht beim B-Test Θ(k) Kosten. Also gilt: n T A (n) O(k n k ) O(n n n ), k=1 d.h., A hat Zeitbedarf T A (n) O(n n+1 ). Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 297 / 541

21 Der Algorithmus Damen (Forts.) Zeitbedarf (Forts.) 5.2 Das n-damen-problem Beachte hierzu: Die Abschätzungstechniken aus Abschnitt 1.3 liefern n k m k (ln m) 1 n m n. k=1 Dies gilt wegen m k = e k lnm und n xe cx dx = (x 1 0 c ) 1 n c ecx = (n 1 c ) 1 c ecn + 1 c 0 2 { Θ(ne cn,) falls c > 0, Θ(1), falls c < 0. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 298 / 541

22 5.3 Graphen-Färbung 5.3 Graphen-Färbung Definition 5.1 Seien G = (V, E) ein ungerichteter Graph, m N und ϕ : V {1,...,m} eine Abbildung. Die Abbildung ϕ heißt eine m-färbung von G, falls ϕ(u) ϕ(v) gilt für alle u,v V mit (u,v) E. Anwendungsbeispiel Frage: Ist jede Landkarte 4-färbbar, sodass Länder mit gemeinsamer Grenze unterschiedlich gefärbt sind? Transformation in Graphen-Problem für G = (V,E) mit: V = Menge der Länder, E = {(u,v) u,v haben gemeinsame Grenze }. Ist G 4-färbbar? Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 299 / 541

23 Graphen-Färbung (Forts.) 5.3 Graphen-Färbung Beispiel: Die westlichen Nachbarn Deutschlands NL B L D B NL L D F CH F CH Übung: G ist 4-färbbar, aber nicht 3-färbbar. Satz 5.2 (Lösung des 4-Farben-Problems) Jeder planare Graph ist 4-färbbar. Dies gilt nicht für jeden Graphen! Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 300 / 541

24 5.3 Graphen-Färbung Das Suchproblem Problem: Eingabe: Graph G = (V,E) mit V = {1,...,n},m N. Frage: Ist G m-färbbar? Modellierung: Wir färben die Knoten k = 1,..., n. Dabei sind m Farben möglich. Der volle Suchbaum besteht dann aus: Knoten: z = (x 1,...,x k ) mit 0 k n, 1 x i m, B(z). Wurzel: ( ), also k = 0. Kanten: z = (x 1,...,x k ) z = (x 1,...,x k,x k+1 ) mit B(z ). Zielknoten: z = (x 1,...,x n ) mit B(z). Beschränkungsprädikat für z = (x 1,...,x k ): B(z) gdw. x i = x j für ein i,j mit 1 i < j k und (i,j) E. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 301 / 541

25 5.3 Graphen-Färbung Der Färbe-Algorithmus Algorithmus: A : GraphFärbung(V,E,n,m) = x 1 1; färbe(2,n,m,x) mit färbe(k,n,m,x) = Ref: x; for x k = 1 to m do if not B(x 1,...,x k ) then if k = n then output(x 1,...,x n ) else färbe(k + 1,n,m,x) fi fi od Es werden alle m-färbungen ausgegeben. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 302 / 541

26 5.3 Graphen-Färbung Der Färbe-Algorithmus (Forts.) Bemerkungen Beachte zu Knoten 1: Man kann für jede Färbung x 1 = 1 voraussetzen. (Dies ist durch Umbenennung der Farben stets erreichbar.) Beachte zum Beschränkungsprädikat B: Es gilt B(z) für alle erzeugten Knoten z. Um den Sohn z = (x 1,...,x k 1,x k ) von z = (x 1,...,x k 1 ) zu erzeugen, setze man einfach B(x 1,...,x k ) gdw. x k = x i für ein i mit 1 i < k und (i,k) E. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 303 / 541

27 Der Färbe-Algorithmus (Forts.) 5.3 Graphen-Färbung Zeitbedarf von A Sei E als n n-matrix (Inzidenzmatrix) gegeben. Der Algorithmus A = GraphFärbung(V, E, n, m) baut den vollen Suchbaum T auf. T hat die Tiefe n, auf Tiefe k gibt es maximal m k Knoten, jeder Knoten verursacht beim B-Test Kosten O(k). Der Zeitbedarf von A lässt sich also wie in Abschnitt 5.2 abschätzen durch n T A (n,m) O(k m k ) O(n m n ). k=1 Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 304 / 541

28 5.4 Das 0/1-Rucksack-Problem 5.4 Das 0/1-Rucksack-Problem Wir betrachten nicht das Entscheidungsproblem, sondern das Optimierungsproblem: Eingabe: p = (p 1,...,p n ),w = (w 1,...,w n ),K wie früher. Aufgabe: Bestimme x = (x 1,...,x n ) mit x i {0, 1}, sodass n p i x i maximal ist unter der Nebenbedingung i=1 n i=1 w i x i K. Es gibt verschiedene Möglichkeiten, dies Problem als Suchproblem zu modellieren. Wir betrachten zwei davon. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 305 / 541

29 5.4 Das 0/1-Rucksack-Problem Das 0/1-Rucksack-Problem (Forts.) 1. Modellierung Idee: Wähle im k-ten Schritt ein neues Element y i {1,...,n} aus und packe es in den Rucksack. Damit ergibt sich für den Suchbaum die folgende Struktur: Knoten: (y 1...,y k ) mit 0 k n, 1 y i n, B(y 1,...,y k ). Wurzel: ( ), also k = 0. Kanten: (y 1,...,y k ) (y 1,...,y k,y k+1 ) mit B(y 1,...,y k+1 ). Beschränkungsprädikat: B(y 1,...,y k ) gdw. y i = y j für ein i j oder Zielknoten: alle Blätter des Suchbaumes. Gesucht ist ein optimaler Zielknoten. k i=1 w yi > K. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 306 / 541

30 5.4 Das 0/1-Rucksack-Problem Das 0/1-Rucksack-Problem (Forts.) 2. Modellierung Idee: Man entscheidet im k-ten Schritt, ob das Element k {1,...,n} in den Rucksack aufgenommen werden soll, d.h. ob x k = 0 oder x k = 1 gelten soll. Dies ergibt für den Suchbaum die folgende Struktur: Knoten: x = (x 1,...,x k ) mit 0 k n,x i {0, 1}, Wurzel: ( ), also k = 0. k i=1 w i x i K. ( ) Kanten: (x 1,...,x k ) (x 1,...,x k,x k+1 ) mit Sohn erfüllt (*). Der Baum hat also die Tiefe n und daher maximal 2 n Blätter. Die Blätter beschreiben die zulässigen Rucksackpackungen. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 307 / 541

31 2. Modellierung (Forts.) 5.4 Das 0/1-Rucksack-Problem Das Beschränkungsprädikat Bei Optimierungsproblemen setzt man häufig B(x) gdw. unter x kann kein Zielknoten liegen, der besser ist als der bisher beste besuchte Zielknoten. Setze für jeden Knoten x = (x 1,...,x k ): APROF(x) = k p i x i i=1 AKOST(x) = k i=1 aktueller Profit, w i x i aktuelle Kosten Also gilt für Kante x = (x 1,...,x k ) x = (x 1,...,x k,x k+1 ): APROF(x ) = APROF(x)+p k+1 x k+1 AKOST(x ) = AKOST(x)+w k+1 x k+1 Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 308 / 541

32 2. Modellierung (Forts.) 5.4 Das 0/1-Rucksack-Problem Das Beschränkungsprädikat (Forts.) Sei OPT = max{ APROF(z) z schon besuchtes Blatt }. 1. Realisierung: Setze: B(x) gdw. AKOST(x) > K. Diese Wahl von B berücksichtigt APROF(x) gar nicht. 2. Realisierung: Wir schätzen jetzt die Profite unterhalb von x nach oben ab. Liefert diese Schätzung einen Wert < OPT, so wird die Suche abgebrochen. Setze für x = (x 1,...,x k ): Die Summe B(x) gdw. AKOST(x) > K APROF(x)+ n i=k+1 Profite unterhalb von x. n i=k+1 p i < OPT. p i ist eine schwache Abschätzung der möglichen Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 309 / 541

33 2. Modellierung (Forts.) 5.4 Das 0/1-Rucksack-Problem Das Beschränkungsprädikat (Forts.) 3. Realisierung: Eine bessere Abschätzung des möglichen Profits unterhalb x ist { n } n P(x) = max p i y i 0 y i 1, w i y i K AKOST(x). i=k+1 i=k+1 Dies ist mit der Greedy-Methode in Zeit O(n k) berechenbar, falls folgende Voraussetzung gilt: p i w i p i+1 w i+1 für i = 1,...,n 1. Setze: B(x) gdw. AKOST(x) > K APROF(x)+P(x) < OPT. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 310 / 541

34 Der Suchalgorithmus OptRSP Algorithmus: 5.4 Das 0/1-Rucksack-Problem A : OptRSP(p,w,n,K) = OPT 0; y (0,...,0); ( y = (y 1,...,y n ) ) suche(1, 0, 0,x,y, OPT); STOP: output (OPT, y ) mit suche(k, AKOST, APROF, x, y, OPT) = Ref: x, y, OPT; for x k = 0 to 1 do AK AKOST+w k x k ; AP APROF+p k x k ; if not B(x 1,...,x k ) ( Ein Algorithmus für B sei gegeben ) then if k < n then suche(k + 1, AK, AP,x,y, OPT) else if AP > OPT then y x; OPT AP fi fi fi od Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 311 / 541

35 Zeitbedarf für A = OptRSP 5.4 Das 0/1-Rucksack-Problem Der Algorithmus A kann den Suchbaum T ganz aufbauen. T hat Tiefe n, auf Tiefe k gibt es 2 k Knoten, jeder Knoten verursacht Kosten O(n k). Also gilt für den Zeitbedarf im schlechtesten Fall: n T A (n) O((n k) 2 k ). k=1 Es gilt mit c = 1 ln 2 (vergleiche Abschnitt 5.2) folgendes: n n (n k) 2 k = n 2 k n k 2 k k=1 d.h., T A (n) O(n 2 n ). k=1 k=1 n 2 n+1 c n 2 n = (2 c)n 2 n Θ(n 2 n ), Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 312 / 541

36 5.5 Hamilton-Zyklen Kapitel 5: Backtracking 5.5 Hamilton-Zyklen Definition 5.3 Sei G = (V,E) ein ungerichteter Graph mit V = {1, 2,...,n}. Ein Hamilton-Zyklus ist ein geschlossener Pfad z durch G, der jeden Knoten genau einmal besucht, genauer: z = (v 1,v 2,...,v n ) mit v i v j für 1 i,j n,v 1 = 1, (v i,v i+1 ) E,(v n,v 1 ) E. Beispiele a) G: G hat zwei Hamilton-Zyklen: z = (1, 3, 2, 4) und z = (1, 4, 2, 3). Die Kante (1,2) liegt auf keinem H- Zyklus. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 313 / 541

37 Hamilton-Zyklen (Forts.) 5.5 Hamilton-Zyklen Beispiele (Forts.) b) G: G hat keinen H-Zyklus. 4 2 Problem U-Hamilton: Eingabe: G = (V,E),V = {1,...,n}. Aufgabe: Bestimme alle Hamilton-Zyklen in G. Man kann dies Problem auch für gerichtete Graphen betrachten: Problem G-Hamilton. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 314 / 541

38 5.5 Hamilton-Zyklen Der Suchraum Modellierung: Baue für k = 1, 2...,n alle Wege der Länge k 1 ab v 1 = 1 auf, die Anfangswege eines Hamilton-Zyklus sein können. Dies ergibt den Suchbaum T mit: Knoten: z = (x 1,...,x k ) mit 1 k n, x i x j für i j, (x i,x i+1 ) E, 1 x i n,x 1 = 1. Wurzel: (1), also k = 1. Kanten: z = (x 1,...,x k ) z = (x 1,...,x k,x k+1 ) mit B(z ). Beschränkungsprädikat: B(z) gdw. x i = x j für ein i j oder (x i,x i+1 ) / E. Zielknoten: z = (x 1,...,x n ) mit (x n,x 1 ) E und B(z). Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 315 / 541

39 Der Suchraum (Forts.) 5.5 Hamilton-Zyklen Beachte: Sei z = (x 1,...,x k ) z = (x 1,...,x k,x k+1 ), und es gelte schon B(z). Dann gilt: B(z ) gdw. x i = x k+1 für ein 1 i k oder (x k,x k+1 ) / E. Dies ist in Zeit O(k) testbar. Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 316 / 541

40 Der Suchalgorithmus Hamilton 5.5 Hamilton-Zyklen Algorithmus: A : Hamilton(V,E,n) = x 1 1; sucheweg(2,n,x) mit sucheweg(k, n, x) = Ref: x; for x k = 2 to n do if not B(x 1,...,x k ) then if k < n then sucheweg(k + 1,n,x) else if (x n, 1) E then output (x 1,...,x n ) fi fi fi od Zeitbedarf für A =Hamilton: Wie beim n-damen-problem ergibt sich T A (n) O(n n+1 ). Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 317 / 541

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

12.4 Traveling Salesman Problem

12.4 Traveling Salesman Problem 96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Einführung in Suchverfahren

Einführung in Suchverfahren Einführung in Suchverfahren Alfred Kranstedt 0.0.0 Seminar Intelligente Algorithmen Was ist heute Thema?. Was ist ein Suchproblem? Definitionen, Darstellungen etc.. Suchstrategien Blinde Suche Heuristische

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

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

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

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

Einführung in Algorithmen und Komplexität

Einführung in Algorithmen und Komplexität Einführung in Algorithmen und Komplexität SS2004 w u v High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 Was haben wir bisher gemacht? - Rechenmodell:

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 Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

Wissensbasierte Suche

Wissensbasierte Suche Wissensbasierte Suche Jürgen Dorn Inhalt uninformierte Suche wissensbasierte Suche A* und IDA* Algorithmus Suche in Und/Oder-Graphen Jürgen Dorn 2003 Wissensbasierte Suche 1 Suche Suche in (expliziten

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

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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

NP-vollständig - Was nun?

NP-vollständig - Was nun? Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.

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

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

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

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

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

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

8. Übung zu Algorithmen I 15. Juni 2016

8. Übung zu Algorithmen I 15. Juni 2016 8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative

Mehr

11.1 Grundlagen - Denitionen

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

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

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?

Mehr

Backtracking mit Heuristiken

Backtracking mit Heuristiken Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth

Mehr

Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 Aufgabe 1: Eine schöne Bescherung (K)

Mehr

5.4 Das Rucksackproblem

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

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

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

Schulbesuch Erich-Kästner Gesamtschule 07. April 2011

Schulbesuch Erich-Kästner Gesamtschule 07. April 2011 Schulbesuch Erich-Kästner Gesamtschule 07. April 0 Bünde Fakultät für Mathematik Universität Bielefeld dotten@math.uni-bielefeld.de Übersicht Was ist ein Sudoku-Rätsel? Die Regeln und das Ziel Zentrale

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen

Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19. VO DAP2 SS 2008 19. Juni 2008 1

Mehr

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik) Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen Folie 1 von 20 Lernmodul 2 Graphen Folie 2 von 20 Graphen Übersicht Motivation Ungerichteter Graph Gerichteter Graph Inzidenz, Adjazenz, Grad Pfad, Zyklus Zusammenhang, Trennende Kante, Trennender Knoten

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 Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus

Mehr

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

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

1. Übung Algorithmentechnik

1. Übung Algorithmentechnik 1. Übung Algorithmentechnik Institut für Theoretische Informatik 04.11.2008 1/ 42 Aufgabe 1 Aufgabe (Amortisierte Analyse) Modellieren Sie eine Queue mit zwei Stacks so, dass die amortisierten Kosten von

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

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

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1 Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4

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. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

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

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

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

Smart Graphics: Methoden 2 Suche

Smart Graphics: Methoden 2 Suche Smart Graphics: Methoden 2 Suche Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche Folie 1 Themen heute Smart Graphics Probleme als Suchprobleme Suchverfahren

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

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

Entwurf und Analyse von Algorithmen

Entwurf und Analyse von Algorithmen Entwurf und Analyse von Algorithmen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de WS 2013/14 Prof. Dr. F.

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

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

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

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr