SAS + -Planung Vorlesung Handlungsplanung Tilman Mehler 1 - - PowerPoint PPT Presentation
SAS + -Planung Vorlesung Handlungsplanung Tilman Mehler 1 - - PowerPoint PPT Presentation
SAS + -Planung Vorlesung Handlungsplanung Tilman Mehler 1 Uberblick Wir haben u.A. gelernt: Propositionales STRIPS-Planen Numerisches Planen Relaxierte Planungsprobleme ( h + ) Heute: Problematik von h + bei gewissen
1 ¨ Uberblick
Wir haben u.A. gelernt:
- Propositionales STRIPS-Planen
- Numerisches Planen
- Relaxierte Planungsprobleme (h+)
Heute:
- Problematik von h+bei gewissen STRIPS-Instanzen
- Alternative: Planen mit SAS+
- Subklasse SAS+-1 und ihre Verwendung
¨ Uberblick 1
2 Problematik von h+
Unl¨
- sbare Probleme werden l¨
- sbar:
A C F B E D
Problematik von h+ 2
Weitere Probleme
Schlechte Abstandssch¨ atzungen:
A B C D A’ B’ D’ C’ A B C D ’’ ’’ ’’ ’’ Problematik von h+ 3
3 SAS+-Planung
Ein SAS+-Planungsproblem ist ein 4-Tupel Π = (V, O, s0, s∗), wobei:
- V = {v1, . . . , vn} eine Menge von Zustandsvariablen, jede mit endlichem
Wertebereich Dv. Eine partielle Belegung von V ist eine partielle Funktion s ¨ uber V, so dass s(v) ∈ Dv, falls s(v) definiert ist.
- O eine Menge von Operatoren, jeder gegeben durch ein Paar von partiellen
Belegungen (pre,eff) (Vorbedingung und Effekt).
- s0, s∗ Start- und Zielzustand als partielle Belegung.
SAS+-Planung 4
Beispiel f¨ ur ein SAS+-Problem
V = {v1, v2, vc} Dv1 = Dv2 = {A, B, C, D, E, F} Dvc = {A, B, C, D, E, t1, t2} O = {({v1 → A}, {v1 → B}), ({v1 → A}, {v1 → C}), ({v2 → A}, {v2 → B}), . . . ({vc → E, v1 → E}, {vc → t1}), . . . s0 = {v1 → C, v2 → F, vc → E} s∗ = {vc → B} ⇒ 62 ∗ 8 = 288 potentielle Zust¨ ande (im Gegensatz zu STRIPS: 220 = 1048576).
SAS+-Planung 5
Intuitive Vereinfachung: SAS+-Teilproblem
Gegeben ein SAS+-Problem Π = (V, O, s0, s∗) und V′ ⊆ V. Das durch V′ induzierte Teilproblem ist das 4-Tupel Π′ = (V′, O|V′, s0|V′, s∗|V′), wobei: O|V′ = {(pre|V′,eff|V′)|(pre,eff) ∈ O∧eff|V′ = ∅} Probleme z.B. in unserem (unl¨
- sbaren Beispiel):
- Jedes Teilproblem außer dem Gesamtproblem ist l¨
- sbar.
- v1 /
∈ V′ ⇒ Truck 1 ist jederzeit ¨ uberall.
SAS+-Planung 6
Kausale Graphen
Gegeben ein SAS+-Problem Π = (V, O, s0, s∗), ist der Kausale Graph CG(Π) definiert als ein gerichteter Graph (V, A), wobei (u, v) ∈ A g.d.w. u = v und es einen Operator (pre,eff)∈ O gibt, so dass eff(v) definiert ist und pre(u) oder eff(u) definiert ist. ⇒ Eine Kante f¨ uhrt von einer Variablen zur anderen, wenn eine Ver¨ anderung der anderen Variable vom aktuellen Wert der einen Variable abh¨ angig sein kann.
v
1
v
c
v
2
SAS+-Planung 7
Wert¨ ubergangsgraphen
Gegeben sei ein SAS+-Problem mit Variablenmenge V und v ∈ V. Der Wert¨ubergangsgraph G
v ist ein gerichteter, beschrifteter Graph mit
Knotenmenge Dv, der genau dann eine Kante (d, d′) enth¨ alt, wenn es einen Operator (pre,eff) gibt mit pre(v) = d oder pre(v) undefiniert und eff(v) = d′. Die Kante wird mit pre|(V\{v}) beschriftet.
A B C D E F t
2
t
1
v = F
1
v = F
2 2
v = C
2
v = D
2
v = E
2
v = A
2
v = B v = B
1
v = C
1
v = D
1
v = E
1
v = A
1
A B E D C F
SAS+-Planung 8
4 SAS+-1
Ein SAS+-1-Problem ist ein SAS+-Problem Π mit einer ausgemachten Variable v, so dass in GC(Π) v eine eingehende Kante von allen anderen Variablen hat und GC(Π) keine weiteren Kanten enth¨ alt. Man nennt v die Highlevel-Variable von Π und allen anderen Variablen sind Lowlevel-Variablen. Der Zielzustand muss und darf nur ¨ uber die Highlevel-Variable definiert sein.
SAS+-1 9
Eigenschaften von SAS+-1 (1)
Satz: PlanEx-SAS+-1 ist NP-vollst¨ andig. Beweisidee:
- 1. (∈ NP): Betrachte Plan π minimaler L¨
- ange. W¨
ahrend der Ausf¨ uhrung von π nimmt die Highlevel-Variable v keinen Wert 2 mal an und Lowlevel-Variablen nur dann, wenn sich der Wert von v zwischenzeitlich ver¨ andert hat. ⇒ Quadratische Lauftzeit durch ein nichtdeterministischer guess-and-check Verfahren.
- 2. (NP-hart): Reduktion auf NP-vollst¨
andiges PFP (Path with forbidden Pairs)
- Geben: Ger. Graph (V, A), v0, v∗ ∈ V und P ⊆ A × A
- ?: Ex. Pfad von v0 nach v∗, der von jedem Paar aus P h¨
- chstens eine
Kante enth¨ alt?
SAS+-1 10
Definiere SAS+-1-Problem, mit Highlevel-Variable v und Dv = V . F¨ ur jedes p = (a, b) ∈ P definiere Lowlevel-Variable vp mit Dv′ = {a, b, ⊥} und Initialwert ⊥. F¨ ur jede Kante (n, n′) ∈ A, definiere Operator (pre, eff) mit pre(v) = n, und pre(vp) = ⊥ f¨ ur jede Lowlevel-Variable deren Kantenpaar (n, n′) enth¨ alt sowie eff(v) = n′ und eff(vp) = (n, n′).
Eigenschaften von SAS+-1 (2)
Satz: PlanLen-SAS+-1 ist NP-vollst¨ andig. Beweisidee:
- 1. (∈ NP): Folgt aus vorherigem Beweis.
- 2. (NP-hart): Reduziere auf NP-vollst¨
andiges X3C (exact cover by three sets) Problem:
- Gegeben: Menge C von 3-elem. Teilmengen der Menge {1, . . . , 3q}.
- ?: Ex. C′ ⊆ C mit |C′| = q und C′ = {1, . . . , 3q}?
Definiere SAS+-1 mit Highlevel-Variable v und Dv = {1, . . . , 3q} und Initialwert 0. F¨ ur jedes S ∈ C definiere Lowlevel-Variable vC mit DvC = {⊤, ⊥} und Initialwert ⊥. Lowlevel-Variablen k¨
- nnen ihren Wert
beliebig zwischen ⊤ und ⊥ wechseln. Variable v kann ihren Wert von i auf
SAS+-1 11
i + 1 wechseln, wenn eine Lowlevel-Variable vC mit i + 1 ∈ C auf ⊤ gesetzt
- ist. Setze die maximale Planl¨
ange auf 4q. ⇒ 3q Operatoren, um den Wert von v um 1 zu erh¨
- hen.
⇒ q Operatoren um ein Element aus C auszuw¨ ahlen.
Planungsalgorithmus f¨ ur SAS+-1
Gegeben SAS+-1-Problem Π = (V, O, s0, s∗) mit Highlevel-Variable vH.
- 1. (Initialisierung)
plan(dH) =
[] falls dH = s0(vH) undef. sonst Queue = DH
- 2. Entferne ein dH aus Queue, welches ||plan(dH)|| minimiert und f¨
ur das plan(dH) definiert ist (undef. Pl¨ ane haben L¨ ange ∞). Sei π = plan(dH) und s = π(s0). F¨ ur alle Highlevel-Transitionen op von dH nach d′
H mit
Vorbedingung pre: a) Pr¨ ufe, ob alle Bedingungen in pre von s aus erf¨ ullt werden k¨
- nnen (Suche
in Werttransitionsgraphen der Lowlevel-Variablen). Falls ja, dann sei πL ein
SAS+-1 12
Plan minimaler L¨ ange, der die Vorbedingungen erf¨
- ullt. Definiere π′ als die
Aneinanderreihung von π, πL und op. b) Falls ||plan(d′
H)|| > ||π′||, setze plan(d′ H) ← π′
- 3. Wiederhole Schritt 2, solange, bis Queue keine Elemente mehr enth¨
alt, f¨ ur die plan definiert ist, (kein Plan gefunden), oder bis s∗(vH) aus Queue entfernt wurde (plan(s∗(vH)) ist die L¨
- sung).
- Polynomielle Laufzeit.
- Korrekt, aber unvollst¨
andig (es gibt l¨
- sbare Probleme f¨
ur die keine L¨
- sung
gefunden wird).
5 Anwendung: Heuristik f¨ ur allgemeine SAS+-Probleme
Annahme: Beziehungen zwischen Variablen und ihren unmittelbaren Vorg¨ angern im kausalen Graphen sind wichtiger als Beziehungen zu mittelbaren Vorg¨ angern. ⇒ Betrachte Teilprobleme, die durch eine Variable und ihre unmittelbaren Vorg¨ anger induziert werden. Gesch¨ atzte Kosten costv(d, d′), um eine Variable v von Wert d in Wert d′ zu ¨ uberf¨ uhren:
- 1. Falls v keine kausalen Vorg¨
anger hat, so ist cv(d, d′) der k¨ urzeste Pfad von d nach d′ im Wert¨ ubergangsgraphen Gv, oder ∞, falls kein solcher Pfad existiert. Sonst gehe zu 2.
- 2. Sei Vv die Menge der Variablen, die v und alle unmittelbaren Vorg¨
anger von v im kausalen Graphen von Π enth¨
- alt. Sei Πv das durch Vv induzierte
Teilproblem von Π, mit der Ausnahme, dass der Initialwert von v als d und der Zielwert als d′ definiert ist.
Anwendung: Heuristik f¨ ur allgemeine SAS+-Probleme 13
- 3. Sei costv(d, d′) = |π|, wobei π der durch den SAS+-1-Algorithmus
berechnete, k¨ urzeste Weg ist. Die Kosten von Highlevel-Transitionen ist 1, die Kosten von Lowlevel-Transitionen entsprechen der L¨ ange des k¨ urzesten Pfades im Wert¨ ubergangsgraphen der entsprechenden Variable. h(s) =
- v∈V
costv(s(v), s∗(v))
6 Quelle
Malte Helmert: “A Planning Heuristic Based on Causal Graph Analysis.” (ICAPS 2004).
Quelle 14