• Keine Ergebnisse gefunden

Propositionale Planung

N/A
N/A
Protected

Academic year: 2021

Aktie "Propositionale Planung"

Copied!
94
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Propositionale Planung

Vorlesung Handlungsplanung

Stefan Edelkamp

(2)

1 Uberblick ¨

- STRIPS Planung, Definition und Komplexit ¨at - Plangraphen und Graphplan

- Erf ¨ullbarkeitsplanen (direkt und in Graphplan) - Planen durch Constraint Satisfaction

- Heurisitische Suche und beschleunigte Planfindung - Symbolische Planung mit BDDs

(3)

2 STRIPS Planung

Ein propositionales Planningproblem in STRIPS Beschreibung ist ein endliches Zustandsraumproblem P =< S,O,I,G >, wobei

• S ⊆ 2F die Zustandsmenge,

• I ∈ S der Initialzustand,

• G ⊆ S das Planungsziel und

• O die Menge der Operatoren ist.

(4)

Operatoren

Operatoren O = (P, A, D) ∈ O haben

• propositionale Vorbedingungen P ⊆ F, und

• propositionale Effekte (A, D), wobei A ⊆ F die sogennannte Add- und D ⊆ F die sogenannte Delete-Liste sind.

Ist ein Zustand S mit P ⊆ S gegeben, dann ist sein Nachfolger S0 = O(S) durch S0 = (S \ D) ∪ A festgelegt.

(5)

3 Komplexit ¨at Propositionales Planen

a) PLANSAT ist PSPACE-vollst ¨andig.

b) PLANSAT ohne negative Effekte (PLANSAT+) ist NP-vollst ¨andig.

c) PLANMIN beschr ¨ankt auf eine positive Vorbedingung und einen positiven Effekt (PLANMIN1+1+) ist NP-vollst ¨andig.

d) PLANSAT beschr ¨ankt auf positive Vorbedingungen und eine Nachbedingung (PLANSAT+1 ) hat polynomielle Komplexit ¨at.

(6)

PLANSAT in PSPACE

PLANSAT liegt in PSPACE, weil eine Operatorensequenz nichtdeterministisch gew ¨ahlt werden kann, und die Gr ¨oße eines Zustandes durch die Anzahl der Propositionen beschr ¨ankt ist.

D.h. f ¨ur n Propositionen ist die L ¨ange des k ¨urzesten L ¨osungspfades kleiner als 2n. Anderenfalls m ¨ußte die L ¨osung Schleifen enthalten, in denen Zust ¨ande doppelt besucht werden.

Derartige Schleifen k ¨onnen entfernt werden.

Nach maximal 2n Schritten muss das Verfahren also einen Zielzustand gef ¨unden haben, wenn dieser erreichbar ist.

Aus PSPACE=NPSPACE folgt, dass PLANSAT in PSPACE liegt.

(7)

PSPACE H ¨arte von PLANSAT

Wir kodieren wir eine polynomial platzbeschr ¨ankte Turingmaschine (TM) als Planungsproblem wie folgt:

• in(i, x) bedeutet, dass das Symbol x in der Bandzelle i steht,

• at(i, q), dass die TM bereit ist, die Transition f ¨ur die aktuelle Position i und den Zustand q auszuf ¨uhren.

• do(i, q, x) bedeutet, dass die Transition an der i-ten Position f ¨ur Zustand q auf das Symbol x angewendet wird und

• accept heißt, dass die TM die Bandeingabe akzeptiert.

(8)

Beschreibung Start- und Zielzust ¨ande

Wenn nun q0 der Startzustand der TM ist, x1, . . . , xn die Eingabe, und der Platz, den die TM ben ¨otigt, durch m beschr ¨ankt ist, so k ¨onnen Start- und Zielzustand beschrieben werden als:

• I = {at(1, q0), in(0, ]), in(1, x1), in(2, x2), . . . , in(n, xn), in(n + 1, ]), . . . , in(m − 1, ])} und

• G = accept.

(9)

Transitionen

Die Transitionen werden nun durch folgende Operatoren kodiert (Schreiben und Rechtsbewegung):

at(i, q) ∧ in(i, x) ⇒ do(i, q, x) ∧ ¬at(i, q) do(i, q, x) ∧ in(i, x) ⇒ in(i, y) ∧ ¬in(i, x)

do(i, q, x) ∧ in(i, y) ⇒ at(i + 1, q0) ∧ ¬do(i, q, x)

Somit h ¨alt die TM genau dann, wenn es eine L ¨osung f ¨ur das konstruierte Planungsproblem gibt.

Da es nur polynomiell viele (i, q, x)-Kombinationen gibt, so auch polynomiell viele Propositionen und Operatoren.

(10)

NP-Vollst ¨andigkeit von PLANSAT

+

Ohne negative Effekte stellt ein Nachfolgezustand stets eine Obermenge des Vorg ¨angers dar.

Die L ¨ange des minimalen L ¨osungspfades ist daher linear beschr ¨ankt, d.h. wir kommen mir einer linearen Anzahl nichtdeterministischer Entscheidungen aus.

Somit ist PLANSAT+ ∈ NP.

(11)

NP-H ¨arte von PLANSAT

+

Reduktion von 3SAT: Sei

• E eine propositionale 3SAT Formel,

• U = {u1, . . . , um} die in E verwendeten Variablen und

• n die Anzahl der Klauseln in E.

F ¨ur jede Variable ui f ¨uhren wir die Propositionen T(i) und F(i) ein, die bedeuten, dass ui auf wahr bzw. falsch gesetzt ist.

C(j) bedeutet, dass die j-te Klausel in E erf ¨ullt ist.

(12)

NP-H ¨arte von PLANSAT

+

Die Initial- und Zielzust ¨ande sind definiert als I = ∅ und G = {C(1), . . . , C(n)}.

F ¨ur jede Variable ui definieren wir die Operatoren ¬F(i) ⇒ T(i) und

¬T(i) ⇒ F(i).

F ¨ur jede Klausel C(j), die eine nichtnegierte Variable ui enth ¨alt, definieren wir T(i) ⇒ C(j) und analog F(i) ⇒ C(j) f ¨ur negierte Variablen.

Offensichtlich existiert ein L ¨osungspfad von von I nach G, genau dann, wenn es eine Variablenbelegung gibt, so dass E war wird.

Somit ist PLANSAT+ NP-hart.

(13)

NP-H ¨arte PLANMIN

1+1+

in NP nach Teil d). Reduktion auf 3SAT:

Es sei

• U = {u1, . . . , um} die Menge der verwendeten Variablen in einer 3-SAT Formel

• E und n die Anzahl der Klauseln.

Wir definieren wieder die Propositionen T(i), F(i), C(j), welche bedeuten, dass ui auf wahr oder falsch gesetzt ist, bzw. dass die j-te Klausel erf ¨ullt ist.

Zus ¨atzlich definieren wir noch V (i), das angibt, dass eine Belegung f ¨ur Variable ui gew ¨ahlt wurde.

(14)

NP-H ¨arte PLANMIN

1+1+

Der Initial- und Zielzustand kann nun definiert werden als: I = ∅ und G = V (1) ∧ . . . ∧ V (m) ∧ C(1) ∧ . . . ∧ C(n).

F ¨ur jede Variable ui ben ¨otigen wir 4 Operatoren:

⇒ T(i)

⇒ F(i)

T(i) ⇒ V (i) F(i) ⇒ V (i)

D.h. wir haben Operatoren, die Variablen Werte zuweisen, und solche die sicherstellen, dass einer Variable ein Wert zugewiesen wurde.

(15)

NP-H ¨arte PLANMIN

1+1+

F ¨ur jede Klausel j, die eine Variable negiert bzw. nicht-negiert enth ¨alt, ben ¨otigen wir die Operatoren T(i) ⇒ C(j) bzw. F(i) ⇒ C(j).

Wenn E erf ¨ullbar ist, so

• muss f ¨ur jede Variable nur ein Wert gesetzt werden (m Operatoren), weitere

• m Operatoren werden be ¨otigt, um die V (i)’s zu setzen und

• n Operatoren f ¨ur die C(j)’s.

Somit ist E genau dann erf ¨ullbar, wenn das konstruierte Planungsproblem in k = 2m + n Schritten l ¨osbar ist.

(16)

PLANSAT

+1

P

Reduktion auf Pfade mit zuerst nur positive und danach nur negative Effekten:

- betrachte Operatorenfolge mit Oi’s Effekt negativ und Oi+1’s Effekt positiv - sei pi Oi’s positiver Effekt und pi+1 Oi+1’s negativer Effekt

- falls pi = pi+1, kann Oi entfernt werden

- anderenfalls k ¨onnen Oi und Oi+1 vertauscht werden

- da Vorbedingungen von Oi+1 wahr, gilt dies auch wenn man pi wahr l ¨asst - analog muss Oi+i die Vorbedingung von Oi erhalten

Iteriere, bis ¨aquivalente Operatorenfolge gefunden

(17)

PLANSAT

+1

P

Existiert L ¨osung, gibt es einen Zwischenzustand Si mit G+ ⊆ Si, der

- von I aus nur durch Operatoren mit positiven Effekten erreicht werden kann - von dem aus Si\G nur durch Operatoren mit negativen Effekten erreichbar ist Das Entscheidungsverfahren muss nun einen solchen Zwischenzustand finden Hierzu ben ¨otigen wir die folgenden zwei Teilroutinen:

Turnon(X) erh ¨alt als Parameter eine Menge von Propositionen X und liefert den maximalen Zustand S ⊆ F \X, der von I aus erreicht werden kann.

Turnoff(S), die als Paramter einen Zustand S erh ¨alt und den maximalen Zustand S0 ⊆ S liefert, so dass S\G von S0 erreichbar ist.

(18)

Turnon

Procedure Turnon(X) S ← I

repeat

temp ← S for O ∈ O do

if (S ⊂ Result(S, O)) ∧ (X ∩ Result(S, O) = ∅) S ← Result(S, O)

until S = temp return S

F ¨ur n Propositionen und m Operatoren ist Turnon O(mn2).

(19)

Turnon

Procedure Turnoff(S) S0 ← S\G

repeat

temp ← S0 for O ∈ O do

if (O ⊆ S) ∧ (Result(S0 ∪ O, O) = S0) S0 ← S0 ∪ O

until S = temp return S

Die Laufzeit von Turnoff ist ebenfalls O(mn2).

(20)

Satisfy

Satisfy pr ¨uft unter der Verwendung der beiden Teilroutinen, ob eine L ¨osung existiert.

Procedure Satisfy X ← ∅

loop

S ←Turnon(X)

if G+ 6⊆ S return reject S0Turnoff(S)

if S = S0 return accept X ← X ∪ (S\S0)

if X ∩ I 6= ∅ return reject

(21)

Satisfy

In der ersten Iteration wird S auf Turnon(∅) gesetzt. Wenn S die positiven

Zielpropositionen nicht enth ¨alt, so gibt es keine L ¨osung. Anderenfalls wird S0 auf Turnoff(S) gesetzt, d.h. S0 ist die maximale Teilmenge von S, die die negativen Ziele erreichen kann.

Da keine weiteren Propositionen wahr gemacht werden k ¨onnen, ist S0 auch die maximale Teilmenge von F, die die negativen Zielbedingungen erreichen kann.

Falls S = S0, so existiert eine L ¨osung. Anderenfalls gibt es negative

Zielbedingungen, die verhindern, dass der Zielzustand erreicht werden kann.

Damit ein Zielzustand erreicht werden kann, d ¨urfen diese Propositionen niemals wahr werden. Daher werden sie zu X hinzugef ¨ugt.

Falls mind. eine solche Proposition im Initialzustand wahr ist, reject

(22)

Gesamtresultat

Die n ¨achste Iteration verl ¨auft wie die vorhergehende, mit dem Unterschied, dass kein Element von X wahr gemacht wird.

Diese Iteration kann weitere Propositionen entdecken, die - falls sie wahr gemacht werden - verhindern, dass das Ziel erreicht wird.

Diese werden wiederum zu X hinzugef ¨ugt.

In aufeinanderfolgenden Iterationen werden entweder neue Propositionen zu X hinzugef ¨ugt, oder es wird accept/reject zur ¨uckgegeben.

Da |X| monoton w ¨achst und durch n = |F | begrenzt ist, wird die Schleife h ¨ochstens n-mal durchlaufen.

Da Turnon und Turnoff O(mn2) sind, folgt dass Satisfy O(mn3) ist.

(23)

4 Paralleles Planen mit Graphplan

Plangraph; gerichtetet, geschichtetet, mit 2 Knoten- und 3 Kantenarten Schichten alternieren zwischen

Propositionsschichten, in der Knoten durch Atome festgelegt sind und

Aktionsschichten, die aus Knoten f ¨ur die Operatoren bestehen.

Die erste Schicht ist eine Propositionsschicht mit Knoten f ¨ur jede Proposition in dem Initialzustand.

Die weiteren Schichten sind: Anwendbare Aktionen zum Zeitpunkt 1, Propositionen, die m ¨oglicherweise zum Zeitpunkt 2 wahr sind, anwendbare Aktionen zum

Zeitpunkt 2, Propositionen, die m ¨oglicherweise zum Zeitpunkt 2 gelten, usw..

(24)

Kanten im Plangraphen

Kanten in dem Plangraphen entsprechen Relationen zwischen Aktionen und Propositionen.

Aktionen in Schicht i sind

mit Vorbedingungskanten mit ihren Vorbedingungen im Schicht i verbunden,

mit Add -Kanten mit ihren positiven Effekten in der Propositionsschicht i + 1, sowie mit

Delete-Kanten mit den negativen Effekten in der Propositionsschicht i + 1.

(25)

Zusammensetzung des Plangraphen

Der Plangraph setzt sich wie folgt zusammen:

• Aktionsschicht i enth ¨alt alle m ¨oglichen Aktionen enth ¨alt, deren Vorbedingungen in Schicht i erf ¨ullt sind.

• Eine Proposition wird in Schicht i + 1 aufgenommen, sobald es eine Aktion gibt, die die Proposition als Add-Effekt hat.

• Desweiteren erlauben wir sogenannte noop Aktionen, die Propositionen unver ¨andert von Schicht i in die Schicht i + 1 bef ¨ordern.

(26)

Rocket-Domain

(:action move

:parameters (?r - rocket ?from ?to - place)

:precondition (and (at ?r ?from) (has-fuel ?r))

:effect (and (at ?r ?to) (not (at ?r ?from)) (not (has-fuel ?r)))) (:action load

:parameters (?r - rocket ?p - place ?c - cargo) :precondition (and (at ?r ?p) (at ?c ?p))

:effect (and (in ?c ?r) (not (at ?c ?p)))) (:action unload

:parameters (?r - rocket ?p - place ?c - cargo) :precondition (and (at ?r ?p) (in ?c ?r))

:effect (and (at ?c ?p) (not (in ?c ?r))))

(27)

Plangraph

prop 1 act 1 prop 2 act 2 prop 3

---

(load b l) (in b r) (noop) (in b r)

(load a l) (in a r) (noop) (in a r)

(move l p) (at r p) (noop) (at r p)

(unload a p) (at a p) (unload b p) (at b p)

(at a l) (noop) (at a l) (noop) (at a l)

(at b l) (noop) (at b l) (noop) (at b l)

(at r l) (noop) (at r l) (noop) (at r l)

(fuel r) (noop) (fuel r) (noop) (fuel r)

(28)

Exklusivit ¨at

Zwei Aktionen a und b in einer gegebenen Aktionsschicht sind exklusiv, wenn

Interferenz eine der Aktionen die Vorbedingung der jeweils anderen Aktione l ¨oscht.

Gleichzeitiger Zugriff eine Vorbedingung in Aktion a und eine Vorbedingung in Aktion b wurden in der vorangegangenen Propositionsschicht als exklusiv markiert

Dabei werden zwei Propositionen p und q als exklusiv markiert, wenn wenn alle

Aktionen a mit Add-Kante zu p exklusiv sind zu allen Aktionen b die eine Add-Kante zu p haben.

(29)

Algorithmus Graphplan

Die grobe Vorgehensweise des Graphplan-Algorithmus ist die Folgende.

Beginnend mit einem Plangraph, der nur die Startbedingungen in Schicht 1 enth ¨alt, wird der Graph nach und nach aufgebaut.

Dabei

• nimmt Graphplan den Plangraphen der Phase i − 1,

• erweitert ihn um eine Aktions- und Propositionsschicht und

• f ¨uhrt anschließend in dem erzeugten Graphen eine Suche nach einem validen Plan der L ¨ange i durch.

Ist die Suche nicht erfolgreich, wird der Plangraph um eine Schicht erweitert.

(30)

Vorw ¨artsphase

Eine neue Aktionsschicht wird wie folgt bestimmt:

F ¨ur jeden Operator und jede Instantiierungsm ¨oglichkeit der Vorbedingungen in der vorangegangenen Schicht wird ein Aktionsknoten eingef ¨ugt, sofern nicht zwei

Vorbedinungen als exklusiv gekennzeichnet sind.

Zudem werden die noops und die Vorbedingungskanten eingef ¨ugt.

Dann werden die Aktionen auf Exklusivit ¨at gepr ¨uft und f ¨ur jede Aktion eine Liste aller anderen Aktionen aufgebaut, zu denen sie exklusiv ist.

Um die Propositionsschricht zu generieren:

werden die Add-Effekte der Aktionen in der vorangegangengen Schicht ausgew ¨ahlt und als Vorbedingung f ¨ur die n ¨achste Schicht in den Graph eingef ¨ugt

(31)

Komplexit ¨at Plangraph

Betrachte ein Planungsproblem mit n Objekten, p Propositionen im Initialzustand und m STRIPS Operatoren jeweils mit einer konstanten Anzahl formaler Parameter.

Weiterhin sei l die L ¨ange der l ¨angsten Add-Liste aller Operatoren.

Satz Die Gr ¨oße des Plangraphen mit t Schichten, der von Graphplan konstruiert wird, als auch die Laufzeit diesen Graph zu erzeugen, ist polynomiell in n, m, p, l und t.

Beweis Sei k die gr ¨oßte Anzahl formaler Parameter in den Operatoren.

(32)

Gr ¨ oße

Da ein Operator keine neue Objekte erzeugen kann, ist die Anzahl instantiierter Effektpropositionen durch O(lnk) beschr ¨ankt.

Damit ist die maximale Anzahl von Knoten in jeder Propositionsschicht durch O(p + mlnk) beschr ¨ankt.

Da jeder Operator auf max. O(nk) verschiedenen Weise instantiiert werden kann, ist die maximaler Anzahl von Knoten in jeder Aktionsschicht des Plangraphen durch O(mnk) beschr ¨ankt.

Damit ist die Gr ¨oße des Plangraphen tats ¨achlich polynomiell in den angegebenen Parametern.

(33)

Laufzeit

Das Ziel, eine neue Aktions- bzw. Propositionsschricht des Graphen zu konstruieren, kann aufgeteilt werden in

• die Zeit aller Operatoren gem ¨aß den Vorbediungen in der vorangegangenen Schicht in allen m ¨oglichen Art und Weisen zu instanziieren,

• die Zeit die Exklusiv-Relation zwischen den Aktionen zu berechnen und

• die Zeit, um die Exklusiv-Relation zwischen den Propositionen f ¨ur die n ¨achste Schicht zu bestimmen.

Es ist klar, dass diese Zeit polynomiell in der Anzahl der Knoten in der aktuellen Schicht des Plangraphen ist.

(34)

R ¨ uckw ¨artsphase

Graphplan sucht validen Plan r ¨uckw ¨arts von Menge der Zielpropositionen ausgehen

Schicht f ¨ur Schicht, um die Exklusiv-Relation auszunutzen.

- Zu einer Menge von Zielen zur Zeit t versucht Graphplan die Menge von Aktionen (inkl. noops) zur Zeit t − 1 zu finden, die diese Ziele als Add-Effekte haben.

- Vorbedingungen dieser Aktionen bilden dann die Menge der Teilziele zum

Zeitpunkt t − 1 mit der Eigenschaft, dass wenn diese Ziele in t − 1 Schritten erf ¨ullt werden k ¨onnen, dann kann das originale Ziel erf ¨ullt werden.

- wenn Zielmenge zur Zeit t − 1 unl ¨osbar, w ¨ahlt Graphplan eine andere Menge von Aktionen, und f ¨ahrt solange fort, bis es entweder erfolgreich einen Plan findet, oder bewiesen hat, dass ein solcher Plan mit dieser oder geringerer Tiefe nicht existiert.

(35)

Implementierung

Um diese Strategie zu implementieren, bietet sich eine rekursive Suchmethode an:

1. F ¨ur jedes Ziel zum Zeitpunkt t w ¨ahle einige Aktionen zum Zeitpunkt t − 1 in einer festen Anordnung aus, die das Ziel erreichen und nicht exklusiv zu Aktionen sind, die vorher ausgew ¨ahlt wurden.

2. Fahre rekursiv fort mit dem n ¨achtem Ziel zum Zeitpunkt t (nat ¨urlich brauchen f ¨ur schon erf ¨ullte Ziele keine neuen Aktionen ausgew ¨ahlt werden).

3. Wenn der rekursive Aufruf fehlschl ¨agt, dann versuche es mit einer anderen Aktion, die das gegenw ¨artige Ziel erreicht, bis alle m ¨oglichen Aktionen

ausgew ¨ahlt wurden.

4. Wurden alle Ziele zum Zeitpunkt t erf ¨ullt, dann bilden die Vorbedingungen der ausgew ¨ahlten Aktionen die neue Zielmenge zum Zeitpunkt t − 1.

(36)

Vollst ¨andige Aktionsauswahl

Satz Sei G die Zielmenge zum Zeitpunkt t, die in t Schritten nicht l ¨osbar ist.

Dann entspricht die Zielmenge zum Zeitpunkt t − 1, unabh ¨angig von der gew ¨ahlten Ordnung der Ziele in G, exakt den Vorbedingungen aller minimaler Aktionsmengen zum Zeitpunkt t − 1, die G erreichen.

Beweis Graphplan ist so konzipiert, nur minimale Aktionsmengen auszuw ¨ahlen.

Demnach m ¨ussen wir zeigen, dass alle dieser Mengen vom Algorithmus behandelt werden.

(37)

Speziell

Sei A eine solche Menge

Betrachte eine beliebige Ordnung auf der Zielmenge G.

Sei a1 eine Aktion in A, die das erste Ziel in G erreicht.

- wir bezeichnen das Ziel mit ga1

Sei a2 eine Aktion in A, die das erste Ziel in G erreicht, das nicht schon durch a1 erreicht wurde.

- wir bezeichnen dieses Ziel mit ga2

(38)

Allgemein

Sei ai eine Aktion in A die das erste Ziel in G erreicht, das nicht schon durch {a1, . . . , ai−1} erreicht wurde. Wir bezeichnen dieses Ziel mit gai.

Beachte, dass alle Aktionen in A so einen Index erhalten, da A minimal.

Die Anordung der Aktionen impliziert, dass zu einem Punkt in der Rekursion,

• a1 zum Erreichen von ga1 gew ¨ahlt wird, und

• a2 zum Erreichen von ga2 gew ¨ahlt wird

• usw.

Damit werden alle Aktionen in A vom Algorithmus gew ¨ahlt.

(39)

Terminierung

Ein Fixpunkt bei der Graphgenerierung ist erreicht, wenn sich die

Propositionsmenge in einer Schicht n nicht mehr ¨andert, kurz Pn = Pn+1. Wenn nun

• der Fixpunkt in der Graphkonstruktion erreicht ist und ein Zielfakt nicht erreicht wurde oder

• zwei Zielpropositionen in der letzten Schichtals als exklusiv gekennzeichnet sind,

dann ist das Problem mit Sicherheit unl ¨osbar.

In diesem Fall muss keine weitere Suche durchgef ¨uhrt werden.

(40)

Verfeinerte Terminierung

Test auf Terminierung nicht ersch ¨opfend.

Gegenbeispiel: (on a b), (on b c) und (on c a).

Je zwei Bedingungen sind erf ¨ullbar, jedoch nicht alle drei gleichzeitig.

Demnach brauchen wir eine verfeinerte Terminierungsbedingung f ¨ur Graphplan.

Sei Sit die Zusammenfassung aller Zielmengen, die in einer Schicht i nach einer unerf ¨ullten Iteration t gespeichert wird.

Graphplan termimiert, wenn die Graphkonstruktionen einen Fixpunkt in Schicht n gefunden hat und eine Phase t in Graphplan zur Plankonstruktion erreicht wird mit

|Snt−1| = |Snt|.

(41)

Terminierung Graphplan

Satz Graphplan terminiert ohne L ¨osung, dann nur dann, wenn das Planungsproblem unl ¨osbar ist.

Beweis Die einfache Richtung ist die, wenn das Problem unl ¨osbar ist, wird Graphplan dieses auch anzeigen.

Die Begr ¨undung liegt darin, dass

• die Anzahl der Mengen in Snt niemals kleiner wird als die Anzahl der Mengen in Snt−1 und

• die Anzahl der Mengen in Snt beschr ¨ankt ist.

(42)

Andere Beweisrichtung

Annahme Graph hat Fixpunkt in Schicht n erreicht und Iteration t > n nicht erfolgreich

- jeder Plan, der Zielmenge in Sn+1t erreicht, diese Menge in Snt erreicht - die letzten t − n Schichten gleich und es gilt Sn+1t = Snt

Angenommen, nach einer nicht erfolgreichen Phase t gilt |Snt−1| = |Snt|.

Damit gilt auch Snt−1 = Snt und Snt+1 = Snt. D.h. um eine Menge in Sn+1t zu erreichen, muss man vorher eine andere Menge in Sn+1t erreicht haben.

Da keine der Mengen in Sn+1t in den Startbedingungen enthalten ist, ist das Problem unl ¨osbar.

(43)

5 Planung als Erf ¨ ullbarkeitsproblem

In dem Ansatz, Handlungsplanungsprobleme durch ein bzw. meherere Erf ¨ullbarkeitsformeln auszudr ¨ucken, wird jeder Proposition zus ¨atzlich ein Zeitstempel gegeben, zu der sie wahr ist.

F ¨ur einen Initialzustand in Blocks World mit Block a auf Block b und Zielzustand Block b auf Block a nach drei Schritten haben wir die Formel

(on a b 1) ∧ (on b t 1) ∧ (clear a 1) ∧ (on b a 3)

(44)

Aktionsanwendungen

Die ¨ubrigen Formeln beschreiben die Aktionsanwendungen. Diese beinhalten sowohl die Effekte, hier

∀x, y, z, i : (on x y i) ∧ (clear x i) ∧ (clear z i) ∧ (move x y z i) ⇒ (on x z i+1) ∧ (clear y i+1)

als auch diejenigen Regeln, die den Bestand eines nicht-ver ¨anderten Proposition sichern (Frame-Axiome).

(45)

Restriktion zur Anwendung von Aktionen

Nun wird die M ¨oglichkeit ausgeschlossen, dass eine Aktion ausgef ¨uhrt wird, deren Vorbedingung nicht erf ¨ullt sind.

Dieses kann dadurch erzielt werden, dass eine Aktion ihre Vorbedingungen und Effekte impliziert.

F ¨ur die Vorbedingungen der Aktion move in Blocks World haben wir

∀x, y, z, i : move(x y z i) ⇒ clear(x i) ∧ clear(z i) ∧ on(x y i) Effekte werden symmetrisch behandelt.

(46)

H ¨ ochstens eine Aktionsanwendung

Nun spezifizieren wir, dass immer nur eine Aktion zu einem festen Zeitpunkt durchgef ¨uhrt werden kann:

∀x, x0, y, y0, z, z0, i : x 6= x0 ∨ y 6= y0 ∨ z 6= z0

¬(move x y z i) ∨ ¬(move x’ y’ z’ i)

(47)

Mindestens eine Aktionsanwendung

Zum Schluss bleibt die Bedingung, dass mindestens eine Aktion zu jedem Zeitpunkt stattfinden muss:

∀i < N : ∃x, y, z : (move x y z i)

(48)

Modelle und valide Pl ¨ane

Wenn ein vollst ¨andiger Initialzustand gegeben ist garantieren obige Bedingungen, dass alle zu den Formeln erzeugten Modelle tats ¨achlich valide Pl ¨ane darstellen.

Dies gilt deshalb, da

• jedes Modell eine Sequenz von Aktionen darstellt, deren Vorbedingungen erf ¨ullt sind und

• die Ausf ¨uhrung einer Aktion im Zustand vollst ¨andig von den Wahrheitswerten aller Propositionen des n ¨achsten Zustandes abh ¨angen.

Das einzige Modell des obigen Planungsproblems ist (move a b t 1), (move b t a 2).

(49)

Vorteile

Planen als Erf ¨ullbarkeitsproblem hat eine Menge von Vorteilen.

• So ist es m ¨oglich zu fordern, dass Pr ¨adikate zu einem bestimmten Zeitpunkt wahr sind.

Zum Beispiel, die Anforderung, dass etwas auf Block c oder Block d liegt kann durch die Erf ¨ullbarkeitsformel ¬(clear c 5) ∨ ¬(clear d 5) ausgedr ¨uckt werden.

• Genauso k ¨onnen Aktionen zu einem speziellen Zeitpunkt ausgeschlossen werden, z.B. in dem man ¬(move a b c 3) der Spezifikation hinzuf ¨ugt.

(50)

Nachteile

• Anzahl der entstehenden Klauseln.

Sei c die Anzahl der Elemente des gr ¨oßten Typs und d die maximale Quantoren-Tiefe in irgendeinem Schema

⇒ L ¨ange der instantiierten Theorie nur durch O(kcd) begrenzt.

Gr ¨oßte Reduktion: Einschr ¨ankung der Quantoren-Tiefe

(51)

Reduktion der Quantoren-Tiefe

Ersetze Pr ¨adikate mit > 3 Argumenten durch vielen Pr ¨adikate mit ≤ 2 Argumenten Beispiel: Zerlege (move x y z i) in

(object x i), (source y i) und (dest z i)

Dieses f ¨uhrt zur Veringerung der Quantoren-Tiefe der Regel, dass nur eine Aktion zu einem festen Zeitpunkt ausf ¨uhrbar ist.

Anstatt der 7 quantifizierten Variablen sind nunmehr nur noch 3 Schemata mit jeweils 3 Quantoren n ¨otig

∀x, x0, i : x 6= x0 ⇒ ¬(object x i) ∨ ¬(object x’ i)

∀y, y0, i : y 6= y0 ⇒ ¬(source y i) ∨ ¬(source y’ i)

∀z, z0, i : z 6= z0 ⇒ ¬(dest z i) ∨ ¬(dest z’ i)

(52)

Erf ¨ ullbarkeitsalgorithmen: Davis-Putnam

Einer der zumeist genutzten Algorithmen, um die Erf ¨ullbarkeit zu testen, ist die Davis-Putnam Prozedur, die eine besondere Resolutionsmethode darstellt.

Der Algorithmus

• bildet inkrementell eine Belegung und f ¨uhrt einen Backtrack-Schritt durch, wenn er eine Zuweisung findet, die die Formel nicht erf ¨ullt.

• vereinfacht desweiteren Klauseln parallel zur Elimination von Literalen, die sich bzgl. der derzeitigen Belegung als unwahr herausstellen.

Falls eine Klausel mit einem Literal erzeugt wird, so wird diese direkt erf ¨ullt, oder ein Backtrack-Schritt eingeleitet.

(53)

Erf ¨ ullbarkeitsalgorithmen: GSAT

Alternative zur L ¨osung von großen Erf ¨ullbarkeitsproblemen. GSAT, 1. f ¨uhrt eine randomisierte lokale Suche durch

2. w ¨urfelt eine vollst ¨andige Belegung aus und f ¨uhrt dann eine Anzahl von

Variablenflips durch, um die derzeitige Belegungssituation gemessen in der Anzahl der erf ¨ullten Klauseln zu verbessern

3. wenn verschiedene Propositionen gleich gut sind, wird per Zufall eine ausgew ¨ahlt

4. terminiert, wenn eine erf ¨ullbare Belegung gefunden wurde oder eine Obergrenze an Flips erreicht ist

(54)

Planextraktion als Erf ¨ ullbarkeitsproblem

Idee: Plangraph als Erf ¨ullbarkeitformel.

1. Alle Ziele werden auf wahr gesetzt.

2. Alle initiale Fakten werden auf wahr gesetzt.

3. F ¨ur alle Fakten F in Schicht i 6= 0 des Plangraphen wird eine Regel F ⇒ A1 ∨ . . . ∨ An gebildet, wobei A1, . . . , An die Aktionen in der vorangegangenen Schicht sind, die F erzeugen.

4. F ¨ur alle Aktionen, bei denen P1, . . . , Pn die Vorbedingungen von A sind und E1, . . . , Em die Effekte von A werden die Regeln A ⇒ P1, A ⇒ P2, . . . , A ⇒ Pn und A ⇒ E1, A ⇒ E2, . . . , A ⇒ Em eingef ¨uhrt

5. F ¨ur jede Exklusivit ¨at von Propositionen A und B im Graph, wird eine Regel

¬A ∨ ¬B gebildet.

(55)

Planextraktion als CSP

Mit Blackbox vergleichbar, nur dass statt einer SAT-Formel eine CSP-Beschreibung generiert wird.

Dabei wird zwischen statischen und aktiven Bedingungen unterschieden.

Letztere beschreiben die Auswahl der Vorbedingungen im Planextraktionsprozess.

(56)

Beispiel Dynamisches CSP

• Variablen [mit Wertebereichen] G1 : [A1], G2 : [A2], G3 : [A3], G4 : [A4],

P1 : [A5], P2 : [A6, A11], P3 : [A7], P4 : [A8, A9], P5 : [A10] und P6 : [A10].

• Bedingungen (statisch) P1 = A5 ⇒ P4 6= A9, P2 = A6 ⇒ P4 6= A8 und P3 = A11 ⇒ P3 6= A7

• Bedingungen (dynamisch) G1 = A1Active{P1, P2, P3}, G2 = A2Active{P4}, G3 = A4Active{P5} und

G3 = A4Active{P1, P6}

Startzustand Active{G1, G2, G3, G4}

Dabei beschreiben die statischen Bedingungen die Exklusiv-Relation der

Propositionen innerhalb einer Schicht und die dynamischen Bedingungen die Aktivierung der Vorbedingungen.

(57)

Korrespondierendes gew ¨ ohnliches CSP

• Variablen G1 : [A1,⊥], G2 : [A2,⊥], G3 : [A3,⊥], G4 : [A4,⊥], P1 : [A5,⊥], P2 : [A6, A11,⊥], P3 : [A7,⊥], P4 : [A8, A9,⊥], P5 : [A10,⊥] und

P6 : [A10,⊥].

• Bedingungen (statisch) P1 = A5 ⇒ P4 6= A9, P2 = A6 ⇒ P4 6= A8 und P3 = A11 ⇒ P3 6= A7

• Bedingungen (dynamisch) G1 = A1 ⇒ P1 6= ⊥ ∧ P2 6= ⊥ ∧ P3 6= ⊥,

G2 = A2 ⇒ P4 6= ⊥, G3 = A4 ⇒ P5 6= ⊥ und G3 = A4 ⇒ P1 6= ⊥∧ 6= ⊥

• Startzustand G1 6= ⊥ ∧ G2 6= ⊥ ∧ G3 6= ⊥ ∧ G4 6= ⊥ Es dient als Eingabe f ¨ur einen CSP-L ¨oser.

(58)

6 Planen durch Heuristische Suche

Suchverfahren:

• (Enforced) Hill Climbing

• (Weighted) A*

• . . .

& Heuristiken

• Max-Atom, Max-Pair, Max-Triple, . . .

• Relaxierte Planungsgsheuristik

• Musterdatenbanken

• . . .

(59)

Enforced Hill Climbing

Procedure Enforced Hill Climbing S ← I

while (S 6= 0)

(S0, h0) ← EHC-BFS(S, h) if (h0 = ∞) return

S ← S0 h ← h0 return path(S)

(60)

Breitensuche in EHC

Procedure EHC-BFS Enqueue(Q, S) while (Q 6= ∅)

S ← DeQeueue(Q)

if (h(S0) < h) return (S0, h(S0)) for all S00 in Γ(S0)

Enqueue(Q, S00) return (·,∞)

(61)

Vollst ¨andigkeit

Satz Falls G keine Sackgasse enth ¨alt, dann findet Enforced Hill Climbing eine L ¨osung.

Beweis Es gibt nur einen Fall, in dem der Algorithmus versagt:

• wenn es einen Knoten gibt, f ¨ur den keine Verbesserung gefunden werden kann Da BFS vollst ¨andig ist, ist dies nur m ¨oglich, wenn das Ziel nicht erreichbar ist.

(62)

Zul ¨assige und konsistente Heuristiken

Definition Eine Heuristik h wird zul ¨assig genannt, wenn sie eine untere Schranke f ¨ur den k ¨urzesten Weg zum Ziel darstellt.

Definition Sie ist monoton oder konsistent wenn w(S, S0) + h(S0) − h(S) ≥ 0 f ¨ur alle S, S0 ∈ S gilt.

Dabei beschreibt w die Anwendungskosten eines Zustands ¨ubergangs, In der Handlungsplanung gilt ¨ublicherweise w ≡ 1.

(63)

Konsistente Heuristiken sind zul ¨assig

Satz Konsistente Heuristiken sind zul ¨assig.

Beweis Falls h konsistent, haben wir h(v) − h(u) ≤ w(u, v) f ¨ur alle (u, v) ∈ E. Sei p = (v0, . . . , vk) ein beliebiger Pfad von u = v0 zu t = vk. Dann haben wir

w(p) =

k−1 X

i=0

w(vi, vi+1)

k−1 X

i=0

h(vi+1) − h(vi)

= h(t) − h(u) = h(u).

Dies gilt insbesondere, falls p ein optimaler Pfad ist.

(64)

A* f ¨ ur konsistente Heuristiken

Initial f(I) ← h(I)

Aktualisierung f0(S0) ← min{f(S), f(S) + w(S, S0) + h(S0) − h(S)}

- auf jedem Pfad bilden Sch ¨atzwerte Teleskopsumme

- wenn der berechnete f-Wert f ¨ur ein Ziel bestimmt ist, stimmen die Bewertungen in A* und Dijkstra ¨uberein

⇒ A* vollst ¨andig und optimal.

Vorteil von A* geringere Anzahl der Knoten, die angeschaut werden

(65)

Dijkstra vs. A*

Procedure Dijkstra Procedure A*

Open ← {(I,0)}; Closed← {} Open ← {(I, h(I))}

while (Open 6= ∅)

S ← DeleteMin(Open); Insert(Closed,S) if (goal(S)) return path(S)

for all S00 in Γ(S)

f0(S0) ← f(S) + w(S, S0) +h(S0) − h(S) if (Search(Open, S0))

if (f0(S0) < f(S))

DecreaseKey (Open(S0, f0(S0)) else if not (Search(Closed, S0))

Insert(Open,(S0, f0(S0))

(66)

A* f ¨ ur zul ¨assige Heuristiken

Problem: Negative Werten von w(S, S0) + h(S0) − h(S) Re-Opening:

• Neubetrachtung von schon expandierten Knoten.

von Liste Closed zur ¨uck in den Suchhorizont Open bef ¨ordert.

+: Vollst ¨andigkeit und Optimalit ¨at

−: Anzahl erneut betrachteten Knoten mitunter exponentiell

(67)

Max-Atom Heuristik

Approximiere optimale Kosten im Problem, in dem Delete-Listen ignoriert wurden Gesch ¨atzten Kosten g(S, p), um Proposition p von S aus zu erreichen:

g(S, p) = min

p∈add(O),O∈O{g(S, p),1 + g(S,pre(O))}.

Die Rekursion startet mit g(I, p) = 0, f ¨ur p ∈ I, und g(S, p) = ∞, sonst.

Sie wird so lange berechnet, bis die Kosten g(S, p) sich nicht mehr ¨andern.

Max-Atom Heuristik h1: Maximum g(S, C) = maxp∈C g(S, p). Lemma Max-Atom ist zul ¨assig.

(68)

h

m

Heuristik

Zuerst haben wir hm(C) = 0, falls C ⊆ I. Dann gilt hm(C) = min

(D,O)∈R(C){1 + hm(D)} (1) falls |C| ≤ m und C 6⊆ I. Desweiteren gilt

hm(C) = max

D⊆C,|D|=m hm(D) falls |C| > m.

(D, O) ∈ R(C) bedeutet, dass D Resultat der Regression von C durch p ist, R(C) enth ¨alt alle Paare (D, O), mit C ∩ add(O) 6= ∅, C ∩ del(O) 6= ∅ und D = (C \ add(O)) ∪ pre(O)

(69)

Max-Pair Heuristik

F ¨ur m = 2 und C = {p, q} gilt h2(C) = min

(

min

p∈add(O)∧q∈add(O)

n1 + h2(pre(O))o ,

min

p∈add(O)∧q /∈(add(O)∪del(O))

n1 + h2(pre(O) ∪ {p})o,

min

q∈add(O)∧p /∈(add(O)∪del(O))

n1 + h2(pre(O) ∪ {q})o

)

und f ¨ur C = {p} ist

h2(C) = min

p∈add(O),O∈O{1 + h2(pre(O))}.

(70)

Paralleles Planen

Heuristik h2 ist f ¨ur das sequentielle Planen zul ¨assig.

Um eine zul ¨assige Heuristik h2|| f ¨ur das parallele Planen zu bestimmen, kommt als vierter Term

min

p,q∈(add(O)∪add(O0))

n1 + h2(pre(O) ∪ pre(O0))o

hinzu.

h2|| entspricht der Heuristik, die in Graphplan durch den Aufbau des Plangraphen implizit verwendet wird

(71)

Relaxierte Planungsheuristik

Die Relaxierung einer Aktion a = (pre(a),eff(a)+,eff(a)) ist a+ = (pre(a),eff(a)+,∅).

Die Relaxierung eines Planungsproblems ist diejenige, in der alle Aktionen durch ihre relaxierten Gegenst ¨ucke ersetzt werden.

Die Relaxierung hat die folgenden Eigenschaften

1. jede L ¨osung des originalen Planungsproblem l ¨ost auch das relaxierte;

2. alle Vorbedingungen und Ziele sind im originalen Problem erreichbar, genau dann, wenn sie es in dem relaxierten Problem sind.

Der Wert h+ ist die L ¨ange des k ¨urzesten relaxierten (sequentiellen) Plans, der das Problem l ¨ost.

(72)

Zul ¨assigkeit und Monotonie

Lemma Heuristik h+ ist zul ¨assig.

Beweis Aufgrund von Bedingung i) Lemma Die Heuristik ist monoton.

Beweis

• Angenommen, ein relaxierter Plan mit Wert h+(S0) wurde gefunden.

• Dieser kann durch die Aktion erweitert werden, die von S nach S0 f ¨uhrt.

• Demnach gilt h+(S) ≤ h+(S0) + w(S, S0).

(73)

Implementierung

Procedure Relax(S,goal) P0S; t ← 0

while (goal 6⊆ Pt) do

Pt+1 ← PtSpre(a)⊆Pt eff(a)+ if (Pt+1 = Pt) return

t ← t + 1

for i ← t downto 1: Gi ← {g ∈ goal | level(g) = i}

for i ← t downto 1 for g ∈ Gi

if ∃a. g ∈ eff(a)+ and level(a) = i − 1 A ← A ∪ {a}

for p ∈ pre(a): Glevel(p) = Glevel(p) ∪ {p}

return |A|

(74)

Approximation

Problem L ¨osen von relaxierten Pl ¨anen ist NP schwer.

⇒ Approximation durch Anzahl Operatoren im parallelen Plan gegeben, der das relaxierte Problem l ¨ost.

• Analog zu dem Graphplan-Ansatz berechnet der Algorithmus f ¨ur den

relaxierten parallelen Plan zuerst den Fixpunkt des relaxierten Plangraphen.

Darauf folgt eine gierige Extraktion des Plans, beginnend bei den erreichten Zielpropositionen.

(75)

Ablauf Graphgenerierung

Schicht i: Alle Propositionen, die durch die Anwendung einer Aktion erhalten werden, deren Vorbedingungen in Schicht j mit 1 ≤ j < i erf ¨ullt sind.

• jede Proposition wird nur einmal in der minimalen Schicht abgelegt.

• in Schicht 1 ist der Initialzustand abgelegt.

Da es nur eine endliche Anzahl von Propositionen gibt, wird der Prozess irgendwann einen Fixpunkt erreichen.

In einer Implementierung kann es ratsam sein, die Schichten in Form von Bitvektoren zu verwalten.

(76)

Ablauf relaxierte Planextraktion

R ¨uckw ¨artslauf:

• Zielfakten bilden die ersten markierten Fakten.

• solange markierte Fakten in Schicht i, wird Operator ausgew ¨ahlt, der markierten Add-Effekt hat

• f ¨ur die gew ¨ahlte Aktion werden nun die Markierungen allre anderen Add-Effekte gel ¨oscht und die Vorbedingungen markiert

• solange es noch markierte Propositionen in Schicht i gibt, wird mit das Verfahren fortgesetzt.

• ansonsten aktuelle Schicht um 1 erniedrigt, bis Initialschicht erreicht wird.

(77)

Beobachtungen

Entgegen Graphplan findet kein Backtrack statt

• Approximation polynomiell

• Eignet sich zur Berechnung f ¨ur jeden Zustand

Heuristik konstruktiv, d.h. sie gibt nicht nur die gesch ¨atzte Distanz sondern auch die gew ¨ahlten Aktionen zur ¨uck.

• Es ist leicht Beispiele zu finden, in denen die Approximation nicht zul ¨assig ist.

(78)

Musterdatenbank Heuristik

Abstraktes Planungsproblem P|R = < S|R,O|R,I|R,G|R > eines STRIPS Planungsproblems < S,O,I,G > f ¨ur R ⊆ F:

1. S|R = {S ∩ R | S ∈ S}, 2. I|R = I ∩ R,

3. G|R = {G ∩ R | G ∈ G},

4. O|R = {(α|R, βa|R, βd|R) | O = (α, βa, βd) ∈ O},

Abstrakte Pl ¨ane werden mit πR und optimale Planl ¨ange mit δR bezeichnet . Abstrakte Operatoren: Schnitt der Listen mit R.

Diese Restriktion kann zu leeren Operatoren (∅,∅,∅) f ¨uhren

(79)

L ¨ osungserhaltung und Zul ¨assigkeit

Satz Die Restriktion |R ist l ¨osungserhaltend undRopt| ≤ |πopt|.

Beweis Sei π = (O1, . . . , Ok) ein sequentieller Plan f ¨ur < S,O,I,G >.

⇒ π|R = (O1|R, . . . , Ok|R) Plan f ¨ur P|R = < S|R,O|R,I|R,G|R >.

Angenommen δR(S|R) > δ(S) f ¨ur ein S ∈ S und πopt = (O1, . . . , Ot) optimaler Plan im originalen Planraum P

Dann ist πopt|R = (O1|R, . . . , Ot|R) valider Plan in P|R mit einer Planl ¨ange

≤ t = δ(S). Widerspruch.

Strikte Ungleichheit δR(S|R) < δ(S) durch leere Operatoren, oder durch alternative, k ¨urzere Pl ¨ane im abstrakten Raum

(80)

(Disjunkte) Planungsmusterdatenbanken

Planungsmusterbank DBR f ¨ur R ⊆ F und Planungsproblem < S,O,I, G > ist Menge von Paaren

DBR = {(δR(S), S) | S ∈ S|R}.

Speicherung einer Planungsmusterdatenbank als (Hash-) Tabelle, die durch die abstrakten Planungszust ¨ande addressiert wird.

Zwei Planungsmusterdatenbanken DBR und DBQ mit R, Q ⊆ F, R ∩ Q = ∅ sind disjunkt, wenn φ−1R (O0) ∩ φ−1Q (O00) = ∅ f ¨ur alle O0 ∈ O|R und O00 ∈ O|Q gilt,

wobei φ−1R (O0) = {O ∈ O | O|R = O0}.

(81)

Zul ¨assigkeit disjunkter Datenbanken

Satz Zwei disjunkte Musterdatenbanken DBR und DBQ f ¨ur < S,O,I,G > sind additiv, d.h. f ¨ur alle S ∈ S haben wir δP(S|R) + δQ(S|Q) ≤ δ(S).

Beweis Seien P|R = < S|R,O|R,I|R,G|R > und P|Q =< S|Q,O|Q,I|Q,G|Q >

Abstraktionen von P =< S,O,I,G > und π ein optimaler Plan f ¨ur P. Dann ist π|R ein Plan f ¨ur P|R und π|Q ein Plan f ¨ur P|Q.

Da die Musterdatenbanken DBR und DBQ disjunkt sind, gilt φ−1R (O0) ∩ φ−1Q (O00) = ∅ f ¨ur alle O0 ∈ π|R und alle O00 ∈ π|Q. Damit folgt δR(S|R) + δQ(S|Q) ≤ δ(S).

(82)

7 Planen mit BDDs

BDDs sind ein fundamentales Hilfsmittel in vielen Forschungszweigen, wie der Synthese und Verifikation von Schaltkreisen.

In der Handlungsplanung werden BDDs haupts ¨achlich dazu eingesetzt, große Zustandsmengen effizient zu repr ¨asentieren.

Das Planen mit BDDs basiert auf dem Erf ¨ullbarkeitsproblem: bin ¨are Zustandskodierungen werden auf wahr oder falsch abbgebildet.

Wesentlicher Unterschied Anwendung von Reduktionsregeln, die ¨uberfl ¨ussige Variablentest und isomorphe Teilgraphen eliminieren.

⇒ Eindeutigee Repr ¨asentation, die f ¨ur viele Boole’sche Funktionen polynomiell in der Anzahl der Variablen ist.

(83)

Definition BDD

Ein BDD ist eine Datenstruktur, um Boole’sche Funktionen effizient zu repr ¨asentieren und ist gegeben

• in Form eines gerichteten, azyklischen Graphen mit

• einer Wurzel und zwei Senken, die mit 0 oder 1 beschriftet sind

• innere Knoten sind mit Variablennamen beschriftet und haben zwei

ausgehende Kanten, die je nach der Variablenzuweisung ausgew ¨ahlt werden

(84)

Operationen auf BDD

Auswertung Um nun eine Funktion f ¨ur eine gegebenen Belegung auszuwerten wird der Pfad von der Wurzel zu einer der Senken verfolgt, vergleichbar mit der Auswertung von Entscheidungsb ¨aumen.

Weitere Ooerationen Unter den Operationen, die von derzeitigen BDD-Paketen unterst ¨utzt werden, sind die in polynomialer Zeit auszuf ¨uhrenden “und” und “oder”

Verbindungen, sowie die in konstanter Zeit auszuf ¨uhrenden Erf ¨ullbarkeits- und Gleichheitstests.

Bibliotheken CUDD von Fabio Somenzi und Buddy von Jørn Lind-Nielsen.

Hilfreich, wenn man Ganzzahlen aus einem endlichen Bereich bin ¨ar kodieren will.

(85)

Darstellen von Zustandsmengen

Idee BDD zur Darstellung der charakteristischen Funktion der Zustandsmenge

Funktion wertet eine gegebene Belegung als wahr aus, wenn ein Zustand in der Zustandsmenge beschrieben wird.

• Funktion wird mit der zugrundeliegenden Menge identifiziert.

Problem Viele M ¨oglichkeiten, eine Kodierung der Zust ¨ande eines

Planungssystems zu finden, wobei die offensichtlichen Kodierungen zu einer schlechten Performanz f ¨uhren.

⇒ Minimierung der Zustandscodierung

(86)

Beispiel

Logistics Ein LKW soll ein Paket von Los Angeles nach San Francisco bef ¨ordern.

Initialzustand in PDDL Notation: (at package los-angeles), und (at truck los-angeles)

Zielzust ¨ande erf ¨ullen Bedingung (at package san-francisco) Aktionen:

• load, um einen LKW zu beladen,

• unload, als inverse Operation, und

• drive, um einen LKW von einer Position zu einer anderen zu bewegen.

(87)

Vorverarbeitung

Elimination konstanter Pr ¨adikate nur das at und das in Pr ¨adikat ver ¨andern.

Gegenseitigen Ausschluss von Pr ¨adikaten Ein gegebenes Objekt entweder an einem Ort oder in einem anderen Objekt

Exploration des Faktenraumes: Alle Propositionen, die durch einen legale Sequenz von Aktionsanwendungen vom Startzustand erreicht werden k ¨onnen Negative Effekte von Operatoren werden vernachl ¨assigt.

⇒ illegale Propositionen, wie (in los-angeles package), (at package package) oder (in truck san-francisco), werden automatisch

ausgeschlossen.

(88)

Effiziente Zustandskodierung

Drei Boole’sche Variablen A, B und C

• A beschreibt die Stadt, in der sich der LKW aufh ¨alt; wahr, falls (at truck san-francisco) gilt.

• B und C kodieren den Status der Pakete: Sie sind beide unwahr, falls das Paket in Los Angeles liegt; C, aber nicht B, ist gesetzt, falls es sich in San

Francisco befindet; und B, aber nicht C, ist gesetzt, falls es sich innerhalb des LKWs befindet.

Somit k ¨onnen wir den Initialzustand und den Zieltest als Boole’sche Formeln beschreiben, die sich wiederum als BDD darstellen lassen:

• ¬A ∧ ¬B ∧ ¬C beschreibt den Startzustand und

• das Ziel wird in jedem Zustand, in dem ¬B ∧ C gilt, erreicht.

(89)

Darstellen von Zustands ¨ uberg ¨angen

Mengen von Tupeln aus Vorg ¨anger- und Nachfolgerzust ¨anden Alternativ Charakteristische Funktionen dieser Mengen

Variablen A, B und C f ¨ur die alte Situation, sowie A0, B0, C0 f ¨ur die neue Situation.

Beispiel (drive truck los-angeles san-francisco) nur dann

anwendbar, wenn LKW sich in Los Angeles befindet; bewirkt, dass sich die Position des LKWs, aber nicht die des Pakets ¨andert.

⇒ Boolesche Funktion ¬A ∧ A0 ∧ (B ↔ B0) ∧ (C ↔ C0)

(90)

Relationales Produkt

Berechnung der Nachfolgermenge:

• verbindet man nun Relation konjunktiv mit Formel, die eine Menge von Zust ¨anden mit den Variablen A, B und C beschreibt und

• fragt nach den m ¨oglichen Instantiierungen von A0, B0 und C0,

wird die Menge aller derjenigen Zust ¨ande berechnet, die durch das Fahren des LKWs nach San Francisco in einem Zustand der Eingabemenge erreicht werden.

Statt Transitionsrelation f ¨ur eine Aktion, Transitionsrelation f ¨ur alle Aktionen durch Disjunktion der Relation der einzelnen Aktionen.

(91)

Exploration

1. Iteration ¨Ubergang von I:

3 Zust ¨ande (den Initialzustand, den Zustand, in dem der LKW sich bewegt hat und den Zustand, in dem das Paket aufgenommen worden ist), dargestellt durch ein BDD mit drei inneren Knoten.

2. Iteration: Menge von vier Zust ¨anden, die in einem BDD mit nur einem internen Knoten repr ¨asentiert wird.

3. Iteration: findet dann einen Zustand, der die Zielbedingung erf ¨ullt.

Konjunktion der BDDs f ¨ur die derzeitigen Zustandsmenge und der Zielzustandsmenge mit anschließendem Erf ¨ullbarkeitstest

(92)

Planextraktion

Wenn man die Zwischen-BDDs speichert

• l ¨aßt sich die Zustandssequenz vom Start- zum Zielzustand leicht ermitteln,

• wird genutzt, um die Sequenz der korrespondierende Aktionen zu finden.

(93)

Optimalit ¨at

Satz Algorithmus vollst ¨andig und optimal.

Beweis Ist gen ¨ugend Speicher und Platz f ¨ur die Exploration vorhanden, dann findet die BDD-Exploration einen korrekten Plan, so er denn existiert.

Die erste gefundene L ¨osung besitzt die k ¨urzeste Anzahl von Aktionen.

Falls keine L ¨osung existiert, wird dies dadurch festgestellt, dass die Breitensuche einen Fixpunkt erreicht, was z.B. durch Vergleich der Nachfolge-BDDs leicht

festgestellt werden kann.

(94)

Verfeinerungen

Einf ¨uhrung eine Closed -Liste Vermeidung von Duplikaten; nicht immer n ¨utzlich, da die BDD R ¨apresentationsgr ¨oße nicht unbedingt mit der geringeren

Zustandsanzahl sinkt.

Bidirektionale Suche R ¨uckw ¨artssuche durch Vertauschung von Initialzustand und Planziel und Umkehrung der Bildberechnung unmittelbar ergibt.

⇒ 3 Suchfrontriterien: BDD-Gr ¨oßen, die Anzahl der repr ¨asentierten Zust ¨ande und Zeit, die f ¨ur den jeweils letzten Explorationsschritt

Heuristisch-symbolischen Suche Hier werden anstatt der Breitensuche gerichtete Explorationsalgorithmen, wie A*, aufgerufen.

Da auch die Sch ¨atzfunktion symbolisch repr ¨asentiert werden muss, bieten sich symbolischen Musterdatenbanken an

Referenzen

ÄHNLICHE DOKUMENTE

Dies können sein: Bestimmte Bücher; Zugang zu bestimmten Daten oder Personen; Zeit von Freunden, um Ihre Texte zu lesen; eigene Zeit, zum Daten erheben oder Schreiben..!. Das Ziel

[r]

Es sind zwanzig Jahre verflossen, daß in der Mark [Brandenburg] an einem vornehmen Ort ein Kurfürstlicher Propst und Konsistorialrat verstorben ist. Dieser war aus [der

[r]

glauben sein semantisches Argument indirekt gebunden bekommt, mag zwar auch für ergän- zende wenn-Sätze gelten, eine vollständige Erklärung des Phänomens kann er aber nicht sein,

1 Angaben über diese erhalten wir auch in der Abteilung J (f^ji) unter dem Absohnitt Audienzen, ch1. Für den Empfang und die

Wir k¨ onnen die Integration ¨ uber den Winkel ϕ einfach ausf¨ uhren, da der Inte- grand nicht von ϕ

Display utility commands: save and load tables and charts, enlarge table size, select drive, reset, and redisplay