IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département d’informatique Université de Sherbrooke http://planiart.usherbrooke.ca/~eric/ift615/
Processus de décision de Markov 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 Processus de décision de Markov
Rappel: Utility-based agents Les capteurs peuvent être bruités… Rappel: Utility-based agents État incertain. Les actions peuvent avoir des effets incertains! Rappel du model d’agent. Ici, le modèle avec utilité est repris. Il peut y avoir de l’incertitude à plusieurs endroits… ici, trois exemples sont donnés. IFT615 Processus de décision de Markov
Incertitude Soit At l’action d’aller à l’aéroport t minutes avant le départ de l’avion. At me permettra-t-il d’arriver à temps? Problèmes: Observabilité partielle (conditions routières, etc.) Senseurs bruités (annonces du trafic, etc.) Incertitude dans l’effet des actions (crevaisons, pannes, etc.) Immense complexité pour modéliser les actions et le trafic. Un raisonnement purement logique Risque de tirer des conclusions erronées: « A25 me permettra d’arriver à temps », ou Risque de tirer des conclusions peu exploitable du point de vue « prise de décision »: « A25 me permettra d’arriver à temps, s’il ne pleut pas, s’il n’y a pas d’accident, si mes pneus ne crèvent pas, etc. » « A1440 me permettra raisonnable d’arriver à temps, mais je devrai passer une nuit à l’aéroport. » Page 463- Exemple de carie dentaire Décision rationnelle Page 464 Degrée de croyance (de certitude) vs degrée de vérité (logique floue): En probabilité tout comme en logique propositionnelle, les propositions sont soient vraies ou fausses. Par contre, nous avons en probabilité un degré de croyance: en logique c’est binaire. Donner exemple sur cavité, et contraster avec les propositions flues comme grand, petit, ...et leur pendant probabiliste et propositionnelles. Page 465 probabilité à priori (inconditionnelle) vs probabilité à postériori (conditionnelle), évidence (c-à-d., expérience). incertitude et décisions rationnelles: préférences, théorie de l’utilité (utility theory); théorie de la décision = théorie des probabilités + théorie de l’utilité. Page 466 Structure simple d’un agent fonctionnant avec la théorie de la décision: intéressant: on peut lui donner un plan, un MDP, etc. L’utiliser le long du cours et l’introduire avec le wumpus world. Maximum expected utility et le principe correspondant. Page 467: Le langage des probabilités: il nous faut un langage pour représenter les connaissances de l’agent et faire un raisonnement avec ces représentations. Forcémement, nous voulons un langage capable d’exprimer des degrés de certitudes/croyances. Chaque variable aléatoire a un domaine (de valeurs que la variable peut prendre). Variables aléatoires booléennes, discretes, continues (e.g., vitesse du robot). On focalise ici sur les cas discrets. L’élément de base du langage est la variable aléatoire. Une variable aléatoire est une variable décrivant une partie des connaissances incertaince. Une proposition est une assertion de ce qui est vraie, c’est à dire, une assertion sur la valeur d’une variable. Ce peut être une propriété ou un fait. Donner des exemples dans les domaines médical (cavité), wumpus, etc.). Exemple: Carie=true est une proposition. Quand c’est binaire nous allons la noter Carie. Et carie=false`: not(carie). On peut combiner des propisitions élementaires pour en faire d’autres par les connecteurs logiques standard: exemple page 468. Note: dans ula logique du 1er ordre, une telle combinaison n’est plus une proposition: c’est une formule! Mais les formules sont plus générales que ce qui est permis ici: quantification, etc. Page 468: Un événement atomique est une spécification complète d’un ’état possible. En d’autres mots, un événnement est une assignation de valeur pour chaque variable aléatoire décrivant un aspect de l’environnement. Voir les propriétés. Page 468 Probabilité à priori Page 469 Distribution de probabilité à priori= spécification des probabilités pour toutes les valeurs possibles d’une variable : c’est un vecteur. Distribution de probabailités jointes: spécification des probabilités pour toutes les valeurs possibles d’un ensemble de variables: c,est une matrice (note si l’ensemble n’invclut pas toutes les variables, c’est un état partiellement décrit). Distribution conplète de probabailités jointes: inclut toutes les variables, c-à-d., tous les états complets du système (c-à-d., tous les événements). Page 470 Probabilité conditionnelle Equation des probabilités conditionelle + règle du produit. Page 471: - Axiomes de la probabilité : dans les acétates de AMAI, ça vient avant. Le maintenir cohéremment avec le livre (ici), c’est mieux. - ! Probabilité condition n’est pas conséquence logique + probabilité! IFT615 Processus de décision de Markov
Grille (occupancy grid) Actions: E: Go east W: Go west S: Go south N: Go north Degré de désirabilité -0.4 -1 : +1 But Example Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. IFT 615 Processus de décision de Markov
Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 25 % 50 % 25 %
Une décision est un choix d’action pour un état 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.3 0.2 W W 0.5 S (20,11) (21,12) 0.9 S 0.1 (20,10) (1,1) IFT 615 Processus de décision de Markov
Un plan est un ensemble de décisions (politique) Un plan est une stratégie : choix d’une action 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,12) → E, … } (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 (20,10) (1,1) IFT 615 Processus de décision de Markov
Un plan est un ensemble de décisions (policy) Un plan est une stratégie : choix d’une action 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,12) → E, …} (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} (20,10) (1,1) IFT 615 Processus de décision de Markov
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, interprétation ou application d’un plan While (1) { 1. s = état courant du système s; a = π(s); execute a; } L’étape 1 peut impliquer de la détection (sensing) et la localisation. L’état résultant de l’exécution de l’action à l’étape 3 est imprévisible. L’interprétation (ensemble de séquences possibles) est un arbre infini. L’exécution est une séquence infini (une parmi celles de l’arbre). IFT 615 Processus de décision de Markov
Interprétation/application d’un plan L’application d’un plan à un automate stochastique donne une chaîne de Markov (un graphe). La chaîne se déroule en un arbre infini. Exemples: Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, (20,11) → S, …} (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} (20,10) (1,1) IFT 615 Processus de décision de Markov
Processus de décision de Markov 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 Processus de décision de Markov
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 Processus de décision de Markov
Processus de décision de Markov Valeur d’un plan R(s) : récompense pour l’état s; c-à-d., utilité de l’état s. V(π,s) : valeur du plan π dans l’état s V(π,s) = R(s) + df × P(s, π(s),s’) × V(π, s’) df : facteur de pondération (0 < df <= 1) S : espace d’états π(s) : action dans s P(s, π(s),s’) : probabilité de la transition s’ in S IFT 615 Processus de décision de Markov
Processus de décision de Markov 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 (la dominance induit une fonction d’ordre partiel sur les plans) Deux algorithmes différents pour le calcul du plan : Itération par valeurs (value iteration) Itération par politique (policy iteration) IFT 615 Processus de décision de Markov
Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent la valeur V* des plans optimaux V*(s)= R(s) + max df × P(s,a,s’) × V*(s’) Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: Il suffit de choisir dans chaque état s une action qui maximise V*(s). s’ in S a IFT 615 Processus de décision de Markov
Algorithme Value iteration 1. Initialiser V(s) à 0 pour chaque état s. 2. Répéter (jusqu’à ce que le changement en V soit négligeable). a. Pour chaque état s V’(s) = R(s) + max df × P(s,a,s’) × V(s’) b. V=V’ (ou |V - V’| ≤ tolérance) 3. Le plan optimal est obtenu en choisissant pour chaque s état l’action a telle que la valeur df × P(s,a,s’) × V(s’) est la plus élevée. (En d’autres mots, on choisit l’action qui maximise l’espérance des valeurs des successeurs). Converge au plan optimal en O(|S|3) s’ dans S a s’ dans S IFT 615 Processus de décision de Markov
Démonstration de Value iteration http://planiart.usherbrooke.ca/~eric/ift615/demos/vi/ IFT 615 Processus de décision de Markov
Algorithme Policy iteration 1. Choisir un plan arbitraire π’ 2. Répéter jusqu’à ce que π devienne inchangé : a. π := π’; b. Pour tout s dans S, calcule V(π,s) en résolvant le système de |S| équations en |S| inconnus V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’) c. Pour tout s dans S, s’il existe une action a telle que [ R(s) + df × P(s,a,s’) × V(π,s’)] > V(π,s) alors π’(s) := a sinon π’(s) := π(s) 3. retourne π Converge au plan optimal en O(|S|3) s’ in S s’ in S IFT 615 Processus de décision de Markov
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 Processus de décision de Markov
Grille (occupancy grid) Actions: E: Go east W: Go west S: Go south N: Go north Fonction de récompenses -0.4 -1 : +1 But Exemple Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. IFT 615 Processus de décision de Markov
Exemple (policy iteration) Actions But: S2 a1 0.2 a5 1 a1 0.8 a3 1 S0 S1 S2 1 a2 1 a4 1 a2 IFT 615 Processus de décision de Markov
Processus de décision de Markov Exprimer le but Le but (atteindre S2) est exprimé par une fonction de récompenses: S0 : 0, S1: 0, S2: 1 et le facteur de pondération df=0.5 a1 a5 0.2 1 0.8 S2 S1 S0 a3 a2 a4 IFT 615 Processus de décision de Markov
Rappel : équation de la valeur d’un plan V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’) s’ in S a1 a5 0.2 0.8 S2 S1 S0 a3 1 a2 a4 Notons ri=R(si) et vi=V(π,si) : vi = ri + df × P(si, π(si),sj) × vj sj in S IFT 615 Processus de décision de Markov
Processus de décision de Markov Initialisation Plan initial choisi arbitrairement : π’ = { S0 → a2, S1 → a2, S2 → a4 } 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 IFT 615 Processus de décision de Markov
Processus de décision de Markov Itération #1 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1) b. Solution : v0=v1=0, v2=1 c. 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 } IFT 615 Processus de décision de Markov
Processus de décision de Markov Itération #2 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2) b. Solution : v0=0, v1=1, v2=2 c. 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 } IFT 615 Processus de décision de Markov
Processus de décision de Markov Itération # 3 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5(0.2*v0+0.8*v1); v1=0+0.5(1*v2); v2=1+0.5(1*v2) b. Solution : v0=0.4, v1=1, v2=2 c. s0 : a2: 0+0.5(1*0.4)=0.2 < 0.4; 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 : π IFT 615 Processus de décision de Markov
Fonctions de récompenses complexes 3 1 2 4 5 R=1 G={2} R=3 G={1,2} R=2 G={1} goto(1) goto(3) goto(2) 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 inévitablement visiter le local 1 (c-à-d., R=1) et inévitablement visiter le local 2 (c-à-d., R=1) Ce genre de but nécessite d’étendre au préalable l’espace d’états de manière à attribuer des récompenses à des comportements. 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 Processus de décision de Markov
Processus de décision de Markov Un peu plus loin … Les algorithmes value-iteration et policy-iteration sont lents sur des grands espaces d’états. Améliorations: Real-Time Dynamic Programming (RTPD). Labeled RTDP. Les MDP supposent un observation totale. Partially Observable MDP (PoMDP). Les MDP sont limités à des décisions séquentielles. Pour des actions simultanés: Concurrent MDP (CoMPD) Concurrent Probabilistic Temporal Planning (CPTP) IFT 615 Processus de décision de Markov
© Éric Beaudry & 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 L’apprentissage par renforcement. 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 © Éric Beaudry & Froduald Kabanza