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

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
VII) Formalisme Quantique
Les Systèmes Multi Agents
Modélisation des systèmes non linéaires par des SIFs
Chapitre II.Rappels mathématiques et complexité
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique.
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.
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.
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
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
Behavioral economics Economie comportementale Claudia Senik Université Paris-4 Sorbonne Paris School of Economics
Algorithmique et Programmation
Heuristiques A. Introduction B. Recherche d ’une branche
Décodage des informations
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
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
Algorithme de Bellman-Ford
Modélisation du robot Azimut-3
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.
IFT 615 – Intelligence artificielle Apprentissage par renforcement
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
IFT Complexité et NP-complétude
Courbes de Bézier.
Algorithmes d ’approximation
Vincent Thomas Christine Bourjot Vincent Chevrier
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
Programmation non procédurale Le projet ECOLE 2000
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Programmation linéaire en nombres entiers : les méthodes de troncature
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Réseaux bayésiens: Inférence
Rappel... Diagonalisation. Transformations linéaires.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Programmation dynamique
Amélioration de la simulation stochastique
Programmation linéaire en nombres entiers
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.
Le langage Racket (Lisp)
Approximation d’un contrôle optimal par un circuit électronique
Équilibre de satisfaction
Qu’est-ce que la planification ? Planifier = Décider d’un plan À partir d’une base de connaissances sur les opérateurs possibles, on simule un grand nombre.
IFT 615 – Intelligence artificielle Recherche heuristique
IFT 615 – Intelligence artificielle Consignes pour l’examen final
Recherche de motifs par projections aléatoires
Décision incertaine et logistique : Grille typologique
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.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Chapitre 4 Variables aléatoires discrètes
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Post-optimisation, analyse de sensibilité et paramétrage
2. Méthode du simplexe et son analyse.
Résolution des équations différentielles
Labeled Real-Time Dynamic Programming (LRTDP) Pierrick Plamondon.
Gestion de portefeuille Chapitre 5: Portefeuille efficient au sens de Markovitz.
Froduald Kabanza et Hugo Larochelle
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) IFT702Froduald Kabanza2

Problèmes de planification Prochaine action? Percepts Actions Environment Statique vs. Dynamique Observabilité Complète vs. Partielle Vs. Aucune Capteurs Parfaits vs. Bruités Déterministes vs. Stochastiques Discrètes vs. Continues Prévisible vs. Imprévisible IFT702Froduald Kabanza3 Actions

Planification classique Prochaine action? Percepts Actions Environment Statique Observabilité Complète Capteurs Parfaits Déterministes Discrètes Prévisible IFT702Froduald Kabanza4 Actions

Planification conformant Prochaine action? Percepts Actions Environment Statique Observabilité Aucne Capteurs Parfaits Déterministes Discrètes Prévisible IFT702Froduald Kabanza5 Actions

MDP Prochaine action? Percepts Actions Environment Statique Observabilité Complète Capteurs Parfaits Stochastiques Discrètes Incertain IFT702Froduald Kabanza6 Actions

POMDP Prochaine action? Percepts Actions Environment Statique Observabilité Partielle Capteurs Bruités Discrètes Incertain IFT702Froduald Kabanza7 Actions Stochastiques

Modèles de planification ClassiqueContingent MDP ???Contingent POMDP ???Conformant POMDP Observation Complète Partielle Aucune Incertitude sur les effets des actions Déterministe Disjonctive Probabiliste

MDP IFT702Froduald Kabanza9

Sujets couverts ● Processus de décision de Markov (MDP) ● Algorithme d’itération par valeurs (value-iteration) ● Algorithme d’itération par politiques (policy-iteration) IFT 615Froduald Kabanza10

Rappel IFT 615Froduald Kabanza11

Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 12 Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 13 Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 14 Escalier Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 15 Escalier Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

Motivation – Planification avec des actions ayant des effets incertains Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 16 Prochaine action? Escalier Glissant

Type d’environnement Prochaine action? Percepts Actions Environment Statique vs. Dynamique Observabilité Complète vs. Partielle Vs. Aucune Capteurs Parfaits vs. Bruités Déterministes vs. Stochastiques Discrètes vs. Continues Prévisible vs. Imprévisible IFT615Froduald Kabanza17 Actions

Utility-based agent Actions possiblement avec des effets incertains! Capteurs possiblement bruités… État possiblement incertain. IFT 615Froduald Kabanza 18

Modèle d’actions Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 19 Escalier Glissant

Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT 615Froduald Kabanza 20

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 s 0 )  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  A(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 IFT 615Froduald Kabanza 21

Modèle d’actions Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But …. IFT 615Froduald Kabanza 22 0 Degré de désirabilité -0.4 : +1 But S = { positions sur la grille } R(s) (fonction de récompense) Actions(s) -0.8

Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT 615Froduald Kabanza P(s’|s,a) (modèle de transition) 23

N Décision ● Une décision est un choix d’une action dans un état  c’est une règle « if state then action » (21,12) → W ou (21,12) → E Exemples: IFT 615Froduald Kabanza (21,12) (20,11) (20,12) (20,13) W W S 0.1 (21,13) 0.3 (20,10) (1,1) W S S S

N Plan (politique) ● 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 (21,12) (20,11) S (20,12) (20,13) W 0.5 S 0.1 (21,13) 0.3 (1,1) Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } IFT 615Froduald Kabanza (20,10) W 0.2 W 0.9 Exemples: S S

N Plan (politique) ● 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 (21,12) (20,11) (20,12) (20,13) W S 0.1 (21,13) (1,1) Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} IFT 615Froduald Kabanza Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } Exemples: 0.3 W 0.2 W (20,10) S S S

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; 2. a = π(s); 3.execute a; } IFT 615Froduald Kabanza 27

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 IFT 615Froduald Kabanza N (21,12) (20,11) (20,12) (20,13) W S 0.1 (21,13) (1,1) Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } Exemples: 0.3 W 0.2 W (20,10) S S S

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 IFT 615Froduald Kabanza 29

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). IFT 615Froduald Kabanza 30

Utilité d’un plan ● R(s): récompense pour l’état s ● U(π,s): valeur (utilité) du plan π à l’état s U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π, 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 IFT 615Froduald Kabanza 31 récompense actuelle somme des récompenses futures espérée

Plan optimal ● Un plan π domine un plan π’ si les deux conditions suivantes sont réunies:  U(π,s) ≥ U(π’,s) pour tout état s  U(π,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) IFT 615Froduald Kabanza 32

Équations de Bellman pour la valeur optimale ● Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état) U(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’)  s  S ● Si nous pouvons calculer U, 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 IFT 615Froduald Kabanza 33

Algorithme Value Iteration 1.Initialiser U(s) à 0 pour chaque état s. 2.Répéter (jusqu’à ce que le changement en U soit négligeable). I. pour chaque état s calculer: U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) II. si Σ s  S |U(s) - U’(s)| ≤ tolérance, quitter III. U  U’ 3.Dériver le plan optimal en choisissant l’action a ayant la meilleure récompense future espérée, pour chaque état s I.π(s) = argmax Σ s’  S P(s’|s,a) U(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]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 ))[Littman, Dean, Kaelbling, UAI-95] IFT 615Froduald Kabanza a 34 a

● MDP à 3 états: S = {s 0, s 1, s 2 } ● But: s 2 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 Exemple de MDP s2s2 s1s1 s0s0 IFT 615Froduald Kabanza35

● MDP à 3 états: S = {s 0, s 1, s 2 } ● Le but (atteindre s 2 ) est exprimé par une fonction de récompense:  R(s 0 ) = 0, R(s 1 )= 0, R(s 2 ) = 1 ● Le facteur d’escompte est γ=0.5 Exemple de MDP IFT 615Froduald Kabanza36 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

Exemple de MDP ● Us): utilité actuelle de l’état s ● U’(s): nouvelle utilité de l’état s  U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) ● Notons r i =R(s i ) et u i = U(s i )  u’ i = r i + γ Σ j P(s j |s i, π(s i )) u j IFT 615Froduald Kabanza37 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

● Valeurs initiales fixées à 0: u 0 = 0 u 1 = 0 v 2 = 0 Value iteration: initialisation IFT 615Froduald Kabanza a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 38 1

Value iteration: itération #1 ● Mise à jour droite-gauche des valeurs u’ 0  max{ 0.2 u u 1, v 0 } = max{ 0, 0 } = 0 u’ 1  max{ u 0, u 2 } = max{ 0, 0 } = 0 u’ 2  max{ u 1, v 2 } = max{ 0, 0 } = 1 ● Les nouvelles valeurs sont u 0 = 0, u 1 = 0, u 2 = 1 IFT 615Froduald Kabanza39 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

Value iteration: itération #2 ● Mise à jour droite-gauche des valeurs u’ 0  max{ 0.2 u u 1, u 0 } = max{ 0, 0 } = 0 u’ 1  max{ u 0, u 2 } = max{ 0, 1 } = 0.5 u’ 2  max{ u 1, u 2 } = max{ 0, 1 } = 1.5 ● Les nouvelles valeurs sont u 0 = 0, u 1 = 0.5, u 2 = 1.5 IFT 615Froduald Kabanza40 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

Value iteration: itération #3 ● Mise à jour droite-gauche des valeurs u’ 0  max{ 0.2 u u 1, u 0 } = max{ 0.8 * 0.5, 0 } = 0.2 u’ 1  max{ u 0, u 2 } = max{ 0, 1.5 } = 0.75 u’ 2  max{ u 1, u 2 } = max{ 0.5, 1.5 } = 1.75 ● Les nouvelles valeurs sont u 0 = 0.2, u 1 = 0.75, u 2 = 1.75 IFT 615Froduald Kabanza41 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

Value iteration: itération #3 ● Si on arrêtait à la 3 e itération, le plan retourné serait π(s 0 ) = argmax{ 0.2 u u 1, u 0 } = argmax{ 0.2* *0.75, 0.2} = a 1 π(s 1 ) = argmax{ u 0, u 2 } = argmax{ 0.2, 1.75 } = a 3 π(s 2 ) = argmax{ u 1, u 2 } = argmax{ 0.75, 1.75 } = a 5 ● 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 IFT 615Froduald Kabanza42 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

IFT 615© Froduald Kabanza43 Démonstration de Value iteration Démo de l’algorithme value iteration:

Algorithme Policy Iteration 1.Choisir un plan arbitraire π’ 2.Répéter jusqu’à ce que π devienne inchangée: I.π:= π’ II.pour tout s dans S, calculer V(π,s) en résolvant le système de |S| équations et |S| inconnues U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π,s’) III.pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’  S P(s’|s,a) U(π,s’) ] > U(π,s) alors π’(s):= a sinon π’(s):= π(s) 3.Retourne π ● Converge en temps polynomial pourvu que le nombre d’itérations pour une politique ε-optimale est polynomial [Littman, Dean, Kaelbling, UAI-95]:[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 ) IFT 615Froduald Kabanza44

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). IFT 615Froduald Kabanza45

Policy iteration: initialisation ● Plan initial choisi arbitrairement: π’ = { s 0 → a 2, s 1 → a 2, s 2 → a 4 } IFT 615Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 46

Policy iteration: itération #1 I.π = π’ II.Équations: u 0 =0+0.5*(1*u 0 ); u 1 =0+0.5*(1*u 0 ); u 2 =1+0.5*(1*u 1 ) Solution: u 0 =0, u 1 =0, u 2 =1 III. s 0 → a 1 : 0+0.5*(0.2*0+0.8*0)=0; ne change pas s 1 → a 3 : 0+0.5*(1*1)=0.5 > 0; change s 2 → a 5 : 1+0.5*(1*1)=1.5 > 1; change π’ = { s 0 → a 2, s 1 → a 3, s 2 → a 5 } IFT 615Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 47

Policy iteration: itération #2 I.π = π’ II.Équations: v 0 =0+0.5*(1*v 0 ); v 1 =0+0.5*(1*v 2 ); v 2 =1+0.5*(1*v 2 ) Solution: v 0 =0, v 1 =1, v 2 =2 III. s 0 → a 1 : 0+0.5(0.2*0+0.8*1)=0.4 > 0;change s 1 → a 2 : 0+0.5(1*0)=0 < 1; ne change pas s 2 → a 4 : 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s 0 → a 1, s 1 → a 3, s 2 → a 5 } IFT 615Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 a2a2 1 48

I.π = π’ II.Équations: u 0 =0+0.5*(0.2*v *u 1 ); u 1 =0+0.5*(1*u 2 ); u 2 =1+0.5*(1*u 2 ) Solution: u 0 =4/9, u 1 =1, u 2 =2 III. s 0 → a 2: 0+0.5(1*0.4)=0.2 < 4/9; ne change pas s 1 → a 2: 0+0.5(1*0.4)=0.2 < 1; ne change pas s 2 → a 4: 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s 0 → a 1, s 1 → a 3, s 2 → a 5 }, c-à-d. π Solution finale: π 1 a2a2 Policy iteration: itération #3 IFT 615Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 49

Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u u 2 (2) -1 = -0.5 u 2 (3) ● De l’équation (3), on conclut que u 2 = -1 / -0.5 = 2 ● De l’équation (2), on conclut que u 1 = 0.5 u 2 = 1 ● De l’équation (1), on conclut que u 0 = 0.4 u 1 / 0.9 = 4/9 IFT 615Froduald Kabanza50

Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u u 2 (2) -1 = -0.5 u 2 (3) ● Approche alternative: on écrit sous forme matricielle b = A u, où A = b = u = IFT 615Froduald Kabanza u0u0 u1u1 u2u2

Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u u 2 (2) -1 = -0.5 u 2 (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) >>> u = numpy.dot(Ainv,b) >>> print u [ ] IFT 615Froduald Kabanza52

Fonctions de récompenses complexes ● 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] R=1 G={2} R=3 G={1,2} R=2 G={1} goto(1) goto(3) goto(2) IFT 615Froduald Kabanza53

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 IFT702Froduald Kabanza54

POMDP IFT702Froduald Kabanza55

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 Kabanza56

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 IFT615Froduald Kabanza57

Rappel - Espace d’états avec capteurs IFT615Froduald Kabanza58

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 IFT615Froduald Kabanza59

Rappel - Espace des croyances IFT615Froduald Kabanza60

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 s 0 )  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). IFT702Froduald Kabanza 61

Exemple ● 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  {s 1, s 2, s 3, s 4 } :  P(d| s 1 ) = P(c| s 1 ) = P(d| s 2 ) = P(c| s 2 ) = 0.5  P(d| s 4 ) = P(c| s 3 ) = 1  P(d| s 3 ) = P(c| s 4 ) = 0 ● Remarquez que les états s 1 et s 2 sont non distinguables. IFT615Froduald Kabanza62 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) s2s2 s1s1 s4s4 s3s3 R L R L

É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 (ensemble de de distributions de probabilité sur les états)  b  B est un état de croyance (une distribution de probabilité sur les états)  b(s) est la probabilité que l’état réel soit s, selon l’état de croyance b. IFT702Froduald Kabanza 63

Exemple IFT615Froduald Kabanza64 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0

Mise à jour des états de croyance IFT702Froduald Kabanza 65

Exemple IFT615Froduald Kabanza66 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

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:  b a (o) = Σ s  S P(o|s,a) b(s) IFT702Froduald Kabanza 67

Exemple IFT615Froduald Kabanza68 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

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 :  b a,o (s) = P(o|s,a) b a (s)/b a (o) IFT702Froduald Kabanza 69

Exemple IFT615Froduald Kabanza70 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

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). IFT702Froduald Kabanza71