IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.

Slides:



Advertisements
Présentations similaires
La Méthode de Simplexe Standardisation
Advertisements

Chapitre annexe. Récursivité
Fabrice Lauri, François Charpillet, Daniel Szer
AUTRES ASPECTS DU GPS Partie I : tolérance de Battement
« Systèmes électroniques »
Gestion de portefeuille
Gestion de portefeuille
3. Variantes de l’algorithme
2. Méthodes du simplexe et son analyse.
Algorithmes et structures de données avancés
Fonctions & procédures
Calcul géométrique avec des données incertaines
RECONNAISSANCE DE FORMES
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique.
IFT 615 – Intelligence artificielle Recherche heuristique locale
Chapitre VII :Commande par retour d’état
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
IFT 615 – Intelligence artificielle Agents intelligents
Récursivité.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Quest-ce que la planification ? Planifier = Décider dun plan À partir dune base de connaissances sur les opérateurs possibles, on simule un grand nombre.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Application des algorithmes génétiques
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Froduald Kabanza Département d’informatique Université de Sherbrooke
Algorithmes Branch & Bound
Heuristiques A. Introduction B. Recherche d ’une branche
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Programmation logique Démonstrateur automatique
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Froduald Kabanza Département d’informatique Université de Sherbrooke
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
Systèmes d’équations du premier degré à deux variables
Algorithme de Bellman-Ford
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
IFT 702 Planification en intelligence artificielle Contrôle de la recherche avec des réseaux de tâches hiérarchiques Froduald Kabanza Département dinformatique.
IFT 702 – Planification en intelligence artificielle Transformations Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.
Froduald Kabanza Département d’informatique Université de Sherbrooke
IFT 615 – Intelligence artificielle Apprentissage par renforcement
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
IFT Complexité et NP-complétude
Courbes de Bézier.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
Vincent Thomas Christine Bourjot Vincent Chevrier
1 Séminaire LOVe du 29/03/07 Combinaison d'objets (fusion centralisée) T3.2 Combinaison de pistages (fusion décentralisée) T3.3.
Algorithmes probabilistes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Jean-François Landry Département d’informatique
Programmation dynamique
Technique de points de contrôle: Formes de Bézier
Rappel Modèle analyse-synthèse de la compilation
Atelier de formation : MAT optimisation II (les graphes).
Méthodes de prévision (STT-3220)
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Présentation de la méthode des Eléments Finis
Programmation dynamique
Amélioration de la simulation stochastique
Algorithmique et programmation (1)‏
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
IFT 615 – Intelligence artificielle Recherche heuristique
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
2. Méthode du simplexe et son analyse.
Labeled Real-Time Dynamic Programming (LRTDP) Pierrick Plamondon.
Transcription de la présentation:

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