Planung von Handlungen bei unsicherer Information Gliederung

Werbung
Gliederung
Planung von Handlungen bei unsicherer
Information
1
Unterschiede zwischen MDP und POMDP
2
Ein Beispiel für den POMDP-Algorithmus
3
Wertiteration in diesem Beispiel
4
Planung im Beispiel des einfachen Roboters
Dr.-Ing. Bernd Ludwig
Lehrstuhl für Künstliche Intelligenz
Friedrich-Alexander-Universität Erlangen-Nürnberg
20.01.2010
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
1 / 28
Mathematische Modellierung verrauschter Messungen
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
2 / 28
Schema eines Kontrollalgorithmus
MDP: die Effekte einer Aktion sind nichtdeterministisch.
Nach Ausführung der optimalen policy ist der neue Zustand
eindeutig bestimmt (als Effekt der ausgeführten Aktion).
POMDP: der neue Zustand ist nicht eindeutig bekannt, wenn die
ausgeführte Aktion bekannt ist.
Stattdessen muss er über Messungen geschätzt werden. Über
den neuen Zustand herrscht also zu jeder Zeit Unsicherheit.
Beispiel Robertino
I
Plan-Execute-Sense-Zyklus
Durch das Ausführen einer Fahrkommandos ist nicht eindeutig
bestimmt, ob Robertino tatsächlich an der beabsichtigten Position
angekommen ist.
1
2
Robertino muss eine Messung durchführen, daraus die aktuelle Position
schätzen und dann feststellen, ob er die beabsichtigte Position erreicht
hat.
Dr.-Ing. Bernd Ludwig (FAU ER)
Robertino muss Planen, Planausführen und Messen verzahnen.
POMDP
20.01.2010
3 / 28
Starte mit einer initialen Situation!
Berechne einen Plan!
3
Führe den ersten Schritt aus!
4
Messe die Umgebung und ermittle eine neue Situation!
5
Fahre bei 2 fort!
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
4 / 28
Initiale Situation in einem Markov-Prozess
Berücksichtigung von Messwerten (Sensormodell)
Bewegungsmodell
Messergebnisse hängen von Robertinos Position ab.
Wie bei einem MDP wird
Robertinos Bewegung als
nichtdeterministische Funktion
Da Sensoren verrauscht sind, ist die Abbildung
Robertino auf Position x → gemessener Wert ist z
P(Xt = xt |Xt−1 = xt−1 , Ut = ut )
nichtdeterministisch und wird durch eine stochastische Funktion
modelliert.
Dabei sind Xt , Xt−1 und Ut (den
Nichtdeterminismus
beschreibende) Zufallsvariable.
Umgebungsmodell
xt , xt−1 und ut sind zulässige
Ergebnisse der
Zufallsexperimente, d.h.
befahrbare Positionen in der
Karte bzw. erlaubte
Fahranweisungen.
Jede Zelle gibt an, mit welcher
Wahrscheinlichkeit sich
Robertino in ihr aufhalten kann.
Je heller die Farbe, desto höher
die Wahrscheinlichkeit.
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
5 / 28
Modell eines einfachen Roboters
P(Zt = zt |Xt = xt )
modelliert.
Experiment zur Bestimmung des Sensormodells
I
Stelle Robertino auf eine definierte Position x̂.
I
Führe N Messungen durch mit den Ergebnissen {1 z, . . . ,N z}.
I
Ermittle P(Z =i z|X = x̂) =
Dr.-Ing. Bernd Ludwig (FAU ER)
#(Z =i z, X = x̂)
#(X = x̂)
POMDP
20.01.2010
6 / 28
Modell eines einfachen Roboters
Wir geben den Zuständen zunächst eine anschauliche Erklärung:
u3
u3
Interpretation des Zustandsautomaten
Zustände
z1
u3
z1
x1
z2
x2
I
x1 : Hindernis voraus
I
x2 : Hindernis hinten
Messungen
z2
u3
I
z1 : neues Hindernis voraus erkannt
I
z2 : neues Hindernis hinten erkannt
Aktionen
u1
Dr.-Ing. Bernd Ludwig (FAU ER)
u2
u1
POMDP
u2
20.01.2010
7 / 28
I
u1 : fahre vorwärts
I
u2 : fahre rückwärts
I
u3 : drehe dich um
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
8 / 28
Modell eines einfachen Roboters
Modell eines einfachen Roboters
Die Strategie bildet probabilistische Annahmen über Zustände
auf Kontrollaktionen ab:
Zustandsübergang des Kontrollautomaten
p(x10 |x1 , u3 ) = 0.2 p(x20 |x1 , u3 ) = 0.8
p(x10 |x2 , u3 ) = 0.8 p(x20 |x2 , u3 ) = 0.2
π : [0, 1]n → {u1 , u2 , u3 }
Bei endlich vielen Zuständen kann eine Annahme als Vektor von
Wahrscheinlichkeiten formalisiert werden:
Sensormodell
p(z1 |x1 ) = 0.7 p(z2 |x1 ) = 0.3
p(z1 |x2 ) = 0.3 p(z2 |x2 ) = 0.7
b = (P(x1 ), P(x2 ), . . . , P(xn )) = (p1 , . . . , pN )
Dafür kann man ein Histogramm angeben.
Payoffs
Der reward für b und die Aktion u ist der erwartete payoff über alle
Zustände:
X
r (b, u) =
P(x) · r (x, u)
r (x1 , u1 ) = −100 r (x2 , u1 ) = 100
r (x1 , u2 ) = 100
r (x2 , u2 ) = −50
r (x1 , u3 ) = −1
r (x2 , u3 ) = −1
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
x∈{x1 ,...,xn }
20.01.2010
9 / 28
Auswahl der nächsten Steueranweisung
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
10 / 28
Auswahl der nächsten Steueranweisung
In diesem Beispiel wissen wir: p2 = 1 − p1 .
Berechnung des payoff für jede Steueranweisung:
Die Berechnung von VT (b) (Planungshorizont T=1) läuft darauf
hinaus, diejenige Steueranweisung zu finden, die den erwarteten
payoff maximiert:
r (b, u1 ) = −100p1 + 100p2 = −200p1 + 100
r (b, u2 ) = 100p1 − 50p2 = 150p1 − 50
VT (b) =
r (b, u3 ) = −p1 − p2 = −1
Graphisch:
max
u∈{u1 ,u2 ,u3 }
r (b, u) =
max
{−200p1 +100, 150p1 −50}
u∈{u1 ,u2 ,u3 }
Welche Aktion im ersten Schritt optimal ist, hängt also davon ab,
welche Annahme für die Planung initial ist.
Für V (b) erhalten wir also die folgende T = 1-optimale Strategie:
u1 falls p(x1 ) ≤ 37
π1 (b) =
u2 falls p(x1 ) > 37
Schlussfolgerung: V1 (b) ist eine stückweise lineare Funktion.
Die Linearität folgt aus der Linearität des Erwartungswerts.
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
11 / 28
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
12 / 28
Effekt der Ausführung der optimalen policy
Effekt der Ausführung der optimalen policy
Das ergibt:

0
 0
1
Das Ausführen des besten Aktion ändert den Zustand des
Systems.
Die Änderung ist abhängig davon, wie wahrscheinlich welcher
Zustandsübergang ist.
0
0
1
 
 

1
p1
0
1  ·  p2  =  0 
1
0
1
Das System erreicht also sicher den Endzustand.
Für u = u3 :
Bei gegebener Annahme b und gegebener Aktion u ∈ {u1 , u2 , u3 }
gilt im Beispiel:
u = u1 oder u = u2 :

0.2
 0.8
0
X 0 = x1 | X 0 = x2 | X 0 = e|
b
xi , u
xi , u
xi , u
0
· P(X = x1 )
P(X = x1 ) =
0
0
1
0
P(X = x2 )
0
0
1
P(X = x2 )
P(X 0 = e)
1
1
1
P(X = e)
0.8
0.2
0
 

0
p1
0.8 − 0.6p1
0  ·  p2  =
0.2 + 0.6p1
0
0
b0
Die Annahme verschiebt sich von (p1 p2 ) zu (p10 p20 ).
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
13 / 28
Messungen
Dr.-Ing. Bernd Ludwig (FAU ER)
20.01.2010
14 / 28
Messungen
Der Suchraum für policies besteht also aus der Menge aller
Wahrscheinlichkeitsverteilungen über die Verteilung P(b)!
Zur Bestimmung der optimalen Aktion im ersten Schritt wurde der
auf Grund einer angenommenen Verteilung für die
Wahrscheinlichkeit der Position erwartete Nutzen herangezogen:
X
r (b, u) =
P(x) · r (x, u)
x
u
I
Der Nutzen für zwei aufeinanderfolgende Aktionen ist also der
Nutzen für die erste Aktion plus dem auf Grund der neuen
Annahme b0 für die zweite Aktion erwarteten Nutzen.
20.01.2010
Im Beispiel ist b eine Funktion der Wahrscheinlichkeit p1 , mit der
Robertino sich im Zustand x1 befindet. Denn:
P(x2 ) := p2 = 1 − p1
b0
POMDP
Die Wahrscheinlichkeit P(b0 |u, b) fragt ja danach, wie
wahrscheinlich die Verteilung b0 ist, wenn die letzte Aktion u und
die letzte Hypothese b bekannt sind.
Suchraum des “einfachen Roboters”
Der Nutzen der Aktionen im zweiten Schritt hängt von der auf
Grund der ersten Aktion zu erwartenden Verteilung für die
Position des Robtors ab:
X
V2 (b) = max r (b, u) +
P(b0 |u, b) · V1 (b0 )
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
15 / 28
I
Nach der ersten Aktion wird P(x1 ) von der durch u ausgelösten
Wahrscheinlichkeit beeinflusst, mit der Robertino in einen anderen
Zustand gelangt: z.B.: P(x1 |u, x1 )
I
P(x1 ) wird außerdem durch die Messungen nach u beeinflusst.
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
16 / 28
Messungen
Berechnung von VT (b) bei T > 1
Beim Planen zukünftiger Aktionen können die Messungen aber
nicht bekannt sein, weil sie ja noch gar nicht durchgeführt wurden!
Wir müssen uns also auf den Erwartungswert der
durchzuführenden Messungen beschränken:
u
=
z
=
z
P(u, b)
P(u, b)
P(z|u, b) · P(b0 |z, u, b) = Ez|u,b (b0 |z, u, b)
POMDP
20.01.2010
17 / 28
Berechnung von VT (b) bei T > 1
Welche Wahrscheinlichkeiten benutzt Robertino in einer
aktuellen Situation?
Robertino wird mit einer initialen Annahme b0 gestartet. Damit ist eine
Wahrscheinlichkeitsverteilung fixiert.
I
Dann führt Robertino eine Aktion u1 aus.
I
Die zu erwartenden Messungen sind durch b0 und u1 determiniert!
20.01.2010
18 / 28
x 0 wird über u1 von jedem x mit P(x 0 |u1 , x) erreicht!
20.01.2010
Damit ist eine Wahrscheinlichkeitsverteilung b0 fixiert:
1 für genau dieses b0
0
P(b |z, u, b) =
0 für alle anderen Annahmen
Die Formel
u
x
POMDP
POMDP
V2 (b) = max r (b, u) +
Das “Modell eines einfachen Roboters” gibt an, wie für jede
mögliche Position x 0 ihre neue Wahrscheinlichkeit bei festem b0
und u1 berechnet wird:
X
P(x 0 ) =
P(x 0 |u1 , x) · P(x)
Dr.-Ing. Bernd Ludwig (FAU ER)
Dr.-Ing. Bernd Ludwig (FAU ER)
Berechnung von VT (b) bei T > 1
Die Antwort liefert eine Analyse des Plan-Execute-Sense-Zyklus:
I
z
b0
Müssen wir wirklich immer den ganzen Suchraum durchgehen?
Wir summieren nicht über u und b, weil beide bekannt sind!
Dr.-Ing. Bernd Ludwig (FAU ER)
P(z|u, b) · P(b0 |z, u, b) · V1 (b0 )
Das Summieren über b0 bedeutet extrem viel Rechenaufwand.
Wenn die Verteilung b kontinuierlich ist, muss die Summe sogar
durch ein Integral ersetzt werden. Das ist der allgemeine Fall
eines POMDP:
Z Z
0
0
VT (b ) =
P(z|u, b) · P(b |z, u, b)dz · V1 (b0 )db0
X P(b0 |z, u, b) · P(z, u, b)
X
XX
u
X P(b0 , u, b, z)
z
b0
= max r (b, u) +
Schätzung neuer Annahmen
P(b0 |u, b) =
Wir können jetzt unsere Formel für V2 (b) aktualisieren:
X
P(b0 |u, b) · V1 (b0 )
V2 (b) = max r (b, u) +
19 / 28
XX
z
b0
vereinfacht sich also zu:
V2 (b) = max r (b, u) +
u
P(z|u, b) · P(b0 |z, u, b) · V1 (b0 )
X
P(z|u, b) · V1 (b0 (b, u, z))
z
Die Annahme über Robertinos Position kann nun nur noch von
den Messungen beeinflusst werden.
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
20 / 28
Berechnung von VT (b) bei T > 1
Berechnung von VT (b) bei T > 1
Rekursive Berechnung von V1 (b0 (b, u, z)):
X
0
0
0
V1 (bb,u,z
) = max
r
(b
P(x 0 |b, u, z) · r (x 0 , u 0 )
,
u
)
=
max
b,u,z
0
0
u
u
Die Messung nach Ausführung von u hängt nicht von der Position
und der Annahme vor der Ausführung ab:
x0
= max
0
u
X X P(x 0 , b, u, z, x)
P(b, u, z)
x
x0
u
· r (x 0 , u 0 )
u
u
max
0
u
X X P(x 0 , b, u, z, x)
x0
x
P(b, u, z)
X X P(z|x 0 , b, u, x) · P(x 0 , b, u, x)
P(b, u, z)
x
x0
Dr.-Ing. Bernd Ludwig (FAU ER)
0
u
20.01.2010
21 / 28
u
X X P(z|x 0 , u) · P(x 0 |u, x) · P(x|b, u)
P(z|b, u)
x
x0
u
X X P(z|x 0 , u) · P(x 0 |u, x) · P(x|b)
P(z|b, u)
x
x0
max
0
u
x0
Dr.-Ing. Bernd Ludwig (FAU ER)
x
P(z|b, u)
POMDP
x
P(b, u, z)
x0
· r (x 0 , u 0 ) =
· P(x 0 |b, u, x) · P(x|b, u) · P(b, u)
· r (x 0 , u 0 ) =
P(z|b, u) · P(b, u)
X X P(z|x 0 , u) · P(x 0 |b, u, x) · P(x|b, u)
P(z|b, u)
x
Dr.-Ing. Bernd Ludwig (FAU ER)
· r (x 0 , u 0 )
max
0
u
POMDP
· r (x 0 , u 0 )
20.01.2010
22 / 28
X X P(z|x 0 , u) · P(x 0 |u, x) · P(x)
P(z|b, u)
x
x0
· r (x 0 , u 0 ) =
XX
1
P(z|x 0 ) · P(x 0 |u, x) · P(x) · r (x 0 , u 0 )
max
0
P(z|b, u) u
0
x
=
x
Insgesamt ergibt sich:
V2 (b) = max r (b, u) +
u
· r (x 0 , u 0 ) =
X
Bei fixiertem b gilt: P(b) = 1:
X X P(z|x 0 , u) · P(x 0 |u, x) · P(x)
x
x0
· r (x 0 , u 0 ) =
Laut Sensormodell hängt z nicht von u ab:
x hängt nicht von der nachfolgenden Aktion ab:
max
0
P(b, u, z)
· r (x 0 , u 0 ) =
Berechnung von VT (b) bei T > 1
Der Zustandsübergang von x nach x 0 hängt nicht von anderen
Positionen als x ab:
X X P(z|x 0 , u) · P(x 0 |b, u, x) · P(x|b, u)
max
· r (x 0 , u 0 ) =
0
P(z|b, u)
u
0
x
max
0
x0
x
P(z|x 0 , u)
x0
u
Berechnung von VT (b) bei T > 1
x
XX
X X P(z|x 0 , u) · P(x 0 , b, u, x)
X X P(z|x 0 , u) · P(x 0 |b, u, x) · P(b, u, x)
max
0
0
· r (x , u )
POMDP
u
max
0
0
· r (x , u ) =
0
max
0
P(b, u, z)
x
x0
max
0
Jetzt schreiben wir die stochastische Abhängigkeit der
Zufallsvariablen so, dass sich das Sensormodell anwenden läßt:
max
0
X X P(z|x 0 , b, u, x) · P(x 0 , b, u, x)
max
0
jetzt greift das “Modell des einfachen Roboters”
max
0
P(z|u, b) ·
z
= max r (b, u) +
· r (x 0 , u 0 )
20.01.2010
u
23 / 28
u
Dr.-Ing. Bernd Ludwig (FAU ER)
X
z
X
P(z|x 0 ) · P(x 0 |u, x) · P(x)
x 0 ,x
max
0
u
X
P(z|b, u)
· r (x 0 , u 0 )
P(z|x 0 ) · P(x 0 |u, x) · P(x) · r (x 0 , u 0 )
x 0 ,x
POMDP
20.01.2010
24 / 28
Planung von zwei Schritten
Planung von zwei Schritten
Zur Berechnung von V2 (b) muss diejenige Kombination für (u, u 0 )
gefunden werden, die den Wert von V2 (b) maximiert:
u 0 = u1
u 0 = u2
u 0 = u3
u = u1
u = u2
u = u3
...
V2 (bu,u 0 )
...
In den beiden Fällen u = u1 und u = u2 gilt nach dem Modell des
einfachen Roboters:
∀x, x 0 : P(x 0 |u, x) = 0
Damit ergibt sich:
V2 (b|u1 ) = r (b, u1 ) =
X
P(x) · r (x, u1 ) = −200 · p1 + 100
x
V2 (b|u2 ) = r (b, u2 ) =
X
P(x) · r (x, u2 ) = 150p1 − 50
Komplexer ist der Fall u = u3 :


 60 · p1 − 50
 60 · p1 − 10
−51 · p1 + 53
36 · p1 + 14
+max
V2 (b) = −1+max
u 0 |z1 
u 0 |z2 
0, 24 · p1 − 0, 62
−0, 24 · p1 − 0, 38
Eine obere Schranke dafür ist:














V2 (b) = −1 + max













x
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
25 / 28
Finden des Maximums
POMDP
20.01.2010
26 / 28
Finden des Maximums
Wir müssen auch die Aktionen u1 und u2 berücksichtigen. Jede
liefert eine weitere lineare Funktion:
Welchen Wert hat V2 (b) für u3 in Abhängigkeit von p1 ?
Alle linearen Funktionen, aus denen das
Maximum ermittelt werden soll, in einem
Koordinatensystem.
Dr.-Ing. Bernd Ludwig (FAU ER)
Dr.-Ing. Bernd Ludwig (FAU ER)
120 · p1 − 60
24 · p1 − 36
39, 76 · p1 − 50, 38
9 · p1 + 43
−87 · p1 + 67
−51, 24 · p1 + 52, 62
60, 24 · p1 − 10, 62
−35, 76 · p1 + 13, 38
−1
Davon sind nicht alle wichtig.
POMDP
Alle linearen Funktionen für u1 , u2 und u3 . Entscheidend sind nur drei Funktionen.
V2 (b) ist eine stückweise lineare Funktion. Die Linearität rührt aus
der Linearität des Erwartungswerts.
20.01.2010
27 / 28
Dr.-Ing. Bernd Ludwig (FAU ER)
POMDP
20.01.2010
28 / 28
Herunterladen