Planen mit automatischen Hilfestellungen
Vorlesung Handlungsplanung
Stefan Edelkamp
1 Uberblick ¨
- Reduzierte Operatorlisten - Objektsymmetrien
- Generische Typen
Uberblick¨ 1
2 Reduzierte Operatorlisten
Ziel: Erh ¨ohen der Effektivit ¨at von Planungsverfahren
Weg: Planungsproblem P wird in ein Problem P0 ¨uberf ¨uhrt, mit O0 ⊆ O.
Beispiel: Operator (move a b c), der Block a von Block b auf Block c bef ¨ordert redundant, da durch (move a b t) und (move a t c) abgedeckt.
Proposition q ∈ F ist inkonsistent zur Menge Q ⊆ F, falls es keinen von I aus erreichbaren Zustand S gibt mit Q ⊂ S und q ∈ S.
Inc(Q): Menge der Propositionen, die inkonsistent zu Q sind.
Kummulation
Kummulativen Vorbedinungen und Effekte CP, CA, CD f ¨ur eine Folge von Operatoren:
- CP(O) = PO, - CA(O) = AO,
- CD(O) = DO und
CP(O1, . . . , On, O) = CP(O1, . . . , On) ∪ (PO − CA(O1, . . . , On)), CA(O1, . . . , On, O) = (CA(O1, . . . , On) \ DO) ∪ AO, bzw.
CD(O1, . . . , On, O) = (CD(O1, . . . , On) \ AO) ∪ DO, falls CD(O1, . . . , On) ∪ PO = ∅ und nicht definiert, sonst.
Reduzierte Operatorlisten 3
Kummulative Semantik
Lemma: Kummulativen Operatoren besitzen Strips-Semantik, d.h. wenn CP(O1, . . . , On) ⊆ S
dann ist der Nachfolger S0 = (S \ CD(O1, . . . , On)) ∪ CA(O1, . . . , On). Beweis: Vollst ¨andige Induktion ¨uber n.
Implementierung und Redundanz
Folge π von Operatoren (O1, . . . , On) implementiert O, falls O nicht in π enthalten ist, CP(O1, . . . , On) ⊆ PO, AO ⊆ CA(O1, . . . , On) ⊆ PO und
CD(O1, . . . , On) ⊆ DO ∪ Inc(PO).
Operator O ∈ O ist redundant, wenn es eine Folge von Operatoren in O \ {O} gibt, die O implementiert. Eine Operatormenge O ist reduziert, wenn es keine
redundanten Operatoren in O gibt.
Beispiel: Kummulativer Effekt von (move a b t) und (move a t c) enth ¨alt das Atom (on-table a), das nicht von dem Operator (move a b c) gel ¨oscht wird.
Allerdings: Atom f ¨ur nahezu jeden Initialzustand inkonsistent mit (on a b), einer Vorbedingung des ausgetauschten Operators.
Reduzierte Operatorlisten 5
Korrektheit
Satz
Falls O redundant ist und Folge (O1, . . . , On) Operator O implementiert, dann ist (O1, . . . , On) in S andwendbar, falls O in S anwendbar ist.
Falls S0 das Resultat der Anwendung von O ist und S00 das Resultat der Anwendung seiner Impelementierung, gilt S0 ⊆ S00.
Beweis
Da S00 = (S \ CD(O1, . . . , On)) ∪ CA(O1, . . . , On), gilt f ¨ur jedes Atom q ∈ S0 = (S \ DO) ∪ AO): q ∈ S00 falls
- entweder a ∈ S und q 6∈ CD(O1, . . . , On) oder - q 6∈ CA(O1, . . . , On).
Erster Fall: q kann nicht in Inc(PO) liegen, da O in S anwendbar ist und PO ⊆ S gilt.
⇒ q 6∈ CD(O1, . . . , On) ⊆ DO ∪ Inc(O). Zweiter Fall: AO ⊆ CA(O1, . . . , On),
⇒ q ∈ CA(O1, . . . , On) und q ∈ S00.
Reduzierte Operatorlisten 7
Komplexit ¨at
Im schlimmsten Fall ist die Entscheidung, ob ein Operator redundant ist so hart wie das Planungsproblem selbst.
Dieses l ¨aßt sich mit folgenden polynomiellen Transformation leicht einsehen:
PO = I, AO = G und DO = D(P) \ G.
→ Jeder Plan implementiert f ¨ur P Operator O
→ O ist redundant genau dann, wenn P eine L ¨osung hat.
3 Objektsymmetrien
Planungsdom ¨anen ¨ublicherweise parametrisiert
⇒ Tausch von Objekten in der Problembeschreibung f ¨ur die Dom ¨anenbeschreibung transparent.
Beispiele: Objekte in Zeno sind dan, city-a, und plane. Alle Objektsymmetrien: n!, n = |OBJ | Kandidaten.
Beschr ¨ankung von Objekten gleichen Typs bleiben
n
t1, t2, . . . , tk
= n!
t1! · t2! · . . . · tk!.
Symmetrien, wobei ti die Anzahl der Objekte vom Typ i, i ∈ {1, . . . , k} ist.
Objektsymmetrien 9
Objekttranspositionen
Maximal n(n − 1)/2 ∈ O(n2) Objekttranspositionen.
Objekttransposition (o, o0) ∈ M f ¨ur eine Proposition f = (p o1, . . . , ok(p)) ∈ F, kurz f[o ↔ o0], ist definiert als (p o01, . . . , o0
k(p)) mit o0i = oi, falls oi ∈ {o, o/ 0}, oi = o0, falls oi = o, und oi = o, falls oi = o0, i ∈ {1, . . . , k(p)}.
Eine Objekttransposition (o, o0) ∈ M f ¨ur eine Aktion O ∈ O ist analog definiert.
Es gilt f ¨ur alle f ∈ F, O ∈ O, und (o, o0) ∈ M: f[o ↔ o0] = f[o0 ↔ o], O[o ↔ o0] = O[o0 ↔ o], f[o ↔ o0][o ↔ o0] = f, O[o ↔ o0][o ↔ o0] = O.
Zeitkomplexit ¨at: f[o ↔ o0] ∈ F eigentlich O(k(p)), O(1) eine O(|M| · |F |) große
Zust ¨ande und Planungsprobleme
Eine Objekttransposition (o, o0) ∈ M angewendet auf den Zustand S ∈ S, kurz S[o ↔ o0], ist gleich {f0 ∈ F | f ∈ S ∧ f0 = f[o ↔ o0]}
Ein Planungsproblem P = hS,O, I,Gi ist symmetrisch zur Objekttransposition (o, o0) ∈ M, kurz P[o ↔ o0], falls I[o ↔ o0] = I und f ¨ur alle G ∈ G:
G[o ↔ o0] ∈ G.
Zeitkomplexit ¨at: Wird das Planungsziel mit p Propositionen beschrieben, dann ist der Aufwand zu tesen, ob P = hS,O,I,Gi symmetrisch zu (o, o0) ∈ M ist, gleich O(|M| · (p + |I|)).
Objektsymmetrien 11
Verfeinerungen
Symmetrien, die im Initialzustand gelten, k ¨onnen w ¨ahrend der Exploration verschwinden oder sich neu bilden.
Da sich innerhalb einer Vorw ¨artssuche das Planungsziel nicht ¨andert, muss nur der der aktuelle Zustand auf bestehende Symmetrien ¨uberpr ¨uft werden.
⇒ Verfeinerung der Menge M zu
M0 = (o, o0) ∈ M | ∀ G ∈ G : G[o ↔ o0] = G . Dabei ist |M0| oft viel kleiner als |M|.
Test, ob ein Planungsproblem mit derzeitgen Zustand C symmetrisch zu
Anwendung von Objekttranspositionen
Berechne Menge M00(C) = {(o, o0) ∈ M0 | C[o ↔ o0] = C} derjenigen Objektsymmetrien, die in C gelten.
Act(C): Menge der Aktionen, die in Zustand C ∈ S anwendbar sind.
Pruning-Menge: ∆(C,M00(C)) ⊂ Act(C) Menge aller Aktionen, die einen symmetrischen Partner haben, der nicht den minimalen Index hat.
∆(C,M00(C)): Menge aller O ∈ Act(C) mit der Eigenschaft:
∃ O0 ∈ Act(C) : φ(O0) > φ(O) und ∃ (o, o0) ∈ M00(C) : O0 = O[o ↔ o0]. Reduktion von Act(C,M00(C)) ⊆ Act(C) bzgl. M00(C):
Act(C,M00(C)) = Act(C) \ ∆(C,M00(C)).
Wir schreiben Act0(C) f ¨ur Act(C,M00(C)) und ∆0(C) f ¨ur ∆(C,M00(C)).
Objektsymmetrien 13
Reduktion erh ¨alt Vollst ¨andigkeit
Die Reduktion der Menge Act(C) to Act0(C) w ¨ahrend der Exploration von P = hS,O,I,Gi erh ¨alt die Vollst ¨andigkeit.
Beweis Angenommen, dass f ¨ur einen Zustand C die Reduktion von Act(C) auf Act0(C) die Vollst ¨andigkeit zerst ¨ort.
Weiter sei C maximial in dieser Eigenschaft bzgl. der Explorationsreihenfolge gew ¨ahlt.
Beweis
⇒ ex. ein sequentieller Plan π = (O1 . . . , Ok) in PC = hS,O,C,Gi mit Zustandsfolge (S0 = C, . . . , Sk ⊆ G) und Oi ∈ Act(Si−1), i ∈ {1, . . . , k}.
Durch die Wahl von C haben wir O1 ∈ Act(S0) \ Act0(S0) = ∆0(S0).
Per Definition von ∆0(S0) existiert O10 = O1[o ↔ o0] mit minimalen Index, der in S0 anwendbar ist.
PC = hS,O,C,Gi = PC[o ↔ o0] = hS,O,C[o ↔ o0] = C,G[o ↔ o0] = Gi
⇒ existiert ein sequentieller Plan O1[o ↔ o0], . . . , Ok[o ↔ o0] mit Zustandsfolge (S0[o ↔ o0] = S0, S1[o ↔ o0], . . . , Sk[o ↔ o0] = Sk), der das Ziel G erreicht Dies widerspricht der Annahme, dass die Reduktion von Act(C) auf Act0(C) die Vollst ¨andigkeit verletzt.
Objektsymmetrien 15
4 Generische Typen
Generische Typen werden in der statischen Analyse erschlossen und basieren auf der Darstellung von sogenannten Eigenschaftsr ¨aumen durch endliche Automaten.
Zust ¨ande: Projektionen von Propositionen auf einer ihrer Argumente.
Beispiel Rocket-Dom ¨ane mit at1 in1, fuelled1 oder unfuelled1. Index gibt die jeweilige Argumentposition im Pr ¨adikat an.
Ubergange: Verlassen eines Zustands entspricht einer L ¨oschung, das Erreichen¨ eines Zustands entspricht der Hinzuf ¨ugung einer Eigenschaft.
Aktion drive beschreibt ¨Ubergang von fuelled1 zu unfuelled1. W ¨ahrend die
Regeln / Invarianzen
Ziel: Regeln der Form enablers ⇒ start → end
enablers: Eigenschaft, die f ¨ur einen ¨Ubergang gelten muss
start bzw. end : Eigenschaft die bei einem ¨Ubergang bzw. verloren bzw.
hinzugewonnen werden.
Beispiel: fuelled1 ⇒ at1 → at1 Regel f ¨ur Rocket-Dom ¨ane. Dabei werden die verschiedenen Automaten zu ¨uberlagert.
Aus Menge von Regeln werden Invarianzen f ¨ur die Planungsdom ¨ane abgeleitet Beispiel Invarianz: Ein Objekt nur entweder an einem speziellen Ort oder in einem speziellen Objekt sein kann.
Diese Invarianzen erleichtern die Plangenerierung mitunter enorm.
Generische Typen 17
Klassifizierung
Gebrauchsmuster z.B. f ¨ur mobile Objekte, die sich wiederentdecken lassen.
Mobile Objekte werden durch ein Lokalisator, hier at, gefunden.
Bezogen auf ihn bewegt sich das mobile Objekt gem ¨aß der Regeln at → at auf Karten.
Hat man ein mobilies Objekt eindeutig klassifiziert, so kann man effizientere Verfahren nutzen, um z.B. den k ¨urzesten Weg bzgl. → auf der Karte zu finden.
Wiederverwendbarkeit
Man findet mobile Objekte nicht nur in klassischen Transport-Dom ¨anen, sondern auch in Dom ¨anen, wo man es nicht unbedingt erwarten w ¨urde.
In der PaintWall-Dom ¨ane werden die W ¨ande als Lokalisatoren festgestellt
Regeln der Form painted → painted weisen darauf hin, dass die Dekorationen auf den W ¨anden als mobile Objekte aufgefasst werden k ¨onnen.
Generische Typen 19
Weitere Gebrauchsmuster
Neben mobilen Objekten k ¨onnen auch
- bewegliche Objekte, wie z.B. Pakete, und
- deren Bef ¨orderungseinheiten wie z.B. Trucks, anhand der Automatstruktur erkannt werden.
Wandelung von at zu in: Eigenschaft beladen bzw. von in zu at Eigenschaft:
entladen.
Hier: Anwendung von effizienten Teilroutinen zum Finden eines guten Schedulings.
Allgemein: Teile des Planl ¨osungsprozesses werden an an spezielle L ¨oser
Generische Typen
Fox und Long sprechen in diesen Zusammenhang von generischen Typen, die f ¨ur verschiedene Dom ¨anen existieren.
Leider ist der Inferenzmechanismus zu komplex, um im Detail dargestellt zu werden.
Generischen Typen werden zwar automatisch erkannt, ihre Beschreibung jedoch vom Benutzer vorgegeben
. . . wurden f ¨ur das Planungssystem STAN entwickelt.
Generische Typen 21