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 STRIPS-Instanzen • Alternative: Planen mit SAS + • Subklasse SAS + -1 und ihre Verwendung ¨ Uberblick 1
Problematik von h + 2 Unl¨ osbare Probleme werden l¨ osbar: C F D A E B Problematik von h + 2
Weitere Probleme Schlechte Abstandssch¨ atzungen: A B C D A’ B’ C’ D’ ’’ A B ’’ ’’ C ’’ D Problematik von h + 3
SAS + -Planung 3 Ein SAS + -Planungsproblem ist ein 4-Tupel Π = ( V , O , s 0 , s ∗ ) , wobei: • V = { v 1 , . . . , v n } eine Menge von Zustandsvariablen, jede mit endlichem Wertebereich D v . Eine partielle Belegung von V ist eine partielle Funktion s ¨ uber V , so dass s ( v ) ∈ D v , falls s ( v ) definiert ist. • O eine Menge von Operatoren, jeder gegeben durch ein Paar von partiellen Belegungen (pre,eff) (Vorbedingung und Effekt). • s 0 , s ∗ Start- und Zielzustand als partielle Belegung. SAS + -Planung 4
ur ein SAS + -Problem Beispiel f¨ V = { v 1 , v 2 , v c } D v 1 = D v 2 = { A, B, C, D, E, F } D v c = { A, B, C, D, E, t 1 , t 2 } O = { ( { v 1 �→ A } , { v 1 �→ B } ) , ( { v 1 �→ A } , { v 1 �→ C } ) , ( { v 2 �→ A } , { v 2 �→ B } ) , . . . ( { v c �→ E, v 1 �→ E } , { v c �→ t 1 } ) , . . . s 0 = { v 1 �→ C, v 2 �→ F, v c �→ E } s ∗ = { v c �→ B } ⇒ 6 2 ∗ 8 = 288 potentielle Zust¨ ande (im Gegensatz zu STRIPS: 2 20 = 1048576 ). SAS + -Planung 5
Intuitive Vereinfachung: SAS + -Teilproblem Gegeben ein SAS + -Problem Π = ( V , O , s 0 , s ∗ ) und V ′ ⊆ V . Das durch V ′ induzierte Teilproblem ist das 4-Tupel Π ′ = ( V ′ , O|V ′ , s 0 |V ′ , s ∗ |V ′ ) , wobei: O|V ′ = { ( pre |V ′ , eff |V ′ ) | ( pre , eff ) ∈ O∧ eff |V ′ � = ∅} Probleme z.B. in unserem (unl¨ osbaren Beispiel): • Jedes Teilproblem außer dem Gesamtproblem ist l¨ osbar. ∈ V ′ ⇒ Truck 1 ist jederzeit ¨ • v 1 / uberall. SAS + -Planung 6
Kausale Graphen Gegeben ein SAS + -Problem Π = ( V , O , s 0 , 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 v 2 1 v c 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 D v , 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 v = A v = A 1 2 C F B v = B v = B 1 2 v = C v = C C 1 2 D A t t v = D v = D 1 2 1 2 D v = E v = E 1 2 v = F v = F 1 E E B 2 F SAS + -Planung 8
SAS + -1 4 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¨ uhrung von π ahrend der Ausf¨ 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 ) , v 0 , v ∗ ∈ V und P ⊆ A × A • ? : Ex. Pfad von v 0 nach v ∗ , der von jedem Paar aus P h¨ ochstens eine Kante enth¨ alt? SAS + -1 10
Definiere SAS + -1-Problem, mit Highlevel-Variable v und D v = V . F¨ ur jedes p = ( a, b ) ∈ P definiere Lowlevel-Variable v p mit D v ′ = { a, b, ⊥} und ur jede Kante ( n, n ′ ) ∈ A , definiere Operator ( pre, eff ) mit Initialwert ⊥ . F¨ pre ( v ) = n , und pre ( v p ) = ⊥ f¨ ur jede Lowlevel-Variable deren Kantenpaar alt sowie eff ( v ) = n ′ und eff ( v p ) = ( n, n ′ ) . ( n, n ′ ) enth¨
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 , . . . , 3 q } . • ? : Ex. C ′ ⊆ C mit | C ′ | = q und � C ′ = { 1 , . . . , 3 q } ? Definiere SAS + -1 mit Highlevel-Variable v und D v = { 1 , . . . , 3 q } und Initialwert 0. F¨ ur jedes S ∈ C definiere Lowlevel-Variable v C mit D v C = {⊤ , ⊥} und Initialwert ⊥ . Lowlevel-Variablen k¨ onnen ihren Wert beliebig zwischen ⊤ und ⊥ wechseln. Variable v kann ihren Wert von i auf SAS + -1 11
i + 1 wechseln, wenn eine Lowlevel-Variable v C mit i + 1 ∈ C auf ⊤ gesetzt ange auf 4 q . ist. Setze die maximale Planl¨ ⇒ 3 q Operatoren, um den Wert von v um 1 zu erh¨ ohen. ⇒ q Operatoren um ein Element aus C auszuw¨ ahlen.
ur SAS + -1 Planungsalgorithmus f¨ Gegeben SAS + -1-Problem Π = ( V , O , s 0 , s ∗ ) mit Highlevel-Variable v H . 1. (Initialisierung) [] falls d H = s 0 ( v H ) plan ( d H ) = undef. sonst Queue = D H 2. Entferne ein d H aus Queue , welches || plan ( d H ) || minimiert und f¨ ur das plan ( d H ) definiert ist (undef. Pl¨ ane haben L¨ ange ∞ ). Sei π = plan ( d H ) und ur alle Highlevel-Transitionen op von d H nach d ′ s = π ( s 0 ) . F¨ H mit Vorbedingung pre : a) Pr¨ ufe, ob alle Bedingungen in pre von s aus erf¨ ullt werden k¨ onnen (Suche in Werttransitionsgraphen der Lowlevel-Variablen). Falls ja, dann sei π L ein SAS + -1 12
ullt. Definiere π ′ als die Plan minimaler L¨ ange, der die Vorbedingungen erf¨ 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 ∗ ( v H ) aus Queue entfernt wurde ( plan ( s ∗ ( v H )) ist die L¨ osung). • Polynomielle Laufzeit. • Korrekt, aber unvollst¨ andig (es gibt l¨ ur die keine L¨ osbare Probleme f¨ osung 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 atzte Kosten cost v ( d, d ′ ) , um eine Variable v Vorg¨ anger induziert werden. Gesch¨ von Wert d in Wert d ′ zu ¨ uberf¨ uhren: anger hat, so ist c v ( d, d ′ ) der k¨ 1. Falls v keine kausalen Vorg¨ urzeste Pfad von d nach d ′ im Wert¨ ubergangsgraphen G v , oder ∞ , falls kein solcher Pfad existiert. Sonst gehe zu 2. 2. Sei V v die Menge der Variablen, die v und alle unmittelbaren Vorg¨ anger von v im kausalen Graphen von Π enth¨ alt. Sei Π v das durch V v induzierte Teilproblem von Π , mit der Ausnahme, dass der Initialwert von v als d und der Zielwert als d ′ definiert ist. ur allgemeine SAS + -Probleme Anwendung: Heuristik f¨ 13
3. Sei cost v ( 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 ) = cost v ( s ( v ) , s ∗ ( v )) v ∈ V
6 Quelle Malte Helmert: “A Planning Heuristic Based on Causal Graph Analysis.” (ICAPS 2004). Quelle 14
Recommend
More recommend