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