ift 615 – intelligence artificielle processus de décision markoviens (mdp) froduald kabanza...
TRANSCRIPT
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 2
Modèle d’actions
Actions: E: Go east W: Go west S: Go south N: Go north
Room 1 Room 4
Room 2
Room 3But
0 1 2 3 ….
0
1
2 3
…
.
IFT 615 Froduald Kabanza 10
EscalierGlissant
Actions aux effets incertains
État courant Action
Go South (S)
50 %25 % 25 %
États successeurs
possibles
IFT 615 Froduald Kabanza 11
Actions aux effets incertains
État courant Action
Go South (S)
50 %25 % 25 %
États successeurs
possibles
IFT 615 Froduald Kabanza
P(s’|s,a) (modèle de transition)
14
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
0.9
0.5
S0.1
(21,13)
(1,1)
Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….}
IFT 615 Froduald Kabanza
Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … }
Exemples:
0.3W
0.2 W
(20,10)
S
S
S0.8
0.2
17
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
IFT 615 Froduald Kabanza 22
récompenseactuelle
somme des récompenses futures espérée
É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
IFT 615 Froduald Kabanza 24
Algorithme Value Iteration1. 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]● 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 ))IFT 615 Froduald Kabanza
a
25
a
● MDP à 3 états: S = {s0, s1, s2}
● But: s2
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21
Exemple de MDP
s2s1s0
IFT 615 Froduald Kabanza 26
● 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
Exemple de MDP
IFT 615 Froduald Kabanza 27
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
Exemple de MDP
● 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
IFT 615 Froduald Kabanza 28
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
● Valeurs initiales fixées à 0:
u0 = 0 u1 = 0 u2 = 0
Value iteration: initialisation
IFT 615 Froduald Kabanza
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
29
1
Value iteration: itération #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 } = 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 nouvelles valeurs sont u0 = 0, u1 = 0, u2 = 1
IFT 615 Froduald Kabanza 30
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
10
0 0
Value iteration: itération #2
● 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 } = 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 nouvelles valeurs sont u0 = 0, u1 = 0.5, u2 = 1.5
IFT 615 Froduald Kabanza 31
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
10
0 1
Value iteration: itération #3
● 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.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 nouvelles valeurs sont u0 = 0.2, u1 = 0.75, u2 = 1.75
IFT 615 Froduald Kabanza 32
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
10
0.5 1.5
Value iteration: itération #3
● 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
IFT 615 Froduald Kabanza 33
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
10.2
0.75 1.75
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]: 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 615 Froduald Kabanza 35
Policy iteration: initialisation
● Plan initial choisi arbitrairement: π’ = { s0 → a2,
s1 → a2,
s2 → a4 }
IFT 615 Froduald Kabanza
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
37
Policy iteration: itération #1
I.π = π’II.É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
III. 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 Froduald Kabanza
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
38
Policy iteration: itération #2
I. π = π’II. É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
III. 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 Froduald Kabanza
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
a21
39
I.π = π’II.É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
III. 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: π
1 a2
Policy iteration: itération #3
IFT 615 Froduald Kabanza
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
40
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=1G={2}
R=3G={1,2}
R=2G={1}
goto(1)
goto(3) goto(3)
goto(2) 3
1
2
4
5
IFT 615 Froduald Kabanza 44
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 45
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
IFT 615 Froduald Kabanza 46
Objectifs du cours
IFT615 Froduald Kabanza 48
agents intelligents
recherche heuristique
recherche locale
recherche à deux adversaires
satisfaction de contraintes
Algorithmes et concepts
raisonnement probabiliste
processus de décision markovien
avec les processus de décision markoviens, on ajoute le concept de décision/politique au raisonnement probabiliste (RBD)
Processus de décision markovien : pour quel type d’agent?
IFT615 Froduald Kabanza 49
Simple reflex Model-based reflex
Goal-based Utiliy-based
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 50