Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Ähnliche Dokumente
Künstliche Intelligenz

Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04

Uninformierte Suche in Java Informierte Suchverfahren

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

Einführung in Heuristische Suche

Grundlagen der Künstlichen Intelligenz

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

8.1 Blinde Suche. Grundlagen der Künstlichen Intelligenz. Klassische Suche: Überblick. 8. Klassische Suche: Breitensuche und uniforme Kostensuche

Wissensbasierte Suche

Beispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche.

Uninformierte Suche in Java Informierte Suchverfahren

10.1 Blinde Suche Blinde Suche. Grundlagen der Künstlichen Intelligenz Breitensuche: Einführung BFS-Tree. 10.

Algorithmen und Datenstrukturen

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

Einführung in Suchverfahren

Wissensbasierte Systeme

Grundlagen der Künstlichen Intelligenz

Startzustand. Mögliche heuristische Funktionen:

Wissensbasierte Systeme

Informierte Suchverfahren

Einführung in die Informatik 2

1 topologisches Sortieren

Algorithmen und Datenstrukturen 2-1. Seminar -

Kapitel 5: Suchverfahren: Backtracking

Übersicht. Informierte (heuristische) Suche. Algorithmus Bester-Zuerst-Suche. Bester-Zuerst-Suche

Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Kapitel 2: Suche. Mögliche Ziele einer Suche: Künstliche Intelligenz und Suche. Zustandsraumsuche. finde eine Lösung. finde alle Lösungen

Wissensbasierte Systeme

Breitensuche BFS (Breadth First Search)

Grundlagen der Informatik

9. Heuristische Suche

Grundlagen der Künstlichen Intelligenz

9.1 Tiefensuche. Grundlagen der Künstlichen Intelligenz. 9.1 Tiefensuche. 9.2 Iterative Tiefensuche. 9.3 Blinde Suche: Zusammenfassung

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

Grundlagen der KI + Reasoning Agents

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Grundlagen der Künstlichen Intelligenz

Seminar künstliche Intelligenz

Motivation für Suchverfahren. Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 1-5. Seminar -

Wie wird ein Graph dargestellt?

Hamiltonsche Graphen

Vorlesung Datenstrukturen

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

Relationen und DAGs, starker Zusammenhang

Einfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme

Tiefensuche (Depth-First Search) Robert Hilbrich

Einführung in die Methoden der Künstlichen Intelligenz

5. Bäume und Minimalgerüste

Dynamische Programmierung. Problemlösungsstrategie der Informatik

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

Der Branching-Operator B

ADS Vorlesung, SS06 Prof. Dr. Wolfram Conen Mai 2006

Einführung in die Methoden der Künstlichen Intelligenz. Klausurvorbereitung Überblick, Fragen,...

Listen. Für die Verarbeitung von Listen durch den Rechner ist relevant:

Algorithmen und Datenstrukturen

Programmierkurs Prolog, SS 2000

Zusammenfassung KI (von Marco Piroth)

2 Problemlösen und Suche

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

durch Einfügen von Knoten konstruiert werden kann.

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

Heuristische Suche. Uninformierte (blinde) Suchverfahren. erzeugen systematisch neue Knoten im Suchbaum und führen jeweils den Zieltest durch;

Approximationsalgorithmen für NP-harte Optimierungsprobleme

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.

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Seminararbeit. Thema : Suchverfahren. Autor : Sven Schmidt

4.7 Der Algorithmus von Dinic für maximalen Fluss

Tableaukalkül für Aussagenlogik

Vorlesung Datenstrukturen

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Datenstrukturen. einfach verkettete Liste

2. Repräsentationen von Graphen in Computern

6 Flüsse und Matchings

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

Künstliche Intelligenz Unifikation, Backtracking, Rekursion und Listen in Prolog

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Vorlesung Datenstrukturen

Sokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1

Muster. Informatik 3 (Februar 2004) Name: Matrikelnummer: Betrachten Sie den folgenden Suchbaum. A G H J K M N

Algorithmen und Datenstrukturen

Algorithmen für schwierige Probleme

2 Problemlösen und Suche

13. Bäume: effektives Suchen und Sortieren

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

Grundlagen der Kognitiven Informatik

10. Übungsblatt zu Algorithmen I im SS 2010

Tutoraufgabe 1 (Suchen in Graphen):

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Routing Algorithmen. Begriffe, Definitionen

3. Problemlösen durch Suche

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen

Einführung in die Methoden der Künstlichen Intelligenz

Algorithmen II Vorlesung am

Transkript:

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 und Korrektheit Allgemeines Schema S Expansionstrategien Blinde und Heuristische Suche Tiefen- und Breitensuche 2 1

Was ist Suche? 3 Was ist Suche? Beispiele für f r Suche Suche nach Spielzug Suche nach Parametern Suche nach Antwort, nach Beweis Suche nach einem Weg (Graphentheorie) Suche ist systematisches Probieren" Ziel muss klar sein schnellste Möglichkeit? M billigste Möglichkeit? M 4 2

Suchen: Bitte unterscheiden Suchen als Wiederfinden: Datenbank, Suchmaschine Suche nach ähnlichen Begriffen Suche nach Inhalten Suche als Problemlösung E: Existiert eine Lösung? L L: Finde eine Lösung! L O: : Finde die beste Lösung! 5 Zustandsraum Graphen, Bäume B (Z, Op, z inital, Z final ) mit Zuständen Z Operatoren Op ZxZ (Zustandsüberg bergänge), evtl. mit Kostenfunktion einem Anfangszustand z inital Z Zielzuständen Z final Z 6 3

Vollständigkeit und Korrektheit Im Graph G gibt es einen gesuchten Weg Vollständigkeit Korrektheit Algorithmus A findet einen gesuchten Weg Alle folgenden Verfahren sind korrekt nicht alle sind vollständig 7 Allgemeines Schema S Suchverfahren ohne Kostenfunktion 8 4

Blinde und Heuristische Suche Blinde Suche Keine zusätzlichen Informationen Beispiele: Tiefensuche, Breitensuche, iterat. Tiefensuche Heuristische Suche Wissen über die Zukunft Absch schätzung des Restweges Beispiele: Hill climbing, beam search,, best first (Greedy Search) 9 Allgemeines Schema S Arbeitet mit zwei Listen: : : Enthält bekannte Zustände, deren Nachfolger noch nicht berechnet wurden (d.h. nicht expandiert wurden) CLOSE: : Zustände, die vollständig expandiert sind Unterschiede bei den Verfahren vor allem Bei der Reduzierung der zu betrachtenden Nachfolger (V1) Bei der Reihenfolge der Nachfolger (V2) 10 5

Allgemeines Schema S S S0 S1 S2 S3 Kurzbeschr. Start neg. Abbruchbedingung expandieren pos. Abbruchbedingung Falls Anfangszustand z 0 ein Zielzustand: EXIT ( yes: z 0 ) Sonst := [z 0 ], CLOSED := [ ] Falls = []: EXIT ( no ) Beschreibung Sei z der erste Zustand aus := {z} CLOSED := CLOSED {z} Bilde die Menge Succ(z) der Nachfolger von z Falls Succ(z) = {}: Goto S1 Falls ein Zustand z 1 aus Succ(z) ein Zielknoten ist: EXIT ( yes: z 1 ) S4 Organisation von Reduziere 1 Menge Succ(z) zu Menge NEW(z) durch Streichen nicht weiter zu betrachtenden Zustände. Bilde neue Liste 2 durch einfügen der Elemente aus NEW(z) Goto S1. 11 Heuristische Suche Schätzfunktion σ(z): geschätzter Konstruktionsaufwand für f r Erreichen eines Zielzustandes von z aus. (dabei σ(z) = 0 für f Zielzustände z) Beschriftung der Knoten, nicht Beschriftung der Kanten!! (keine Kostenfunktion!) Heuristik: Zielzustände mit optimaler Schätzung bevorzugen Trade-Off bzgl. Aufwand zur Berechnung der Schätzung 12 6

Blind: Breiten- vs. Tiefensuche V2: Einfügen von NEW(z) in Implementation Speicheraufwand Vorteile Tiefensuche NEW(z) an den Anfang von Keller linear d*b (b: fan-out, d: Tiefe) geringer Speicherbedarf Hält sich gerade bei schwierigen Problemen nicht in oberen Ebenen auf Breitensuche NEW(z) an das Ende von Warteschlange exponentiell b d (b: fan-out, d: Tiefe) Findet immer kürzeste Lösung kein Zyklenproblem (doppelte Zustände können nicht optimal sein) Nachteile kann sich im Graph verrennen man weiss nie, ob längeres suchen bessere Lösung finden würde hoher Speicherbedarf, oft nicht durchführbar 13 Mit und ohne Test auf Wiederholung V1: Reduzierung von oben Korrekt (endl. Graph.) Vollständig (endl. Gr.) Nachteil Bermerkung Mit Test auf Wiederholung NEW(z) = Succ(z) - ( CLOSED) (findet Lösung im Fall der Existenz) hoher Speicheraufwand für CLOSED (evtl. gesamter Graph), da immer nur neue Zustände Ohne Test auf Wiederholung NEW(z) = Succ(z) Tiefensuche: nicht immer Breitensuche: hoher Zeitaufwand bei Zyklen/Maschen Statt Graph wird also abgewickelter Baum untersucht 14 7

Backtracking Spezielle Algorithmen Tiefensuche mit Schichten Nach Abarbeiten aller Zustände einer Schicht backtracking auf davor liegende Schicht Iterative Tiefensuche: Depth-first-iterative iterative deepening (DFID) Stufe 1: begrenzte Tiefensuche bis zur Tiefe 1 Stufe 2: begrenzte Tiefensuche bis zur Tiefe 2 usw. DFID hat Speicherbedarf für f r wie Tiefensuche DFID findet Lösung L wie Breitensuche (kürzeste Lösung..) 15 Heuristische Verfahren (alles ohne Test) Bergsteigen / hill climbing Strahlensuche Bestensuche / Greedy Search V1: Reduzierung von NEW NEW(z) = Succ(z) NEW(z) = Gute Auswahl aus Succ(z) NEW(z) = Succ(z) V2: Aufbau von Korrekt (endl. Gr.) NEW(z) nach Aufwand sortiert an Anfang von Ja NEW(z) nach Aufwand sortiert an Ende von NEW(z) nach Aufwand sortiert Vollständig (endl. Gr.) nicht immer (ähnlich Tiefensuche) nicht immer (eingeschränkte Breitensuche) nicht immer Bemerkung Lokale Optimierung 16 8

Zusammenfassung Vollständigkeit Korrektheit Komplexität (Schrittzahl!) Speicherplatz Breitensuche b^d Tiefensuche nein b*d it. Tiefensuche b*d Hill Climbing nein (Vorgebirgsgipfel) : mit Gedächtnis der schon besuchten b*d Beamsearch nein (ähnlich wie HC) O(d) (wenn nur ein Strahl) Exist.: 1 Konstr.: d Bestensuche (VL:nicht immer) b^d Schema S allg abh. vom Verfahren abh. vom Verfahr en 17 Fragen? Danke für f r eure Aufmerksamkeit. Benmin Altmeyer 18 9