IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702
Sujets couverts Processus de décision de Markov (MDP) Algorithme d’itération de la valeur (value iteration) Algorithme d’itération de la politique (policy iteration) Processus de décision markoviens partiellement observables (POMDP) IFT702 Froduald Kabanza
Problèmes de planification Statique vs. Dynamique Prévisible vs. Imprévisible Environment Actions Observabilité Complète vs. Partielle Vs. Aucune Prochaine action? Discrètes vs. Continues Déterministes vs. Stochastiques Capteurs Parfaits vs. Bruités Actions Percepts IFT702 Froduald Kabanza 3
Planification classique Statique Prévisible Environment Actions Observabilité Complète Prochaine action? Discrètes Déterministes Capteurs Parfaits Actions Percepts IFT702 Froduald Kabanza 4
Planification conformant Statique Prévisible Environment Actions Observabilité Aucne Prochaine action? Discrètes Déterministes Capteurs Parfaits Actions Percepts IFT702 Froduald Kabanza 5
MDP Environment Actions Percepts Actions Observabilité Statique Incertain Environment Actions Observabilité Complète Prochaine action? Discrètes Stochastiques Capteurs Parfaits Actions Percepts IFT702 Froduald Kabanza 6
POMDP Environment Actions Percepts Actions Observabilité Statique Incertain Environment Actions Observabilité Partielle Prochaine action? Discrètes Stochastiques Capteurs Bruités Actions Percepts IFT702 Froduald Kabanza 7
Modèles de planification Incertitude sur les effets des actions Déterministe Disjonctive Probabiliste Observation Complète Partielle Aucune Classique Contingent MDP ??? POMDP Conformant
MDP IFT702 Froduald Kabanza
Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. Actions: E: Go east W: Go west S: Go south N: Go north Degré de désirabilité -0.4 : +1 But Beaucoup de problèmes de planification dans le monde réel impliquent des actions avec des effets incertains ou même un environnement partiellement observable. Par exemple, un robot aura des capteurs bruités et avec un rayon d’action limité. Le résultat de cela est que pour le robot, l’environnement est partiellement observable. IFT702 Froduald Kabanza
Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 25 % 50 % 25 % IFT702 Froduald Kabanza
Processus de décision markovien Un processus de décision markovien (Markov decision process, ou MDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) lorsque je me trouve à l’état s un modèle de transition P(s’|s, a), où a Action(s) une fonction de récompense R(s) (utilité d’être dans l’état s) Un MDP est donc un modèle général pour un environnement stochastique dans lequel un agent peut prendre des décisions et reçoit des récompenses On y fait une supposition markovienne (de premier ordre) sur la distribution des états visités Requière qu’on décrive un objectif à atteindre à partir d’une fonction de récompense basée seulement sur l’état courant IFT702 Froduald Kabanza
Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. Actions: E: Go east W: Go west S: Go south N: Go north S = { positions sur la grille } Degré de désirabilité -0.4 : +1 But R(s) (fonction de récompense) Actions(s) IFT702 Froduald Kabanza
Actions aux effets incertains Go South (S) État courant Action P(s’|s,a) (modèle de transition) États successeurs possibles 25 % 50 % 25 % IFT702 Froduald Kabanza
Décision Exemples: Une décision est un choix d’une action dans un état c’est une règle « if state then action » Exemples: (21,12) → W ou (21,12) → E (21,13) (20,13) (20,12) W 0.2 0.3 W W 0.5 (20,11) N (21,12) S 0.9 S S S 0.2 0.1 0.8 (20,10) (1,1) IFT702 Froduald Kabanza
Plan (politique) Exemples: Un plan est une stratégie: choix d’une action (décision) pour chaque état un plan est également appelé une politique (policy) c’est un ensemble de règles if state then action Exemples: Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } (21,13) (20,13) (20,12) W 0.2 0.3 W W 0.5 (20,11) N (21,12) S 0.9 S S S 0.2 0.1 0.8 (20,10) (1,1) IFT702 Froduald Kabanza
Plan (politique) Exemples: Un plan est une stratégie: choix d’une action (décision) pour chaque état un plan est également appelé une politique (policy) c’est un ensemble de règles if state then action Exemples: Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } (21,13) (20,13) (20,12) W 0.2 0.3 W W 0.5 (20,11) N (21,12) S 0.9 S Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} S S 0.2 0.1 0.8 (20,10) (1,1) IFT702 Froduald Kabanza
Exécution d’un plan (politique) Un plan est un ensemble de règles if state then action Notons π(s) l’action désignée par le plan π dans l’état s Voici un algorithme d’exécution ou d’application d’un plan L’étape 1 peut impliquer de la détection (sensing) et de la localisation L’état résultant de l’exécution de l’action à l’étape 3 est imprévisible While (1) { 1. s = état courant du système; a = π(s); execute a; } IFT702 Froduald Kabanza
Interprétation/application d’un plan L’application d’un plan dans un MDP résulte en une chaîne de Markov sur les états, avec une matrice de transition dont les entrées sont données par P(s’|s, π(s)) La chaîne se déroule en un arbre potentiellement infini Exemples: Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } (21,13) (20,13) (20,12) W 0.2 0.3 W W 0.5 (20,11) N (21,12) S 0.9 S Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} S S 0.2 0.1 0.8 (20,10) (1,1) IFT702 Froduald Kabanza
Interprétation/application d’un plan La qualité d’un plan est déterminée par l’ensemble des séquences d’états qui peuvent potentiellement en résulter. C-à-d., les séquences déroulables de la chaîne de Markov correspondante. La qualité peut être formalisée selon: Une approche logique classique: chaque séquence doit satisfaire une condition de succès (conduire au but ou satisfaire une formule de logique temporelle) Une approche de théorie de la décision: fonction d’utilité ou de récompense. Une combinaison des deux. Chaque approche donne lieu à une méthode de calcul du plan différente. Recherche dans un graphe et/ou pour l’approche logique classique Programmation dynamique pour l’approche de théorie de la décision. Des prototypes existent pour les différentes approches IFT702 Froduald Kabanza
Fonction de récompense/utilité et qualité des plans Une fonction de récompense/utilité, R(s), assigne un nombre réel à chaque état s. R(s) désigne le degré de désirabilité de l’état s. Le but et le coût des actions sont indirectement modélisés par la fonction de récompense/utilité. Ainsi, la qualité d’un plan est déterminée par l’espérance des récompenses qu’on peut potentiellement obtenir en suivant/exécutant le plan Un plan optimal est celui qui maximise les récompenses. Plus un plan est proche de l’optimal optimal, plus il est de qualité. Ainsi un plan fait un compromis entre: La maximisation de la probabilité d’atteindre le but (réduction de la probabilité d’échec). La maximisation des récompenses (optimisation du coût des actions). IFT702 Froduald Kabanza
somme des récompenses futures espérée Valeur d’un plan R(s): récompense pour l’état s, c-à-d. l’utilité de l’état s V(π,s): valeur du plan π à l’état s V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π, s’) γ: facteur d’escompte (0 < γ <= 1), indique l’importance relative des récompenses futures par rapport à la récompense actuelle S: espace d’états π(s): action du plan à l’état s P(s’|s, π(s)): probabilité de la transition du MDP récompense actuelle somme des récompenses futures espérée faire remarquer que V(pi,s) est un tableau, par un seul nombre réel! faire remarquer que c’est un système d’équations à |S| inconnues et |S| variables IFT702 Froduald Kabanza
Plan optimal Un plan π domine un plan π’ si les deux conditions suivantes sont réunies: V(π,s) >= V(π’,s) pour tout état s V(π,s) > V(π’,s) pour au moins un s Un plan est optimal s’il n’est pas dominé par un autre il peut y avoir plusieurs plans optimaux, mais ils ont tous la même valeur on peut avoir deux plans incomparables (aucun ne domine l’autre) la dominance induit une fonction d’ordre partiel sur les plans Deux algorithmes différents pour le calcul du plan optimal: itération par valeurs (value iteration) itération par politiques (policy iteration) IFT702 Froduald Kabanza
Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent une condition qui est garantie par la valeur V* des plans optimaux V*(s) = R(s) + max γ Σ s’ S P(s’|s,a) V*(s’) s S Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s l’action qui maximise V*(s) (c.-à-d. le argmax) a IFT702 Froduald Kabanza
Algorithme Value Iteration Initialiser V(s) à 0 pour chaque état s. Répéter (jusqu’à ce que le changement en V soit négligeable). pour chaque état s calculer: V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’) si Σs S|V(s) - V’(s)| ≤ tolérance, quitter V V’ Dériver le plan optimal en choisissant l’action a ayant la meilleure récompense future espérée, pour chaque état s π(s) = argmax Σ s’ S P(s’|s,a) V(s’) En mots, on choisit l’action qui maximise l’espérance des sommes de récompenses futures Complexité: (O(|S|4 |A|2 ) [Kaelbling, 1996] Polynomial pourvu que le nombre d’itérations pour une politique ε-optimale est polynomial [Littman, Dean, Kaelbling, UAI-95] (chaque itération est O(|S| |A|2 )) a a |S| est le nombre d’états |A| est le nombre d’actions IFT702 Froduald Kabanza
Exemple de MDP MDP à 3 états: S = {s0, s1, s2} But: s2 a1 0.2 a5 1 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Exemple de MDP MDP à 3 états: S = {s0, s1, s2} 0.2 a5 1 MDP à 3 états: S = {s0, s1, s2} Le but (atteindre s2) est exprimé par une fonction de récompense: R(s0) = 0, R(s1)= 0, R(s2) = 1 Le facteur d’escompte est γ=0.5 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Exemple de MDP V(s): valeur actuelle l’état s 0.2 a5 1 V(s): valeur actuelle l’état s V’(s): nouvelle valeur de l’état s V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’) Notons ri=R(si) et vi = V(si) V’i = ri + γ Σj P(sj|si, π(si)) vj a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Value iteration: initialisation 0.2 a5 1 Valeurs initiales fixées à 0: v0 = 0 v1 = 0 v2 = 0 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Value iteration: itération #1 0.2 a5 1 Mise à jour droite-gauche des valeurs v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0 v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 0 } = 0 v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 0 } = 1 Les nouvelles valeurs sont v0 = 0, v1 = 0, v2 = 1 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Value iteration: itération #2 0.2 a5 1 Mise à jour droite-gauche des valeurs v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0 v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1 } = 0.5 v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 1 } = 1.5 Les nouvelles valeurs sont v0 = 0, v1 = 0.5, v2 = 1.5 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Value iteration: itération #3 0.2 a5 1 Mise à jour droite-gauche des valeurs v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2 v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75 v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75 Les nouvelles valeurs sont v0 = 0.2, v1 = 0.75, v2 = 1.75 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Value iteration: itération #3 0.2 a5 1 Si on arrêtait à la 3e itération, le plan retourné serait π(s0) = argmax{ 0.2 v0 + 0.8 v1, v0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a1 π(s1) = argmax{ v0, v2 } = argmax{ 0.2, 1.75 } = a3 π(s2) = argmax{ v1, v2 } = argmax{ 0.75, 1.75 } = a5 Même si les valeurs n’ont pas tout à fait convergé, on a déjà le plan optimal ça aurait pu ne pas être le cas, seulement garanti si la tolérence est égale à zéro a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Démonstration de Value iteration Démo de l’algorithme value iteration: http://planiart.usherbrooke.ca/kabanza/cours/demos/vi/vi.htm demos\vi\classes\vi.htm IFT702 © Froduald Kabanza
Algorithme Policy Iteration Choisir un plan arbitraire π’ Répéter jusqu’à ce que π devienne inchangée: π:= π’ pour tout s dans S, calculer V(π,s) en résolvant le système de |S| équations et |S| inconnues V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π,s’) pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’ S P(s’|s,a) V(π,s’) ] > V(π,s) alors π’(s):= a sinon π’(s):= π(s) Retourne π Converge en temps polynomial pourvu que le nombre d’itérations pour une politique ε-optimale est polynomial [Littman, Dean, Kaelbling, UAI-95]: Chaque itération (calcul de la valeur d’un plan) est O(|S|3 ) Le nombre d’itérations est O(|S| |A|2 ) |S| est le nombre d’états |A| est le nombre d’actions IFT702 Froduald Kabanza
Algorithme de planification Markovienne Étendre l’automate stochastique en un graphe (de manière incrémentale): Les actions peuvent être exprimées en un langage comme PPDDL. Étant donné un état initial: On détermine les actions permises (dont les préconditions sont vraies). Pour chaque action on génère les successeurs non déterministes ainsi que les récompenses et les probabilités correspondantes On répète pour chacun des successeurs et ainsi des suite … A différents étapes, applique l’algorithme policy iteration ou value iteration Par exemple, chaque fois qu’on a généré m états de plus, où m est un paramètre empirique Des heuristiques sont utilisées lorsque on génère le graphe pour favoriser les états les plus prometteurs. Des techniques de représentation compacte et/ou hiérarchique du graphe sont utilisées. Par exemple des Ordered Binary Decision Diagrams (OBDD). IFT702 Froduald Kabanza
Policy iteration: initialisation 0.2 a5 1 Plan initial choisi arbitrairement: π’ = { s0 → a2, s1 → a2, s2 → a4 } a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Policy iteration: itération #1 0.2 a5 1 π = π’ Équations: v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1) Solution: v0=0, v1=0, v2=1 s0 → a1: 0+0.5*(0.2*0+0.8*0)=0; ne change pas s1 → a3: 0+0.5*(1*1)=0.5 > 0; change s2 → a5: 1+0.5*(1*1)=1.5 > 1; change π’ = { s0 → a2 , s1 → a3 , s2 → a5 } a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Policy iteration: itération #2 0.2 a5 1 π = π’ Équations: v0=0+0.5*(1*v0); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2) Solution: v0=0, v1=1, v2=2 s0 → a1: 0+0.5(0.2*0+0.8*1)=0.4 > 0; change s1 → a2: 0+0.5(1*0)=0 < 1; ne change pas s2 → a4: 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s0 → a1 , s1 → a3 , s2 → a5 } a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Policy iteration: itération #3 0.2 a5 1 π = π’ Équations: v0=0+0.5*(0.2*v0+0.8*v1); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2) Solution: v0=4/9, v1=1, v2=2 s0 → a2: 0+0.5(1*0.4)=0.2 < 4/9; ne change pas s1 → a2: 0+0.5(1*0.4)=0.2 < 1; ne change pas s2 → a4: 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s0 → a1 , s1 → a3 , s2 → a5 }, c-à-d. π Solution finale: π a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT702 Froduald Kabanza
Rappel: systèmes d’équations linéaires Soit le système d’équations: v0 = 0 + 0.5 * (0.2*v0+0.8*v1); v1 = 0 + 0.5 * (1*v2); v2 = 1 + 0.5 * (1*v2) En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 v0 + 0.4 v1 (1) 0 = -v1 + 0.5 v2 (2) -1 = -0.5 v2 (3) De l’équation (3), on conclut que v2 = -1 / -0.5 = 2 De l’équation (2), on conclut que v1 = 0.5 v2 = 1 De l’équation (1), on conclut que v0 = 0.4 v1 / 0.9 = 4/9 IFT702 Froduald Kabanza
Rappel: systèmes d’équations linéaires Soit le système d’équations: v0 = 0 + 0.5 * (0.2*v0+0.8*v1); v1 = 0 + 0.5 * (1*v2); v2 = 1 + 0.5 * (1*v2) En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 v0 + 0.4 v1 (1) 0 = -v1 + 0.5 v2 (2) -1 = -0.5 v2 (3) Approche alternative: on écrit sous forme matricielle b = A v, où A = b = v = -0.9 0.4 -1 0.5 -0.5 -1 v0 v1 v2 IFT702 Froduald Kabanza
Rappel: systèmes d’équations linéaires Soit le système d’équations: v0 = 0 + 0.5 * (0.2*v0+0.8*v1); v1 = 0 + 0.5 * (1*v2); v2 = 1 + 0.5 * (1*v2) En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 v0 + 0.4 v1 (1) 0 = -v1 + 0.5 v2 (2) -1 = -0.5 v2 (3) Suffit alors d’inverser A pour obtenir v = A-1 b on peut utiliser une librairie d’algèbre linéaire (ex.: Numpy en Python): >>> A = numpy.array([[-0.9,0.4,0],[0,-1,0.5],[0,0,-0.5]]) >>> b = numpy.array([0,0,-1]) >>> Ainv = numpy.linalg.inv(A) >>> v = numpy.dot(Ainv,b) >>> print v [ 0.44444444 1. 2. ] IFT702 Froduald Kabanza
Fonctions de récompenses complexes G={2} R=3 G={1,2} R=2 G={1} goto(1) goto(3) goto(2) 3 1 2 4 5 Notons: R = i le fait que le robot est dans le local numéro i G={i,..,k} le but spécifiant que le robot doit visiter les locaux {1, …, k} Ainsi G={1,2} signifie que le robot doit visiter le local 1 (c-à-d., R=1) et visiter le local 2 (c-à-d., R=2) Ce genre de but nécessite d’étendre au préalable l’espace d’états de manière à attribuer des récompenses à des comportements (pas seulement à un état) Une façon élégante de le faire est d’attribuer les récompenses à des formules de logique temporelle satisfaisant les comportements désirés [Thiébaux et al., JAIR 2006] IFT702 Froduald Kabanza
Aspects avancés des MDP … Les algorithmes value-iteration et policy-iteration sont lents sur des grands espaces d’état Améliorations: Real-Time Dynamic Programming (RTPD) Labeled RTDP Approches Monte-Carlo (échantillonage) Représentations compactes de l’espace d’états IFT702 Froduald Kabanza
POMDP IFT702 Froduald Kabanza
Rappel- Planification conformant samedi 1er avril 2017 Rappel- Planification conformant L’agent n’a aucun capteur. Il ne sait pas précisément dans quel état il se trouve. Il doit malgré tout attendre le but. Nous avions ramener le problème à un problème de planification par recherche dans l’espace des croyances. IFT702 © Froduald Kabanza
Rappel - Exemple (Vacuum World) Avec capteurs, on aurait des données sensorielles : position et état des lieux Par exemple : [A,Clean], [A,Dirty], [B,Clean], Actions : Left, Right, Suck, NoOp Pour illustrer ces idées, considérons un environnement très simple: le monde de l’aspirateur. L’exemple est tellement simple pour pouvoir décrire facilement les observations et les actions correspondantes. C’est un exemple didactique, facile à étendre pour considérer quelques variations. Le monde de l’aspirateur décrit un robot-aspirateur dans un appartement constitué de deux pièces: A et B. L’aspirateur est un robot muni d’un capteur de localisation lui permettant de savoir dans quelle pièce il se trouve ainsi qu’un capteur pour savoir si le plancher est propre ou sale. Ainsi, une observation est un vecteur contenant deux éléments: la position actuelle et l’état du plancher dans cette position. Le robot peut décider d’aller vers la droite, aller vers la gauche, aspirer ou ne rien faire. Ce sont là donc les actions possibles. IFT615 Froduald Kabanza
Rappel - Espace d’états avec capteurs IFT615 Froduald Kabanza
Rappel - Exemple (Vacuum World) Sans capteur, le robot ne sait pas quelle pièce il est, ni dans si la pièce est salle ou non. Les actions sont inchangées : Left, Right, Suck, NoOp Comment planifier pour qu’il fasse quand même le travail? Réponse: explorer l’espace des croyances IFT615 Froduald Kabanza
Rappel - Espace des croyances Explorer l’espace des croyances Supposons que le but est d’avoir l’état des lieux propres. Au début l’état initial est n’importe lequel des 8 états possibles. S’il se déplace à droite, le nombre d’états possibles est réduit à 4. S’il aspire, le nombre d’états est réduit à deux. Ainsi de suite, on trouve la solution: séquence d’actions en rouge . Il y a bien sûr d’autres solutions possibles représentées dans le graphe. IFT615 Froduald Kabanza
Processus de décision markovien partiellement observable Un processus de décision markovien partiellement observable (Partially Observable MDP, ou POMDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) lorsque je me trouve à l’état s un modèle de transition P(s’|s, a), pour s et s’ S et a Action(s) une fonction de récompense R(s) (utilité d’être dans l’état s) Un modèle d’observation P(o|s, a) s S et a Action(s), c-à-d., la probabilité d’observer o dans l’état s, après avoir exécuté l’action a. Lorsque le modèle d’observation dépend seulement de l’état (mais pas de comment on y est arrivé), il est réduit à P(o|s). Dans le livre du cours d’IA, le modèle d’observation dépend seulement de l’état : P(o|s). Ici je suis la formulation du livre de Ghallab et al. pour le cours IFT702. Comme d’habitude, la somme des sur o des P(o|s,a) doit donner 1. Le modèle d’observation est introduit pour modéliser l’observabilité partielle. IFT702 Froduald Kabanza
Exemple at(R,A) at(R,B) R s2 s3 A B A B L at(R,A), dirty(B) at(R,B), dirty(B) R s1 s4 A B A B L Supposons deux observations O ={d,c}, c-à-d., B is dirty (d) et B is clean (c) Nous pouvons alors décrire le modèle d’observation du robot en spécifiant P(o|s) pour chacun des états s {s1, s2 , s3 , s4 } : P(d| s1) = P(c| s1) = P(d| s2) = P(c| s2) = 0.5 P(d| s4) = P(c| s3) = 1 P(d| s3) = P(c| s4) = 0 Remarquez que les états s1 et s1 sont non distinguables. Supposons, pour simplifier, que nous nous intéresson seulement à la propreté du local B. Nous avons donc deux observations O ={d,c}, c-à-d., B is dirty (d) et B is clean (c) IFT615 Froduald Kabanza
États de croyance dans un POMDP La différence fondamentale entre un POMDP et un MDP est que la politique est définie sur l’espace d’états de croyance (belief states) plutôt que l’espace d’états. Contrairement à la planification conformant, l’état de croyance est une distribution de probabilité sur l’ensemble des états, plutôt que simplement un sous ensemble des états. B est l’ensemble d’états de croyance (de distributions de probabilité sur les états) b B est un état de croyance (distribution de probabilité sur les états) b(s) est la probabilité que l’état réel soit s, selon l’état de croyance b. Il y a plusieurs états de croyances parce que les croyances de l’agent évoluent avec les observations ou même simplement avec les exécutions d’action comme on a vu dans l’exemple au début. IFT702 Froduald Kabanza
Exemple belief state b R b(s2 )=0.5 b(s3 )=0 L R b(s1 )=0.5 b(s4 )=0 L at(R,A) at(R,B) R b(s2 )=0.5 b(s3 )=0 A B A B L at(R,A), dirty(B) at(R,B), dirty(B) R b(s1 )=0.5 b(s4 )=0 A B A B L Cet état de croyance modélise le fait que l’agent croit/pense/sait que le monde réel est dans l’état s1 ou s2 avec une probabilité de 0.5 dans chaque cas. IFT615 Froduald Kabanza
Mise à jour des états de croyance Étant donné un état de croyance b, l’exécution d’une action a résulte en un nouvel état de croyance ba(s) calculé comme suit: ba(s) = Σ s’ S P(s|s’,a) b(s’) Cet équation nous indique que l’on peut générer un automate stochastique sur les états des croyances. On peut facilement étendre la fonction des récompenses aux états de croyance: ρ(b) = 𝑠 𝑏 𝑠 𝑅(𝑠) Ainsi on réduit le problème POMDP à un MDP sur les croyances. Sauf que les croyances sont continues (distributions de probabilités). Il faut adapter les algorithmes pour les MDPs [Section 17.4, Rusell & Norvig, AIMA.] C.à-d., la somme des distributions des probabilités déterminés par b pondéré avec la probabilité que l’action a conduit à s à partir de s’. IFT702 Froduald Kabanza
Exemple R belief state b belief state b’ R b(s2 )=0.5 b(s3 )=0 L R at(R,A) at(R,B) R b(s2 )=0.5 b(s3 )=0 A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0.5 b(s4 )=0 A B A B L R belief state b’ at(R,A) at(R,B) R b(s2 )=0 b(s3 )=0.5 Donc, déplacer le robot du local A au local B mène à un état de croyance où il est dans le local B, mais il ne peut toujours pas déterminer l’état de la propreté. A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0 b(s4 )=0.5 A B A B L IFT615 Froduald Kabanza
Calcul de la probabilité d’une observation Après la mise à jour de l’état de croyance, on calcule ensuite la probabilité d’une observation o ϵ O après l’exécution d’une action a comme suit: ba(o) = Σ s S P(o|s,a) b(s) C.à-d., la somme des distributions des probabilités déterminés par b pondéré avec la probabilité que l’action a conduit à s à partir de s’. IFT702 Froduald Kabanza
Exemple R belief state b belief state b’ R b(s2 )=0.5 b(s3 )=0 L R at(R,A) at(R,B) R b(s2 )=0.5 b(s3 )=0 A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0.5 b(s4 )=0 A B A B L R belief state b’ at(R,A) at(R,B) R b(s2 )=0 b(s3 )=0.5 Ici a=R qui exécuté à partir de l’état de croyance b (plus montré ici). En appliquant la formule ba(o) = Σ s S P(o|s,a) b(s) On obtient: b’(c)=ba(c)=b’(d)=ba(d)=0.5. C.-.a-.d., on peut observer ‘B dirty’ ou ‘B clean’ avec la même probabilité de 0.5. Cela reflète le fait que le local B est soit sale ou propre dans les états s3 et s4. A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0 b(s4 )=0.5 A B A B L IFT615 Froduald Kabanza
Calcul de la probabilité d’un état On peut finalement calculer la probabilité d’un état après avoir executé l’action a dans l’état de croyance b et observé o: ba,o(s) = P(o|s,a) ba(s)/ba(o) IFT702 Froduald Kabanza
Exemple R belief state b belief state b’ R b(s2 )=0.5 b(s3 )=0 L R at(R,A) at(R,B) R b(s2 )=0.5 b(s3 )=0 A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0.5 b(s4 )=0 A B A B L R belief state b’ at(R,A) at(R,B) R b(s2 )=0 b(s3 )=0.5 Rappel de la formule ba,o(s) = P(o|s,a) ba(s)/ba(o) On a b_{R,d}(s4)=1 et b_{R,c}(s3)=1. Et b_{R,d}(s1)=b_{R,d}(s2)= b_{R,d}(s3)= 0. A B A B L at(R,B), dirty(B) at(R,A), dirty(B) R b(s1 )=0 b(s4 )=0.5 A B A B L IFT615 Froduald Kabanza
Résumé L’approche MDP est très attrayante parce qu’elle combine raisonnement probabiliste et optimisation avec élégance C’est une des approches les plus étudiées actuellement pour: la planification l’apprentissage par renforcement (qu’on verra bientôt) Elle est notamment populaire dans les applications de robots mobiles Dans un POMDP, la politique (le plan) spécifie des actions pour des états de croyance. Les POMDP sont plus difficiles à résoudre parce que les MDP parce que les états de croyances sont des distributions de probabilités (donc continues). IFT702 Froduald Kabanza