ift 615 – intelligence artificielle processus décisionnels markoviens (mdp) jean-françois landry...
TRANSCRIPT
IFT 615 – Intelligence artificielle
Processus décisionnels markoviens(MDP)
Jean-François LandryDépartement d’informatiqueUniversité de Sherbrooke
http://planiart.usherbrooke.ca/~eric/ift615/
IFT 615 Processus de décision de Markov 2
Sujets couvertsSujets couverts
• Processus de décision de Markov (MDP).
• Algorithme d’itération par valeurs (value-iteration)
• Algorithme d’itération par politiques (policy-iteration)
Rappel: Utility-based agents
IFT615 Processus de décision de Markov 3
Les actions peuvent avoir des effets incertains!
Les capteurs peuvent être bruités…État
incertain.
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
IFT 615 Processus de décision de Markov 5
Grille (occupancy grid)
Actions: E: Go east W: Go west S: Go south N: Go north
Example0
Degré de désirabilité
-0.4 -1
: +1But
Room 1 Room 5
Room
2
Room 4
Room 3
But
0 1 2 3 ….
0
1
2 3
…
.
Actions aux effets incertains
6
État courant Action
Go South (S)
50 %25 % 25 %
États successeurspossibles
IFT 615 Processus de décision de Markov 7
• Une décision est un choix d’une action dans un état.
• C’est une règle if state then action
(21,12) (20,11)
S
(20,12)(20,13)
W W
0.9
0.2
0.5
Une décision est un choix d’action pour un état
S0.1
(21,13)
W0.3
(20,10)
(1,1)
(21,12) → Wou(21,12) → E
Exemples:
IFT 615 Processus de décision de Markov 8
• 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.
Un plan est un ensemble de décisions (politique)
(21,12) (20,11)S
(20,12)(20,13)
W W
0.9
0.2
0.5
S0.1
(21,13)
W0.3
(20,10)
(1,1)
Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, … }
Exemples:
IFT 615 Processus de décision de Markov 9
• 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.
Un plan est un ensemble de décisions (policy)
(21,12) (20,11)S
(20,12)(20,13)
W W
0.9
0.2
0.5
S0.1
(21,13)
W0.3
(20,10)
(1,1)
Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …}
Exemples:
Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….}
IFT 615 Processus de décision de Markov 10
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 11
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.
(21,12) (20,11)S
(20,12)(20,13)
W W
0.9
0.2
0.5
S0.1
(21,13)
W0.3
(20,10)
(1,1)
Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, (20,11) → S, …}
Exemples:
Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….}
IFT 615 Processus de décision de Markov 14
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’)
– df : facteur de pondération (0 < df <= 1)
– S : espace d’états
– π(s) : action dans s
– P(s, π(s),s’) : probabilité de la transition
s’ in S
IFT 615 Processus de décision de Markov 15
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 16
É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 × P(s,a,s’) × V*(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).
s’ in Sa
IFT 615 Processus de décision de Markov 17
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’)
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.
(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)
s’ dans S
s’ dans S
a
IFT 615 Processus de décision de Markov 18
Démonstration de Value iteration
http://planiart.usherbrooke.ca/~eric/ift615/demos/vi/
IFT 615 Processus de décision de Markov 19
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’)
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)
alors π’(s) := a sinon π’(s) := π(s)
3. retourne π
Converge au plan optimal en O(|S|3)
s’ in S
s’ in S
IFT 615 Processus de décision de Markov 22
• Actions
• But: S2
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
Exemple (policy iteration)
IFT 615 Processus de décision de Markov 23
• 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
a1 a50.2 10.8
S2S1S0
a3a1 1
a2a2 a411
1
0
0 1
Exprimer le but
IFT 615 Processus de décision de Markov 24
Notons ri=R(si) et vi=V(π,si) :
vi = ri + df × P(si, π(si),sj) × vj
a1 a50.20.8
S2S1S0
a3a1 1
a2a2 a4
1
111
0
0 1
sj in S
Rappel : équation de la valeur d’un plan
V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’)s’ in S
IFT 615 Processus de décision de Markov 25
Plan initial choisi arbitrairement :
π’ = { S0 → a2,
S1 → a2,
S2 → a4 }
0.8
S2S1S0a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
Initialisation
IFT 615 Processus de décision de Markov 26
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=1c. 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 }
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
Itération #1
IFT 615 Processus de décision de Markov 27
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=2c. 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 }
Itération #2
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
IFT 615 Processus de décision de Markov 28
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=2c. 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 : π
Itération # 3
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
IFT 615 Processus de décision de Markov 29
• 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]
R=1G={2}
R=3G={1,2
}
R=2G={1
}
goto(1)
goto(3) goto(3)
goto(2)
Fonctions de récompenses complexes
3
1
2
4
5
Un peu plus loin …• Les algorithmes value-iteration et policy-iteration
sont lents sur des grands espaces d’états. Améliorations:– 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
IFT 615 © Éric Beaudry & Froduald Kabanza 31
Résumé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.