260 likes | 437 Views
Wegplanung mit Fast Forward. Inhalt. Klassisches Planen Verschiedene Planerstrategien Fast Forward Allgemeines Systemarchitektur Heuristik Suchfunktion Zusammenfassung Ausblick. Klassisches Planen. Situationskalkül von McCarthy und Hayes: Situationen (states) :
E N D
Inhalt • Klassisches Planen • Verschiedene Planerstrategien • Fast Forward • Allgemeines • Systemarchitektur • Heuristik • Suchfunktion • Zusammenfassung • Ausblick Andreas Bauer
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 Bauer
Verschiedene Planerstragegien • Mengenbasiertes Planen • STRIPS (Stanford Research Institute Problem Solver) • Planbasiertes Planen • POP (Partial Order Planner) • Graphbasiertes Planen • GRAPHPLAN Andreas Bauer
FF – Allgemeines • domainunabhängiger Planer • entwickelt an Uni Freiburg • einer der schnellsten Planer auf der AIPS-2000 • basiert auf HSPErweiterungen: • Verbesserte Heuristik (GRAPHPLAN) • Verbesserte Suchfunktion • Verfahren um den Suchgraph zu verkleinern Andreas Bauer
FF – Systemarchitektur Heuristik Abstand zum Ziel „helpful actions“ Zustand Suchfunktion Aufgabe Lösung / Fehlschlag Andreas Bauer
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 Bauer
FF – Heuristik Definitionen: • Zustand (State) eine endliche Menge boolescher Atome • Aktion (STRIPS Action): • Aufgabe (Planning Task): • vereinfachte Aufgabe (Relaxed Planning Task): l = = o o ( ( pre pre ( ( o o ), ), add add ( ( o o ), ), del del ( ( o o )) )) = = P P ( ( O O , , I I , , G G ) ) ¢ ¢ ¢ ¢ = = P P ( ( O O , , I I , , G G ) ) ¢ ¢ = = Î Î O O {( {( pre pre ( ( o o ), ), add add ( ( o o ), ), 0 0 ) ) | | ( ( pre pre ( ( o o ), ), add add ( ( o o ), ), del del ( ( o o )) )) O O } } Andreas Bauer
FF – Heuristik Originaler GRAPHPLAN – Algorithmus: • 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 Bauer
FF – Heuristik Originaler GRAPHPLAN – Algorithmus: • Lösungsextraktion • wähle für jedes Ziel eine erzeugende Aktion in der vorherigen Aktionsschicht (ohne mutex-Relationen) • wenn für ein Ziel keine mutex-freie Erzeugeraktion gefunden wird, versuche für das vorherige Ziel eine andere Erzeugeraktion zu finden ("backtracking") • 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. • sobald bei Schicht 0 angelangt, ist eine Lösung gefunden • falls keine Lösung ohne mutex-Relationen gefunden werden kann, expandiere den Graph um einen weiteren "Zeitschritt" Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz wischen saugen sHand NOOP sHand kochen Ruhe NOOP Ruhe bluva Dinner Blumen zurück Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz Schmutz wischen wischen saugen saugen sHand NOOP sHand sHand kochen kochen Ruhe NOOP Ruhe Ruhe bluva bluva Dinner Dinner Blumen Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz Schmutz wischen wischen saugen saugen sHand NOOP sHand sHand kochen kochen Ruhe NOOP Ruhe Ruhe bluva bluva Dinner Dinner Blumen Blumen Andreas Bauer
FF - Heuristik GRAPHPLAN – Beispiel: Schmutz NOOP Schmutz Schmutz wischen wischen saugen saugen sHand NOOP sHand sHand kochen kochen Ruhe NOOP Ruhe Ruhe bluva bluva Dinner Dinner Blumen Blumen Andreas Bauer
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 Bauer
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 Bauer
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 Bauer
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 Bauer
Ausblick • keine Möglichkeit zur Angabe von Ressourcen / Zeit • erzeugter Plan ist nicht optimal • nur eine Aktion pro Zeitschritt Andreas Bauer
Fin Andreas Bauer