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 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615."— Transcription de la présentation:

1 IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

2 Sujets couverts Processus de décision de Markov (MDP) Algorithme ditération par valeurs (value-iteration) Algorithme ditération par politiques (policy-iteration) IFT 615Froduald Kabanza2

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

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

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

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

7 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 …. IFT 615Froduald Kabanza 7 Prochaine action? Escalier Glissant

8 Type denvironnement 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 Kabanza8 Actions

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

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

11 Actions aux effets incertains État courantAction Go South (S) 50 % 25 % États successeurs possibles IFT 615Froduald 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 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 quon décrive un objectif à atteindre à partir dune fonction de récompense basée seulement sur létat courant IFT 615Froduald Kabanza 12

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

14 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) 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: IFT 615Froduald 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, … } IFT 615Froduald 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, ….} 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

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; } IFT 615Froduald 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 IFT 615Froduald 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 IFT 615Froduald 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). IFT 615Froduald Kabanza 21

22 Utilité dun plan R(s): récompense pour létat s U(π,s): valeur du plan π à létat s U(π,s) = R(s) + γ Σ s S P(s|s, π(s)) U(π, 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 IFT 615Froduald 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: U(π,s) U(π,s) pour tout état s U(π,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) IFT 615Froduald Kabanza 23

24 Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent lutilité dun état (c.à-d., lutilité 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 laction qui maximise U(s) (c.-à-d. le argmax) a IFT 615Froduald Kabanza 24

25 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 laction 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 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] IFT 615Froduald 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 IFT 615Froduald 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 IFT 615Froduald Kabanza27 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

28 Exemple de MDP Us): utilité actuelle 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 Kabanza28 a2a2 1 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0

29 Valeurs initiales fixées à 0: u 0 = 0 u 1 = 0 u 2 = 0 Value iteration: initialisation IFT 615Froduald 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 u max{ 0.2 u u 1, u 0 } = max{ 0, 0 } = 0 u max{ u 0, u 2 } = max{ 0, 0 } = 0 u max{ u 1, u 2 } = max{ 0, 0 } = 1 Les nouvelles valeurs sont u 0 = 0, u 1 = 0, u 2 = 1 IFT 615Froduald Kabanza30 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

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

32 Value iteration: itération #3 Mise à jour droite-gauche des valeurs u max{ 0.2 u u 1, u 0 } = max{ 0.8 * 0.5, 0 } = 0.2 u max{ u 0, u 2 } = max{ 0, 1.5 } = 0.75 u max{ u 1, u 2 } = 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 Kabanza32 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

33 Value iteration: itération #3 Si on arrêtait à la 3 e itération, le plan retourné serait π(s 0 ) = argmax{ 0.2 u u 1, u 0 } = argmax{ 0.2* *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 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 IFT 615Froduald Kabanza33 a2a2 a1a1 0.2 a5a5 1 a3a3 1 a4a a1a1 a2a2 1 s2s2 s1s1 s0s

34 IFT 615© 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 U(π,s) = R(s) + γ Σ s S P(s|s, π(s)) U(π,s) III.pour tout s dans S, sil 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 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 ) IFT 615Froduald 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). IFT 615Froduald Kabanza36

37 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 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 37

38 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 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 38

39 Policy iteration: itération #2 I.π = π II.Équations: u 0 =0+0.5*(1*u 0 ); u 1 =0+0.5*(1*u 2 ); u 2 =1+0.5*(1*u 2 ) Solution: u 0 =0, u 1 =1, u 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 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 a2a2 1 39

40 I.π = π II.Équations: u 0 =0+0.5*(0.2*v *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 a4a a1a1 a2a2 1 s2s2 s1s1 s0s0 40

41 Rappel: systèmes déquations linéaires Soit le système déquations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u 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 Kabanza41

42 Rappel: systèmes déquations linéaires Soit le système déquations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u 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 Kabanza u0u0 u1u1 u2u2

43 Rappel: systèmes déquations linéaires Soit le système déquations: u 0 = * (0.2*u *u 1 ); u 1 = * (1*u 2 ); u 2 = * (1*u 2 ) En mettant toutes les variables à droite, on peut lécrire sous la forme: 0 = -0.9 u u 1 (1) 0 = -u u 2 (2) -1 = -0.5 u 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) >>> u = numpy.dot(Ainv,b) >>> print u [ ] IFT 615Froduald 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) IFT 615Froduald Kabanza44

45 Au de là de 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 Les MDP supposent une observation complète Partially Observable MDP (PoMDP) tient compte dune observation partielle Les MDP sont limités à des décisions séquentielles pour des actions simultanées: »Concurrent MDP (CoMPD) »Concurrent Probabilistic Temporal Planning (CPTP) IFT 615Froduald Kabanza45

46 Résumé Lapproche Markovienne 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 (cours IFT 702) lapprentissage par renforcement (quon verra bientôt) Elle est notamment populaire dans les applications de robots mobiles IFT 615Froduald Kabanza46

47 Objectifs du cours IFT615Froduald Kabanza47 agents intelligents agents intelligents recherche heuristique recherche heuristique recherche locale recherche à deux adversaires recherche à deux adversaires satisfaction de contraintes satisfaction de contraintes Algorithmes et concepts logique raisonnement probabiliste raisonnement probabiliste processus de décision markovien processus de décision markovien

48 Objectifs du cours IFT615Froduald Kabanza48 agents intelligents agents intelligents recherche heuristique recherche heuristique recherche locale recherche à deux adversaires recherche à deux adversaires satisfaction de contraintes satisfaction de contraintes Algorithmes et concepts raisonnement probabiliste raisonnement probabiliste processus de décision markovien processus de décision markovien

49 Processus de décision markovien : pour quel type dagent? IFT615Froduald Kabanza49 Simple reflex Model-based reflex Goal-based Utiliy-based

50 Vous devriez être capable de... Donner la définition dun processus de décision markovien espace détat action modèle de transition fonction de récompense décision plan/politique Simuler value iteration Simuler policy iteration IFT615Froduald Kabanza50


Télécharger ppt "IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615."

Présentations similaires


Annonces Google