Wegplanung mit Fast Forward
Andreas Bauer2 Inhalt Klassisches Planen Verschiedene Planerstrategien Fast Forward –Allgemeines –Systemarchitektur –Heuristik –Suchfunktion Zusammenfassung Ausblick
Andreas Bauer3 Klassisches Planen Situationskalkül von McCarthy und Hayes: Situationen (states): Schnappschüsse einer Umgebung zu einem Zeitpunkt Aktionen (actions): Überführung einer Situation in eine Nachfolgesituation keine Betrachtung von Zeit im eigentlichen Sinn
Andreas Bauer4 Verschiedene Planerstragegien Mengenbasiertes Planen –STRIPS (Stanford Research Institute Problem Solver) Planbasiertes Planen –POP (Partial Order Planner) Graphbasiertes Planen –GRAPHPLAN
Andreas Bauer5 FF – Allgemeines domainunabhängiger Planer entwickelt an Uni Freiburg einer der schnellsten Planer auf der AIPS-2000 basiert auf HSP Erweiterungen: Verbesserte Heuristik (GRAPHPLAN) Verbesserte Suchfunktion Verfahren um den Suchgraph zu verkleinern
Andreas Bauer6 FF – Systemarchitektur Heuristik Suchfunktion AufgabeLösung / Fehlschlag Abstand zum Ziel helpful actions Zustand
Andreas Bauer7 FF – Heuristik Aufgabe: liefert den Abstand eines Zustands vom Ziel zurück Problem: Berechnung des optimalen Abstands ist NP-schwer Lösung:möglichst genaue Annäherung
Andreas Bauer8 FF – Heuristik Definitionen: 1.Zustand (State) eine endliche Menge boolescher Atome 2.Aktion (STRIPS Action): 3.Aufgabe (Planning Task): 4.vereinfachte Aufgabe (Relaxed Planning Task): l }))(),( ((|)0 ( ({(OodeloaddopreoaddopreO ),,(GIOP ),,(GIOP ))(),( ((odeloaddopreo }))(),( ((|)0 ( ({(OodeloaddopreoaddopreO ),,(GIOP ),,(GIOP ))(),( ((odeloaddopreo
Andreas Bauer9 FF – Heuristik Originaler GRAPHPLAN – Algorithmus: 1.Aufbau eines Schichtgraphs (layered graph) füge abwechselnd Propositionsschicht und Aktionsschicht an ("time step") markiere mutex-Relationen Bedingungen für mutex-Relationen in der Aktionsschicht: »Inkonsistente Nachbedingungen »Interferenz »Konkurrierende Vorbedingungen Bedingungen für mutex-Relationen in der Propositionsschicht: »Inkonsistente Vorbedingungen »komplementäre Literale mit dem Anfügen solange fortsetzen bis in einer Propositionsschicht alle Ziele vorhanden sind (nicht mutex)
Andreas Bauer10 FF – Heuristik Originaler GRAPHPLAN – Algorithmus: 2.Lösungsextraktion 1.wähle für jedes Ziel eine erzeugende Aktion in der vorherigen Aktionsschicht (ohne mutex-Relationen) 2.wenn für ein Ziel keine mutex-freie Erzeugeraktion gefunden wird, versuche für das vorherige Ziel eine andere Erzeugeraktion zu finden ("backtracking") 3.ist für jedes Ziel eine Erzeugeraktion gefunden, wiederhole den Algorithmus ab Schritt 1 in der nächstniedrigeren Propositionsschicht mit den Voraussetzungen der gewählten Aktionen als Zielen. 4.sobald bei Schicht 0 angelangt, ist eine Lösung gefunden 5.falls keine Lösung ohne mutex-Relationen gefunden werden kann, expandiere den Graph um einen weiteren "Zeitschritt"
Andreas Bauer11 FF - Heuristik GRAPHPLAN – Beispiel:
Andreas Bauer12 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer13 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer14 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer15 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer16 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer17 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen zurück
Andreas Bauer18 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen wischen saugen kochen bluva Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer19 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen wischen saugen kochen bluva Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer20 FF - Heuristik GRAPHPLAN – Beispiel: Schmutz sHand Ruhe wischen saugen kochen bluva NOOP Schmutz sHand Ruhe Dinner Blumen wischen saugen kochen bluva Schmutz sHand Ruhe Dinner Blumen
Andreas Bauer21 FF – Heuristik "relaxed Graphplan": Verwendung von "relaxed actions" –keine mutex-Relationen mehr –kein Backtracking mehr notwendig –durchlaufen des Graphs in polynomialer Zeit Berechnung des Abstands zur Zielschicht: Beispielplan
Andreas Bauer22 FF – Suchfunktion "enforced Hill-climbing": S := I while h(S) != 0 do suche nähsten Zustand S' mit h(S') < h(S) if S' nicht gefunden then stop endif füge Pfad von S nach S' dem Plan hinzu S := S' endwhile
Andreas Bauer23 FF – Suchfunktion Algorithmen zur Einschränkung des Suchraums: "helpful actions" Beschränken auf Aktionen die näher zum Ziel führen "added goal deletion" Entfernen von Pfaden die bestimmte Ziele zu früh erreichen
Andreas Bauer24 Zusammenfassung Erstellen eines Schichtgraphs Erweiterung des Graphs bis alle Ziele erreicht sind Suche nach einer Lösung durch Aneinanderreihung von Zuständen mit immer geringerem Abstand zum Ziel
Andreas Bauer25 Ausblick keine Möglichkeit zur Angabe von Ressourcen / Zeit erzeugter Plan ist nicht optimal nur eine Aktion pro Zeitschritt
Andreas Bauer26 Fin