Nichtdeterministische Planung - TZI
Nichtdeterministische Planung - TZI
Nichtdeterministische Planung - TZI
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Nichtdeterministische</strong> <strong>Planung</strong><br />
Vorlesung Handlungsplanung<br />
Stefan Edelkamp
1 Überblick<br />
- Transitionssysteme & Zustandsaktionstabellen<br />
- Ausführungsstrukturen und Pfade<br />
- Schwache, Starke und Stark-Zyklische Pläne<br />
- BDD Explorationsalgorithmen<br />
- Konformantes Planen<br />
- . . . mit BDDs<br />
- . . . mit SAT/QBF<br />
- . . . mit heuristischer Suche<br />
- . . . alternativ<br />
Überblick 1
2 <strong>Nichtdeterministische</strong>s Planen<br />
Eine nichtdeterministisches <strong>Planung</strong>sproblem wird oft in einem Transitionssystem<br />
über eine Transitionsrelation<br />
R ⊆ S × O × S<br />
Unterschiede zum deterministischen Planen<br />
• Ausführung einer Aktion in möglicherweise mehrere unterschiedliche Zustände<br />
• Mehrere Initialzustände, d.h. I ⊆ S, sind möglich<br />
• Pläne sind Ausführungseinheiten, eingebettet in einer Umgebung<br />
<strong>Nichtdeterministische</strong>s Planen 2
Pläne als Ausführungseinheiten<br />
Die ausführbaren Aktionen im Zustand S sind<br />
Die Ausführung von O ist die Menge<br />
Act(S) = {O | ∃S ′ : R(S, O, S ′ )}.<br />
Exec(S, O) = {S ′ | R(S, O, S ′ )}<br />
Pläne sind im nichtdeterministischen Kontext Ausführungseinheiten oder<br />
Zustandsaktionstabellen (von Cimatti et al. vorgeschlagen)<br />
Zustandsaktionstabellen ähneln universellen Plänen und Politiken<br />
<strong>Nichtdeterministische</strong>s Planen 3
Zustandsaktionstabellen<br />
Zustandsaktionstabelle π einer <strong>Planung</strong>sdomäne P: {(S, O) | S ∈ S, O ∈ O}<br />
- Gibt es nur eine Aktion O für jedes S, so ist das Problem deterministisch.<br />
- Die Zustände von π werden mit S(π) abgekürzt<br />
Die Ausführung von Plänen π geschieht in einer Schleife in einer umgebenden Welt.<br />
Solange der aktuelle Zustand S in S(π) liegt,<br />
1. wird die passende Aktion in π ausgewählt<br />
2. in der Umgebung ausgeführt und<br />
3. der resultierende Weltzustand erfragt<br />
<strong>Nichtdeterministische</strong>s Planen 4
Ausführungsstruktur<br />
Die von π induzierte Ausführungsstruktur K = (Q, T ) mit<br />
- Q ⊆ S und<br />
- T ⊆ S × S<br />
bzgl. dem Initialzustand I ist rekursiv definiert:<br />
• I ⊆ Q.<br />
• Falls mit jedem S ∈ Q und (S, O) ∈ π mit R(S, O, S ′ ) gilt, ist S ′ ∈ Q und<br />
T (S, S ′ ).<br />
. . . entsprechen Kripke-Strukturen.<br />
<strong>Nichtdeterministische</strong>s Planen 5
Ausführungspfad<br />
Ausführungspfad in K von S0 ∈ I:<br />
möglicherweise unendliche Folge S0, S1, S2, . . . von Zuständen in Q, so dass<br />
Für alle Zustände Si<br />
• entweder Si ein Endzustand ohne Nachfolger ist, oder<br />
• T (Si, S i+1) gilt<br />
<strong>Nichtdeterministische</strong>s Planen 6
3 Schwache und Starke bzw. Stark-Zyklische Pläne<br />
Für ein <strong>Planung</strong>sproblem P bzgl. I induzierter Ausführungsstruktur K = (Q, T )<br />
nennen wir einen deterministischen Plan π<br />
schwache Lösung , falls für jeden Zustand in I ein Endzustand aus der<br />
Zielmenge G erreichbar ist;<br />
starke Lösung , falls K azyklisch ist und alle Endzustustände aus K in G<br />
enthalten sind; und<br />
stark-zyklische Lösung falls von jedem Zustand in Q ein Endzustand erreichbar<br />
ist und alle Endzustustände aus K in G enthalten sind.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 7
Intuition<br />
Schwache Pläne: Planziel kann aber muss nicht erreicht werden<br />
Starke Pläne: Planziel wird unabhängig vom Nichtdeterminismus immer erreicht<br />
Stark-Zyklische Pläne: Formalisieren die intuitive Notation von gültigen<br />
Versuch-und-Irrtum Strategien:<br />
Alle Ausführungspfade haben eine Möglichkeit zur Terminierung und sichern das<br />
Erreichen des Ziels.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 8
<strong>Nichtdeterministische</strong>r Plan<br />
Ein nichtdeterministischer Plan in Form einer Zustandsaktionstabelle ist schwach,<br />
stark, bzw. stark-zyklisch:<br />
wenn alle deterministischen Teilpläne mit gleicher Zustandsmenge schwach, stark<br />
bzw. stark-zyklisch sind.<br />
Es gilt: Stark-zyklische Pläne sind auch stark und starke Pläne sind auch schwach.<br />
Hier: Schwaches und starkes Planen.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 9
Implementation mit BDDs<br />
Allein die explizite Repräsentation der Übergangsmatrix der Größe |S| × |O| kann<br />
die zu Verfügung stehenden Resourcen sprengen.<br />
⇒ repräsentiere Pläne als BDDs<br />
Annahme: (monolithische oder partitionierte) BDDs für Transitionsrelation<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 10
Rückwärtsexploration<br />
Exploration des Zustandsraumes: Am besten rückwärts beginnend mit den<br />
Zielknoten und einem leeren Plan.<br />
Berechnung der Vorgängermenge: Für das starke und schwache Planen<br />
unterschiedlich.<br />
Für schwache Pläne fordern wir nur die Existenz eines Nachfolgers, der das Ziel<br />
erreicht, . . .<br />
. . . während wir für starke Pläne, diese Bedingung von alle Nachfolgern einfordern.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 11
Starke und Schwache Urbilder<br />
WeakPreImage(S, O) = {S | R(S, O, S ′ ), S ′ ∈ S}<br />
Menge aller Zustände, von denen aus man mit O in S landen kann und<br />
SrongPreImage(S, O) = {S | ∅ = Exec(S, O) ⊆ S}<br />
Menge aller Zustände, in denen O anwendbar ist und jede Ausfürung in S landet.<br />
Procedure PreImage(S)<br />
if (Strong) return ∀e : (T → S) ∧ Applicable<br />
if (Weak) return ∃e : T ∧ S<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 12
Algo. zur schwachen bzw. starken Planfindung<br />
Zustandsaktionstabelle wird in jedem Schritt um die Bildberechnung zum<br />
Vorgänger erweitert.<br />
Bezeichnungen<br />
• Alte Tabelle π ′ ,<br />
• neue Tabelle mit π<br />
Algorithmus terminiert, falls sich keine weitere Veränderung von π ′ nach π ergibt.<br />
Alternativen Abbruch, wenn BFS vom Ziel ausgehend alle Initialzustände umfasst.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 13
Pseudo-Code Implementation<br />
Procedure Nondeterministic<br />
π ′ ← 1<br />
π ← 0<br />
S ← G ∨ S(π)<br />
while (π = π ′ ) ∧ (I ⊆ S)<br />
π ′ ← π<br />
Π ← PreImage(S)<br />
Π ← Π[p ↔ e]<br />
π ← π ∨ (Π ∧ ¬S)<br />
S ← G ∨ S(π)<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 14
Temporale Ziele<br />
Stark zyklische Pläne können in den Kontext temporal erweiterter Ziele<br />
eingegliedert werden.<br />
Hierbei geht es darum mit dem Planziel eine temporallogische Formel zu<br />
verbinden, die den Gültigkeitsbereich des Zieles festlegt.<br />
Vorgeschlagen wurde der temporallogische Kalkül CTL (Branching Time Logic)<br />
In CTL steht A für always, G für generally, E für existential, und F für eventually.<br />
Die Überprüfung, ob eine temporallogische Formel φ in einem Modell M gilt, wird in<br />
der Modellprüfung untersucht.<br />
Alternative: Linear Temporal Logic (LTL)<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 15
Schwache und Starke Pläne in CTL<br />
Forderung nach einem schwachen Plan zum Ziel φ, durch Formel EF φ.<br />
Forderung nach einem starken Plan zum Ziel φ, durch Formel AG φ.<br />
Forderung nach einem stark-zyklischer Plan zum Ziel φ, durch Formel AGEF φ.<br />
AGEF φ liest sich als: es ist für alle Auswahlen von Pfaden immer gegeben, dass es<br />
einen ausgehenden Weg gibt, bei dem Formel φ erfüllt ist.<br />
Schwache und Starke bzw. Stark-Zyklische Pläne 16
4 Konformantes Planen<br />
Aufgabe: Sequenz von Aktionen - Gegebene Unsicherheit über den Initialzustand<br />
und über Effekte von Aktionen - ohne Informationsgewinn über den aktuellen<br />
Zustand<br />
Ein konformanter Plan ist somit eine Welten das Planziel erreicht.<br />
Ein Plan ist konformant, falls<br />
• die Menge der Startzustände I in π enthalten ist, kurz I ⊆ S(π) und<br />
• die Ausführung von π in I das Ziel erreicht, also Exec(π, I) ⊆ G.<br />
Konformantes Planen 17
Konformantes Planen mit BDDs<br />
Der symbolische Ansatz zum konformanten Planen nutzt Zustandsplantabellen SP,<br />
die Paare (S, π) mit S ⊆ S und π ∈ O ∗ beschreiben.<br />
Dabei sei ɛ der leere Plan.<br />
Die Eingabe des Algorithmus sind die Mengen I und G.<br />
Menge aller konformanter Pläne in der Tabelle SP durch<br />
GetPlans(G, SP ) = {π | ∃(S, π) ∈ SP ∧ S ⊆ G}<br />
Konformantes Planen 18
Weitere Teilroutinen<br />
ConformantImage generiert eine neue SP Tabelle, die alle Erweiterung der<br />
konformanter Pläne der Länge i − 1 betreffen.<br />
ConformantImage(SP ) =<br />
{((S, π), O)| ∃(S ′ , π) ∈ SP ∧ O ∈ Act(S ′ ) ∧ S = Exec(O, S ′ )}<br />
ConformantPrune: Löschungen neu generierter Tabelle SP von den Plänen, die<br />
entweder von anderen Plänen gleicher oder geringerer Länge subsumiert werden.<br />
ConformantPrune(SP, i) =<br />
{(S ′ , π ′ ) ∈ SPi | ∃(S, π) ∈ SPi : π = π ′ ∧ S ⊂ S ′ ∧<br />
∀j < i : ∃(S, π) ∈ SPj : S ⊆ S ′ }<br />
Konformantes Planen 19
Pseudo-Code: Symbolisch Konformantes Planen<br />
Procedure ConformantPlan(I, G)<br />
i ← 0<br />
SP0 ← {I, ɛ}<br />
Π ← GetPlans(G, SP0)<br />
while (SPi = ∅) ∧ (Π = ∅)<br />
i ← i + 1<br />
SPi ← ConformantImage(SPi−1)<br />
SPi ← ConformantPrune(SPi−1, i)<br />
Π ← GetPlans(G, SPi)<br />
if (SPi = ∅)<br />
exit<br />
else<br />
return Π<br />
Konformantes Planen 20
Eigenschaften<br />
Terminierung:<br />
Satz ConformantPlan terminiert immer.<br />
Wird durch die Monotonie der Mengen konformanter Pläne gesichert.<br />
Optimalität:<br />
Satz ConformantPlan liefert optimal kurzen konformanten Plan.<br />
Breitendurchlaufordungung sichert, dass ein konformante Plan mit kürzester<br />
Planlänge als erstes gefunden wird.<br />
Konformantes Planen 21
BDD Codierung<br />
Propositionen p: mit je einer Variablen codiert.<br />
Menge von Zuständen: Durch eine Boole’sche Formel φ codiert.<br />
Transitionsrelation: R(S, O, S ′ )<br />
⇒ Pläne der Länge k in den SP-Tabellen über die Planvariablen o1, . . . , o k für<br />
O1, . . . , O k geschehen kann.<br />
So repräsentiert o1 ∧ ¬o2 mit k = 2 einen Plan (O1, O2).<br />
Die Formel ¬O1 mit k = 2 ist eine kompakte Repräsentation für die zwei Pläne<br />
(O2, O2) und (O2, O1).<br />
Implementation: Model Based Planner (MBP)<br />
Konformantes Planen 22
Konformantes Planen als Erfüllbarkeitsproblem<br />
Eine Möglichkeit ist die Kodierung des <strong>Planung</strong>sproblems als quantifizierte<br />
Boole’sche Formel (QBF):<br />
Ist f ′ = Q1x1 . . . Qnxn f(x) mit Qi ∈ {∃, ∀} und Boole’scher Formel f erfüllbar?<br />
Dabei werden die Quantoren schon in sogenannter Pränexform nach vorn gestellt.<br />
Modellierung: Nichtdeterminismus sei es im Initialzustand oder bei der<br />
Operatorausführung jeweils durch Quantoren<br />
Satz: QBF Erfüllbarkeit ist PSPACE-vollständig<br />
⇒ Komplexitätstheorie<br />
Allerdings: 2-QBF polynomiell.<br />
Konformantes Planen 23
Idee Polynomialität<br />
Jede 2-Sat Formel a ∨ b ist äquivalent zu ¬a → b bzw. ¬b → a.<br />
Bilde Graph G f mit Knotenmenge {x1, . . . , xn} ∪ {¬x1, . . . , ¬xn}, der diese<br />
Formeln als Kanten darstellt.<br />
Es existiert eine erfüllende Belegung für f ⇔ G f hat keinen Zyklus der Form<br />
xi → ∗ ¬xi → ∗ xi<br />
Linearzeit-Implementation über starken Zshg.-Komponenten und Anfragen der<br />
Form find(x) = find(¬x).<br />
Analog zur Belegung in 2-SAT erfolgen für 2-QBF die Festlegung der Variablen von<br />
links nach rechts.<br />
Konformantes Planen 24
<strong>Planung</strong>sansätze<br />
QBF-Löser z.B. von Rintanen oder Giunchiglia et al. nutzen eine Erweitertung der<br />
Davis Dutnam Prozedur.<br />
Konformantes Planen:<br />
1. Generalisierung von SATPLAN auf nicht-deterministische Problemstellungen<br />
2. Generate-and-Test Ansatz von Ferraris & Giunchiglia,<br />
Im generate Schritt werden innerhalb der Davis-Putnam Prozedur nach<br />
und nach Pläne generiert, die (getestet) werden, ob sie die Menge der<br />
Initialzustände in den Zielzustand überführen.<br />
Konformantes Planen 25
5 Alternative Ansätze zum Konformanten Planen<br />
Conformant Graphplan: <strong>Planung</strong>sgraph für jede mögliche Folge von möglichen<br />
Welten (Initialzuständen) gebildet.<br />
Konformanz-Bedingungen werden zwischen den <strong>Planung</strong>sgraphen propagiert.<br />
FragPlan: Behandelt Planfragmente verschiedener Welten, die nach und nach zu<br />
einem konformanten Plan ergänzt werden.<br />
Ein Fragment ist ein Plan zumindest für eine Welt.<br />
Hoffnung: Nur wenige Welten begründen den konformanten Plan<br />
Alternative Ansätze zum Konformanten Planen 26
Konformantes Planen als Heuristisch Suche<br />
Ohne konditionale Effekte: Anstatt die Propositionen zu betrachten, die wahr sind,<br />
muss er Propositionen betrachten, die gesichert wahr sind.<br />
Konditionale Effekte e einer STRIPS Aktion a = (P, A, D):<br />
Tripel (C(e), A(e), D(e)), die in Zustand S ∈ S anwendbar sind, wenn die<br />
Bedingungen P ⊆ S und C(e) ⊂ S erfüllt sind.<br />
Annahme: A ∩ D = ∅ und A(e) ∩ D(e) = ∅<br />
Alternative Ansätze zum Konformanten Planen 27
Unsicherheit im Initialzustand<br />
Propositionen p werden als unbekannt markiert.<br />
Disjunktion: l 1 ∨ . . . ∨ l k von markierten Literalen l 1 , . . . , l k sagt aus, dass alle<br />
möglichen Initialzustände diese Formel erfüllen.<br />
⇒ Menge von Initialzuständen I ⊆ S mit bekannt positiven bzw. bekannt negativen<br />
und unbekannten Propositionen.<br />
π konformanter Plan: Wenn Anwendung für jedes I ∈ I einen Zustand liefert, der<br />
das Ziel erfüllt.<br />
Achtung: Konditionale Effekte können für unterschiedliche Zustände<br />
unterschiedliche Resultate liefern können.<br />
Alternative Ansätze zum Konformanten Planen 28
Unterscheidung<br />
Weltzuständen, die aus einer Menge von Propositionen bestehen und<br />
Suchzuständen, die aus einer Menge von möglichen Weltzuständen bestehen.<br />
Suchzustand S entspricht einem zum Teil ausgeführten Plan π k (als Prefix von π).<br />
• Proposition p ist in S positiv bekannt, falls für alle I ∈ I die Anwendung π(I) in<br />
einen Weltzustand führt, in dem p enthalten ist.<br />
• Proposition p ist in S negativ bekannt, falls für alle I ∈ I die Anwendung π(I)<br />
in einen Weltzustand führt, in dem p nicht enthalten ist.<br />
• Alle weder positiv oder negativ bekannten Propositionen sind unbekannt.<br />
Alternative Ansätze zum Konformanten Planen 29
Komplexität Bekanntheit<br />
Die Entscheidung, ob für ein gegebenen Suchzustand S und Teilplan π k eine<br />
Proposition p bekannt ist, ist co-NP vollständig.<br />
Beweis fehlt.<br />
Analog: Problem zu entscheiden, ob eine Proposition p negativ bekannt ist, co-NP<br />
vollständig ist.<br />
⇒ Problem zu entscheiden, ob eine Proposition p unbekannt ist, NP-vollständig.<br />
Beweis gilt übrigens auch für ein relaxierten Plan, d.h. in einem Plan ohne negative<br />
Effekte.<br />
. . . gibt bessere Möglichkeit, als die Generierung aller Initialzustände<br />
Alternative Ansätze zum Konformanten Planen 30
SAT Lösen<br />
In dem Algorithmus wird eine Boolesche Formel φ(π k) erzeugt, die Proposition p k<br />
genau dann impliziert, falls p im Suchzustand S = π k(I) positiv bekannt ist.<br />
Für jeden Zustand S und jede Proposition p wird ein SAT-Löser mit der Formel<br />
φ(π k) ∧ ¬p k aufgerufen.<br />
Ist die Formel unerfüllbar, so ist p positiv bekannt.<br />
Analog wird der Löser mit φ(π k) ∧ p k aufgerufen.<br />
Ist diese Formel unerfüllbar, so ist p unbekannt.<br />
Alternative Ansätze zum Konformanten Planen 31
Der Aufbau von φ(π k)<br />
Für die Menge von Initialzuständen wird Klausel p0 für alle positiv bekannten p und<br />
Klausel ¬p0 für alle negativ bekannten p gesetzt.<br />
Für die unbekannten Literale, die mit l 1 ∨ . . . l k die Unsicherheit im Initialzustand<br />
beschreiben, wird die Klausel l 1 0 ∨ . . . lk 0 gesetzt.<br />
Nun betrachten wir die erste Aktion O1 ∈ π k.<br />
Alternative Ansätze zum Konformanten Planen 32
Axiome<br />
Effekt Axiome Für jeden Effekt e in Aktion O1 mit Bedingung<br />
C(e) = {p 1 , . . . , p m } und jeder Proposition p ∈ A(e) fügen wir die Klausel<br />
¬p 1 0 ∨ . . . ∨ ¬pm 0 ∨ p1 hinzu. Für jede Proposition p ∈ D(e) fügen wir die<br />
Klausel ¬p 1 0 ∨ . . . ∨ ¬pm 0 ∨ ¬p1 hinzu<br />
Frame Axiome Für jede Proposition p seien e1, . . . , en die Effekte von O1 mit<br />
p ∈ D(ei). Für jedes Tupel p 1 , . . . , p m mit p i ∈ C(e) wird<br />
¬p0 ∨ p 1 0 ∨ . . . ∨ ¬pm 0 ∨ p1 eingefügt (p wahr und nicht gelöscht → p bleibt wahr)<br />
Analog seien für jede Proposition p, e1, . . . , en die Effekte von O1 mit<br />
p ∈ A(ei). Für jedes Tupel p 1 , . . . , p m mit p i ∈ C(e) wird nun die Klausel<br />
p0 ∨ p 1 0 ∨ . . . ∨ ¬pm 0 ∨ ¬p1 eingefügt (p falsch und nicht gesetzt → p bleibt<br />
falsch)<br />
Alternative Ansätze zum Konformanten Planen 33
Rest<br />
Die Konstruktion wird gleichermaßen für den Rest von π k, also die Aktionen<br />
O2, . . . , O k, durchgeführt<br />
Die Klauseln werden zu φ(π k) hinzugefügt.<br />
Sie sichern<br />
• dass für jeden gewählten Initialzustand I ∈ I und Proposition p exakt eine<br />
erfüllende Belegung existiert und<br />
• dass p nach Ausführung von φ(π k) in I gilt.<br />
Alternative Ansätze zum Konformanten Planen 34
Beispiel<br />
Angenommen ein Roboter ist initial an einer von zwei Positionen X und Y<br />
⇒ I entspricht Formel ((at X) ∨ ¬(at X)) ∧ ((at Y) ∨ ¬(at Y)).<br />
Das Ziel ist sicher in die Position Y zu gelangen.<br />
Die einzige Aktion ist (moveright) mit leerer Vorbedingungsliste und einem<br />
bedingten Effekt ((at X), (at Y), (at X)).<br />
Der konditionale Plan π1 bestehe nur aus der Aktion (moveright).<br />
Alternative Ansätze zum Konformanten Planen 35
Beispiel (ctd.)<br />
Die Formel φ(p1) besteht aus den Kauseln für den Initialzustand<br />
(at X) 0 ∨ ¬(at X) 0<br />
und ¬(at Y) 0 ∨ ¬(at Y) 0 .<br />
Desweiteren kommen zwei Klauseln Effekt-Axiome für (moveright):<br />
¬(at X) 0 ∨ (at Y) 1 (Add-Effekt) und<br />
¬(at X) 0 ∨ ¬(at X) 1 (Delete-Effekt).<br />
Alternative Ansätze zum Konformanten Planen 36
Frame-Axiome<br />
¬(at X) 0 ∨ (at X) 0 ∨ (at X) 1 (positiv für (at X)),<br />
¬(at Y) 0 ∨ ¬(at Y) 1 (positiv für (at Y)),<br />
(at X) 0 ∨ ¬(at X) 1 , (negativ für (at X)), und<br />
(at Y) 0 ∨ ¬(at X) 0 ∨ ¬(at Y) 1 (negativ für (at Y)).<br />
Alternative Ansätze zum Konformanten Planen 37
Test auf Bekanntheit<br />
Um zu prüfen, ob (at X) in S nach Ausführung von π1 positiv bekannt ist, lösen wir<br />
φ(π1) ∧ ¬(at X) 1 .<br />
Es gibt eine erfüllende Belegung, so dass (at X) nicht bekannt ist.<br />
Um zu prüfen, ob (at Y) in S nach Ausführung von π1 positiv bekannt ist, lösen wir<br />
φ(π1) ∧ ¬(at Y) 1 . Die Formel ist unerfüllbar, also ist (at Y) in S positiv bekannt.<br />
Analog ist (at X) in S negativ bekannt.<br />
Alternative Ansätze zum Konformanten Planen 38
Erweitere relaxierter Pläne<br />
. . . um bekannte Propositionen P + i und unbekannte Propositionen P − i in Schicht i<br />
- Ai: Menge der Aktionen mit Vorbedingungen in P + i<br />
- P + i+1 : Vereinigung der Add-Effekte in Ai<br />
- P − i+1 ← P − i \ P + i+1<br />
(nun bekannt)<br />
- Propositionen in P − i+1 , die erfüllt werden können: P (e) ∈ P − i ∪ P + i →<br />
A(e) ∈ P − i+1<br />
Zusätzlich: ∀p ∈ P − i+1 prüfe, ob inferierbar ⇒ Bewege p von P − i+1 nach P + i+1<br />
Alternative Ansätze zum Konformanten Planen 39
Reduktion der Komplexität<br />
Letzter Schritt eigentlich ein SAT Problem → NP vollständig<br />
Bekanntheit selbst ohne Delete-Listen NP vollständig<br />
→ Wähle nur 2 Literale in jeder SAT Klausel aus<br />
→ Polynomielle Komplexität<br />
→ Verwalte zusätzlich einen Abhängigkeitsgraphen<br />
Alternative Ansätze zum Konformanten Planen 40
Abhängigkeitsgraph<br />
Betrachte Schicht i im relaxierten Plan:<br />
Graph G I enthält Kanten (l(t), l ′ (t)) und (l(t), l ′ (t + 1)) zwischen zeitlichen<br />
Literalen mit −n ≤ t ≤ i<br />
- Zeiten t < 0 entsprechen ausgeführtem Plänen<br />
- Zeiten ≥ 0 entsprechen relaxiertem Plan<br />
Kanten (l(t), l ′ (t)) und (l(t), l ′ (t + 1)) werden gesetz falls l und l ′ zu den<br />
betrachteten Zeitpunkten unbekant sind<br />
- Es gibt wieder Initialkanten, Aktionskanten und Frame-Axiom-Kanten<br />
In G I kann in Lxinearzeit erschlossen werden, ob p ∈ P − i+1<br />
bekannt ist<br />
Alternative Ansätze zum Konformanten Planen 41
Conformant-FF<br />
Suche: Enforced Hill-Climbing oder Bestensuche<br />
Heuristik: Planlaänge relaxierter Plan<br />
SAT-Löser: Eigene Implementation<br />
Helpful Actions: Restriktion auf Aktionen, die in Schicht 1 des relaxierten Planes<br />
führen.<br />
Hier: Teilziel hinzugefügt,<br />
Experimente: Bombs-in-Toilet, Omlette, Ring, Safe, Blocks, Logistics, Grid, etc.<br />
Resultate: Wesentlich besser als BDD basierter Planer MBP in vielen aber nicht<br />
allen Problemen<br />
Alternative Ansätze zum Konformanten Planen 42