Wissensbasierte Systeme 3. Problemlösen durch Suche Problemlösende Agenten, Problemformulierungen, Suchstrategien Michael Beetz Plan-based Robot Control 1 Inhalt 3.1 Problemlösende Agenten 3.2 Problemformulierungen 3.3 Problemtypen 3.4 Definitionen und Beispielprobleme 3.5 Suchstrategien 3.6 Constraint-Satisfaction Probleme Plan-based Robot Control 2 3.1.1. Motivation • frühe KI: Puzzles, Theorembeweisen, Spiele, ... • Beispiele: – – – – – – = Missionaren und Kannibalen Kryptarithmische Rätsel Schach, Mühle, ... Theorembeweisen 8-Puzzle Traveling Salesman Probleme Exploration von Alternativen Plan-based Robot Control 3 3.1.2. Problemräume (Problem Spaces) • einheitliche Sichtweise (Newell und Simon): Problemraum • Problemraum: – Zustandsraum – Menge von Operatoren • Problemraumhypothese (Newell ’72): – Jegliche zielgerichtete symbolische Aktivität findet in einem Problemraum statt – Suche im Problemraum ist ein allgemeines Modell von kompetentem Problemlösen • Kritik an der Problemraumhypothese Plan-based Robot Control 4 3.1.3. Problemraum: Theorembeweisen • Zustandsraum: Menge von Propositionen • Operatoren: Inferenzregeln • Anfangszustand: Menge von Axiomen • Ziel: Proposition Plan-based Robot Control 5 3.1.4. Problemlösende Agenten ⇒ problemlösende Agenten = Art von zielorientierten Agenten ⇒ wähle Aktionen, indem man zunächst eine Sequenz von Aktionen bestimmt, die Zielzustände bewirken Formuliere: Ziel (= Menge von Zuständen) und Problem Gegeben: Anfangszustand Gewünscht: Erreichen eines bestimmten Ziels (eines Zustandes) durch Ausführen geeigneter Aktionen ; Suche einer geeigneten Aktionsfolge und Ausführung dieser Folge Plan-based Robot Control 6 3.1.5. Ein einfacher problemlösender Agent Plan-based Robot Control 7 3.1.6. Wie schwierig sind Suchprobleme? • 8-Puzzle: – Verzweigungsfaktor: 2.13 – Suchbaum der Tiefe 20 enthält 3.7 Millionen Knoten 15-Puzzle: 1013 • Rubik’s Cube: – Suchraum: 901,083,404,981,813,616 Knoten – 1 Mega-Dreh/sec: 28,000 Jahre • Schach: – – – – Verzweigungsfaktor: ca. 35 Suchraum Tiefe 5: > 52 Millionen Knoten Tiefe 20: 7.6 * 1030 Gesamtsuchraum (geschätzt): 10120 Plan-based Robot Control 8 3.2.1. Problemformulierung • Formulierung des Ziels Weltzustände mit bestimmten Eigenschaften • Festlegen des Weltzustandsraums (wichtig: nur die relevanten Aspekte ; Abstraktion) • Festlegen der Aktionen, die einen Weltzustand in einen anderen überführen • Bestimmung des Problemtyps, der abhängig vom Wissen über Weltzustände und Aktionen ist ; Zustände im Suchraum • Bestimmung der Kosten für das Suchen (Suchkosten, Offline-Kosten) und der Ausführungskosten (Pfadkosten, Online-Kosten) Achtung: Die Art der Problemformulierung kann einen groen Einfluss auf die Schwierigkeit der Lösung haben. Plan-based Robot Control 9 3.2.2. Beispiel für Problemformulierung Gegeben ein n × n Brett, bei dem an den beiden diagonal gegenüberliegenden Ecken je ein Feld entfernt wurde (hier 8 × 8): Ziel: Das Brett so mit Dominosteinen, die jeweils zwei benachbarte Felder überdecken, belegen, dass alle Felder abgedeckt werden. ; Ziel, Zustandsraum, Aktionen, Suche . . . Plan-based Robot Control 10 3.2.3. Alternative Problemformulierung Frage: Kann man ein Brett, auf dem es n2/2 schwarze und n2/2 − 2 weie Felder gibt, so mit Dominosteinen, die jeweils ein weies und ein schwarzes Feld überdecken, belegen, dass alle Felder abgedeckt sind? . . . natürlich nicht Plan-based Robot Control 11 3.2.4. Problemformulierung für die Staubsaugerwelt • Weltzustandsraum: 2 Positionen, Schmutz oder kein Schmutz ; 8 Weltzustände • Aktionen: links (L), rechts(R), saugen(S) • Ziel: kein Schmutz in den Räumen • Pfadkosten: pro Aktion 1 Einheit Plan-based Robot Control 12 3.3.1. deterministische, voll beobachtbare Probleme Einzustandsprobleme in der Staubsaugerwelt • voll beobachtbarer Zustandsraum Zustand eindeutig identifizierbar • deterministische Dynamik Effekte sind deterministisch • Dann kann er den Zustand bestimmen, den die Umgebung hat, nachdem er eine gegebene Folge von Aktionen ausgeführt hat • Insbesondere kann er bestimmen welche Aktionssequenz (Prozedur) einen Zielzustand bewirkt • Beispiel: – Anfangszustand = 5 – Aktionssequenz: [right,suck] Plan-based Robot Control 13 3.3.2. Die Staubsaugerwelt als Einzustandsproblem Falls die Welt vollständig zugänglich ist, wei der Staubsauger immer, wo er und der Schmutz sind. Problemlösen reduziert sich dann auf die Suche nach einem Pfad von unserem Anfangszustand zu einem Zielzustand. Zustände für die Suche: Die Weltzustände 1–8. Plan-based Robot Control 14 3.3.3. nichtdeterministische voll beobachtbare Probleme Mehrzustandsprobleme in der Staubsaugerwelt (1) • voll beobachtbarer Zustandsraum • nichtdeterministische Dynamik • gegeben einen Start- und eine Menge von Zielzuständen dann gibt es eine Prozedur (Value Iteration für MDPs), die eine feste Policy (Abbildung von Zuständen auf Aktionen), die den Agenten vom Startzustand zum Zielzustand überführt Plan-based Robot Control 15 3.3.4. nichtdeterministische voll beobachtbare Probleme Mehrzustandsprobleme in der Staubsaugerwelt (1) • Gesetzt den Fall, daß der Roboter 1. nur den den Zustand der lokalen Zelle bestimmen kann und 2. die Effekte seiner Aktionen kennt (die Effekte sind deterministisch) • Dann muß er die Menge der möglichen Zustände bei der Aktionsauswahl betrachten. • Dann kann er die Menge der Zustände bestimmen, die die Umgebung haben kann nachdem er eine gegebene Folge von Aktionen ausgeführt hat • Insbesondere kann er bestimmen welche Aktionssequenz einen Zielzustand bewirkt • Beispiel: – Anfangszustand = {1,2,3,4,5,6,7,8} – Aktionssequenz: [right,suck,left,suck] Plan-based Robot Control 16 3.3.5. Kontingenzprobleme in der Staubsaugerwelt • Gesetzt den Fall, daß die Effekte der Roboteraktionen nichtdeterministisch sind: Aktionsmodell SUCK IF NO-DIRT THEN DIRT ∨ NO-DIRT ELSE NO-DIRT • dann gilt: 1. Falls er den Anfangszustand kennt, dann kann er eine Aktionssequenz bestimmen, die das Ziel erreicht 2. Falls er den Anfangszustand nur teilweise kennt, kann er keine Aktionssequenz bestimmen, die das Ziel notwendigerweise erfüllt. • Die zweite Klasse von Problemen werden Kontingenzprobleme genannt: Sie erfordern Zustandsperzeption während der Ausführung: sauge wenn die Zelle schmutzig ist Plan-based Robot Control 17 3.3.6. Deterministische, partiell beobachtbare Probleme Falls der Staubsauger keine Sensoren besitzt, wei er nicht, wo er ist und wo Schmutz ist. Trotzdem kann er das Problem lösen. Zustände sind dann Wissenszustände: Zustände für die Suche: Potenzmenge der Weltzustände 1–8. Plan-based Robot Control 18 3.3.7. nichtdeterministische, partiell beobachtbare Probleme • partiell beobachtbare Zustandsräume • nichtdeterministische Dynamik • gegeben eine Start- und eine Menge von Zielzuständen es gibt eine Prozedur (partiell beobachtbarer Markoventscheidungsprozeß) die eine fixe partielle Policy (Abbildung von Teilmengen von Zuständen auf Aktionen), die den Agenten von einem Start- zu Zielzuständen bringt, falls eine solche Policy existiert. Plan-based Robot Control 19 Plan-based Robot Control 20 3.3.8. Problemtypen: Wissen über Zustände und Aktionen Einzustandsproblem vollständiges Weltzustandswissen, vollständiges Aktionswissen ; der Agent weiβ immer, in welchem Weltzustand er ist. Mehrzustandsproblem unvollständiges Weltzustandswissen oder unvollständiges Aktionswissen ; der Agent weiβ nur, in welcher Menge von Weltzuständen er ist. Kontingenzproblem es ist unmöglich, eine komplette Sequenz von Aktionen zur Lösung im voraus zu bestimmen, da nicht alle Informationen über Zwischenzustände vorliegen. Explorationsproblem Zustandsraum und Effekte der Aktionen nicht vollständig bekannt. Schwer! Plan-based Robot Control 21 3.4.1. Begriffe (1) Anfangszustand Zustand, von dem der Agent glaubt, anfangs zu sein Zustandsraum Menge aller möglichen Zustände Operator Beschreibung einer Aktion durch Angabe des resultierenden Zustands Zieltest Test, ob die Beschreibung eines Zustands einem Zielzustand entspricht Plan-based Robot Control 22 3.4.2. Begriffe (2) Pfad Sequenz von Aktionen, die von einem Zustand zu einem anderen führen. Pfadkosten: Kostenfunktion g über Pfaden. Setzt sich üblicherweise aus der Summe der Kosten der Aktionen zusammen. Lösung Pfad von einem Anfangs- zu einem Zielzustand. Suchkosten Zeit- und Speicherbedarf, um eine Lösung zu finden. Gesamtkosten Suchkosten + Pfadkosten. Plan-based Robot Control 23 3.4.3. Beispiel: 8er-Puzzle • Zustände: – Beschreibung der Lage jedes der 8 Kästchen und (aus Effizienzgründen) des Leerkästchens. • Operatoren: – Verschieben“ des Leerkästchens nach links, rechts, oben und unten. ” • Zieltest: – Entspricht aktueller Zustand dem rechten Bild? • Pfadkosten – Jeder Schritt kostet 1 Einheit. Plan-based Robot Control 24 3.4.4. Beispiel: 8 Damen Problem • Zieltest – 8 Damen auf dem Brett, keine angreifbar • Pfadkosten: 0 (nur die Lösung interessiert) • Darstellung 1 – Zustände: beliebige Anordnung von 0–8 Damen – Operatoren: setze eine der Damen aufs Brett – Problem: 648 Zustände Plan-based Robot Control 25 3.4.5. 8 Damen Problem (2) • Darstellung 2 – Zustände: Anordnung von 0–8 Damen in unangreifbarer Stellung – Operatoren: Setze eine der Damen soweit wie möglich links unangreifbar auf das Brett – Problem: wenige Zustände (2057), aber manchmal keine Aktion möglich: • Darstellung 3 – Zustände: 8 Damen auf dem Brett, eine in jeder Spalte – Operatoren: verschiebe eine angegriffene Dame in derselben Spalte Plan-based Robot Control 26 3.4.6. Beispiel: Missionare und Kannibalen Informelle Problembeschreibung: • An einem Fluss haben sich 3 Kannibalen und 3 Missionare getroffen, die alle den Fluss überqueren wollen. • Es steht ein Boot zur Verfügung, das maximal zwei Leute aufnehmen kann. • Es sollte nie die Situation auftreten, dass an einem Ufer Missionare und Kannibalen sind und dabei die Anzahl der Kannibalen die Anzahl der Missionare übertrifft. ; Finde eine Aktionsfolge, die alle an das andere Ufer bringt. Plan-based Robot Control 27 3.4.7. Formalisierung des MuK-Problems Zustände: Tripel (x,y,z) mit 0 ≤ x, y, z ≤ 3, wobei x, y und z angeben, wieviele Missionare, Kannibalen und Boote sich zur Zeit am Ausgangsufer befinden. Anfangszustand: (3,3,1) Operatoren: Von jedem Zustand aus entweder einen Missionar, einen Kannibalen, zwei Missionare, zwei Kannibalen, oder einen von jeder Sorte über den Fluss bringen. (also 5 Operatoren) Beachte: nicht jeder Zustand damit erreichbar [z.B. (0,0,1)] und einige sind illegal. Endzustand: (0,0,0) Pfadkosten: 1 Einheit pro Flussüberquerung Plan-based Robot Control 28 3.4.8. Beispiele für reale Probleme • Routenplanung, Finden kürzester Pfade Im Prinzip einfach (polynomiales Problem). Komplikationen bei unbekannten, sich dynamisch verändernden Pfadkosten (Beispiel: Routenplanung in Kanada) • Planung von Rundreisen (TSP) Eines der prototypischen NP-vollständigen Probleme. • VLSI Layout Auch ein NP-vollständiges Problem. Plan-based Robot Control 29 Beispiele für reale Probleme (2) • Roboter Navigation (mit vielen Freiheitsgraden) Schwierigkeit nimmt mit der Anzahl der Freiheitsgrade extrem zu. Weitere mögliche Komplikationen: Fehler bei Wahrnehmungen, unbekannte Umgebungen. • Montageplanung Planung des Zusammenbaus von komplexen Objekten. Plan-based Robot Control 30 3.4.9. Allgemeine Formalisierung von Suchproblemen Ein Suchproblem ist ein Quintupel: • QQ: endliche Menge von Zuständen • S ⊂ Q: nichtleere Menge von Startzuständen • G ⊂ Q: nichtleere Menge von Zielzuständen (oft implizit durch einen Zieltest spezifiziert) • A: endliche Menge von Aktionen • Successors: Q × A → Q • Cost: Q × A × Q → R+ (nur für Zustände, die in der Successor Funktion beinhaltet sind) Plan-based Robot Control 31 3.4.10. Welche Probleme können als Suchprobleme betrachtet werden? • Probleme, die man durch hQ, S, G, Successors, Costi beschreiben kann. • Intuitiv: Probleme die man als das Auffinden von Knoten/Pfaden in endlichen Graphen betrachten kann. Plan-based Robot Control 32 3.5.1. Suche allgemein Ausgehend vom Anfangszustand schrittweise alle Nachfolgezustände erzeugen ; Suchbaum. Plan-based Robot Control 33 3.5.2. Allgemeine Suchprozedur Plan-based Robot Control 34 3.5.3. Implementierung des Suchbaums Datenstruktur für Knoten im Suchbaum: State: Zustand des Zustandsraums Parent-Node: Vorgängerknoten Operator: Operator, der den aktuellen Knoten erzeugt hat Depth: Tiefe im Suchbaum Path-Cost: Pfadkosten bis zu diesem Knoten Funktionen zum Manipulieren einer Warteschlange (Queue): Make-Queue(Elements): Erzeugt eine Queue Empty?(Queue): Testet auf Leerheit Remove-Front(Queue): Gibt erstes Element zurück Queuing-Fn(Elements, Queue): Fügt neue Elemente ein (verschiede Möglichkeiten) Plan-based Robot Control 35 3.5.4. Allgemeine Suche . . . konkret Plan-based Robot Control 36 3.5.5. Suchstrategien (1) Kriterien: Vollständigkeit: Wird immer eine Lösung gefunden, sofern es eine gibt? Zeitkomplexität: Wie lange dauert es (im schlechtesten Fall), bis eine Lösung gefunden ist? Platzkomplexität: Wieviel Speicher benötigt die Suche (im schlechtesten Fall)? Optimalität: Findet das Verfahren immer die beste Lösung? Plan-based Robot Control 37 3.5.6. Suchstrategien (2) uninformierte oder blinde Suche: keine Information über die Länge oder Kosten eines Lösungspfades. • Breitensuche, uniforme Kostensuche, Tiefensuche, • tiefenbeschränkte Suche, iterative Tiefensuche, • bidirektionale Suche im Unterschied dazu: informierte oder heuristische Suche. Plan-based Robot Control 38 3.5.7. Breitensuche (1) Expandiere Knoten in der Reihenfolge, in der sie erzeugt werden (Queue-Fn = Enqueue-at-end). • Findet immer die flachste Lösung (vollständig). • Die Lösung ist optimal, wenn Pfadkosten eine nichtfallende Funktion der Knotentiefe ist (z.B. wenn jede Aktion identische, nichtnegative Kosten hat). Plan-based Robot Control 39 3.5.8. Breitensuche (2) • Allerdings sind die Kosten sehr hoch. Sei b der maximale Verzweigungsfaktor, d die Tiefe eines Lösungspfads. Dann müssen maximal 1 + b + b2 + b3 + . . . + bd Knoten expandiert werden, also O(bd). Beispiel: b = 10, 1000 Knoten/s; 100 Bytes/Knoten: Plan-based Robot Control 40 Plan-based Robot Control 41 3.5.9. Uniforme Kostensuche In Abwandlung der Breitensuche wird immer der Knoten n mit den geringsten Pfadkosten g(n) expandiert. Findet immer die günstigste Lösung, falls g(succ(n)) ≥ g(n) für alle n. Plan-based Robot Control 42 3.5.10. Tiefensuche Expandiere immer einen nicht expandierten Knoten mit maximaler Tiefe (Queue-Fn = Enqueue-at-front). Beispiel (Knoten der Tiefe 3 haben keine Nachfolger): Plan-based Robot Control 43 3.5.11. Tiefenbeschränkte Suche Es wird nur bis zu einer vorgegebenen Pfadlänge Tiefensuche durchgeführt. z.B. Wegeplanung: Bei n Städten ist die maximale Tiefe n − 1. Hier reicht maximale Tiefe 9 (Durchmesser des Problems) Plan-based Robot Control 44 3.5.12. Iterative Tiefensuche (1) • kombiniert Tiefen- und Breitensuche. • optimal und vollständig wie Breitensuche, aber weniger Speicherplatz. Plan-based Robot Control 45 3.5.13. Beispiel Plan-based Robot Control 46 3.5.14. Iterative Tiefensuche (2) Zahl der Expansionen Iterative Tiefensuche Breitensuche (d + 1)1 + (d)b + (d − 1)b2 + . . . + 3bd−2 + 2bd−1 + 1bd 1 + b + b2 + b3 + . . . + bd−1 + bd Beispiel: b = 10, d = 5 Breitensuche: 1 + 10 + 100 + 1000 + 10000 + 100000 = 111111 Iterative Tiefensuche: 6 + 50 + 400 + 3000 + 20000 + 100000 = 123456 Für b = 10 werden nur 11% mehr Knoten expandiert als bei Breitensuche, wobei der Platzbedarf erheblich niedriger ist! Zeitkomplexität: O(bd) Platzkomplexität: O(b × d) Iterative Tiefensuche ist nicht viel schlechter und i.allg. die bevorzugte Suchmethode bei groen Suchräumen mit unbekannter maximaler Suchtiefe. Plan-based Robot Control 47 3.5.15. Bidirektionale Suche • Sofern Vorwärts- und Rückwärtssuche symmetrisch sind, erreicht man Suchzeiten von O(2 × bd/2) = O(bd/2). z.B. für b = 10, d = 6 statt 1111111 nur 2222 Knoten! Plan-based Robot Control 48 Probleme mit bidirektionaler Suche • Die Operatoren sind nicht immer oder nur sehr schwer umkehrbar (Berechnung der Vorgängerknoten). • In manchen Fällen gibt es sehr viele Zielzustände, die nur unvollständig beschrieben sind. Beispiel: Vorgänger des Schachmatt“. ” • Man braucht effiziente Verfahren, um zu testen, ob sich die Suchverfahren getroffen“ haben. ” • Welche Art der Suche wählt man für jede Richtung (im Bild: Breitensuche, die nicht immer optimal ist)? Plan-based Robot Control 49 3.5.16. Vergleich der Suchstrategien • • • • Zeitkomplexität Platzkomplexität Optimalität Vollständigkeit b: Verzweigungsfaktor, d: Tiefe der Lösung, m: maximale Tiefe des Suchbaums, l: Tiefenlimit Plan-based Robot Control 50 3.6. Zusammenfassung • Bevor ein Agent beginnen kann, eine Lösung zu suchen, muss er sein Ziel und darauf aufbauend sein Problem definieren. • Ein Problem besteht aus 5 Teilen: Zustandsraum, Anfangszustand, Operatoren, Zieltest und Pfadkosten. Ein Pfad vom Anfangszustand zu einem Zielzustand ist eine Lösung. • Es existiert ein genereller Suchalgorithmus, der benutzt werden kann, um Lösungen zu finden. Spezifische Varianten des Algorithmus benutzen verschiedene Suchstrategien. • Suchalgorithmen werden auf Basis der Kriterien Vollständigkeit, Optimalität, Zeitund Platzkomplexität beurteilt. • Constraint-satisfaction-Probleme bilden eine spezielle Problemklasse, die spezielle Suchtechniken ermöglichen. Plan-based Robot Control 51