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 dinformatique.

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 dinformatique."— Transcription de la présentation:

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

2 Sujets couverts Processus de décision de Markov (MDP) Algorithme ditération de la valeur (value iteration) Algorithme dité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 Grille (occupancy grid) Actions: E: Go east W: Go west S: Go south N: Go north 0 Degré de désirabilité -0.4 : +1 But Room 1Room 5 Room 2 Room 4 Room 3 But …. IFT702Froduald Kabanza 10

11 Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT702Froduald Kabanza 11

12 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 dactions possibles Actions(s) lorsque je me trouve à létat s un modèle de transition P(s|s, a), où a Action(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 quon décrive un objectif à atteindre à partir dune fonction de récompense basée seulement sur létat courant IFT702Froduald Kabanza 12

13 Grille (occupancy grid) Actions: E: Go east W: Go west S: Go south N: Go north 0 Degré de désirabilité -0.4 : +1 But Room 1Room 5 Room 2 Room 4 Room 3 But …. IFT702Froduald Kabanza S = { positions sur la grille } R(s) (fonction de récompense) Actions(s) 13

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

15 N Décision Une décision est un choix dune action dans un état cest une règle « if state then action » (21,12) W ou (21,12) E Exemples: IFT702Froduald Kabanza (21,12) (20,11) (20,12) (20,13) W W S 0.1 (21,13) 0.3 (20,10) (1,1) W S S S

16 N Plan (politique) Un plan est une stratégie: choix dune action (décision) pour chaque état un plan est également appelé une politique (policy) cest 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, … } IFT702Froduald Kabanza (20,10) W 0.2 W 0.9 Exemples: S S

17 N Plan (politique) Un plan est une stratégie: choix dune action (décision) pour chaque état un plan est également appelé une politique (policy) cest un ensemble de règles if state then action (21,12) (20,11) (20,12) (20,13) W S 0.1 (21,13) (1,1) Plan π2 { (21,12) S, (20,11) S, (21,10) E, ….} IFT702Froduald 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

18 Exécution dun plan (politique) Un plan est un ensemble de règles if state then action Notons π(s) laction désignée par le plan π dans létat s Voici un algorithme dexécution ou dapplication dun plan Létape 1 peut impliquer de la détection (sensing) et de la localisation Létat résultant de lexécution de laction à létape 3 est imprévisible While (1) { 1. s = état courant du système; 2. a = π(s); 3.execute a; } IFT702Froduald Kabanza 18

19 Interprétation/application dun plan Lapplication dun 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 IFT702Froduald Kabanza N (21,12) (20,11) (20,12) (20,13) W 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

20 Interprétation/application dun plan La qualité dun plan est déterminée par lensemble 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 dutilité 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 lapproche logique classique Programmation dynamique pour lapproche de théorie de la décision. Des prototypes existent pour les différentes approches IFT702Froduald Kabanza 20

21 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é dun plan est déterminée par lespérance des récompenses quon 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 loptimal optimal, plus il est de qualité. Ainsi un plan fait un compromis entre: La maximisation de la probabilité datteindre le but (réduction de la probabilité déchec). La maximisation des récompenses (optimisation du coût des actions). IFT702Froduald Kabanza 21

22 Valeur dun plan R(s): récompense pour létat s, c-à-d. lutilité de létat s V(π,s): valeur du plan π à létat s V(π,s) = R(s) + γ Σ s S P(s|s, π(s)) V(π, s) γ: facteur descompte (0 < γ <= 1), indique limportance 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 IFT702Froduald Kabanza 22 récompense actuelle somme des récompenses futures espérée

23 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 sil nest 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 lautre) »la dominance induit une fonction dordre 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) IFT702Froduald Kabanza 23

24 Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent une condition qui est garantie par la valeur V* des plans optimaux V*(s) = R(s) + max γ Σ s S P(s|s,a) V*(s) s S Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s laction qui maximise V*(s) (c.-à-d. le argmax) a IFT702Froduald Kabanza 24

25 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). I. pour chaque état s calculer: V(s) = R(s) + max γ Σ s S P(s|s,a) V(s) II. si Σ s S |V(s) - V(s)| tolérance, quitter III. V V 3.Dériver le plan optimal en choisissant laction a ayant la meilleure récompense future espérée, pour chaque état s I.π(s) = argmax Σ s S P(s|s,a) V(s) En mots, on choisit laction qui maximise lespérance des sommes de récompenses futures Complexité: (O(|S| 4 |A| 2 ) [Kaelbling, 1996]Kaelbling, 1996 Polynomial pourvu que le nombre dité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] IFT702Froduald Kabanza a 25 a

26 MDP à 3 états: S = {s 0, s 1, s 2 } But: s 2 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 Exemple de MDP s2s2 s1s1 s0s0 IFT702Froduald Kabanza26

27 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 descompte est γ=0.5 Exemple de MDP IFT702Froduald Kabanza27 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

28 Exemple de MDP V(s): valeur actuelle létat s V(s): nouvelle valeur de létat s V(s) = R(s) + max γ Σ s S P(s|s,a) V(s) Notons r i =R(s i ) et v i = V(s i ) V i = r i + γ Σ j P(s j |s i, π(s i )) v j IFT702Froduald Kabanza28 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

29 Valeurs initiales fixées à 0: v 0 = 0 v 1 = 0 v 2 = 0 Value iteration: initialisation IFT702Froduald Kabanza a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 29 1

30 Value iteration: itération #1 Mise à jour droite-gauche des valeurs v max{ 0.2 v v 1, v 0 } = max{ 0, 0 } = 0 v max{ v 0, v 2 } = max{ 0, 0 } = 0 v max{ v 1, v 2 } = max{ 0, 0 } = 1 Les nouvelles valeurs sont v 0 = 0, v 1 = 0, v 2 = 1 IFT702Froduald Kabanza30 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 1

31 Value iteration: itération #2 Mise à jour droite-gauche des valeurs v max{ 0.2 v v 1, v 0 } = max{ 0, 0 } = 0 v max{ v 0, v 2 } = max{ 0, 1 } = 0.5 v max{ v 1, v 2 } = max{ 0, 1 } = 1.5 Les nouvelles valeurs sont v 0 = 0, v 1 = 0.5, v 2 = 1.5 IFT702Froduald Kabanza31 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 1

32 Value iteration: itération #3 Mise à jour droite-gauche des valeurs v max{ 0.2 v v 1, v 0 } = max{ 0.8 * 0.5, 0 } = 0.2 v max{ v 0, v 2 } = max{ 0, 1.5 } = 0.75 v max{ v 1, v 2 } = max{ 0.5, 1.5 } = 1.75 Les nouvelles valeurs sont v 0 = 0.2, v 1 = 0.75, v 2 = 1.75 IFT702Froduald Kabanza32 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 1

33 Value iteration: itération #3 Si on arrêtait à la 3 e itération, le plan retourné serait π(s 0 ) = argmax{ 0.2 v v 1, v 0 } = argmax{ 0.2* *0.75, 0.2} = a 1 π(s 1 ) = argmax{ v 0, v 2 } = argmax{ 0.2, 1.75 } = a 3 π(s 2 ) = argmax{ v 1, v 2 } = argmax{ 0.75, 1.75 } = a 5 Même si les valeurs nont 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 IFT702Froduald Kabanza33 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 1

34 IFT702© Froduald Kabanza34 Démonstration de Value iteration Démo de lalgorithme value iteration:

35 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 V(π,s) = R(s) + γ Σ s S P(s|s, π(s)) V(π,s) III.pour tout s dans S, sil existe une action a telle que [ R(s) + γ Σ s S P(s|s,a) V(π,s) ] > V(π,s) alors π(s):= a sinon π(s):= π(s) 3.Retourne π Converge en temps polynomial pourvu que le nombre ditérations pour une politique ε-optimale est polynomial [Littman, Dean, Kaelbling, UAI-95]:[Littman, Dean, Kaelbling, UAI-95] Chaque itération (calcul de la valeur dun plan) est O(|S| 3 ) Le nombre ditérations est O(|S| |A| 2 ) IFT702Froduald Kabanza35

36 Algorithme de planification Markovienne Étendre lautomate 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 lalgorithme policy iteration ou value iteration Par exemple, chaque fois quon 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). IFT702Froduald Kabanza36

37 Policy iteration: initialisation Plan initial choisi arbitrairement: π = { s 0 a 2, s 1 a 2, s 2 a 4 } IFT702Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 37

38 Policy iteration: itération #1 I.π = π II.Équations: v 0 =0+0.5*(1*v 0 ); v 1 =0+0.5*(1*v 0 ); v 2 =1+0.5*(1*v 1 ) Solution: v 0 =0, v 1 =0, v 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 } IFT702Froduald Kabanza a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 38

39 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 } IFT702Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 a2a2 1 39

40 I.π = π II.Équations: v 0 =0+0.5*(0.2*v *v 1 ); v 1 =0+0.5*(1*v 2 ); v 2 =1+0.5*(1*v 2 ) Solution: v 0 =4/9, v 1 =1, v 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 IFT702Froduald Kabanza a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 40

41 Rappel: systèmes déquations linéaires Soit le système déquations: v 0 = * (0.2*v *v 1 ); v 1 = * (1*v 2 ); v 2 = * (1*v 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 v v 1 (1) 0 = -v v 2 (2) -1 = -0.5 v 2 (3) De léquation (3), on conclut que v 2 = -1 / -0.5 = 2 De léquation (2), on conclut que v 1 = 0.5 v 2 = 1 De léquation (1), on conclut que v 0 = 0.4 v 1 / 0.9 = 4/9 IFT702Froduald Kabanza41

42 Rappel: systèmes déquations linéaires Soit le système déquations: v 0 = * (0.2*v *v 1 ); v 1 = * (1*v 2 ); v 2 = * (1*v 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 v v 1 (1) 0 = -v v 2 (2) -1 = -0.5 v 2 (3) Approche alternative: on écrit sous forme matricielle b = A v, où A = b = v = IFT702Froduald Kabanza v0v0 v1v1 v2v2

43 Rappel: systèmes déquations linéaires Soit le système déquations: v 0 = * (0.2*v *v 1 ); v 1 = * (1*v 2 ); v 2 = * (1*v 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 v v 1 (1) 0 = -v v 2 (2) -1 = -0.5 v 2 (3) Suffit alors dinverser A pour obtenir v = A -1 b on peut utiliser une librairie dalgè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) >>> v = numpy.dot(Ainv,b) >>> print v [ ] IFT702Froduald Kabanza43

44 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 lespace détats de manière à attribuer des récompenses à des comportements (pas seulement à un état) Une façon élégante de le faire est dattribuer 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) IFT702Froduald Kabanza44

45 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 lespace détats IFT702Froduald Kabanza45

46 POMDP IFT702Froduald Kabanza46

47 Rappel- Planification conformant Lagent na 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 lespace des croyances. IFT702© Froduald Kabanza47

48 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 Kabanza48

49 Rappel - Espace détats avec capteurs IFT615Froduald Kabanza49

50 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 quil fasse quand même le travail? Réponse: explorer lespace des croyances IFT615Froduald Kabanza50

51 Rappel - Espace des croyances IFT615Froduald Kabanza51

52 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 dactions 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 dobservation P(o|s, a) s S et a Action(s), c-à-d., la probabilité dobserver o dans létat s, après avoir exécuté laction a. »Lorsque le modèle dobservation dépend seulement de létat (mais pas de comment on y est arrivé), il est réduit à P(o|s). IFT702Froduald Kabanza 52

53 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 dobservation 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 1 sont non distinguables. IFT615Froduald Kabanza53 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

54 États de croyance dans un POMDP La différence fondamentale entre un POMDP et un MDP est que la politique est définie sur lespace détats de croyance (belief states) plutôt que lespace détats. Contrairement à la planification conformant, létat de croyance est une distribution de probabilité sur lensemble des états, plutôt que simplement un sous ensemble des états. B est lensemble détats de croyance (de distributions de probabilité sur les états) b B est un état de croyance (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 54

55 Exemple IFT615Froduald Kabanza55 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

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

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

58 Calcul de la probabilité dune observation Après la mise à jour de létat de croyance, on calcule ensuite la probabilité dune observation o O après lexécution dune action a comme suit: b a (o) = Σ s S P(o|s,a) b(s) IFT702Froduald Kabanza 58

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

60 Calcul de la probabilité dun état On peut finalement calculer la probabilité dun état après avoir executé laction 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 60

61 Exemple IFT615Froduald Kabanza61 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

62 Résumé Lapproche MDP est très attrayante parce quelle combine raisonnement probabiliste et optimisation avec élégance Cest une des approches les plus étudiées actuellement pour: la planification lapprentissage par renforcement (quon 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 Kabanza62


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

Présentations similaires


Annonces Google