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/ 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 2 Rappel: Utility-based agents État incertain. Les capteurs peuvent être bruités… Les actions peuvent avoir des effets incertains! IFT615 Processus de décision de Markov 3 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. » IFT615 Processus de décision de Markov 4 Actions: E: Go east W: Go west S: Go south N: Go north Example Degré de désirabilité 0 But -0.4 -1 : +1 Grille (occupancy grid) Room 2 1 2 3 …. Room 1 Room 5 Room 3 Room 4 0 But 0 IFT 615 1 2 3 …. Processus de décision de Markov 5 Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 25 % 50 % 25 % 6 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) W 0.2 W 0.3 W 0.5 (21,12) 0.1 (20,12) S (20,11) 0.9 S (20,10) (1,1) IFT 615 Processus de décision de Markov 7 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: (21,13) (20,13) W 0.2 (20,12) W 0.3 W 0.5 S (21,12) 0.1 (20,11) 0.9 S Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, … } (20,10) (1,1) IFT 615 Processus de décision de Markov 8 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: (21,13) (20,13) W 0.2 (20,12) W 0.3 W 0.5 S (21,12) 0.1 (20,11) 0.9 S (20,10) (1,1) IFT 615 Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …} Processus de décision de Markov Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} 9 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; 2. a = π(s); 3. 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 10 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: (21,13) (20,13) W 0.2 (20,12) W 0.3 W 0.5 S (21,12) 0.1 (20,11) 0.9 S (20,10) (1,1) IFT 615 Processus de décision de Markov Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, (20,11) → S, …} Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} 11 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’) s’ in 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 IFT 615 Processus de décision de Markov 14 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 15 É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 × a P(s,a,s’) × V*(s’) s’ in 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). IFT 615 Processus de décision de Markov 16 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’) a s’ dans 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. s’ dans S (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) IFT 615 Processus de décision de Markov 17 Démonstration de Value iteration http://planiart.usherbrooke.ca/~eric/ift615/demos/vi/ IFT 615 Processus de décision de Markov 18 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’) s’ in 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) s’ in S alors π’(s) := a sinon π’(s) := π(s) 3. retourne π Converge au plan optimal en O(|S|3) IFT 615 Processus de décision de Markov 19 Exemple (policy iteration) • Actions 0.2 a1 a1 S0 1 a5 1 0.8 a2 1 a3 S1 1 a4 S2 1 a2 • But: S2 IFT 615 Processus de décision de Markov 22 Exprimer le but a1 0.2 a5 1 a1 0 S0 1 a2 1 0.8 a2 a3 S1 0 1 1 a4 S2 1 • 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 IFT 615 Processus de décision de Markov 23 Rappel : équation de la valeur d’un plan V(π,s) = R(s) + df × s’ in S P(s, π(s),s’) × V(π,s’) a1 0.2 a1 0 S0 1 a2 1 a5 1 0.8 a2 1 a3 S1 0 1 a4 S2 1 Notons ri=R(si) et vi=V(π,si) : vi = ri + df × IFT 615 sj in S P(si, π(si),sj) × vj Processus de décision de Markov 24 Initialisation a1 0.2 a1 0 S0 a5 1 0.8 1 a2 1 a2 a3 S1 0 1 1 a4 S2 1 Plan initial choisi arbitrairement : π’ = { S0 → a2, S1 → a2, S2 → a4 } IFT 615 Processus de décision de Markov 25 Itération #1 0.2 a1 a1 0 S0 1 1 a2 a5 1 0.8 a2 a3 S1 0 1 1 a4 S2 1 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 26 Itération #2 0.2 a1 a1 0 S0 1 1 a2 a5 1 0.8 a2 a3 S1 0 1 1 a4 S2 1 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 27 Itération # 3 0.2 a1 a1 0 S0 1 1 a2 a5 1 0.8 a2 a3 S1 0 1 1 a4 S2 1 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 28 Fonctions de récompenses complexes 2 R=1 G={2} goto(1) goto(3) R=3 G={1,2} goto(2) goto(3) 3 R=2 G={1} 4 5 1 • 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 29 Un peu plus loin … • Les algorithmes value-iteration et policy-iteration so nt lents sur des grands espaces d’états. Amélioration s: – 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 30 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. IFT 615 © Éric Beaudry & Froduald Kabanza 31