ift 702 – planification en intelligence artificielle planification avec des processus de décision...
TRANSCRIPT
IFT 702 – Planification en Intelligence Artificielle
Planification avec des processus de décision de Markov
Froduald KabanzaDépartement d’informatiqueUniversité de Sherbrooke
planiart.usherbrooke.ca/kabanza
Modifications par Simon Chamberland
IFT 702 © Froduald Kabanza
2
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
3
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
4
Exemple
Room 1
Room
2
Room 5
Room 4
Room 3
Goal
IFT 702 © Froduald Kabanza
5
Architecture de contrôle
En
vir
on
nem
en
t
Capteurs
Effecteurs
Éta
t du sy
stèm
e
Planificateurde tâches
Modèles: -actions -environnement - stratégies de planification - heuristiques
Bu
t
Plan = règles« état→action»
Suivi de l’exécution
Module d’apprentissage
Action
Planificateurde trajectoires
Trajectoire
IFT 702 © Froduald Kabanza
6
Grille (occupancy grid)
Actions: E: Go east W: Go west S: Go south N: Go north
Exemple0
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
…
.
IFT 702 © Froduald Kabanza
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
Décision
S0.1
(21,13)
W0.3
(20,10)
(1,1)
(21,12) → Wou(21,12) → S
Exemples:
IFT 702 © Froduald Kabanza
8
• Un plan (policy) est une stratégie : choix d’une action pour chaque état
• C’est un ensemble de règles if state then action.
Plan (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:
IFT 702 © Froduald Kabanza
9
• Un plan (policy) est une stratégie : choix d’une action pour chaque état
• C’est un ensemble de règles if state then action.
Plan (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 702 © Froduald Kabanza
10
Exécution d’un plan
• Un plan est un ensemble de règles if state then action.
• Notons P(s) l’action désignée par le plan P 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 = P(s);3 execute a; }
• L’étape 1 implique observation : détection (sensing), localisation, classification, tracking
• 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 infinie (une parmi celles de l’arbre).
Exemple de P(S) S : P(S) { (21,12) : W, (20,13) : S, (21,13) : S, (20,12) : E, …}
IFT 702 © Froduald Kabanza
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 702 © Froduald Kabanza
12
• La qualité d’un plan est déterminée par l’ensemble des séquences d’états qui peuvent potentiellement en résulter.
– C-à-d., les séquences déroulables de la chaîne de Markov correspondante.
• La qualité peut être formalisée selon :– Une approche logique classique : chaque séquence doit satisfaire une
condition de succès (conduire au but ou satisfaire une formule de logique temporelle)
– Une approche de théorie de l’utilité/théorie de la décision: fonction d’utilité ou de récompense.
– Une combinaison des deux.
• Chaque approche donne lieu à une méthode de calcul du plan différente.– Recherche dans un graphe et/ou pour l’approche logique classique– Programmation dynamique pour l’approche de théorie de la décision
• Des prototypes existent pour les différentes approches
Interprétation/application d’un plan
IFT 702 © Froduald Kabanza
13
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
14
Théorie de l’utilité
• Relations de désirabilité entre des états
• Axiomes contraignant les relations– Par exemple, transitivité: s1 < s2 et s2 < s3 -> s1 < s3
• Des axiomes découle l’existence d’une fonctiond’utilité u: S -> R – Telle que sx < sy ssi u(sx) < u(sy)
– Et sx = sy ssi u(sx) = u(sy)
s1 s2 s3< <
IFT 702 © Froduald Kabanza
15
Théorie de l’utilité
• Principe de rationalité– Maximiser l’utilité espérée
– Par opposition à maximiser le meilleur cas, minimiser le pire cas, etc.
– Dans les MDPs, on veut discriminer la désirabilité de séquences d’états plutôt que d’états individuels
i
p(i)*u(xi)
s1 s2 s3 t1 t2 t3<
IFT 702 © Froduald Kabanza
16
Processus de décision de Markov
• État initial: s0
• Modèle de transition: pr(s,a,s’)
• Fonction de récompense: R(s)
Hypothèses• Environnement totalement observable
• Un seul agent
• Modèles de transition/récompense indépendant du temps
IFT 702 © Froduald Kabanza
17
Fonction d’utilité/récompense et qualité des plans
• Une fonction récompense, R(s), assigne un nombre réel à chaque état s.– R(s) désigne le degré de désirabilité de l’état s.
• Le but et le coût des actions sont indirectement modélisés par la fonction de récompense.
• Ainsi, la qualité d’un plan est déterminée par l’espérance des récompenses qu’on peut potentiellement obtenir en suivant/exécutant le plan– Un plan optimal est celui qui maximise les récompenses. – Plus un plan est proche de du plan optimal, plus il est de qualité.
• Ainsi un plan fait un compromis entre:– La maximisation de la probabilité d’atteindre le but (réduction de la
probabilité d’échec).– La maximisation des récompenses (optimisation du coût des actions).
IFT 702 © Froduald Kabanza
18
Horizon
• Fini– Politique non-stationnaire (dépend du temps)
• Infini (pas de deadline fixe)– Politique stationnaire (plus simple)
Les prochaines slides vont traiter le cas infini.
IFT 702 © Froduald Kabanza
19
Valeur d’un plan
• R(s) : récompense pour l’état s
• Hypothèses:– Processus Markovien
– Récompenses temporairement atténués (discounted rewards)
• U(P,s) : Valeur d’utilité du plan P dans l’état s
U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)
– df : facteur de pondération (0 <= df < 1)
– S : espace d’états
– P(s) : action dans s donnée par le plan P
– pr(s,P(s),s’) : probabilité de la transition
s’ in S
(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)
IFT 702 © Froduald Kabanza
20
Plan optimal
• Un plan P domine un plan P’ si les deux conditions suivantes sont réunies:
– U(P,s) >= U(P’,s) pour tout état s– U(P,s) > U(P’,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 (parmi plusieurs) :
– value iteration– policy iteration
IFT 702 © Froduald Kabanza
21
Équations de Bellman pour la valeur optimale
• Les équations de Bellman nous donnent la valeur d’utilité U* des plans optimaux
U*(s)= R(s) + max df × pr(s,a,s’) × U*(s’)
• Si nous pouvons calculer U*, nous pourrons calculer un plan optimal aisément:
– Il suffit de choisir dans chaque état s une action qui maximise U*(s)
s’ in Sa
IFT 702 © Froduald Kabanza
22
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
23
Algorithme Value iteration
1. Initialiser U(s) à 0 pour chaque état s2. Répéter (jusqu’à ce que le changement en U soit négligeable)
a. Pour chaque état s U’(s) = R(s) + max df × pr(s,a,s’) × U(s’)
b. U=U’ (ou |U| - |U’| ≤ tolérance)
3. Le plan optimal est obtenu en choisissant pour chaque s état l’action a telle que la valeur df × pr(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).
Complexité: O(N4M) où N est le nombre d’états et M le nombre d’actions.
s’ dans S
s’ dans S
a
IFT 702 © Froduald Kabanza
24
Démonstration de Value iteration
Démo de l’algorithme value iteration:
http://planiart.usherbrooke.ca/kabanza/cours/ift615/demos/vi/vi.htm
IFT 702 © Froduald Kabanza
25
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
26
Algorithme Policy iteration
1. Choisir un plan arbitraire P’2. Répéter jusqu’à ce que P devienne inchangé :
a. P := P’;b. Pour tout s dans S, calcule U(P,s) en résolvant le système de |S| équations
en |S| inconnus U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)
c. Pour tout s dans S, s’il existe une action a telle que [ R(s) + df × pr(s,a,s’) × U(P,s’)] > U(P,s)
alors P’(s) := a sinon P’(s) := P(s)
3. retourne P
Converge au plan optimal en temps pseudopolynomial.
s’ in S
s’ in S
IFT 702 © Froduald Kabanza
27
• Actions
• But: S2
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
Exemple (policy iteration)
IFT 702 © Froduald Kabanza
28
• 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 702 © Froduald Kabanza
29
Notons ri=R(si) et vi=U(P,si) :
ui = ri + df × pr(si,P(si),sj) × uj
a1 a50.20.8
S2S1S0
a3a1 1
a2a2 a4
1
111
0
0 1
s’ in S
Rappel : équation de la valeur d’utilité d’un plan
U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)s’ in S
IFT 702 © Froduald Kabanza
30
Plan initial choisi arbitrairement :
P’ = { S0 → a2,
S1 → a2,
S2 → a4 }
0.8
S2S1S0a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
Initialisation
IFT 702 © Froduald Kabanza
31
a. P = P’ Équations : u0=0+0.5*(1*u0); u1=0+0.5*(1*u0); u2=1+0.5*(1*u1)b. Solution : u0=u1=0, u2=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
P’ = { 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 702 © Froduald Kabanza
32
a. P = P’ Équations : u0=0+0.5*(1*u0); u1=0+0.5*(1*u2); u2=1+0.5*(1*u2)b. Solution : u0=0, u1=1, u2=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 P’ = { 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 702 © Froduald Kabanza
33
a. P = P’ Équations : u0=0+0.5(0.2*u0+0.8u1); u1=0+0.5(1*u2); u2=1+0.5(1*u2)b. Solution : u0=0.4, u1=1, u2=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 P’ = { S0 : a1 , S1 : a3 , S2 : a5 }, c-à-d. P
Solution finale : P
Itération # 3
0.8
S2S1S0
a3a1 1
a1
a2a2 a4
a50.2 1
111
0
0 1
IFT 702 © Froduald Kabanza
34
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
35
Autres algorithmes
• RTDP (Real-Time Dynamic Programming)
• LRTDP (Labelled Real-Time Dynamic Programming)
• UCT (Upper-Confidence Bounds for Trees)
• Q-Learning (si modèles de transition/récompense pas connu)
IFT 702 © Froduald Kabanza
36
Sujets couvertsSujets couverts
• Introduction
• Processus de décision de Markov
– Algorithme value-iteration
– Algorithme policy-iteration
– Autres algorithmes
• Généralisations
IFT 702 © Froduald Kabanza
37
• 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
IFT 702 © Froduald Kabanza
38
• Environnement partiellement observable
– POMDP (Partially-Observable MDP)
– Réseaux de décision / diagrammes d’influence
• Plusieurs joueurs– Jeux stochastiques (SG – Stochastic Game)
• Environnement partiellement observable + plusieurs joueurs– Jeux stochastiques partiellement observables
(POSG – Partially Observable Stochastic Game)
Autres généralisations
IFT 702 © Froduald Kabanza
39
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.