Processus de décisions de Markov (MDP)

publicité
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
Téléchargement