Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarie Carlier Modifié depuis plus de 10 années
1
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza Modifications par Simon Chamberland
2
Sujets 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 couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 3 3
4
Exemple Room 5 Room 1 Room 3 Room 4 Room 2 Goal IFT 702
© Froduald Kabanza
5
Architecture de contrôle
Modèles: -actions -environnement - stratégies de planification - heuristiques Capteurs Suivi de l’exécution Planificateur de tâches État du système Environnement But Plan = règles « état→action» Module d’apprentissage Planificateur de trajectoires Effecteurs Trajectoire Action IFT 702 © Froduald Kabanza
6
Grille (occupancy grid)
Actions: E: Go east W: Go west S: Go south N: Go north Degré de désirabilité -0.4 -1 : +1 But Exemple Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But …. IFT 702 © Froduald Kabanza
7
Décision Une décision est un choix d’une action dans un état. C’est une règle if state then action (21,13) (20,13) (20,12) W 0.3 0.2 W (21,12) → W ou (21,12) → S Exemples: W 0.5 S (20,11) (21,12) 0.9 S 0.1 (20,10) (1,1) IFT 702 © Froduald Kabanza
8
Plan (policy) Exemples:
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 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …} (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 (20,10) (1,1) Exemples: IFT 702 © Froduald Kabanza
9
Plan (policy) Exemples:
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. Exemples: Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …} (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} (20,10) (1,1) 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) { s = état courant du système s; a = P(s); execute a; } Exemple de P(S) S : P(S) { (21,12) : W, (20,13) : S, (21,13) : S, (20,12) : E, …} 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). 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. Exemples: Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, (20,11) → S, …} (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 (20,11) S (21,12) 0.9 S 0.1 Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} (20,10) (1,1) IFT 702 © Froduald Kabanza
12
Interprétation/application d’un plan
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 IFT 702 © Froduald Kabanza 12
13
Sujets couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 13 13
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 fonction d’utilité u: S -> R Telle que sx < sy ssi u(sx) < u(sy) Et sx = sy ssi u(sx) = u(sy) s1 < s2 < s3 Ref Russell et Norvig chapitre 16 Généralise la notion de buts à atteindre IFT 702 © Froduald Kabanza 14
15
Théorie de l’utilité Principe de rationalité s1 s2 s3 < t1 t2 t3
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 p(i)*u(xi) i s1 s2 s3 < t1 t2 t3 Ref Russell et Norvig chapitre 16 Séquences d’états potentiellement infinies IFT 702 © Froduald Kabanza 15
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 16
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 Infini (pas de deadline fixe)
Politique non-stationnaire (dépend du temps) Infini (pas de deadline fixe) Politique stationnaire (plus simple) Les prochaines slides vont traiter le cas infini. On pourrait aussi obtenir une politique non-stationnaire en faisant dépendre les modèles de transitions/récompenses du temps. IFT 702 © Froduald Kabanza 18
19
Valeur d’un plan S : espace d’états R(s) : récompense pour l’état s
(21,12) (20,11) S (20,12) (20,13) W 0.9 0.2 0.5 0.1 (21,13) 0.3 (20,10) 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 Discounted rewards: U([s0,s1,...])= R(s1) + dfR(s2) + df^2 R(s3) Le df représentent un taux d’intérêt de (1/df) – 1. Additive reward: U([s0,s1, ....])= R(s1) + R(s2) Cas particulier où df = 1 On peut donner df = 1 quand il est garanti que l’agent atteigne un état terminal éventuellement, peu importe sa décision (ne pas permettre les cycles de récompenses positives). 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 S a IFT 702 © Froduald Kabanza
22
Sujets couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 22 22
23
Algorithme Value iteration
1. Initialiser U(s) à 0 pour chaque état s 2. 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 a s’ dans S The computational complexity of the value-iteration algorithm with full backups, per iteration, is quadratic in the number of states and linear in the number of actions. Commonly, the transition probabilities T(s,a,s') are sparse. If there are on average a constant number of next states with non-zero probability then the cost per iteration is linear in the number of states and linear in the number of actions. The number of iterations required to reach the optimal value function is polynomial in the number of states and the magnitude of the largest reward if the discount factor is held constant. However, in the worst case the number of iterations grows polynomially in , so the convergence rate slows considerably as the discount factor approaches 1 [1]. [1] Michael L. Littman, Thomas L. Dean, and Leslie Pack Kaelbling. On the complexity of solving Markov decision problems. In Proceedings of the Eleventh Annual Conference on Uncertainty in Artificial Intelligence (UAI-95), Montreal, Québec, Canada, 1995. Mais voir aussi: : Value iteration works by producing successive approximations of the optimal value function. Each iteration can be performed in O(|A||S|^2) steps, or faster if there is sparsity in the transition function. However, the number of iterations required can grow exponentially in the discount factor [27]; C’est un peu contradictoire. À vérifier. IFT 702 © Froduald Kabanza
24
Démonstration de Value iteration
Démo de l’algorithme value iteration: demos\vi\classes\vi.htm IFT 702 © Froduald Kabanza
25
Sujets couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 25 25
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 : Since there are at most distinct policies, and the sequence of policies improves at each step, this algorithm terminates in at most an exponential number of iterations [1]. However, it is an important open question how many iterations policy iteration takes in the worst case. It is known that the running time is pseudopolynomial and that for any fixed discount factor, there is a polynomial bound in the total size of the MDP [2]. [1] Martin L. Puterman. Markov Decision Processes--Discrete Stochastic Dynamic Programming. John Wiley & Sons, Inc., New York, NY, 1994 [2] Michael L. Littman, Thomas L. Dean, and Leslie Pack Kaelbling. On the complexity of solving Markov decision problems. In Proceedings of the Eleventh Annual Conference on Uncertainty in Artificial Intelligence (UAI-95), Montreal, Québec, Canada, 1995. Comparaison avec value iteration: Value iteration works by producing successive approximations of the optimal value function. Each iteration can be performed in O(|A||S|^2) steps, or faster if there is sparsity in the transition function. However, the number of iterations required can grow exponentially in the discount factor [27]; as the discount factor approaches 1, the decisions must be based on results that happen farther and farther into the future. In practice, policy iteration converges in fewer iterations than value iteration, although the per-iteration costs of O(|A||S|^2+|S|^3) can be prohibitive. There is no known tight worst-case bound available for policy iteration [66]. Modified policy iteration [91] seeks a trade-off between cheap and effective iterations and is preferred by some practictioners [96]. Linear programming [105] is an extremely general problem, and MDPs can be solved by general-purpose linear-programming packages [35, 34, 46]. An advantage of this approach is that commercial-quality linear-programming packages are available, although the time and space requirements can still be quite high. From a theoretic perspective, linear programming is the only known algorithm that can solve MDPs in polynomial time, although the theoretically efficient algorithms have not been shown to be efficient in practice. IFT 702 © Froduald Kabanza
27
Exemple (policy iteration)
Actions But: S2 a1 0.2 a5 1 a1 0.8 a3 1 S0 S1 S2 1 a2 1 a4 1 a2 IFT 702 © Froduald Kabanza
28
Exprimer le but 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 a5 0.2 1 0.8 S2 S1 S0 a3 a2 a4 IFT 702 © Froduald Kabanza
29
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 a1 a5 0.2 0.8 S2 S1 S0 a3 1 a2 a4 Notons ri=R(si) et vi=U(P,si) : ui = ri + df × pr(si,P(si),sj) × uj s’ in S IFT 702 © Froduald Kabanza
30
Plan initial choisi arbitrairement : P’ = { S0 → a2, S1 → a2,
Initialisation Plan initial choisi arbitrairement : P’ = { S0 → a2, S1 → a2, S2 → a4 } 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 IFT 702 © Froduald Kabanza
31
Itération #1 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. P = P’
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=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 P’ = { S0 → a2 , S1 → a3 , S2 → a5 } IFT 702 © Froduald Kabanza
32
Itération #2 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. P = P’
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=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 P’ = { S0 → a1 , S1 → a3 , S2 → a5 } IFT 702 © Froduald Kabanza
33
Itération # 3 0.2 a5 a1 0.8 a3 1 S0 S1 S2 a4 a2 a. P = P’
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=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 P’ = { S0 : a1 , S1 : a3 , S2 : a5 }, c-à-d. P Solution finale : P IFT 702 © Froduald Kabanza
34
Sujets couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 34 34
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 35
36
Sujets couverts Introduction Processus de décision de Markov
Algorithme value-iteration Algorithme policy-iteration Autres algorithmes Généralisations IFT 702 © Froduald Kabanza 36 36
37
Fonctions de récompenses complexes
3 1 2 4 5 R=1 G={2} R=3 G={1,2} R=2 G={1} goto(1) goto(3) goto(2) 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 702 © Froduald Kabanza
38
Autres généralisations
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) IFT 702 © Froduald Kabanza 38
39
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 702 © Froduald Kabanza
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.