SAS + -Planung Vorlesung Handlungsplanung Tilman Mehler 1 - - PowerPoint PPT Presentation

sas planung
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

SAS+-Planung

Vorlesung Handlungsplanung Tilman Mehler

slide-2
SLIDE 2

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

slide-3
SLIDE 3

2 Problematik von h+

Unl¨

  • sbare Probleme werden l¨
  • sbar:

A C F B E D

Problematik von h+ 2

slide-4
SLIDE 4

Weitere Probleme

Schlechte Abstandssch¨ atzungen:

A B C D A’ B’ D’ C’ A B C D ’’ ’’ ’’ ’’ Problematik von h+ 3

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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′).

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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.

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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).

slide-17
SLIDE 17

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

slide-18
SLIDE 18
  • 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))

slide-19
SLIDE 19

6 Quelle

Malte Helmert: “A Planning Heuristic Based on Causal Graph Analysis.” (ICAPS 2004).

Quelle 14