IFT 702 – Planification en intelligence artificielle Planification par les processus de décision...
-
Upload
modeste-mora -
Category
Documents
-
view
106 -
download
1
Transcript of IFT 702 – Planification en intelligence artificielle Planification par les processus de décision...
IFT 702 – Planification en intelligence artificielle
Planification par les processus de décision markoviens
Froduald KabanzaDépartement d’informatique
Université de Sherbrookeplaniart.usherbrooke.ca/kabanza/cours/ift702
Sujets couverts
● Processus de décision de Markov (MDP)
● Algorithme d’itération de la valeur (value iteration)
● Algorithme d’itération de la politique (policy iteration)
● Processus de décision markoviens partiellement observables (POMDP)
IFT702 Froduald Kabanza 2
3
Problèmes de planification
Prochaine action?
Percepts Actions
Environment
Statique vs. Dynamique
ObservabilitéComplète
vs. Partielle
Vs. Aucune
CapteursParfaits
vs.Bruités
Déterministes vs.
Stochastiques
Discrètes vs.
Continues
Prévisible vs. Imprévisible
IFT702 Froduald Kabanza
Actions
4
Planification classique
Prochaine action?
Percepts Actions
Environment
Statique
ObservabilitéComplète
CapteursParfaits
Déterministes
Discrètes
Prévisible
IFT702 Froduald Kabanza
Actions
5
Planification conformant
Prochaine action?
Percepts Actions
Environment
Statique
ObservabilitéAucne
CapteursParfaits
Déterministes
Discrètes
Prévisible
IFT702 Froduald Kabanza
Actions
6
MDP
Prochaine action?
Percepts Actions
Environment
Statique
ObservabilitéComplète
CapteursParfaits
Stochastiques
Discrètes
Incertain
IFT702 Froduald Kabanza
Actions
7
POMDP
Prochaine action?
Percepts Actions
Environment
Statique
ObservabilitéPartielle
CapteursBruités
Discrètes
Incertain
IFT702 Froduald Kabanza
Actions
Stochastiques
9
MDP
IFT702 Froduald Kabanza
Grille (occupancy grid)
Actions: E: Go east W: Go west S: Go south N: Go north
0
Degré de désirabilité
-0.4
: +1But
Room 1 Room 5
Room 2
Room 4
Room 3
But
0 1 2 3 ….
0
1
2 3
…
.
IFT702 Froduald Kabanza 10
Actions aux effets incertains
État courant Action
Go South (S)
50 %25 % 25 %
États successeurs
possibles
IFT702 Froduald Kabanza 11
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 Action(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
IFT702 Froduald Kabanza 12
Grille (occupancy grid)
Actions: E: Go east W: Go west S: Go south N: Go north
0
Degré de désirabilité
-0.4
: +1But
Room 1 Room 5
Room 2
Room 4
Room 3
But
0 1 2 3 ….
0
1
2 3
…
.
IFT702 Froduald Kabanza
S = { positions sur la grille }
R(s) (fonction de récompense)Actions(s) 13
Actions aux effets incertains
État courant Action
Go South (S)
50 %25 % 25 %
États successeurs
possibles
IFT702 Froduald Kabanza
P(s’|s,a) (modèle de transition)
14
N
Décision
● Une décision est un choix d’une action dans un état c’est une règle « if state then action »
(21,12) → Wou(21,12) → E
Exemples:
IFT702 Froduald Kabanza
(21,12) (20,11)
(20,12)(20,13)
W W
0.9
0.2
0.5
S0.1
(21,13)
0.3
(20,10)(1,1)
W
S
SS0.8
0.2
15
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)S
(20,12)(20,13)
W0.5
S0.1
(21,13)
0.3
(1,1)
Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … }
IFT702 Froduald Kabanza
(20,10)
W0.2 W
0.9
Exemples:
SS0.8
0.2
16
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, ….}
IFT702 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
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;2. a = π(s);3. execute a;
}
IFT702 Froduald Kabanza 18
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
IFT702 Froduald Kabanza
N(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, ….}
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
19
Valeur d’un plan
● R(s): récompense pour l’état s, c-à-d. l’utilité de l’état s
● V(π,s): valeur du plan π à l’état s
V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π, 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
IFT702 Froduald Kabanza 22
récompenseactuelle
somme des récompenses futures espérée
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 (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)
IFT702 Froduald Kabanza 23
Équations de Bellman pour la valeur optimale
● Les équations de Bellman nous donnent une condition qui est garantie par la valeur V* des plans optimaux
V*(s) = R(s) + max γ Σ s’ S P(s’|s,a) V*(s’) s S
● Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s l’action qui maximise V*(s)
(c.-à-d. le argmax)
a
IFT702 Froduald Kabanza 24
Algorithme Value Iteration1. Initialiser V(s) à 0 pour chaque état s.2. Répéter (jusqu’à ce que le changement en V soit négligeable).
I. pour chaque état s calculer:V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’)
II. si Σs S|V(s) - V’(s)| ≤ tolérance, quitter
III. V V’
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) V(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 ))IFT702 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
IFT702 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
IFT702 Froduald Kabanza 27
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
Exemple de MDP
● V(s): valeur actuelle l’état s ● V’(s): nouvelle valeur de l’état s
V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’)
● Notons ri=R(si) et vi = V(si) V’i = ri + γ Σj P(sj|si, π(si)) vj
IFT702 Froduald Kabanza 28
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
● Valeurs initiales fixées à 0:
v0 = 0 v1 = 0 v2 = 0
Value iteration: initialisation
IFT702 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
v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 0 } = 0v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 0 } = 1
● Les nouvelles valeurs sont v0 = 0, v1 = 0, v2 = 1
IFT702 Froduald Kabanza 30
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
1
Value iteration: itération #2
● Mise à jour droite-gauche des valeurs
v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1 } = 0.5v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 1 } = 1.5
● Les nouvelles valeurs sont v0 = 0, v1 = 0.5, v2 = 1.5
IFT702 Froduald Kabanza 31
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
1
Value iteration: itération #3
● Mise à jour droite-gauche des valeurs
v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75
● Les nouvelles valeurs sont v0 = 0.2, v1 = 0.75, v2 = 1.75
IFT702 Froduald Kabanza 32
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
1
Value iteration: itération #3
● Si on arrêtait à la 3e itération, le plan retourné serait
π(s0) = argmax{ 0.2 v0 + 0.8 v1, v0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a1
π(s1) = argmax{ v0, v2 } = argmax{ 0.2, 1.75 } = a3
π(s2) = argmax{ v1, v2 } = 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
IFT702 Froduald Kabanza 33
a2
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
1
IFT702 © Froduald Kabanza
34
Démonstration de Value iteration
Démo de l’algorithme value iteration: http://planiart.usherbrooke.ca/kabanza/cours/demos/vi/vi.htm
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 V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π,s’)
III. pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’ S P(s’|s,a) V(π,s’) ] > V(π,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 )
IFT702 Froduald Kabanza 35
Policy iteration: initialisation
● Plan initial choisi arbitrairement: π’ = { s0 → a2,
s1 → a2,
s2 → a4 }
IFT702 Froduald Kabanza
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
37
Policy iteration: itération #1
I.π = π’II.Équations: v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1)Solution: v0=0, v1=0, v2=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 }
IFT702 Froduald Kabanza
a21
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
38
Policy iteration: itération #2
I. π = π’II. Équations: v0=0+0.5*(1*v0);
v1=0+0.5*(1*v2); v2=1+0.5*(1*v2)Solution: v0=0, v1=1, v2=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 }
IFT702 Froduald Kabanza
a10.2 a5 1
a3 1
a41
0.8a1
a21s2s1s0
a21
39
I.π = π’II.Équations: v0=0+0.5*(0.2*v0+0.8*v1); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2)Solution: v0=4/9, v1=1, v2=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
IFT702 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
IFT702 Froduald Kabanza 44
Aspects avancés des 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» Approches Monte-Carlo (échantillonage)» Représentations compactes de l’espace d’états
IFT702 Froduald Kabanza 45
46
POMDP
IFT702 Froduald Kabanza
© Froduald Kabanza 47
Rappel- Planification conformant
• L’agent n’a aucun capteur. Il ne sait pas précisément dans quel état il se trouve. Il doit malgré tout attendre le but.
• Nous avions ramener le problème à un problème de planification par recherche dans l’espace des croyances.
IFT702
Rappel - Exemple (Vacuum World)
● Avec capteurs, on aurait des données sensorielles : position et état des lieux
Par exemple : [A,Clean], [A,Dirty], [B,Clean],
● Actions : Left, Right, Suck, NoOp
IFT615 Froduald Kabanza 48
Rappel - Espace d’états avec capteurs
IFT615 Froduald Kabanza 49
Rappel - Exemple (Vacuum World)
● Sans capteur, le robot ne sait pas quelle pièce il est, ni dans si la pièce est salle ou non.
● Les actions sont inchangées : Left, Right, Suck, NoOp
● Comment planifier pour qu’il fasse quand même le travail? Réponse: explorer l’espace des croyances
IFT615 Froduald Kabanza 50
Rappel - Espace des croyances
IFT615 Froduald Kabanza 51
Processus de décision markovien partiellement observable
● Un processus de décision markovien partiellement observable (Partially Observable MDP, ou POMDP) 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), pour s et s’ S et a Action(s) une fonction de récompense R(s) (utilité d’être dans l’état s) Un modèle d’observation P(o|s, a) s S et a Action(s), c-à-d., la probabilité
d’observer o dans l’état s, après avoir exécuté l’action a.
» Lorsque le modèle d’observation dépend seulement de l’état (mais pas de comment on y est arrivé), il est réduit à P(o|s).
IFT702 Froduald Kabanza 52
Exemple
● Supposons deux observations O ={d,c}, c-à-d., B is dirty (d) et B is clean (c) ● Nous pouvons alors décrire le modèle d’observation du robot en spécifiant P(o|s) pour
chacun des états s {s1, s2 , s3 , s4 } : P(d| s1) = P(c| s1) = P(d| s2) = P(c| s2) = 0.5 P(d| s4) = P(c| s3) = 1 P(d| s3) = P(c| s4) = 0
● Remarquez que les états s1 et s1 sont non distinguables.IFT615 Froduald Kabanza 53
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
s2
s1 s4
s3
R
L
R
L
États de croyance dans un POMDP
● La différence fondamentale entre un POMDP et un MDP est que la politique est définie sur l’espace d’états de croyance (belief states) plutôt que l’espace d’états.
● Contrairement à la planification conformant, l’état de croyance est une distribution de probabilité sur l’ensemble des états, plutôt que simplement un sous ensemble des états.
B est l’ensemble d’états de croyance (de distributions de probabilité sur les états)
b B est un état de croyance (distribution de probabilité sur les états) b(s) est la probabilité que l’état réel soit s, selon l’état de croyance b.
IFT702 Froduald Kabanza 54
Exemple
IFT615 Froduald Kabanza 55
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0.5
R
L
R
L
belief state b
b(s1 )=0.5
b(s3 )=0
b(s4 )=0
Mise à jour des états de croyance
● Étant donné un état de croyance b, l’exécution d’une action a résulte en un nouvel état de croyance ba(s) calculé comme suit:
ba(s) = Σ s’ S P(s|s’,a) b(s’)
● Cet équation nous indique que l’on peut générer un automate stochastique sur les états des croyances.
● On peut facilement étendre la fonction des récompenses aux états de croyance: ρ(b) =
● Ainsi on réduit le problème POMDP à un MDP sur les croyances.
● Sauf que les croyances sont continues (distributions de probabilités). Il faut adapter les algorithmes pour les MDPs [Section 17.4, Rusell & Norvig, AIMA.]
IFT702 Froduald Kabanza 56
Exemple
IFT615 Froduald Kabanza 57
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0.5
R
L
R
L
belief state b
b(s1 )=0.5
b(s3 )=0
b(s4 )=0
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0
R
L
R
L
belief state b’
b(s1 )=0
b(s3 )=0.5
b(s4 )=0.5
R
Calcul de la probabilité d’une observation
● Après la mise à jour de l’état de croyance, on calcule ensuite la probabilité d’une observation o ϵ O après l’exécution d’une action a comme suit:
ba(o) = Σ s S P(o|s,a) b(s)
IFT702 Froduald Kabanza 58
Exemple
IFT615 Froduald Kabanza 59
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0.5
R
L
R
L
belief state b
b(s1 )=0.5
b(s3 )=0
b(s4 )=0
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0
R
L
R
L
belief state b’
b(s1 )=0
b(s3 )=0.5
b(s4 )=0.5
R
Calcul de la probabilité d’un état
● On peut finalement calculer la probabilité d’un état après avoir executé l’action a dans l’état de croyance b et observé o:
ba,o(s) = P(o|s,a) ba(s)/ba(o)
IFT702 Froduald Kabanza 60
Exemple
IFT615 Froduald Kabanza 61
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0.5
R
L
R
L
belief state b
b(s1 )=0.5
b(s3 )=0
b(s4 )=0
A B
A BA B
A B
at(R,A) at(R,B)
at(R,A), dirty(B) at(R,B), dirty(B)
b(s2 )=0
R
L
R
L
belief state b’
b(s1 )=0
b(s3 )=0.5
b(s4 )=0.5
R
Résumé
● L’approche MDP 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 (qu’on verra bientôt)
● Elle est notamment populaire dans les applications de robots mobiles
● Dans un POMDP, la politique (le plan) spécifie des actions pour des états de croyance.
● Les POMDP sont plus difficiles à résoudre parce que les MDP parce que les états de croyances sont des distributions de probabilités (donc continues).
IFT702 Froduald Kabanza 62