• Keine Ergebnisse gefunden

Wahrscheinlichkeitstheoretische Planung

N/A
N/A
Protected

Academic year: 2021

Aktie "Wahrscheinlichkeitstheoretische Planung"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Wahrscheinlichkeitstheoretische Planung

Vorlesung Handlungsplanung

Stefan Edelkamp

(2)

1 Uberblick ¨

- Makrov’sche Entscheidungsprozessprobleme - Zustandswertfunktion und Aktionswertfunktion

- Monte-Carlo Simulation und Optimierung von Wertfunktionen - Politikiteration

- Wertfunktionsiteration

- ADDs f ¨ur Wertfunktionsiteration

Uberblick¨ 1

(3)

2 MDPs

Ein Makrov’sches Entscheidungsprozessproblem, kurz MDP, wird durch Zustands- und Aktionsmengen in einer Umgebung beschrieben.

Ist ein Zustand S und ein Operator O gegegen, dann ist die Wahrscheinlichkeit f ¨ur jeden m ¨oglichen Nachfolgezustand S0 von S beschrieben durch

PSSO 0 = P r[St+1 = S0 | St = S, Ot = O]

Die erwartete Belohnung ist

ROSS0 = E[rt+1 | St = S, Ot = O, St+1 = S0]

MDPs 2

(4)

Beispiel

Roboter, der leere Limonadeb ¨uchsen aufsammeln muss. Er hat - hat Sensoren, um die Limonadebeh ¨alter zu finden,

- einen Greifarm, um die B ¨uchsen einzusammeln und - eine aufladbare Batterie.

Zustandsvariablen f ¨ur die Batterie: sind {high,low}

M ¨ogliche Aktionen: {search,wait,recharge}, wobei reacharge in high nicht anwendbar ist.

→ 10 Kombination von S, S0 und O (vier f ¨ur search, vier f ¨ur wait und zwei f ¨ur recharge).

MDPs 3

(5)

Wahrscheinlichkeitstabelle

F ¨ur die Tripel (S,S0,O) legen wir folgende Wahrscheinlichkeiten PO

SS0 und erwarteten Belohnungen RO

SS0 fest:

(high,high,search): (p1, r1) (high,low,search): (1 − p1, r1) (low,high,search): (1 − p2,−3) (low,low,search): (p2, r1)

(high,high,wait): (1, r2) (high,low,wait): (0, r2) (low,high,wait): (0, r2) (low,low,wait): (1, r2)

(high,low,recharge): (1, 0) (high,low,recharge): (0, 0)

MDPs 4

(6)

Ubergangsgraph ¨

Ubersicht ¨uber die stochastischen Transitionen zwischen den Zust ¨anden, die sich¨ wiederum aus den Kombinationen der Zustandsvariablen ergeben.

Beispiel: zwei Knoten f ¨ur low und high, 5 m ¨oglichen Aktionen zu 7 nicht trivialen Kanten f ¨uhren.

Aktionsknoten: Zur besseren ¨Ubersicht ausgehende Aktionskanten b ¨undeln Wie beim nichtdeterministischen Planen sind L ¨osungen von MDPs keine Sequenzen von Aktionen.

Pl ¨ane: sogenannte Politiken π, die f ¨ur jedes Zustandsaktionspaar (S, O) eine Wahrscheinlichkeit festlegen, mit der O in S ausgew ¨ahlt werden soll.

MDPs 5

(7)

Zustandswertfunktion

V π(S) gibt den erwarteten Gewinn bei Ausf ¨uhrung von π in S an, d.h.

V π(S) = Eπ{Rt | St = S}

Analog: Aktionswertfunktion

Qπ(S, O) = Eπ{Rt | St = S, Ot = O}

MDPs 6

(8)

Monte-Carlo Simulation

F ¨ur V π und Qπ werden verschiedene der Politik π folgende Beispiell ¨aufe generiert und ausgewertet.

Optimale Politik: mit Hilfe der dynamischen Programierung

Approximierte Bellman’sche Optimalit ¨atsgleichung:

V π(S) = X

O∈O

π(S, O) X

S0∈S

PSSO 0[RSS0 + δ · V π(S0)].

Der Wert δ ∈ (0,1) ist der sogenannte Discount, der vorher festgelegt wird und der garantiert, dass die Erwartungswerte konvergieren.

MDPs 7

(9)

Optimale Zustandswertfuntkion

Definition: F ¨ur alle S ∈ S gilt:

V (S) = max

π V π(S)

Analog Optimale Aktionswertfuntkion i Q(S, O) = maxπ Qπ(S, O). Wir haben f ¨ur V die folgende Rekursionsbedingung:

V (S) = max

O∈O

X

S0∈S

PSSO 0[RSS0 + δ · V (S0)].

Im Beispiel: V (high) Maximum aus den zwei verschiedenen Werten r1 + δ[p1V (high) + (1 − p1)V (low)] und r2 + δ · V (high).

MDPs 8

(10)

3 Politikiteration

Ist Politik π durch V π zu π0 verbessert, → verbessere π0 durch V π0 zu π00

→ Serie von sich stetig verbessernden Politiken und Wertfunktionen.

- π0 ensteht aus V π durch Politikverbesserung - V π entstehe aus π durch Politikauswertung.

Speichereffizienztrick (Auswertung): Beschr ¨ankung auf gerade und ungerade Vektoren in V

Politikiteration 9

(11)

Auswerten einer Politik

Procedure Evaluate

for i ∈ {0, . . . ,|S| − 1}

V (0, i) ← 0 for t ∈ {0, . . . , T − 1}

for i ∈ {0, . . . ,|S| − 1} v ← Rπ(i)i

for k ∈ {0, . . . , |S| − 1}

v ← v + δ · Pi,kπ(i) · V ((t − 1)&1, k) V (t&1, i) ← v

Politikiteration 10

(12)

Politik-Iteration

Procedure Policy-Iteration

for i ∈ {0, . . . ,|O|}: π(i) ← 1 do Evaluate()

c ← 0

for i ∈ {0, . . . , |S − 1|}

b ← −∞; o ← −1

for j ∈ {0, . . . , |O| − 1} v ← Rji

for k ∈ {0, . . . , |S| − 1}

v ← v + δ · Pi,kj · V (0, k) if (v > b): b ← v; o ← j

if (π(i) 6= o) c ← 1: π(i) ← o while (c)

Politikiteration 11

(13)

Kurz und Knapp

Formal gesprochen ist f ¨ur alle S ∈ S die Auswertung durch V (S) = X

S0∈S

Pπ(S)

S,S0 [Rπ(s)

SS0 + δV (S0)]

gegeben und

π(S) = argmax

O∈O

X

S0∈S

PS,SO 0[ROSS0 + δV (S0)]

ein Verbesserungsschritt.

Politikiteration 12

(14)

4 Wertiteration

Nachteil Politikiteration: jede Iteration erfordert vollst ¨andige Bewertung erfordert.

→ Auswertung der Politik nach genau einem Backup-Schritt gestoppt wird, kurz

V (S) = max

O∈O

X

S0∈S

PS,SO 0[ROSS0 + δV (S0)]

Ausgabe: Entsprechende Politik

π(S) = argmax

O∈O

X

S0∈S

PS,SO 0[ROSS0 + δV (S0)]

Wertiteration 13

(15)

5 Implementierung Wertiteration

Procedure Value-Iteration for i ∈ {0, . . . ,|S| − 1}

V (0, i) ← 0 for t ∈ {1, . . . , T}

for i ∈ {0, . . . , |S| − 1}

m ← 0

for j ∈ {0, . . . , |O| − 1} v ← Rji

for k ∈ {0, . . . , |S| − 1}

v ← v + δ · Pi,kj · V (t − 1, k) if (v > m) A ← j; M ← v

V (t, i) = m Choice

Implementierung Wertiteration 14

(16)

6 Aktionsauswahl in Wertiteration

Procedure Choice

for i ∈ {0, . . . ,|S| − 1}

b ← −∞; o ← −1

for j ∈ {0, . . . ,|O| − 1} v ← Rji

for k ∈ {0, . . . ,|S| − 1}

v ← v + δ · Pi,kj · V (T, k) if (|v − V (T, i)| < |b − V (T, i)|)

b ← v; o ← j

Aktionsauswahl in Wertiteration 15

(17)

Terminierung

Bisher sind wir davon ausgegangen, dass der Benutzer die Anzahl der Iterationen vorgibt. Dise ist aber nicht unbedingt erstrebenswert.

Eine h ¨aufig genutzte Terminierungsbedingung ist ||V n+1 − V n|| < (1 − δ)/2δ, wobei ||X|| = max{|x| : x ∈ X} die Supremumsnorm bezeichnet.

→ Wertfunktion V n+1 weicht nicht weiter als /2 von der optimalen Wertfunktion V ab.

Die resultierende Politik ist -optimal.

Aktionsauswahl in Wertiteration 16

(18)

7 ADDs

Algebraische Entscheidungsdiagramme, kurz ADDs: generalisieren BDDs auf reelwertige Funktionen {0,1}n → IR.

→ mitunter mehrere Terminalknoten.

Rekursive Definition:

1. Die Funktion f, die von einem mit c ∈ IR beschriebenen Blattknoten dargestellt wird, ist die konstante Funktion f ≡ c

2. Die Funktion f eines nicht-terminalen Knoten, der mit der Boole’schen Variable x beschriftet ist, ergibt sich wie folgt aus den Nachfolgerfunktionsdarstellungen

f(x1, . . . , xn) = x1 · f|x1=1(x2, . . . , xn) + ¬x1 · f|x1=0(x2, . . . , xn).

wobei die Boole’schen Werte f ¨ur xi als 0 und 1 interpretiert werden.

ADDs 17

(19)

Eindeutigkeit

Wie BDDs sind Darstellung von Funktionen mit ADDs bei fester Variablenbelegung eindeutig.

Effizient: Multiplikation, Addition und Maximierung zweier ADDs

Geteilte Darstellung: Teilgraphen von Funktionen werden gemeinsam genutzt.

Bibliotheken Z.B. bietet CUDD ADD Funktionalit ¨at an.

ADDs 18

(20)

Beispiel

Maximierung ist die Funktion f(x, z) mit Wert 5 f ¨ur x ∨ z und 0.5 f ¨ur ¬x ∧ ¬z.

→ ADD zur Ordnung (z, y) hat 2 innere Knoten und 2 Bl ¨atter.

Sei desweiteren g(y, z) mit Wert 7 f ¨ur z, 5.0 f ¨ur ¬z ∧ y und 0.0 f ¨ur ¬z ∧ ¬y.

→ ADD zur Ordnung (z, y) hat 2 innere Knoten und 3 Bl ¨atter.

→ h(x, y, z) = max(f(x, z), g(z, y)) ein ADD zur Ornung (z, x, y) mit drei inneren Knoten und drei Bl ¨attern

ADDs 19

(21)

Wertiteration mit ADDs (SPUDD)

Codierung: Boole’schen Variablens ¨atze x = (x1, . . . , xn) x0 = (x01, . . . , x0n)

Dynamisches Bayes’sches Netz (DBN): Azyklischer Graph mit Knoten f ¨ur die

Variablen und Kanten, um die Abh ¨angigkeit einer Variablen in von einer anderen zu beschreiben.

SPUDD-Eingabe: DBN f ¨ur jede Aktion O ∈ O genutzt.

Bedingte Wahrscheinlichkeitstabelle (CPT): F ¨ur jedes x0i die bedingte Wahrscheinlichkeit PO

x0i(x1, . . . , xn) f ¨ur x0i.

Funktionswerte h ¨angen nur von den xj ab, die direkte Vorg ¨anger von x0i sind.

ADDs 20

(22)

Aktionsdiagramme

Die CPTs, auch Aktionsdiagramme genannt, werden durch ADDs repr ¨asentiert, d.h. ¨ur jede Aktion O und jede Variable x0i wird ein ADD PO

x0i(x1, . . . , xn) generiert.

Auch die Belohnungsfunktion wird als BDD dargestellt,

Beispiel Sei R(c, p) = c · p · 10.0 + c · ¬p · 5.0 mit Variablen c f ¨ur “verbunden” und p f ¨ur ”angestrichen”,

⇒ Ein Gewinn von 10 Einheiten, wenn

- die zwei Objekte verbunden und angestrichen sind und

- einen Gewinn von immerhin 5 Einheiten, wenn die zwei Objekte verbunden aber nicht angestrichen sind.

ADDs 21

(23)

Wertiteration mit BDDs

Procedure BDD Value-Iteration

V 0 ← R; i ← 0; ∀O ∈ O, xj ∈ X0: create QO

x0j(x0j, x1, . . . , xn) while ||V i+1 − V i|| > (1 − δ)/2δ

V 0i ← V [x ↔ x0]

∀O ∈ O

v ← V 0i

∀x0j ∈ V 0i

v ← Pa0

j v · QO

x0j

VOi+1 ← R + δ · v V i+1 ← maxO∈O VOi+1 i ← i + 1

extract ADD π and return (V i+1, π)

ADDs 22

(24)

Erl ¨auterungen

Jede Wertfunktion wird als ADD V i(x1, . . . , xn) dargestellt. Da V 0 = R hat V 0 eine klare ADD Repr ¨asentation.

Der Algorithmus beruht auf der Einsicht, dass die ADD Repr ¨asentation direkt

genutzt werden kann, um die Erwartungswerte und Maximierungen durchzuf ¨uhren.

Eine Iterationsschritt in Prozedur BDD Value-Iteration berechnet V i+1 bei gegebenen V i.

Demanch m ¨ussen zun ¨achst alle Variablen in V von x nach x0 getauscht werden.

Dabei wird V i+1 f ¨ur jedes O ∈ O getrennt berechnet.

ADDs 23

(25)

Duale Aktionsdiagramme

Die ADDs QO

x0j werden duale Aktionsdiagramme genannt und ergeben sich aus PO

x0j(x1, . . . , xn) und ¬PO

x0j(x1, . . . , xn) = 1 − PO

x0j(x1, . . . , xn) wie folgt QOx0

j

(x0j, x1, . . . , xn) = xi · PxO0 j

(x1, . . . , xn) + (1 − xj) · ¬PxO0 j

(x1, . . . , xn)

Mit anderen Worten: QO

a0j(a0j, a1, . . . , an) bedingte Wahrscheinlichkeit P r(x0j = a0j|x1 = a1, . . . , xn = an) f ¨ur Aktion O. U

ADDs 24

(26)

Berechnung von V

Oi+1

Um VOi+1 f ¨ur jedes O ∈ O zu bestimmen, muss f ¨ur alle Zust ¨ande S und S0 die Wahrscheinlichkeit berechnet werden, um von S nach S0 zu gelangen.

Dieses wird durch die Multiplikation des dualen Aktionsdiagramms f ¨ur x0j mit V 0i und anschließender Summation ¨uber die Werte im resultierenden ADD erreicht.

Genauer: Durch die Multiplikation von QO

x0j mit V 0i entsteht eine Funktion f mit f(a01, . . . , a0n, a1, . . . , an) = V 0i(a01, . . . , a0n)P r(a0j|a1, . . . , an).

Anschließend wird durch Aufaddierern ¨uber die beiden Werte aj ∈ {0,1} f ¨ur xj der Erwartungswert

g(x01, . . . , x0j−i, x0j+1. . . x0n, x1, . . . , xn) = X

a0j

V 0i(x01, . . . , a0j, . . . , x0n)P r(a0i|x1, . . . , xn)

ADDs 25

(27)

.

berechnet.

(28)

Iteration

Dieser Prozess wird f ¨ur jede Variable x0j wiederholt.

Damit erhalten wir zum Ende hin eine Funktion h(x1, . . . , xn) = X

a01,...,a0n

V 0i(a01, . . . , a0n)P r(a01|x1, . . . , xn)·. . .·P r(a0n|x1, . . . , xn).

Addiert man nun den Wert R, dann erh ¨alt man das ADD f ¨ur VOi+1. Letztendlich werden die ADDs f ¨ur alle O ∈ O maximiert.

ADDs 26

Referenzen

ÄHNLICHE DOKUMENTE

Uran-238 hat beispielsweise eine Halbwertszeit von 4.468 Milliarden Jahre und so ist ziemlich genau die H¨ alfte des Anfangs auf der Erde zu findenden Uran-238 noch vorhanden,

3 Punkte f¨ ur beide Skizzen

Also kann die Funktion im Unend- lichen (dem “Rand” unseres Definitionsbereiches) keine kleineren Werte annehmen und die lokalen Minima sind auch globale Minima.. Globale Ma-