La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.

Présentations similaires


Présentation au sujet: "IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique."— Transcription de la présentation:

1 IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702

2 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) IFT702Froduald Kabanza2

3 Problèmes de planification Prochaine action? Percepts Actions Environment Statique vs. Dynamique Observabilité Complète vs. Partielle Vs. Aucune Capteurs Parfaits vs. Bruités Déterministes vs. Stochastiques Discrètes vs. Continues Prévisible vs. Imprévisible IFT702Froduald Kabanza3 Actions

4 Planification classique Prochaine action? Percepts Actions Environment Statique Observabilité Complète Capteurs Parfaits Déterministes Discrètes Prévisible IFT702Froduald Kabanza4 Actions

5 Planification conformant Prochaine action? Percepts Actions Environment Statique Observabilité Aucne Capteurs Parfaits Déterministes Discrètes Prévisible IFT702Froduald Kabanza5 Actions

6 MDP Prochaine action? Percepts Actions Environment Statique Observabilité Complète Capteurs Parfaits Stochastiques Discrètes Incertain IFT702Froduald Kabanza6 Actions

7 POMDP Prochaine action? Percepts Actions Environment Statique Observabilité Partielle Capteurs Bruités Discrètes Incertain IFT702Froduald Kabanza7 Actions Stochastiques

8 Modèles de planification ClassiqueContingent MDP ???Contingent POMDP ???Conformant POMDP Observation Complète Partielle Aucune Incertitude sur les effets des actions Déterministe Disjonctive Probabiliste

9 MDP IFT702Froduald Kabanza9

10 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 615Froduald Kabanza10

11 Rappel IFT 615Froduald Kabanza11

12 Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 12 Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

13 Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 13 Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

14 Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 14 Escalier Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

15 Motivation – Planification avec des actions ayant des effets incertains Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 15 Escalier Actions: E: Go east W: Go west S: Go south N: Go north Prochaine action?

16 Motivation – Planification avec des actions ayant des effets incertains Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 16 Prochaine action? Escalier Glissant

17 Type d’environnement Prochaine action? Percepts Actions Environment Statique vs. Dynamique Observabilité Complète vs. Partielle Vs. Aucune Capteurs Parfaits vs. Bruités Déterministes vs. Stochastiques Discrètes vs. Continues Prévisible vs. Imprévisible IFT615Froduald Kabanza17 Actions

18 Utility-based agent Actions possiblement avec des effets incertains! Capteurs possiblement bruités… État possiblement incertain. IFT 615Froduald Kabanza 18

19 Modèle d’actions Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 19 Escalier Glissant

20 Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT 615Froduald Kabanza 20

21 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 s 0 )  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  A(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 IFT 615Froduald Kabanza 21

22 Modèle d’actions Actions: E: Go east W: Go west S: Go south N: Go north Room 1Room 4 Room 2 Room 3 But 0 1 2 3 …. IFT 615Froduald Kabanza 22 0 Degré de désirabilité -0.4 : +1 But S = { positions sur la grille } R(s) (fonction de récompense) Actions(s) -0.8

23 Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT 615Froduald Kabanza P(s’|s,a) (modèle de transition) 23

24 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) → W ou (21,12) → E Exemples: IFT 615Froduald Kabanza (21,12) (20,11) (20,12) (20,13) W W 0.9 0.2 0.5 S 0.1 (21,13) 0.3 (20,10) (1,1) W S S S 0.8 0.2 24

25 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) W 0.5 S 0.1 (21,13) 0.3 (1,1) Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } IFT 615Froduald Kabanza (20,10) W 0.2 W 0.9 Exemples: S S 0.8 0.2 25

26 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 S 0.1 (21,13) (1,1) Plan π2 { (21,12) → S, (20,11) → S, (21,10) → E, ….} IFT 615Froduald Kabanza Plan π1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,11) → N, … } Exemples: 0.3 W 0.2 W (20,10) S S S 0.8 0.2 26

27 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; } IFT 615Froduald Kabanza 27

28 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 IFT 615Froduald Kabanza N (21,12) (20,11) (20,12) (20,13) W 0.9 0.5 S 0.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.3 W 0.2 W (20,10) S S S 0.8 0.2 28

29 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 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 615Froduald Kabanza 29

30 Fonction de récompense/utilité et qualité des plans ● Une fonction de récompense/utilité, 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/utilité. ● 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 l’optimal 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 615Froduald Kabanza 30

31 Utilité d’un plan ● R(s): récompense pour l’état s ● U(π,s): valeur (utilité) du plan π à l’état s U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π, 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 IFT 615Froduald Kabanza 31 récompense actuelle somme des récompenses futures espérée

32 Plan optimal ● Un plan π domine un plan π’ si les deux conditions suivantes sont réunies:  U(π,s) ≥ U(π’,s) pour tout état s  U(π,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) IFT 615Froduald Kabanza 32

33 Équations de Bellman pour la valeur optimale ● Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état) U(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’)  s  S ● Si nous pouvons calculer U, 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 IFT 615Froduald Kabanza 33

34 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). I. pour chaque état s calculer: U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) II. si Σ s  S |U(s) - U’(s)| ≤ tolérance, quitter III. U  U’ 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) U(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]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 ))[Littman, Dean, Kaelbling, UAI-95] IFT 615Froduald Kabanza a 34 a

35 ● MDP à 3 états: S = {s 0, s 1, s 2 } ● But: s 2 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 Exemple de MDP s2s2 s1s1 s0s0 IFT 615Froduald Kabanza35

36 ● MDP à 3 états: S = {s 0, s 1, s 2 } ● Le but (atteindre s 2 ) est exprimé par une fonction de récompense:  R(s 0 ) = 0, R(s 1 )= 0, R(s 2 ) = 1 ● Le facteur d’escompte est γ=0.5 Exemple de MDP IFT 615Froduald Kabanza36 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0

37 Exemple de MDP ● Us): utilité actuelle de l’état s ● U’(s): nouvelle utilité de l’état s  U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) ● Notons r i =R(s i ) et u i = U(s i )  u’ i = r i + γ Σ j P(s j |s i, π(s i )) u j IFT 615Froduald Kabanza37 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0

38 ● Valeurs initiales fixées à 0: u 0 = 0 u 1 = 0 v 2 = 0 Value iteration: initialisation IFT 615Froduald Kabanza a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 38 1

39 Value iteration: itération #1 ● Mise à jour droite-gauche des valeurs u’ 0  0 + 0.5 max{ 0.2 u 0 + 0.8 u 1, v 0 } = 0 + 0.5 max{ 0, 0 } = 0 u’ 1  0 + 0.5 max{ u 0, u 2 } = 0 + 0.5 max{ 0, 0 } = 0 u’ 2  1 + 0.5 max{ u 1, v 2 } = 1 + 0.5 max{ 0, 0 } = 1 ● Les nouvelles valeurs sont u 0 = 0, u 1 = 0, u 2 = 1 IFT 615Froduald Kabanza39 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 1 0 0 0

40 Value iteration: itération #2 ● Mise à jour droite-gauche des valeurs u’ 0  0 + 0.5 max{ 0.2 u 0 + 0.8 u 1, u 0 } = 0 + 0.5 max{ 0, 0 } = 0 u’ 1  0 + 0.5 max{ u 0, u 2 } = 0 + 0.5 max{ 0, 1 } = 0.5 u’ 2  1 + 0.5 max{ u 1, u 2 } = 1 + 0.5 max{ 0, 1 } = 1.5 ● Les nouvelles valeurs sont u 0 = 0, u 1 = 0.5, u 2 = 1.5 IFT 615Froduald Kabanza40 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 1 0 0 1

41 Value iteration: itération #3 ● Mise à jour droite-gauche des valeurs u’ 0  0 + 0.5 max{ 0.2 u 0 + 0.8 u 1, u 0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2 u’ 1  0 + 0.5 max{ u 0, u 2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75 u’ 2  1 + 0.5 max{ u 1, u 2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75 ● Les nouvelles valeurs sont u 0 = 0.2, u 1 = 0.75, u 2 = 1.75 IFT 615Froduald Kabanza41 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 1 0 0.5 1.5

42 Value iteration: itération #3 ● Si on arrêtait à la 3 e itération, le plan retourné serait π(s 0 ) = argmax{ 0.2 u 0 + 0.8 u 1, u 0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a 1 π(s 1 ) = argmax{ u 0, u 2 } = argmax{ 0.2, 1.75 } = a 3 π(s 2 ) = argmax{ u 1, u 2 } = argmax{ 0.75, 1.75 } = a 5 ● 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 IFT 615Froduald Kabanza42 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 1 0.2 0.75 1.75

43 IFT 615© Froduald Kabanza43 Démonstration de Value iteration Démo de l’algorithme value iteration: http://planiart.usherbrooke.ca/kabanza/cours/demos/vi/vi.htm

44 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 U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π,s’) III.pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’  S P(s’|s,a) U(π,s’) ] > U(π,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]:[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 ) IFT 615Froduald Kabanza44

45 Algorithme de planification Markovienne ● Étendre l’automate stochastique en un graphe (de manière incrémentale):  Les actions peuvent être exprimées en un langage comme PPDDL.  Étant donné un état initial: »On détermine les actions permises (dont les préconditions sont vraies). »Pour chaque action on génère les successeurs non déterministes ainsi que les récompenses et les probabilités correspondantes  On répète pour chacun des successeurs et ainsi des suite … ● A différents étapes, applique l’algorithme policy iteration ou value iteration  Par exemple, chaque fois qu’on a généré m états de plus, où m est un paramètre empirique ● Des heuristiques sont utilisées lorsque on génère le graphe pour favoriser les états les plus prometteurs. ● Des techniques de représentation compacte et/ou hiérarchique du graphe sont utilisées. Par exemple des Ordered Binary Decision Diagrams (OBDD). IFT 615Froduald Kabanza45

46 Policy iteration: initialisation ● Plan initial choisi arbitrairement: π’ = { s 0 → a 2, s 1 → a 2, s 2 → a 4 } IFT 615Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 46

47 Policy iteration: itération #1 I.π = π’ II.Équations: u 0 =0+0.5*(1*u 0 ); u 1 =0+0.5*(1*u 0 ); u 2 =1+0.5*(1*u 1 ) Solution: u 0 =0, u 1 =0, u 2 =1 III. s 0 → a 1 : 0+0.5*(0.2*0+0.8*0)=0; ne change pas s 1 → a 3 : 0+0.5*(1*1)=0.5 > 0; change s 2 → a 5 : 1+0.5*(1*1)=1.5 > 1; change π’ = { s 0 → a 2, s 1 → a 3, s 2 → a 5 } IFT 615Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 47

48 Policy iteration: itération #2 I.π = π’ II.Équations: v 0 =0+0.5*(1*v 0 ); v 1 =0+0.5*(1*v 2 ); v 2 =1+0.5*(1*v 2 ) Solution: v 0 =0, v 1 =1, v 2 =2 III. s 0 → a 1 : 0+0.5(0.2*0+0.8*1)=0.4 > 0;change s 1 → a 2 : 0+0.5(1*0)=0 < 1; ne change pas s 2 → a 4 : 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s 0 → a 1, s 1 → a 3, s 2 → a 5 } IFT 615Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 a2a2 1 48

49 I.π = π’ II.Équations: u 0 =0+0.5*(0.2*v 0 +0.8*u 1 ); u 1 =0+0.5*(1*u 2 ); u 2 =1+0.5*(1*u 2 ) Solution: u 0 =4/9, u 1 =1, u 2 =2 III. s 0 → a 2: 0+0.5(1*0.4)=0.2 < 4/9; ne change pas s 1 → a 2: 0+0.5(1*0.4)=0.2 < 1; ne change pas s 2 → a 4: 1+0.5(1*1)=1.5 < 2; ne change pas π’ = { s 0 → a 1, s 1 → a 3, s 2 → a 5 }, c-à-d. π Solution finale: π 1 a2a2 Policy iteration: itération #3 IFT 615Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a4 1 0.8 a1a1 a2a2 1 s2s2 s1s1 s0s0 49

50 Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = 0 + 0.5 * (0.2*u 0 +0.8*u 1 ); u 1 = 0 + 0.5 * (1*u 2 ); u 2 = 1 + 0.5 * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u 0 + 0.4 u 1 (1) 0 = -u 1 + 0.5 u 2 (2) -1 = -0.5 u 2 (3) ● De l’équation (3), on conclut que u 2 = -1 / -0.5 = 2 ● De l’équation (2), on conclut que u 1 = 0.5 u 2 = 1 ● De l’équation (1), on conclut que u 0 = 0.4 u 1 / 0.9 = 4/9 IFT 615Froduald Kabanza50

51 Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = 0 + 0.5 * (0.2*u 0 +0.8*u 1 ); u 1 = 0 + 0.5 * (1*u 2 ); u 2 = 1 + 0.5 * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u 0 + 0.4 u 1 (1) 0 = -u 1 + 0.5 u 2 (2) -1 = -0.5 u 2 (3) ● Approche alternative: on écrit sous forme matricielle b = A u, où A = b = u = IFT 615Froduald Kabanza51 -0.90.40 00.5 00-0.5 0 0 u0u0 u1u1 u2u2

52 Rappel: systèmes d’équations linéaires ● Soit le système d’équations: u 0 = 0 + 0.5 * (0.2*u 0 +0.8*u 1 ); u 1 = 0 + 0.5 * (1*u 2 ); u 2 = 1 + 0.5 * (1*u 2 ) ● En mettant toutes les variables à droite, on peut l’écrire sous la forme: 0 = -0.9 u 0 + 0.4 u 1 (1) 0 = -u 1 + 0.5 u 2 (2) -1 = -0.5 u 2 (3) ● Suffit alors d’inverser A pour obtenir v = A -1 b  on peut utiliser une librairie d’algèbre linéaire (ex.: Numpy en Python): >>> A = numpy.array([[-0.9,0.4,0],[0,-1,0.5],[0,0,-0.5]]) >>> b = numpy.array([0,0,-1]) >>> Ainv = numpy.linalg.inv(A) >>> u = numpy.dot(Ainv,b) >>> print u [ 0.44444444 1. 2. ] IFT 615Froduald Kabanza52

53 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=1 G={2} R=3 G={1,2} R=2 G={1} goto(1) goto(3) goto(2) 3 1 2 4 5 IFT 615Froduald Kabanza53

54 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 IFT702Froduald Kabanza54

55 POMDP IFT702Froduald Kabanza55

56 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© Froduald Kabanza56

57 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 IFT615Froduald Kabanza57

58 Rappel - Espace d’états avec capteurs IFT615Froduald Kabanza58

59 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 IFT615Froduald Kabanza59

60 Rappel - Espace des croyances IFT615Froduald Kabanza60

61 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 s 0 )  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). IFT702Froduald Kabanza 61

62 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  {s 1, s 2, s 3, s 4 } :  P(d| s 1 ) = P(c| s 1 ) = P(d| s 2 ) = P(c| s 2 ) = 0.5  P(d| s 4 ) = P(c| s 3 ) = 1  P(d| s 3 ) = P(c| s 4 ) = 0 ● Remarquez que les états s 1 et s 2 sont non distinguables. IFT615Froduald Kabanza62 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) s2s2 s1s1 s4s4 s3s3 R L R L

63 É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 (ensemble de de distributions de probabilité sur les états)  b  B est un état de croyance (une distribution de probabilité sur les états)  b(s) est la probabilité que l’état réel soit s, selon l’état de croyance b. IFT702Froduald Kabanza 63

64 Exemple IFT615Froduald Kabanza64 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0

65 Mise à jour des états de croyance IFT702Froduald Kabanza 65

66 Exemple IFT615Froduald Kabanza66 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

67 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:  b a (o) = Σ s  S P(o|s,a) b(s) IFT702Froduald Kabanza 67

68 Exemple IFT615Froduald Kabanza68 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

69 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 :  b a,o (s) = P(o|s,a) b a (s)/b a (o) IFT702Froduald Kabanza 69

70 Exemple IFT615Froduald Kabanza70 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0.5 R L R L belief state b b(s 1 )=0.5 b(s 3 )=0 b(s 4 )=0 A B A B AB A B at(R,A) at(R,B) at(R,A), dirty(B) at(R,B), dirty(B) b(s 2 )=0 R L R L belief state b’ b(s 1 )=0 b(s 3 )=0.5 b(s 4 )=0.5 R

71 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). IFT702Froduald Kabanza71


Télécharger ppt "IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique."

Présentations similaires


Annonces Google