Grundlagen der Künstlichen Intelligenz
|
|
- Eduard Ursler
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Malte Helmert Universität asel 21. März 2014
2 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Klassische Suche: Überblick Kapitelüberblick klassische Suche: Einführung asisalgorithmen 6. Datenstrukturen für Suchalgorithmen 7. aumsuche und Graphensuche 8. reitensuche und uniforme Kostensuche 9. Tiefensuche und iterative Tiefensuche folgende Kapitel: heuristische lgorithmen
3 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche
4 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung linde Suchalgorithmen: eispiele eispiele für blinde Suchalgorithmen: reitensuche uniforme Kostensuche Tiefensuche tiefenbeschränkte Suche iterative Tiefensuche
5 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung linde Suchalgorithmen: eispiele eispiele für blinde Suchalgorithmen: reitensuche uniforme Kostensuche Tiefensuche ( dieses Kapitel) tiefenbeschränkte Suche ( dieses Kapitel) iterative Tiefensuche ( dieses Kapitel)
6 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche Tiefensuche expandiert Knoten in umgekehrter Erzeugungsreihenfolge (LIFO). tiefster Knoten zuerst expandiert z.. Open-Liste als Stack implementiert
7 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: eispiel eispiel: (nnahme: Knoten in Tiefe 3 haben keine Nachfolger)
8 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: eispiel eispiel: (nnahme: Knoten in Tiefe 3 haben keine Nachfolger)
9 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: eispiel eispiel: (nnahme: Knoten in Tiefe 3 haben keine Nachfolger)
10 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: eispiel eispiel: (nnahme: Knoten in Tiefe 3 haben keine Nachfolger)
11 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: einige Eigenschaften fast immer als aumsuche implementiert (wir werden sehen, warum) nicht vollständig, nicht semi-vollständig, nicht optimal (Warum?) vollständig für azyklische Zustandsräume, z.. wenn Zustandsraum gerichteter aum
12 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Erinnerung: generischer aumsuchalgorithmus Erinnerung aus Kapitel 7: Generische aumsuche open := new OpenList open.insert(make root node()) while not open.is empty(): n = open.pop() if is goal(n.state): return extract path(n) for each a, s succ(n.state): n := make node(n, a, s ) open.insert(n ) return unsolvable
13 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche (nicht-rekursive Version) Tiefensuche (nicht-rekursive Version): Tiefensuche (nicht-rekursive Version) open := new Stack open.push back(make root node()) while not open.is empty(): n = open.pop back() if is goal(n.state): return extract path(n) for each a, s succ(n.state): n := make node(n, a, s ) open.push back(n ) return unsolvable
14 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Nicht-rekursive Tiefensuche: Diskussion Diskussion: es ist nicht viel falsch mit dem ode (sofern man aufpasst, nicht mehr benötigte Knoten freizugeben, wenn die Programmiersprache keine Garbage-ollection beinhaltet) Tiefensuche als rekursiver lgorithmus ist aber einfacher und effizienter Maschinen-Stack als implizite Open-Liste keine Suchknoten-Datenstruktur nötig
15 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche (rekursive Version) function depth first search(s) if is goal(s): return for each a, s succ(s): solution := depth first search(s ) if solution none: solution.push front(a) return solution return none Hauptfunktion: Tiefensuche (rekursive Version) return depth first search(init())
16 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: ufwand Zeitaufwand: Wenn der Zustandsraum Pfade der Länge m enthält, kann die Tiefensuche O(b m ) Knoten erzeugen, selbst wenn sehr kurze Lösungen (z.. Länge 1) existieren ndererseits: im besten Fall können Lösungen der Länge l mit O(bl) erzeugten Knoten gefunden werden. (Warum?) verbesserbar auf O(l), wenn inkrementelle Nachfolgerberechnung möglich Speicheraufwand: muss nur Knoten entlang aktuell exploriertem Pfad speichern ( entlang = Knoten auf dem Pfad und deren Kinder) Speicheraufwand O(bm) wenn m maximale erreichte Suchtiefe dieser niedrige Speicherbedarf ist der Hauptgrund, warum Tiefensuche trotz ihrer Nachteile interessant ist
17 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: ufwand Zeitaufwand: Wenn der Zustandsraum Pfade der Länge m enthält, kann die Tiefensuche O(b m ) Knoten erzeugen, selbst wenn sehr kurze Lösungen (z.. Länge 1) existieren ndererseits: im besten Fall können Lösungen der Länge l mit O(bl) erzeugten Knoten gefunden werden. (Warum?) verbesserbar auf O(l), wenn inkrementelle Nachfolgerberechnung möglich Speicheraufwand: muss nur Knoten entlang aktuell exploriertem Pfad speichern ( entlang = Knoten auf dem Pfad und deren Kinder) Speicheraufwand O(bm) wenn m maximale erreichte Suchtiefe dieser niedrige Speicherbedarf ist der Hauptgrund, warum Tiefensuche trotz ihrer Nachteile interessant ist
18 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: ufwand Zeitaufwand: Wenn der Zustandsraum Pfade der Länge m enthält, kann die Tiefensuche O(b m ) Knoten erzeugen, selbst wenn sehr kurze Lösungen (z.. Länge 1) existieren ndererseits: im besten Fall können Lösungen der Länge l mit O(bl) erzeugten Knoten gefunden werden. (Warum?) verbesserbar auf O(l), wenn inkrementelle Nachfolgerberechnung möglich Speicheraufwand: muss nur Knoten entlang aktuell exploriertem Pfad speichern ( entlang = Knoten auf dem Pfad und deren Kinder) Speicheraufwand O(bm) wenn m maximale erreichte Suchtiefe dieser niedrige Speicherbedarf ist der Hauptgrund, warum Tiefensuche trotz ihrer Nachteile interessant ist
19 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefensuche: ufwand Zeitaufwand: Wenn der Zustandsraum Pfade der Länge m enthält, kann die Tiefensuche O(b m ) Knoten erzeugen, selbst wenn sehr kurze Lösungen (z.. Länge 1) existieren ndererseits: im besten Fall können Lösungen der Länge l mit O(bl) erzeugten Knoten gefunden werden. (Warum?) verbesserbar auf O(l), wenn inkrementelle Nachfolgerberechnung möglich Speicheraufwand: muss nur Knoten entlang aktuell exploriertem Pfad speichern ( entlang = Knoten auf dem Pfad und deren Kinder) Speicheraufwand O(bm) wenn m maximale erreichte Suchtiefe dieser niedrige Speicherbedarf ist der Hauptgrund, warum Tiefensuche trotz ihrer Nachteile interessant ist
20 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche
21 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefenbeschränkte Suche Tiefenbeschränkte Suche: Tiefensuche, die alle Suchknoten in einer gegebenen Tiefe n abschneidet (nicht weiter expandiert) für sich allein nicht sehr nützlich, aber wichtige Zutat in nützlicheren Suchalgorithmen
22 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Tiefenbeschränkte Suche: Pseudo-ode function depth limited search(s, depth limit): if is goal(s): return if depth limit > 0: for each a, s succ(s): solution := depth limited search(s, depth limit 1) if solution none: solution.push front(a) return solution return none
23 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche Iterative Tiefensuche: Idee: führe eine Folge tiefenbeschränkter Suchen mit ansteigenden Tiefenschranken aus klingt verschwenderisch (jede Iteration wiederholt die gesamte vorher geleistete rbeit), aber tatsächlich ist der ufwand vertretbar ( nalyse folgt) Iterative Tiefensuche for depth limit {0, 1, 2,... }: solution := depth limited search(init()), depth limit) if solution none: return solution
24 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: Eigenschaften Kombiniert Vorteile von reiten- und Tiefensuche: (fast) wie FS: semi-vollständig (allerdings nicht vollständig) wie FS: optimal wenn alle ktionen dieselben Kosten haben wie DFS: muss nur Knoten entlang eines Pfades speichern Speicheraufwand O(bd), wobei d minimale Lösungslänge Zeitaufwand kaum höher als FS ( siehe nalyse später)
25 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: eispiel Limit = 0 Limit = 1 Limit = 2 Limit = 3
26 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: eispiel Limit = 0 Limit = 1 Limit = 2 Limit = 3
27 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: eispiel Limit = 0 Limit = 1 Limit = 2 Limit = 3
28 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: eispiel Limit = 0 Limit = 1 Limit = 2 Limit = 3
29 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: eispiel für den ufwand Zeitaufwand (erzeugte Knoten): reitensuche Iterative Tiefensuche 1 + b + b b d 1 + b d (d + 1) + db + (d 1)b b d 1 + 1b d eispiel: b = 10, d = 5 reitensuche = Iterative Tiefensuche = für b = 11, nur 11% mehr Knoten als mit reitensuche
30 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: Zeitaufwand Satz (Zeitaufwand der iterativen Tiefensuche) Sei b der maximale Verzweigungsgrad und d die minimale Lösungslänge des betrachteten Zustandsraums. Gelte b 2. Dann beträgt der Zeitaufwand der iterativen Tiefensuche (d + 1) + db + (d 1)b 2 + (d 2)b b d = O(b d ) und der Speicheraufwand beträgt O(bd)
31 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Iterative Tiefensuche: ewertung Iterative Tiefensuche: ewertung Iterative Tiefensuche ist oft die Methode der Wahl, wenn aumsuche angemessen (keine Duplikateliminierung nötig) ist und die Lösungstiefe unbekannt ist.
32 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung linde Suche: Zusammenfassung
33 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung Vergleich blinder Suchalgorithmen Vollständigkeit, Optimalität, Zeit- und Speicheraufwand Kriterium reiten- uniforme Tiefen- tiefen- iterative suche Kostensuche suche beschr. S. Tiefensuche vollständig? ja * ja nein nein semi optimal? ja ** ja nein nein ja ** Zeit O(b d ) O(b 1+ c /ɛ ) O(b m ) O(b l ) O(b d ) Speicher O(b d ) O(b 1+ c /ɛ ) O(bm) O(bl) O(bd) b 2 d m l c ɛ > 0 Verzweigungsgrad min. Lösungstiefe max. Suchtiefe Tiefenschranke optimale Lösungskosten min. ktionskosten nmerkungen: * für FS-Tree: semi-vollständig ** nur mit uniformen ktionskosten
Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.
MehrHEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
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
Mehr3. Problemlösen durch Suche
3. Problemlösen durch Suche Problemlösende Agenten sind zielorientierte Agenten. Zielformulierung Fokussierung des möglichen Verhaltens unter Berücksichtigung der aktuellen Situation Problemformulierung
MehrBranch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir
Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.
MehrSuche 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:
Mehr39.1 Alpha-Beta-Suche
Grundlagen der Künstlichen Intelligenz. Mai 0 9. Brettspiele: Alpha-Beta-Suche und Ausblick Grundlagen der Künstlichen Intelligenz 9. Brettspiele: Alpha-Beta-Suche und Ausblick 9.1 Alpha-Beta-Suche Malte
MehrVortrag. 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
MehrHeuristische Suche. Uninformierte (blinde) Suchverfahren. erzeugen systematisch neue Knoten im Suchbaum und führen jeweils den Zieltest durch;
Heuristische Suche Uninformierte (blinde) Suchverfahren erzeugen systematisch neue Knoten im Suchbaum und führen jeweils den Zieltest durch; verwenden keine problemspezifische Zusatzinformation. Informierte
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 39. Brettspiele: Alpha-Beta-Suche und Ausblick Malte Helmert Universität Basel 23. Mai 2014 Brettspiele: Überblick Kapitelüberblick: 38. Einführung und Minimax-Suche
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?
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
MehrGrundlagen der KI + Reasoning Agents
Grundlagen der KI + Reasoning Agents Prof. Thielscher Welche heuristischen Suchverfahren gibt es? Erläutern Sie A* am Beispiel. Aufbau und Schlussfolgerungen von Bayesschen Netzen. Thielscher drängt auf
MehrEinfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrStruktur am Beispiel einer Liste
Struktur am Beispiel einer 1 Einfügen(neues element ) Aktiv Wartend knoten knoten 2 Einfügen(neues element ) Aktiv Wartend knoten knoten 3 Einfügen(neues element ) Aktiv Wartend knoten knoten 4 Aha, ich
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
MehrSeminar künstliche Intelligenz
Seminar künstliche Intelligenz Das Kürzeste-Wege-Problem in öffentlichen Verkehrsnetzen Stefan Görlich mi5517 25.05.2005 Inhalt 1. Einleitung 1.1 Problemstellung 3 1.2 Zielsetzung 3 1.3 Die Suche in öffentlichen
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrAlgorithmen 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
Mehr1 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
MehrGrundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen
. Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume
1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten
MehrAlgorithmen 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
MehrProgrammierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung
Programmierstil Objektsammlungen Einführung in Sammlungen Variablennamen Kommentare Layout Einrückung (siehe: Stilrichtlinien im Buchanhang) 4.0 Konzepte Sammlungen (besonders: ArrayList) Schleifen: die
MehrKlausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 5. Klassische Suche: Beispiele von Zustandsräumen Malte Helmert Universität Basel 7. März 2014 Suchprobleme: Überblick Kapitelüberblick klassische Suche: 3. 5. Einführung
MehrVorlesung 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?
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
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)
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrDefinition 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.
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 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 2. April
MehrBreiten- und Tiefensuche in Graphen
Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen
MehrKI und Sprachanalyse (KISA)
Folie 1 KI und Sprachanalyse (KISA) Studiengänge DMM, MI (B. Sc.) Sommer Semester 15 Prof. Adrian Müller, PMP, PSM1, CSM HS Kaiserslautern e: adrian.mueller@ hs-kl.de Folie 2 ADVERSIALE SUCHE Spiele: Multi-Agenten
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
MehrBäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda
Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrBaumsuche, Partielle Ordnungen und eine neue Familie uninformierter A
Baumsuche, Partielle Ordnungen und eine neue Familie uninformierter Algorithmen..9 Übersicht Einführung Übersicht - Verfahren - Eigenschaften Übersicht - Verfahren - Eigenschaften Übersicht - Verfahren
Mehr11.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
MehrNichtdeterministische Platzklassen
Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein
Mehr8. Uninformierte Suche
8. Uninformierte Suche Prof. Dr. Ruolf Kruse University of Mageurg Faculty of Computer Science Mageurg, Germany ruolf.kruse@cs.uni-mageurg.e S otationen () otationen: Graph Vorgänger (ancestor) von Knoten
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
MehrAlgorithmen und Datenstrukturen Kapitel 10
Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition
MehrDatenstrukturen & 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
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrEin 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
Mehr8 Baum in perfekter Komposition
8 Baum in perfekter Komposition Die Implementierung des Binärbaums im letzten Kapitel wird mithilfe des Entwurfsmusters Kompositum optimiert. Knoten und Abschluss Bei der einfach verketteten Liste wurde
MehrBTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
MehrBäume, Suchbäume und Hash-Tabellen
Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche
Mehr3.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)
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrGraphalgorithmen Knotentraversierung Breitensuche, (Breadth first search) Erst alle Knoten im Abstand i von s, dann i+1,...
Graphalgorithmen Knotentraversierung Breitensuche, (Breadth first search) Erst alle Knoten im Abstand i von s, dann i+,... bfs(knoten s) { Besuche jeden Nachfolger s' von s; Für jeden Nachfolger s' bfs
MehrWo geht s lang: Routing. Erstellt von Simon Wegbünder.
Wo geht s lang: Routing Erstellt von. 1. Routing allgemein efinition: Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung in Rechnernetzen - Paketvermittelte Übertragung (so auch
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
MehrSpeicher und Adressraum
Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode
MehrBinärbäume. Prof. Dr. E. Ehses, 2014 1
Binärbäume Grundbegriffe der Graphentheorie Bäume und Ihre Anwendungen Unterschiedliche Darstellungen von Bäumen und Binärbäumen Binärbäume in Java Rekursive Traversierung von Binärbäumen Ebenenweise Traversierung
MehrEinführung in (Binäre) Bäume
edeutung und Ziele inführung in (inäre) äume Marc Rennhard http://www.tik.ee.ethz.ch/~rennhard rennhard@tik.ee.ethz.ch äume gehören ganz allgemein zu den wichtigsten in der Informatik auftretenden atenstrukturen,
MehrHäufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori
Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,
Mehr4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum
4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrDatenstrukturen & 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
MehrInformatik Grundlagen, WS04, Seminar 13
Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt
Mehr13. 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),
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
MehrDivide and Conquer. Teile-und-herrsche. Ferd van Odenhoven. 7. Oktober 2010
7. Oktober 2010 eile und Herrsche eile-und-herrsche (Divide-and-conquer) Divide and Conquer Ferd van Odenhoven Fontys Hogeschool voor echniek en ogistiek Venlo Software ngineering 7. Oktober 2010 OD/FHB
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrInhalt. Kognitive Systeme 1. Beispiel: Routenplanung. Zustände. Definition. Example. Grundlagen und Beispiele zu Suche. Dr.-Ing.
Kognitive Systeme 1 Grundlagen und Beispiele zu Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 29.10.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl
MehrProgrammieren lernen mit Groovy Rekursion Rekursion und Iteration
Programmieren lernen mit Groovy Rekursion Seite 1 Rekursion Rekursion Ursprung lat. recurrere ~ zurücklaufen rekursive Definition Definition mit Bezug auf sich selbst Beispiel Fakultätsfunktion n! 0! =
MehrAbstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015
Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken
Mehr10 Graphenalgorithmen in Java
10.1 Implementierung eines gewichteten Graphen 10.2 Implementierung der Breitensuche 10.3 Implementierung der Tiefensuche 10 147 Teil X Graphalgorithmen in Java Überblick Implementierung eines gewichteten
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 7. Aussagenlogik Analytische Tableaus Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Der aussagenlogische Tableaukalkül
MehrRekurrenzen T(n) = T(n 1) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus
Algorithmen und Datenstrukturen Übung Rekurrenzen T(n) = T(n ) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus Bsp. Fibunacci F(n) = F(n ) + F(n ) N F(0) = F() = F(N) rekursive Aufrufe,8
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
MehrAgenda. 1 Einleitung. 2 Binäre Bäume. 3 Binäre Suchbäume. 4 Rose Trees. 5 Zusammenfassung & Ausblick. Haskell Bäume. Einleitung.
Vortrag: Bäume in Haskell Bäume in Haskell Vortrag Christoph Forster Thomas Kresalek Fachhochschule Wedel University of Applied Sciences 27. November 2009 Christoph Forster, Thomas Kresalek 1/53 Vortrag
MehrEine molekulare Lösung des Hamiltonkreisproblems mit DNA
Eine molekulare Lösung des Hamiltonkreisproblems mit DNA Seminar Molecular Computing Bild: http://creatia2013.files.wordpress.com/2013/03/dna.gif Andreas Fehn 11. Juli 2013 Gliederung 1. Problemstellung
MehrÜbersicht. 5. Spiele. I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen VI
MehrAlgorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &
Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann heitmann@informatik.uni-hamburg.de 25. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/122
MehrProjekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
MehrEarly first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement
Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage
MehrDynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..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
MehrSpiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrSpieltheorie. Sebastian Wankerl. 16. Juli 2010
Spieltheorie Sebastian Wankerl 16. Juli 2010 Inhalt 1 Einleitung 2 Grundlagen Extensive Form choice functions Strategien Nash-Gleichgewicht Beispiel: Gefangenendillema 3 Algorithmen Minimax Theorem Minimax
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Rot-schwarz Bäume Eigenschaften Rotationen Einfügen (Löschen) 2 Einführung Binäre Suchbäume Höhe h O(h) für Operationen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrEinstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking
MehrKD-Bäume. ein Vortrag von Jan Schaefer
ein Vortrag von Jan Schaefer Überblick - Kurzer Rückblick: Quad Trees - KD-Baum bauen - Effizienz des Konstruktionsalgorithmus - Regionen - Bereichssuche - Effizienz des Suchalgorithmus - Anwendungsgebiete
MehrTechnische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
MehrSeminararbeit. Thema : Suchverfahren. Autor : Sven Schmidt
Seminararbeit Thema : Suchverfahren Autor : Sven Schmidt ii4765, FH-Wedel Inhalt 1. Grundlagen 1.1. Problemlösen als Suche 1.2. Generische Suche 1.3. Bewertung von Suchstrategien 2. Uninformierte Suchverfahren
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrÜbungspaket 29 Dynamische Speicherverwaltung: malloc() und free()
Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten
MehrWhitepaper In File Delta
Whitepaper In File Delta Version 5.x Inhaltsverzeichnis 1 Einleitung... 2 i. Differentieller Delta Modus... 2 ii. Inkrementeller Delta Modus... 2 2 Delta Erzeugung... 3 3 Einstellen der Blockgröße... 3
Mehr