05.08.2013 Aufrufe

Nichtdeterministische Planung - TZI

Nichtdeterministische Planung - TZI

Nichtdeterministische Planung - TZI

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!