Seminar Künstliche Intelligenz – WS 2013/14 Grundlagen der Suche Martin Hacker Richard Schaller Künstliche Intelligenz – Department Informatik FAU Erlangen-Nürnberg 7.11.2013 KISEM – WS 2013/14 Grundlagen: Suche Problemdefinition für die Suche Gegeben: Zustandsraum: Menge aller Zustände (Zustände: symbolisch oder numerisch beschrieben) einen Ausgangszustand einen oder mehrere Zielzustände (explizit oder implizit beschrieben) Aktionen für Übergänge zwischen Zuständen Pfadkostenfunktion Übliche Annahme: Pfadkosten ist Summe der Schrittkosten Gesucht: Pfad (Folge von Aktionen) zwischen Ausgangszustand und einem Zielzustand Optimale Lösung, falls Pfadkosten minimal 2 / 11 KISEM – WS 2013/14 Grundlagen: Suche Beispiel: Zustandsraum (Quelle: Google Maps) 3 / 11 KISEM – WS 2013/14 Grundlagen: Suche Beispiel: Ausgangszustand (Quelle: Google Maps) 4 / 11 KISEM – WS 2013/14 Grundlagen: Suche Beispiel: Pfad zum Zielzustand (Quelle: Google Maps) 5 / 11 KISEM – WS 2013/14 Grundlagen: Suche Zustandsraum Explizit gegeben, z.B. Straßennetz Implizit gegeben, d.h. aus Zuständen können durch Übergangsfunktion neu Zustände generiert werden Beispiel: (Quelle: Studienarbeit Richard Schaller) 6 / 11 KISEM – WS 2013/14 Suchalgorithmen Suchalgorithmen Kombination von Übergängen spannt Suchbaum auf Expansion eines Knotens: Finden (und Bewerten) der Nachfolgezustände eines Knotens Falls mehrere Pfade zum selben Zustand führen können: → Zusammenfassen um Laufzeit/Speicher zu sparen → Suchgraph Suchalgorithmen auf Suchbäumen lassen sich mit kleinen Modifikationen auch auf Suchgraphen anwenden (Test, ob Knoten über anderen Pfad schon besucht) 7 / 11 KISEM – WS 2013/14 Suchalgorithmen Suchalgorithmen Uninformierte Suche: Ohne zusätzliches Wissen Suchalgorithmen müssen potentiell den ganzen Suchbaum absuchen → exponentieller Aufwand Informierte Suche: “Clevere“ Suchalgorithmen nutzen problemspezifisches Wissen Dadurch wird versucht, so wenig Knoten wie möglich zu expandieren. Aufwand bleibt bei Problemen aus der Klasse NP exponentiell, aber der Suchraum wird verkleinert. 8 / 11 KISEM – WS 2013/14 Suchalgorithmen Suchstrategien (uninformiert) Tiefensuche: Expandiere zuletzt gefundenen Knoten zuerst → Stack Varianten: Backtracking-Suche Tiefenbeschränkte Suche Iterative deepening Breitensuche: Expandiere zuerst gefundenen Knoten zuerst → Queue Varianten: Uniform-cost search: Expandiere Knoten mit geringsten Pfadkosten zuerst → Priority-Queue Bidirektionale Suche: Zwei Suchen vom Start und vom Ziel aus. 9 / 11 KISEM – WS 2013/14 Suchalgorithmen Bewertungskriterien für Suchstrategien Vollständigkeit Optimalität Zeitkomplexität Speicherkomplexität 10 / 11 KISEM – WS 2013/14 Suchalgorithmen Zusätzliche Erschwernisse Unendliche Zustandsräume bzw. Aktionsmengen Negative Kosten Unsicherheit: Aktionen werden z.T. vom Gegner ausgeführt Nichtdeterministische Aktionen Zustandsraum teilweise unbekannt Startzustand teilweise unbekannt 11 / 11