Große Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2
|
|
- Erich Roth
- vor 5 Jahren
- Abrufe
Transkript
1 Große Lösungsräume Leon Schmidtchen Hallo Welt Seminar - LS 2!1
2 Gliederung Motivation Brute Force Backtracking Pruning Leon Schmidtchen Branch & Bound Hallo Welt Seminar - LS 2 Wann soll ich das im ICPC verwenden? A* Iterative Deepening A*!2
3 Motivation Leon Schmidtchen Hallo Welt Seminar - LS 2!3
4 Motivation Leon Schmidtchen Hallo Welt Seminar - LS 2!4
5 Brute Force!5
6 Brute Force Lösungen sind Vektoren Komponenten sind einzelne Schritte der Lösung ( abzählbar endlich) Trägermengen vom Problem abhängig, oft unterschiedliche Bspw. Knoten, Zahlen, Permutationen, Züge von Spielern, Endliche Menge an potentiellen Lösungen Wir probieren einfach jede aus!6
7 Backtracking!
8 Backtracking Schlaueres Brute Force Lösungsvektoren können Schritt für Schritt aufgebaut werden Wenn wir aus currsol keinen korrekten, vollständigen Vektor mehr bauen können currsol verwerfen!
9 Backtracking c = currsol issol(c) // true wenn c bereits valid solution ist notpartofvalidsol(c) // true wenn c nicht zu korrekter Lösung // erweitert werden kann firstextension(c) nextextension(c) // erweitert c um a_i+1 // wählt nächstes Element für a_i+1 Backtrack(c) if issol(c) print(c) if notpartofvalidsol(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!9
10 Pruning!10
11 Pruning Anderer Name für notpartofvalidsol(c). prune(c)!11
12 Pruning a0 1 a a3 4 a2 2 1 ( ) (1) (2) (3) (4) (1,1) (1,2) (1,3) (1,4) (1,2,1) (1,2,2) (1,2,3) (1,2,4) (1,2,2,1) (1,2,2,2) (1,2,2,3) (1,2,2,4) Teilbäume, die auf keine richtige Lösung führen, können wir beim ersten betreten abschneiden!12
13 Pruning a0 1 a a3 4 a2 2 1 ( ) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!13
14 Pruning a0 1 a a3 4 a2 2 1 (1) ( ) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!14
15 Pruning a0 1 a a3 4 a2 2 1 (1) ( ) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!15
16 Pruning a0 1 a a3 4 a2 2 1 (1) (2) ( ) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!16
17 Pruning a0 1 a a3 4 a2 2 1 (1) (2) ( ) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!1
18 Pruning a0 1 a a3 4 a2 2 1 ( ) (1) (2) (3) (4) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!1
19 Pruning a0 1 a a3 4 a2 2 1 ( ) (1) (2) (3) (4) (4,1) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!19
20 Pruning a0 1 a a3 4 a2 2 1 ( ) (1) (2) (3) (4) (4,1) (4,2) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e)!20
21 Pruning a0 1 a a3 4 a2 2 1 ( ) (1) (2) (3) (4) (4,1) (4,2) Backtrack(c) if issol(c) print(c) if prune(c) return e = firstextension(c) while (e!= null) Backtrack(e) e = nextextension(e) (4,2,1) (4,2,2) (4,2,3) (4,2,3,1) (4,2,3,2) (4,2,3,3)!21
22 Branch & Bound!22
23 Branch & Bound Pruning-Methode, die vor allem bei Optimierungsproblemen verwendet wird Im Weiteren wird versucht zu maximieren Alle möglichen Eingaben für Lösungsraum/Suchraum liegen in unserem B&B nutzt Heuristiken um rekursiv zu verkleinern!23
24 Einschub - Heuristik Schätzung Faustregel Intuitives und/oder intelligentes Raten Zusätzliche Hilfsannahmen durch konkretes Problem Für B&B sollte Heuristik schnell zu berechnen sein Je genauer Heuristik ist, desto schneller wird die optimale Lösung gefunden!24
25 Branch & Bound Globale Variable best, initialisiert auf 0, danach größte bisher gefundene Lösung. Untere Schranke für Branch: Teile den aktuellen Suchraum in zwei (rekursiver Abstieg) Nicht zwingend disjunkt, aber erwünscht Bound: Bestimme optimistische Schätzung für obere Schranke von F(x) für bestes x aus aktuellem Suchraum Falls Schätzung < best: Teilbaum kann verworfen werden!25
26 Branch & Bound Untere Schranke für Gesamtproblem kann auch auf anderen Wert initialisiert werden, falls bessere Schätzung bekannt ist Knoten mit größter oberen Schranke (Bound) immer zuerst besuchen Achtung! Falls best initial zu groß ist, wird keine Lösung gefunden. Heuristik, die im Bound-Schritt obere Schranke angibt, darf nie fälschlicherweise zu klein sein. Sonst werden Teilmengen abgeschnitten, die ein optimales Ergebnis enthalten könnten.!26
27 Backtracking und große Lösungsräume im ICPC!2
28 ICPC Woher wissen wir, dass es für ein Problem X (noch) keinen effizienten Algorithmus gibt? Zeige: SAT CLIQUE IS TSP <=p X!2
29 ICPC für manche Leute spaßig, für den ICPC eher ungeeignet Andere Frage: Woher wissen wir, dass X einen großen Lösungsraum hat? Optimierungsproblem Ausprobieren und kombinieren notwendig Abwandlung von bekannten NP-schweren Problemen Weder Greedy, noch DP, noch spezielle Algorithmen für Graphen, Flüsse, Zeichenketten, etc. sind anwendbar!29
30 ICPC Jedoch das einfachste Kriterium: Eingabegröße! Eingabe erwartete Laufzeit O(N) O(N log(n)) O(N^2) 100 O(N^3) 20 O(2^N) 15 O(N * 2^N) oder O(3^N) 9 O(N!) Bis N = 20 ist exponentielle Laufzeit sehr wahrscheinlich ein richtiger Weg. Dann können Backtracking-Algorithmen verwendet werden.!30
31 ICPC - Rechenbeispiel Berechne die Anzahl der Lösungen des -Damen-Problems!31
32 ICPC - Rechenbeispiel Berechne die Anzahl der Lösungen des -Damen-Problems Erster Ansatz: Lösungsvektor - Koordinaten einer Dame Brute Force wohl zu langsam!32
33 ICPC - Rechenbeispiel Berechne die Anzahl der Lösungen des -Damen-Problems Zweiter Ansatz: Lösungsvektor - Position der Dame in Spalte i Brute Force wohl immer noch zu langsam!33
34 ICPC - Rechenbeispiel Berechne die Anzahl der Lösungen des -Damen-Problems Dritter Ansatz: Lösungsvektor - Position der Dame in Spalte i Pro neuer Dame fällt eine mögliche Zeile für die restlichen Damen weg (Ignorieren der Diagonalen) Backtracking mit Prune-check auf besetzte Zeilen alleine sollte im Time Limit liegen!34
35 A*!35
36 A* (A star) Kürzester Pfad zwischen Startknoten S und Endknoten E in einem Graph Dijkstra ist uninformierter Suchalgorithmus, nutzt viele problembedingte Informationen nicht aus Dijkstra zerfällt bei uniformen Netzen zu Breitensuche Dijkstra-Algorithmus, erweitert um Heuristik Bessere ( klügere ) Knotenwahl führt schneller zum Ziel Benötigt positive Kantengewichte Findet immer optimale Lösung Exponentieller Zeit- und Speicheraufwand!36
37 A* (A star) OPEN Prioritätswarteschlange initial S auf 0, alle anderen Knoten auf Inf CLOSED vollständig bearbeitete Knoten initial leer Gewicht eines Knoten x in OPEN wird berechnet durch f(x) = g(x) + h(x) g(x) sei das Gewicht von S h(x) sei das geschätzte Gewicht zu E!3
38 A* (A star) Astar(nodes[], S, E) OPEN = PriorityQueue(S:0, rest:inf) CLOSED = EmptySet() k = OPEN.pop() while (k!= null) if (k == E) return foreach n //Nachbar von k, noch nicht in CLOSED cost = g(n) + h(n) if (cost < OPEN[n]) OPEN[n] = cost CLOSED.add(k) k = OPEN.pop()!3
39 A* (A star) Beispiel - Dijkstra S E!39
40 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!40
41 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!41
42 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!42
43 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!43
44 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!44
45 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!45
46 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!46
47 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!4
48 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!4
49 A* (A star) Beispiel - Dijkstra S E Markiert sind Knoten in OPEN!49
50 A* (A star) Beispiel - Dijkstra Bei uniformen Kantengewichten S ist Dijkstra effektiv Breitensuche E!50
51 A* (A star) Beispiel - A* S E Markiert sind Knoten in OPEN!51
52 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik S Markiert sind Knoten in OPEN E!52
53 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik S Markiert sind Knoten in OPEN E!53
54 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik S Markiert sind Knoten in OPEN E!54
55 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 4 S Markiert sind Knoten in OPEN E!55
56 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 4 S Markiert sind Knoten in OPEN E!56
57 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 4 S Markiert sind Knoten in OPEN E!5
58 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 4 S Markiert sind Knoten in OPEN E!5
59 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!59
60 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!60
61 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!61
62 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!62
63 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!63
64 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!64
65 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!65
66 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!66
67 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!6
68 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!6
69 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 S Markiert sind Knoten in OPEN E!69
70 A* (A star) Beispiel - A* Mit Manhattan Distanz Heuristik 6 A*-Algorithmus sucht durch Heuristik stets Knoten aus, Sdie tendenziell 5 5 näher am Ziel liegen E!0
71 Iterative Deepening A*!1
72 IDA* A* benötigt exponentiellen Speicher Durch Iterative Tiefensuche längere Laufzeit, aber deutlich geringerer Speicherverbrauch Durchsuche Graph mit A*, brich aber ab einer gewissen Tiefe ab (wenn Knotengewicht threshold überschreitet, füge Knoten nicht mehr in OPEN ein)!2
73 IDA* threshold für Tiefensuche: Zu Beginn threshold = f(s) = h(s) (mit Heuristik geschätzte Distanz zu E) In jedem Durchgang: Falls f(x) > threshold, füge Knoten x nicht mehr in OPEN ein, speichere aber niedrigstes f(x) Im nächsten Durchgang ist neuer threshold das niedrigste f(x) aus dem vorherigen Durchgang (Graph muss in jeder Iteration neu aufgebaut werden)!3
74 Quellen und Fragen!4
75 Quellen Folien aus den letzten Jahren: Hans Spath (2010) Christopher Bahn (2012) Marcel Rupprecht (2015) Nico Meyer (201) Brute Force, Backtracking, Pruning: Branch & Bound: A* und IDA*:
76 Danke für Eure Aufmerksamkeit! Fragen?!6
Hallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Große Lösungsräume Maximilian Seitzer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Große Lösungsräume Worum geht s hier? Für viele wichtige Probleme sind
MehrNP-vollständige Probleme
Effiziente Algorithmen Lösen NP-vollständiger Probleme 256 NP-vollständige Probleme Keine polynomiellen Algorithmen, falls P NP. Viele wichtige Probleme sind NP-vollständig. Irgendwie müssen sie gelöst
Mehra b r a c a d a b r a
Textalgorithmen Stringmatching Algorithmus von Rabin und Karp (Folie 446, Seite 81 im Skript) a b r a c a d a b r a Gegeben u und v mit v = m. Wähle eine geeignete Hashfunktion Σ N. 1 Berechne h(v) und
MehrGraph Suchalgorithmus Uninformierte Suche Informierte Suche. Pfadsuche. Mario Mohr. GWV-Tutorium 2013/ Januar 2014
Pfadsuche Mario Mohr GWV-Tutorium 2013/14 17. Januar 2014 4 Informierte Suche Heuristik Best-first A* 1 Graph 2 Suchalgorithmus 3 Uninformierte Suche Breadth-first Loop detection & multiple-path pruning
MehrEinfü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?
MehrUninformierte 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
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 14. Klassische Suche: IDA Malte Helmert Universität Basel 31. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 3. 5. Einführung 6. 9. Basisalgorithmen
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/132 INFORMIERTE SUCHSTRATEGIEN (ISS) Benutzt neben der Definition des Problems auch problemspezifisches Wissen. Findet Lösungen effizienter
MehrGraphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47
Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford
MehrDas 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
MehrDer Branching-Operator B
Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte
MehrGrundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Exaktes Lösen NP-harter Probleme In manchen Anwendungen ist das garantierte Auffinden exakter
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/135 WIEDERHOLUNG BISLANG... Uninformierte Strategien: bearbeiten den Suchraum systematisch, aber ohne problemspezifisches Wissen ab.
MehrDatenstrukturen 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
Mehr9 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
MehrIntelligente Systeme
Intelligente Systeme Heuristische Suchalgorithmen Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian.braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke-Universität
MehrInformatik II, SS 2016
Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,
Mehr8.1 Blinde Suche. Grundlagen der Künstlichen Intelligenz. Klassische Suche: Überblick. 8. Klassische Suche: Breitensuche und uniforme Kostensuche
Grundlagen der Künstlichen Intelligenz 17. März 2014 8. Klassische Suche: Breitensuche und uniforme Kostensuche Grundlagen der Künstlichen Intelligenz 8. Klassische Suche: Breitensuche und uniforme Kostensuche
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 12
Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Christian Scheideler + Helmut Seidl SS 2009 28.06.09 Kapitel 12 1 Generische Optimierungsverfahren Techniken: Systematische Suche lass nichts aus
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrAlgorithmen 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
MehrAufgaben 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
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen
Mehr1 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
MehrBeweise aus dem Fach Grundzüge der Künstlichen Intelligenz
Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Alexander Pacha TU Wien - Matr. Nr.: 0828440 alexander.pacha@tuwien.ac.at 1 Begriserklärungen Für die folgenden Beweise werden zuerst folgende
MehrWissensbasierte 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
MehrOptimierung. Vorlesung 12
Optimierung Vorlesung 12 Letze Woche Approximieren von ILP durch randomisiertes Runden. Beispiel Set Cove Relaxiertes LP lösen und runden. Probleme: 1. Zielfunktionswert 2. Zulässigkeit 1. Linearität des
Mehr12.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
MehrSokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1
Sokoban Knowledge Engineering und Lernen in Spielen Mark Sollweck 29.04.2010 Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1 Überblick Sokoban Spielregeln Eigenschaften Lösungsansatz IDA*
MehrWeitere Algorithmenentwurfstechniken
Weitere Algorithmenentwurfstechniken 1 Backtracking Vier Damen Beim Schach bedroht die Figur der Dame alle Felder, die sich horizontal, vertikal oder diagonal von der entsprechenden Position der Dame befinden.
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen Übung Stefan Florian Palkovits, BSc 09 e09@student.tuwien.ac.at 9. Juni 0 Aufgabe 9: Anwenden der Spanning Tree Heuristik auf symmetrisches TSP 9 8 7 8 8 7 Bilden eines
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Große Lösungsräume Valentin Rothberg Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einleitung Rekursion Backtracking Pruning Branch and bound
MehrTraveling Salesman Problem (TSP)
Traveling Salesman Problem (TSP) Das Traveling Salesman Problem (TSP) ist ein bekanntes Optimierungsproblem. Ein Handlungsreisender soll in einer Rundreise (auch Tour genannt) n vorgegebene Städte besuchen.
MehrIntelligente Systeme
Intelligente Systeme Heuristische Suchalgorithmen Prof. Dr. R. Kruse. raune. Doell {kruse,cbraune,doell}@iws.cs.uni-magdeburg.de Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke
MehrKapitel 5: Suchverfahren: Backtracking
Kapitel 5: Suchverfahren: Backtracking Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 278 / 541 Suchverfahren: Backtracking Viele Probleme lassen sich als Suchprobleme formulieren.
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
Mehr9. 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)
MehrEinfü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:
MehrAbschätzung der Suchbaumgröße
Effiziente Algorithmen Lösen NP-vollständiger Probleme 263 Abschätzung der Suchbaumgröße Der Schätzwert für die Suchbaumgröße war 3529. Lassen wir das Programm laufen, ergibt sich, daß 1830 gültige Positionen
Mehr12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013
12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2
MehrÜbersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen
Übersicht 1 Einführung 2 Suchen und Sortieren 3 Graphalgorithmen 4 Algorithmische Geometrie 5 6 Paradigmen Übersicht 5 Editdistanz (Folie 446, Seite 83 im Skript) Eingabe: Zwei Strings v und w Frage: Kommt
MehrWissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften
1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften
MehrPerlen der Informatik I Wintersemester 2012 Aufgabenblatt 7
Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,
MehrAlgorithmen I. Tutorium Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-10. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-06-20 Klausur Klausuranmeldung jetzt im Studienportal möglich! Klausur am 19.07.
MehrÜbung 2 Algorithmen II
Yaroslav Akhremtsev, Demian Hespe yaroslav.akhremtsev@kit.edu, hespe@kit.edu Mit Folien von Michael Axtmann (teilweise) http://algo2.iti.kit.edu/algorithmenii_ws17.php - 0 Akhremtsev, Hespe: KIT Universität
MehrLö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
MehrEinfü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
MehrBacktracking 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
MehrEntscheidungsbä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
MehrEinführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche PD Dr. David Sabel SoSe 0 Stand der Folien:. pril 0 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/
MehrKap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung
Kap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund ACHTUNG: Die VO
MehrAlgorithmen 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
MehrBerechnung minimaler Spannbäume. Beispiel
Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau
Mehr12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure
. Der Algorithmus von Dijkstra Informatik II für Verkehrsingenieure Problemstellung Gegeben: Graph G =(V, E, len) mit positiver Kantenfunktion len : E! R 0, Knoten s, t V Mögliche Aufgaben Berechne Distanz
MehrEffizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
MehrZustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche
Zustandsraumsuche: Blinde und Heuristische Suche Einführung in die KI Übungsstunde am 01.11.04 Benmin Altmeyer 1 Heute im Angebot Was ist Suche? Suche als Probemlösung Zustandsraumsuche Vollständigkeit
Mehr11. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrMotivation für Suchverfahren. Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Motivation für Suchverfahren Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche Prof. Dr. Manfred Schmidt-Schauß SoSe 06 Beispiele: Spiele: Suche nach dem besten
MehrPaper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman
Paper Computer Science Experiment Great Principles of Computing Computation (NP-Vollständigkeit) Thema Traveling Salesman Unterrichtsform Lernen am Modell Voraussetzung Wahrscheinlich kennen viele Schüler/innen
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
MehrAlgorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
MehrMethoden für den Entwurf von Algorithmen
Methoden für den Entwurf von Algorithmen Greedy Algorithmen: - Löse ein einfaches Optimierungsproblem durch eine Folge vernünftiger Entscheidungen. - Eine getroffene Entscheidung wird nie zurückgenommen.
Mehr10. Ü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 Bäume
MehrTechnische 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
MehrAlgorithmen 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
MehrEinführung in Berechenbarkeit, Komplexität und Formale Sprachen
Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:
MehrEinführung in die Informatik 2
Einführung in die nformatik 2 raphenexploration Sven Kosub A Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 9 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 06. Juni 2018 [Letzte Aktualisierung: 06/07/2018,
MehrTheoretische 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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrDas Problem des minimalen Steiner-Baumes
Das Problem des minimalen Steiner-Baumes Ein polynomieller Approximationsalgorithmus Benedikt Wagner 4.05.208 INSTITUT FU R THEORETISCHE INFORMATIK, LEHRSTUHL ALGORITHMIK KIT Die Forschungsuniversita t
MehrEinführung in das Seminar Algorithmentechnik
Einführung in das Seminar Algorithmentechnik 10. Mai 2012 Henning Meyerhenke, Roland Glantz 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Roland undglantz: nationales Einführung Forschungszentrum
MehrKlausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y
GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne
MehrOptimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn
Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau
MehrEinführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche Prof. Dr. Manfred Schmidt-Schauß SoSe 08 Stand der Folien: 9. pril 08 Einführung Blind Search n-damen Missionare
MehrBipartites 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
Mehrvoid bellford ( List adjlst [n], int n, int i, int j){ int d[n] = + inf ; d[i] = 0;
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Datenstrukturen und Algorithmen SS5 hristian Dehnert, Friedrich Gretz, enjamin Kaminski, Thomas Ströder Tutoraufgabe (ellman-ford Algorithmus): a) Passen
MehrRückblick: divide and conquer
Rückblick: divide and conquer pi = (xi,yi) } p å } ' }d(p,p) p ''=min(, ') F 0/0 p./95 weitere Algorithmentechniken Greedy-Algorithmen dynamische Programmierung Backtracking branch and bound Heuristiken
MehrInformatik II: Algorithmen und Datenstrukturen SS 2013
Informatik II: Algorithmen und Datenstrukturen SS 2013 Vorlesung 11b, Mittwoch, 3. Juli 2013 (Editierdistanz, dynamische Programmierung) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen
Mehr3.6 Branch-and-Bound-Verfahren
36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von
MehrDas Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger
Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung Gerold Jäger Martin-Luther-Universität Halle-Wittenberg Zusammenarbeit mit Frank Fischer, Anja Lau, Paul Molitor DFG-Projekt: Toleranzbasierte
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen
MehrMatchings 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
MehrDynamische 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
MehrKognitive Systeme 1. Heuristische Suche. Dr.-Ing. Bernd Ludwig. Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg
Kognitive Systeme 1 Heuristische Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 12.11.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrSandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010
Lösungsverfahren für Ganzzahlige Optimierung Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) Fortgeschrittene Algorithmen und Datenstrukturen Arbeitsbereich für Algorithmen und Datenstrukturen Institut für
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,
MehrGraphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller
Vorkurs Informatik WS 2016/2017 Dennis Aumiller Aumiller@stud.uni-heidelberg.de 14.10.2016 Über das Thema Wo alles begann Leider keine gesonderte Vorlesung dafür oft als Teilthema in anderen Vorlesungen
MehrAlgorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016
Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie
Mehr