Vous êtes sur la page 1sur 12

III-Calculer une politique exacte sur les états d’information

1. Cas générale :

Pour trouver les politiques dans un problème POMDP, on va appliquer


les mêmes outils que celle de PDM, sauf qu’ici pour transformer un
POMDP en MPD on va utiliser la notion des états d’informations –
belief state –

La fonction de valeur optimale sera calculée à partir de la formule –


Equation de Bellman – suivante :


𝑉𝑛∗ (𝐼) = max [𝜌(𝐼, 𝑎) + 𝛾 ∑ Pr(𝑜|𝐼, 𝑎)𝑉𝑛−1 (𝜏(𝐼, 𝑜, 𝑎))]
𝑎𝜖𝐴
𝑜𝜖𝜔

Une fois la fonction de valeur est trouvé on calcule la politique


𝜇𝑛∗ (𝐼) = argmax [𝜌(𝐼, 𝑎) + 𝛾 ∑ Pr(𝑜|𝐼, 𝑎)𝑉𝑛−1 (𝜏(𝐼, 𝑜, 𝑎))]
𝑎𝜖𝐴
𝑜𝜖𝜔

Tout d’abord on va définir quelque notion très importantes :

Croyance

L’agent représente les états des mondes par des états des croyances.

Un état de croyance b(s) est une distribution de probabilité sur


l’ensemble des états du système

𝑏(𝑠𝑡 ) = Pr(𝑠𝑡 = 𝑠 | 𝑎1 , 𝑎2 , 𝑎3 … . , 𝑜𝑡−2 , 𝑜𝑡−1 , 𝑜𝑡 )


b(s’) ; avec s’ est le successeur de s , peut être calculé à partir de b(s).

b0 est supposé connu

la décision est prise sur la base de l’espace des croyances qui est une
distribution de probabilité a posteriori sur les états.

Le POMDP calcule une fonction de valeur sur l’espace de croyances.



𝑉𝑛∗ (𝐼) = max [𝜌(𝐼, 𝑎) + 𝛾 ∑ Pr(𝑜|𝐼, 𝑎)𝑉𝑛−1 (𝜏(𝐼, 𝑜, 𝑎))]
𝑎𝜖𝐴
𝑜𝜖𝜔

Chaque croyance est une distribution de probabilités .donc chaque


valeur dans le POMDP est fonction de toute une distribution de
probabilité. Or les distributions sont continuées. De plus, l’espace des
croyances est grand (fonction de nombre des états).

Figure II. 1 Présentation des fonctions de valeurs par des fonctions linéaire par
morceaux.

Comme on a déjà vu une fonction de valeur V assigne une valeur à un


état de croyance b.

Soit V* la fonction valeur optimale.

V*(b) est la récompense attendue si l’agent effectue les actions


optimales à partir de l’état de croyance b.

V est représenté par un ensemble de vecteurs α (linéarité par


morceaux)

𝑉 (𝑏) = max 𝛼. 𝑏 avec 𝛼. 𝑏 = ∑𝑠 𝛼 (𝑠). 𝑏(𝑠)


𝛼
Figure II. 2 Exemple d’un POMDP avec deux états x1 et x2

Pour cet exemple on va calculer une politique optimale. Dans horizon


T fini (T=1 et γ=1 )

Les actions u1 et u2 sont terminales. Par contre l’action u3 est une


perception qui peut éventuellement amener à une transition d’état.

D’après la figure on a les résultats.

Les récompenses :

ρ(x1,u1) = -100 ρ(x2,u1) = 100


ρ(x1,u2) = 100 ρ(x2,u2) = -50
ρ(x1,u3) = -1 ρ(x2,u3) = -1

Les probabilités de transitions

Pr(x1’ |x1,u3)= 0.2 Pr(x2’ |x1,u3)= 0.8

Pr(x1’ |x2,u3)= 0.8 Pr(x2’ |x1,u3)= 0.2

Pour les observations :

Pr(z1 | x1) = 0.7 Pr(z2 | x1) = 0.3

Pr(z1 | x2) = 0.3 Pr(z2 | x1) = 0.7

Récompense :
Pour les problèmes du PDM, la récompense dépend de l’état. Mais
dans le cas d’un POMDP, l’état n’est pas exactement connu.

Donc on peut calculer en intégrons sur l’ensemble des états.

𝑅 (𝑏, 𝑠) = ∫ 𝑟(𝑥, 𝑠). 𝑝(𝑥 )𝑑𝑥 . pour notre exemple : r(b,u)=Pr1 . r(x1, u)
+ Pr2. r(x2, u)

Si l’agent est certain d’être dans l’état x1 et qu’il exécute l’action u1, il
reçoit une récompense de -100. S’il sait qu’il est dans l’état x2 et qu’il
exécute l’action u1, il reçoit une récompense de +100.

Dans une situation intermédiaire, la récompense attendue est la


combinaison linéaire des valeurs extrêmes pondérées par leurs
probabilités.

R(b,u1) = -100 Pr1 + 100 Pr2 = -100 Pr1 + 100 (1-Pr1)

R(b,u1) = 100 Pr1 - 50 (1-Pr1)

R(b,u3) = -1

Figure II. 3 les différentes récompenses et leurs présentation graphiques

Politique optimale :
Dans la section précédant. On a vu comment représenter une
politique dans un POMDP. Notre but maintenant est de trouver une
politique optimale. Une politique optimale est celle qui maximise le
profit de l’agent.

Pour un PDM la fonction de valeur pour une politique donnée est une
fonction défini par
𝑉 𝜋 ∶ 𝑆 → 𝐼𝑅 qui définit la gain totale on utilisons la politique π en
commençons par l’état s .

Cette fonction de valeur sera calculé simplement on applique


l’équation de Bellman


𝑉𝑛∗ (𝐼) = max [𝜌(𝐼, 𝑎) + 𝛾 ∑ Pr(𝑜|𝐼, 𝑎)𝑉𝑛−1 (𝜏(𝐼, 𝑜, 𝑎))]
𝑎𝜖𝐴
𝑜𝜖𝜔

Dans l’exemple précèdent Puisqu’on a un POMDP fini avec T=1 on


utilise V1(b) pour déterminer la politique optimale

Ici la politique optimale pour T=1 est :


3
𝑢1 𝑠𝑖 𝑝1 ≤
𝜋1 (𝑏) = { 7
3
𝑢2 𝑠𝑖 𝑝1 >
7
Linéarité par morceaux et convexité

La fonction de valeur résultante V1(b) est le maximum des trois


fonctions en chaque point.

𝑉1 (𝑏) = max 𝑟(𝑏, 𝑢)


𝑢

−100 𝑝1 + 100 (1 − 𝑝1)


= max { 100 𝑝1 − 50 (1 − 𝑝1
−1
Elle est linéaire par morceaux et convexe
Si on regardant dans V1(b), on constate que seuls les deux premiers
composants contribuent. Par contre La troisième composante peut
être élaguée de V1(b).on parle ici sur la notion d’Elagage.
−100 𝑝1 + 100 (1 − 𝑝1)
𝑉1 (𝑏) = max {
100 𝑝1 − 50 (1 − 𝑝1)
Si l’on augmente l’horizon à T=2, l’agent peut effectuer l’action u3.
Supposons que la perception est z1 avec p(z1 | x1)=0.7 et
p(z1|x2)=0.3. Etant donnée l’observation z1 la valeur

V1(b | z1) peut être mise à jour par Bayes :

𝑜. 7 𝑝1 𝑜. 3(1 − 𝑝1 )
−100. + 100.
𝑝(𝑧1 ) 𝑝(𝑧1 )
𝑉1 (𝑏) = max
𝑜. 7 𝑝1 𝑜. 3(1 − 𝑝1 )
100 − 50
{ 𝑝(𝑧1 ) 𝑝(𝑧1 )
1 −70 𝑝1 + 30 (1 − 𝑝1 )
= max {
𝑝(𝑧1 ) 70 𝑝1 − 15 (1 − 𝑝1 )

Valeur espérée après observation

D’abord mise à jour de la croyance attendue :

𝑉̅1 (𝑏) = 𝐸𝑧 [𝑉1 (𝑏 |𝑧 )]


2

= ∑ 𝑝(𝑧𝑖 ) 𝑉1 (𝑏 |𝑧𝑖 )
𝑖=1

−70 𝑝1 + 30 (1 − 𝑝1 ) −30 𝑝1 + 70 (1 − 𝑝1 )
= max { + max {
70 𝑝1 − 15 (1 − 𝑝1 ) 30 𝑝1 − 35 (1 − 𝑝1 )

Fonction de valeur :

Les quatre combinaisons possibles produisent une fonction qui peut


être simplifiée et élaguée à son tour.
−70 𝑝1 + 30 (1 − 𝑝1 ) − 30 𝑝1 + 70 (1 − 𝑝1 )
−70 𝑝1 + 30 (1 − 𝑝1 ) + 30 𝑝1 − 35 (1 − 𝑝1 )
𝑉̅1 (𝑏) = max
70 𝑝1 − 30 (1 − 𝑝1 ) − 30 𝑝1 + 70 (1 − 𝑝1 )
{ 70 𝑝1 − 15 (1 − 𝑝1 ) + 30 𝑝1 − 35 (1 − 𝑝1 )
−100 𝑝1 + 100 (1 − 𝑝1 )
= max { 40 𝑝1 + 55 (1 − 𝑝1 )
100 𝑝1 − 50 (1 − 𝑝1 )

Transitions d’état (Prédiction) :

Quand l’agent décide u3 son état est potentiellement modifié. En


calculant la fonction de valeur, ce changement doit être pris en
compte.

𝑃1′ = 𝐸𝑥 [𝑝(𝑥1 |𝑥, 𝑢3 )]


2

= ∑ 𝑝(𝑥1 |𝑥𝑖 , 𝑢3 )𝑝𝑖


𝑖=1

= 0.2 𝑝1 + 0.8(1 − 𝑝1 ) = 0.8 − 0.6𝑝1


En tenant compte des transitions d’états on obtient finalement:

60𝑝1 − 60 (1 − 𝑝1)
𝑉̅1 (𝑏|𝑢3 ) = max { 52𝑝1 + 43 (1 − 𝑝1)
−20𝑝1 + 70 (1 − 𝑝1)

Fonction de valeur pour T=2 .

L’agent peut exécuter directement u1 ou u2, ou bien exécuter d’abord


u3 puis u1 ou u2, on obtient (après élagage):

−100𝑝1 + 100 (1 − 𝑝1)


𝑉̅2 (𝑏) = max { 100𝑝1 − 50 (1 − 𝑝1)
51𝑝1 + 42 (1 − 𝑝1)
Figure II. 4 Représentation Graphique de V2(b)

Horizons lointains

Nous avons effectué une itération entière sur l’espace des croyances.
Ceci peut être appliqué récursivement.

Figure II. 5 Fonctions de valeur pour T=10, T=20

2. Etapes de l’opérateur de programmation dynamique


Le problème crucial l’application de l’opérateur de la programmation
dynamique est la construction de l’ensemble de vecteurs ϴn à partir
de ϴn-1.

Cette opération est résumée (on peut aussi dire cachée) dans
l’équation :
𝑎,𝑜
𝜃𝑖 (𝑏, 𝑠) = 𝑟(𝑠, 𝑎) + 𝛾 ∑𝑜∈𝛺 ∑𝑎′∈𝑆 Pr(𝑠 ′ , 𝑜|𝑠, 𝑎) 𝜃𝑖−1 (𝑏, 𝑠 ′ ). (*)

Figure II. 6 fonction de valeur a l etape n-1

La construction de l’ensemble n se comprend plus facilement en la


décomposant et c’est aussi la démarche suivie par les deux
algorithmes que nous allons présenter. Supposons que nous voulons
calculer 𝑉𝑛𝑎1,𝑜1 après avoir effectué l’action a1 et observé o1. On sait
alors que la fonction de valeur sera représentée par les vecteurs 𝜃𝑛𝑎1,𝑜1
donnés par l’équation (*) adaptée à ce cas précis, c’est-à-dire :
𝑟(𝑠, 𝑎1)
𝜃𝑛𝑎1,𝑜1 (𝑏, 𝑠) = 𝑎1,𝑜1 𝑎1,𝑠1
+ 𝛾 ∑ 𝑝(𝑠, 𝑎1 , 𝑠′)𝑂(𝑠 ′ , 𝑜1)𝜃𝑛−1 (𝑏 , 𝑠)
|𝛺|
𝑠′∈𝑆

Cette fonction de valeur sera représentée avec au plus |θn-1 |


vecteurs.
3. Obtenir une représentation parcimonieuse de V

3.1. Région
Soient un espace d’états de croyance ϐ et une représentation d’une
fonction de valeur ϴ, la région R(θ, ϴ) associée à un vecteur θ de ϴ est
définie par :

𝑅 (𝜃, ϴ) = {𝑏|𝑏. 𝜃 > 𝑏. 𝜃 ′ , 𝜃 ′ ∈ ϴ − {𝜃 }, b ∈ ϐ }


Avec ces équations on peut trouver une région et un problème de
programmation linéaire.

Voilà l’algorithme qui nous aider à trouver une vecteur dans une
région

Et l’autre pour préparer un problème de programmation linéaire.

3.2 Représentation parcimonieuse

Soit ϴ représentant une fonction de valeur. Un vecteur 𝜃 de ϴ est


dominé si ∀ 𝑏 ∈ 𝛽 on a : 𝑏. 𝜃 ≤ max 𝑏. 𝜃′
𝜃`∈ϴ
Figure II. 7 Représentation parcimonieuse de V

Tous les vecteurs de ϴ ne sont pas utiles pour représenter V . Le


vecteur 𝜃 2, qui est entièrement dominé par 𝜃 1, sera enlevé par la
procédure VerifDomination Quant au vecteur 𝜃 4, il faut la procédure
plus complexe Elagage pour l’éliminer.

Algorithme d’Elagage :

Vous aimerez peut-être aussi