300 likes | 459 Views
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 ). But. Modèle d’actions. Room 1. Room 4. Actions: E: Go east W: Go west S: Go south N: Go north. Room 2.
E N D
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) Froduald Kabanza
But Modèle d’actions Room 1 Room 4 Actions: E: Go east W: Go west S: Go south N: Go north Room 2 0 1 2 3 …. Room 3 0 1 2 3 …. Escalier Glissant Froduald Kabanza
Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 50 % 25 % 25 % Froduald Kabanza
Actions aux effets incertains Go South (S) État courant Action P(s’|s,a) (modèle de transition) États successeurs possibles 50 % 25 % 25 % Froduald Kabanza
(21,13) (20,12) (1,1) (20,11) 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 Exemples: Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } (20,13) W 0.3 0.2 W W 0.5 N S (21,12) S Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} 0.9 S 0.2 S 0.8 0.1 (20,10) Froduald Kabanza
Utilité d’un plan • R(s):récompense pour l’états • U(π,s):valeur du plan π à l’état sU(π,s) = R(s) + γ Σ s’SP(s’|s, π(s)) U(π, s’) • γ:facteurd’escompte (0 ≤ γ < 1), indiquel’importance relative des récompenses futures par rapport à la récompenseactuelle • S:espace d’états • π(s): action du plan à l’états • P(s’|s, π(s)):probabilité de la transition du MDP récompense actuelle somme des récompenses futures espérée 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’ SP(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 Froduald Kabanza
AlgorithmeValueIteration • 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’SP(s’|s,a) U(s’) • si ΣsS|U(s) - U’(s)| ≤ tolérance, quitter • UU’ • Dériver le plan optimal en choisissant l’action a ayant lameilleure récompense future espérée, pour chaque état s • π(s) = argmaxΣ s’SP(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 pourvuque le nombred’itérationspour unepolitiqueε-optimaleestpolynomial [Littman, Dean, Kaelbling, UAI-95](chaqueitérationest O(|S| |A|2)) a a Froduald Kabanza
Exemple de MDP 0.2 1 a5 a1 • MDP à 3 états: S = {s0, s1, s2} • But: s2 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Exemple de MDP 0.2 1 a5 a1 • 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 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Exemple de MDP 0.2 1 a5 a1 • Us):utilitéactuellel’états • U’(s): nouvelle utilité de l’état s • U’(s) = R(s) + max γ Σ s’SP(s’|s,a) U(s’) • Notonsri=R(si) et ui = U(si) • u’i = ri + γΣjP(sj|si, π(si))uj a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Valueiteration: initialisation 0.2 1 a5 a1 • Valeurs initiales fixées à 0:u0 = 0u1 = 0u2= 0 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Valueiteration: itération #1 0.2 1 a5 a1 • Mise à jour droite-gauche des valeursu’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0} = 0 + 0.5 max{ 0, 0 } = 0u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 0 } = 0u’2 1 + 0.5 max{ u1, u2} = 1 + 0.5 max{ 0, 0 } = 1 • Les nouvellesvaleurssontu0 = 0, u1 = 0, u2 = 1 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 0 0 a2 1 0 Froduald Kabanza
Valueiteration: itération #2 0.2 1 a5 a1 • Mise à jour droite-gauche des valeursu’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0, 0 } = 0u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1 } = 0.5u’2 1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0, 1 } = 1.5 • Les nouvellesvaleurssontu0 = 0, u1 = 0.5, u2 = 1.5 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 0 0 a2 1 1 Froduald Kabanza
Valueiteration: itération #3 0.2 1 a5 a1 • Mise à jour droite-gauche des valeursu’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75u’2 1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75 • Les nouvellesvaleurssontu0 = 0.2, u1 = 0.75, u2 = 1.75 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 0 0.5 a2 1 1.5 Froduald Kabanza
Valueiteration: itération #3 0.2 1 a5 a1 • 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 a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 0.2 0.75 a2 1 1.75 Froduald Kabanza
Algorithme PolicyIteration • 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’SP(s’|s,a) U(π,s’) ] > U(π,s) alors π’(s):= a sinon π’(s):= π(s) • Retourne π • Converge en temps polynomial pourvuque le nombred’itérations pour unepolitiqueε-optimaleest polynomial [Littman, Dean, Kaelbling, UAI-95]: • Chaqueitération (calcul de la valeur d’un plan) est O(|S|3) • Le nombred’itérationsest O(|S| |A|2 ) Froduald Kabanza
Policyiteration: initialisation 0.2 1 a5 a1 • Plan initial choisi arbitrairement: π’ = { s0 → a2, s1 → a2, s2 → a4 } a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Policyiteration: itération #1 0.2 1 a5 a1 • π = π’ • É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 pass1 → a3: 0+0.5*(1*1)=0.5 > 0; changes2 → a5: 1+0.5*(1*1)=1.5 > 1; changeπ’ = { s0 → a2 , s1 → a3 , s2 → a5 } a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Policyiteration: itération #2 0.2 1 a5 a1 • π = π’ • É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; changes1 → a2: 0+0.5(1*0)=0 < 1; ne change pass2 → a4: 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s0 → a1 , s1 → a3 , s2 → a5 } a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
Policyiteration: itération #3 0.2 1 a5 a1 • π = π’ • É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 pass1→a2: 0+0.5(1*0.4)=0.2 < 1; ne change pass2→a4: 1+0.5(1*1)=1.5 < 2; ne change pasπ’ = { s0→a1 , s1→a3 , s2→a5 }, c-à-d. π • Solution finale: π a3 a1 0.8 1 s1 s0 s2 1 a2 1 a4 a2 1 Froduald Kabanza
3 goto(1) goto(2) R=3 G={1,2} R=1 G={2} R=2 G={1} goto(3) goto(3) 4 5 1 2 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] 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 DynamicProgramming(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) 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 Froduald Kabanza
Objectifs du cours Algorithmes et concepts recherche locale satisfaction de contraintes processus de décision markovien agents intelligents raisonnement probabiliste recherche à deux adversaires recherche heuristique • avec les processus de décision markoviens, on ajoute le concept de décision/politique au raisonnement probabiliste (RBD) Froduald Kabanza
Processus de décision markovien : pour quel type d’agent? Simple reflex Model-based reflex Goal-based Utiliy-based 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 valueiteration • Simuler policyiteration Froduald Kabanza