Froduald Kabanza Département d’informatique Université de Sherbrooke

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
Algorithmes et structures de données avancés
Fonctions & procédures
Calcul géométrique avec des données incertaines
RECONNAISSANCE DE FORMES
Calculs de complexité d'algorithmes
ASSERVISSEMENTS ET REGULATION
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
Modélisation et commande hybrides d’un onduleur multiniveaux monophasé
Plus rapide chemin bicritère : un problème d’aménagement du territoire
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
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Des RRA à la diagnosticabilité
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.
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
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.
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
Examen partiel #3 Mercredi le 15 décembre de 15h30 à 17h20
IFT313 Introduction aux langages formels
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
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
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
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Génération d’un segment de droite
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Vincent Thomas Christine Bourjot Vincent Chevrier
2. Théorie de la consommation (demande)
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,
Partie II Sémantique.
Jean-François Landry Département d’informatique
Programmation dynamique
Rappel Modèle analyse-synthèse de la compilation
Atelier de formation : MAT optimisation II (les graphes).
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.
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
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
Équilibre de satisfaction
IFT 615 – Intelligence artificielle Consignes pour l’examen final
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.
Labeled Real-Time Dynamic Programming (LRTDP) Pierrick Plamondon.
Froduald Kabanza et Hugo Larochelle
Transcription de la présentation:

IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons le problème de calculer une trajectoire pour un robot … 0 1 2 3 …. Room 3 But 0 1 2 3 …. IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Si l’environnement est déterministe, A* peut trouver une solution 0 1 2 3 …. Room 3 But 0 1 2 3 …. IFT 615 Froduald Kabanza

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons maintenant qu’il y a des escaliers et que le robot a une certaine probabilité de tomber … On pourrait toujours essayer A* en donnant une fonction de coût des transitions tenant compte de la difficulté posée par les escaliers… 0 1 2 3 …. Room 3 But 0 1 2 3 …. Escalier IFT 615 Froduald Kabanza

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

Motivation – Planification avec des actions ayant des effets incertains Prochaine action? Room 1 Room 4 Room 2 Actions: E: Go east W: Go west S: Go south N: Go north Supposons maintenant que le robot peut glisser. S’il décider de faire un pas dans une certaine direction, il a par exemple une probabilité de réussir et une probabilité d’aller dans l’une ou l’autre des cases avoisinantes. A* ne suffit plus! Il donne une séquence d’actions. Un plan déterministe. Nous avons besoin d’un algorithme qui donne un plan de contigence, prévoyant le cas où le robot glisse dans une case avoisinante. 0 1 2 3 …. Room 3 But 0 1 2 3 …. Glissant Escalier IFT 615 Froduald Kabanza

Prévisible vs. Imprévisible Type d’environnement 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 Un rappel … Actions Percepts IFT615 Froduald Kabanza 8

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

Modèle d’actions Actions: E: Go east W: Go west S: Go south Room 1 Room 4 Actions: E: Go east W: Go west S: Go south N: Go north Room 2 Comment modéliser les actions ayant des effets incertains de sorte que l’on puisse calculer un plan de contingence? 0 1 2 3 …. Room 3 But 0 1 2 3 …. Glissant Escalier IFT 615 Froduald Kabanza

Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 25 % 50 % 25 % IFT 615 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  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 615 Froduald Kabanza

S = { positions sur la grille } Modèle d’actions Room 1 Room 4 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 Room 2 -0.8 R(s) (fonction de récompense) 0 1 2 3 …. Actions(s) Room 3 But 0 1 2 3 …. IFT 615 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 % IFT 615 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) IFT 615 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) IFT 615 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) IFT 615 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; } IFT 615 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) IFT 615 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 IFT 615 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). IFT 615 Froduald Kabanza

somme des récompenses futures espérée Utilité d’un plan R(s): récompense pour l’état s U(π,s): valeur 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 récompense actuelle somme des récompenses futures espérée Utilité d’un plan = valeur d’un plan 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 IFT 615 Froduald Kabanza

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

É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 U(s) (c.-à-d. le argmax) a U(s) = Valeur optimale de s. J’aurais pu noter U*(s) pour bien renforcer cette idée que c’est vraiment l’utilité du plan optimal. On pourrait être tenter de résoudre le système d’équations pour trouver U(s). Cependant, à cause du max ce ne sont pas des équations linéaires. On ne peut donc pas les résoudre en utilisant des méthodes de résolution d’équations linéaires (élimination de Gauss, décomposition LU, etc.). Nous allons plutôt recourrir à la programmation dynamique: itération par valeur ou itération par politique. IFT 615 Froduald Kabanza

Algorithme Value Iteration Initialiser U(s) à 0 pour chaque état s. Répéter (jusqu’à ce que le changement en U soit négligeable). pour chaque état s calculer: U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) si Σs  S|U(s) - U’(s)| ≤ tolérance, quitter U  U’ 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) 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] 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 Étape : pour un critère d’arrêt plus précis : voir le livre (Section 17.2). IFT 615 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 IFT 615 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 IFT 615 Froduald Kabanza

Exemple de MDP Us): utilité actuelle l’état s 0.2 a5 1 Us): utilité actuelle 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 ri=R(si) et ui = U(si) u’i = ri + γ Σj P(sj|si, π(si)) uj a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT 615 Froduald Kabanza

Value iteration: initialisation 0.2 a5 1 Valeurs initiales fixées à 0: u0 = 0 u1 = 0 u2 = 0 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT 615 Froduald Kabanza

Value iteration: itération #1 0.2 a5 1 Mise à jour droite-gauche des valeurs u’0  0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0, 0 } = 0 u’1  0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 0 } = 0 u’2  1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0, 0 } = 1 Les nouvelles valeurs sont u0 = 0, u1 = 0, u2 = 1 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 IFT 615 Froduald Kabanza

Value iteration: itération #2 0.2 a5 1 Mise à jour droite-gauche des valeurs u’0  0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0, 0 } = 0 u’1  0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1 } = 0.5 u’2  1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0, 1 } = 1.5 Les nouvelles valeurs sont u0 = 0, u1 = 0.5, u2 = 1.5 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 1 a2 1 IFT 615 Froduald Kabanza

Value iteration: itération #3 0.2 a5 1 Mise à jour droite-gauche des valeurs u’0  0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2 u’1  0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75 u’2  1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75 Les nouvelles valeurs sont u0 = 0.2, u1 = 0.75, u2 = 1.75 a1 0.8 a3 1 s0 s1 s2 1 a2 1 a4 0.5 1 a2 1.5 IFT 615 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 u0 + 0.8 u1, u0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a1 π(s1) = argmax{ u0, u2 } = argmax{ 0.2, 1.75 } = a3 π(s2) = argmax{ u1, u2 } = 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 0.2 1 a2 1 a4 0.75 1 a2 1.75 IFT 615 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 IFT 615 © 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 U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π,s’) 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) 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 IFT 615 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). IFT 615 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 IFT 615 Froduald Kabanza

Policy iteration: itération #1 0.2 a5 1 π = π’ Équations: u0=0+0.5*(1*u0); u1=0+0.5*(1*u0); u2=1+0.5*(1*u1) Solution: u0=0, u1=0, u2=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 IFT 615 Froduald Kabanza

Policy iteration: itération #2 0.2 a5 1 π = π’ Équations: u0=0+0.5*(1*u0); u1=0+0.5*(1*u2); u2=1+0.5*(1*u2) Solution: u0=0, u1=1, u2=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 IFT 615 Froduald Kabanza

Policy iteration: itération #3 0.2 a5 1 π = π’ Équations: u0=0+0.5*(0.2*v0+0.8*u1); u1=0+0.5*(1*u2); u2=1+0.5*(1*u2) Solution: u0=4/9, u1=1, u2=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 IFT 615 Froduald Kabanza

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

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

Rappel: systèmes d’équations linéaires Soit le système d’équations: u0 = 0 + 0.5 * (0.2*u0+0.8*u1); u1 = 0 + 0.5 * (1*u2); u2 = 1 + 0.5 * (1*u2) En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u0 + 0.4 u1 (1) 0 = -u1 + 0.5 u2 (2) -1 = -0.5 u2 (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 [ 0.44444444 1. 2. ] IFT 615 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] IFT 615 Froduald Kabanza

Au de là de 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 Les MDP supposent une observation complète Partially Observable MDP (PoMDP) tient compte d’une observation partielle Les MDP sont limités à des décisions séquentielles pour des actions simultanées: Concurrent MDP (CoMPD) Concurrent Probabilistic Temporal Planning (CPTP) IFT 615 Froduald Kabanza

Résumé L’approche Markovienne 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 (cours IFT 702) l’apprentissage par renforcement (qu’on verra bientôt) Elle est notamment populaire dans les applications de robots mobiles One dream I have about AI applications is a robot that … We are not talking about remotely controlled robots! We are talking about robots that can do it by themselves, e.g., like the character ‘Data’ in Star Trek movies. IFT 615 Froduald Kabanza

Objectifs du cours Algorithmes et concepts recherche locale satisfaction de contraintes processus de décision markovien avec les processus de décision markoviens, on ajoute le concept de décision/politique au raisonnement probabiliste (RBD) agents intelligents logique raisonnement probabiliste recherche à deux adversaires - les slides devraient être mises en ligne le mercredi de chaque semaine recherche heuristique IFT615 Froduald Kabanza

Objectifs du cours Algorithmes et concepts recherche locale satisfaction de contraintes processus de décision markovien avec les processus de décision markoviens, on ajoute le concept de décision/politique au raisonnement probabiliste (RBD) agents intelligents raisonnement probabiliste recherche à deux adversaires - les slides devraient être mises en ligne le mercredi de chaque semaine recherche heuristique IFT615 Froduald Kabanza

Processus de décision markovien : pour quel type d’agent? Simple reflex Model-based reflex Goal-based Utiliy-based IFT615 Froduald Kabanza

Vous devriez être capable de... Donner la définition d’un processus de décision markovien espace d’état action modèle de transition fonction de récompense décision plan/politique Simuler value iteration Simuler policy iteration IFT615 Froduald Kabanza