Jean-François Landry Département d’informatique

Slides:



Advertisements
Présentations similaires
La Méthode de Simplexe Standardisation
Advertisements

Explorer un espace d’états
Fabrice Lauri, François Charpillet, Daniel Szer
« Systèmes électroniques »
2. Méthodes du simplexe et son analyse.
Algorithmes et structures de données avancés
RECONNAISSANCE DE FORMES
Métaheuristiques pour l’optimisation combinatoire
Analyse de la tâche et méthode des scénarios
Plus rapide chemin bicritère : un problème d’aménagement du territoire
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique.
Recherche heuristique de similitudes dans les séquences dADN École Jeunes Chercheurs en Algorithmique et Calcul Formel Laurent Noé
Sélection automatique d’index et de vues matérialisées
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Récursivité.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Quest-ce que la planification ? Planifier = Décider dun plan À partir dune base de connaissances sur les opérateurs possibles, on simule un grand nombre.
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Application des algorithmes génétiques
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Froduald Kabanza Département d’informatique Université de Sherbrooke
Algorithmes Branch & Bound
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Programmation logique Démonstrateur automatique
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
Algorithmique et Programmation
Froduald Kabanza Département d’informatique Université de Sherbrooke
Algorithme de Bellman-Ford
IFT 702 Planification en intelligence artificielle Contrôle de la recherche avec des réseaux de tâches hiérarchiques Froduald Kabanza Département dinformatique.
IFT 702 – Planification en intelligence artificielle Transformations Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.
IFT 615 – Intelligence artificielle Apprentissage par renforcement
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
IFT 615 – Intelligence artificielle Recherche locale
IFT Complexité et NP-complétude
Courbes de Bézier.
CSI3525: Concepts des Languages de Programmation
CSI 4506: Introduction à l'intelligence artificielle La recherche aveugle.
Vincent Thomas Christine Bourjot Vincent Chevrier
Algorithmes probabilistes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Partie II Sémantique.
Programmation dynamique
Programmation non procédurale Le projet ECOLE 2000
Technique de points de contrôle: Formes de Bézier
Atelier de formation : MAT optimisation II (les graphes).
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Introduction Objet de la programmation mathématique, construction d'un modèle mathématique, problème général de programmation mathématique et classification,
Présentation de la méthode des Eléments Finis
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Programmation dynamique
Amélioration de la simulation stochastique
Programmation linéaire en nombres entiers
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Racket (Lisp)
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
Qu’est-ce que la planification ? Planifier = Décider d’un plan À partir d’une base de connaissances sur les opérateurs possibles, on simule un grand nombre.
IFT 615 – Intelligence artificielle Consignes pour l’examen final
Programmation dynamique
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
2. Méthode du simplexe et son analyse.
Le Jeu et l’intelligence artificielle
Résolution des équations différentielles
Labeled Real-Time Dynamic Programming (LRTDP) Pierrick Plamondon.
Froduald Kabanza et Hugo Larochelle
Transcription de la présentation:

IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département d’informatique Université de Sherbrooke http://planiart.usherbrooke.ca/~eric/ift615/

Processus de décision de Markov 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 615 Processus de décision de Markov

Rappel: Utility-based agents Les capteurs peuvent être bruités… Rappel: Utility-based agents État incertain. Les actions peuvent avoir des effets incertains! Rappel du model d’agent. Ici, le modèle avec utilité est repris. Il peut y avoir de l’incertitude à plusieurs endroits… ici, trois exemples sont donnés. IFT615 Processus de décision de Markov

Incertitude Soit At l’action d’aller à l’aéroport t minutes avant le départ de l’avion. At me permettra-t-il d’arriver à temps? Problèmes: Observabilité partielle (conditions routières, etc.) Senseurs bruités (annonces du trafic, etc.) Incertitude dans l’effet des actions (crevaisons, pannes, etc.) Immense complexité pour modéliser les actions et le trafic. Un raisonnement purement logique Risque de tirer des conclusions erronées: « A25 me permettra d’arriver à temps », ou Risque de tirer des conclusions peu exploitable du point de vue « prise de décision »: « A25 me permettra d’arriver à temps, s’il ne pleut pas, s’il n’y a pas d’accident, si mes pneus ne crèvent pas, etc. » « A1440 me permettra raisonnable d’arriver à temps, mais je devrai passer une nuit à l’aéroport. » Page 463- Exemple de carie dentaire Décision rationnelle Page 464 Degrée de croyance (de certitude) vs degrée de vérité (logique floue): En probabilité tout comme en logique propositionnelle, les propositions sont soient vraies ou fausses. Par contre, nous avons en probabilité un degré de croyance: en logique c’est binaire. Donner exemple sur cavité, et contraster avec les propositions flues comme grand, petit, ...et leur pendant probabiliste et propositionnelles. Page 465 probabilité à priori (inconditionnelle) vs probabilité à postériori (conditionnelle), évidence (c-à-d., expérience). incertitude et décisions rationnelles: préférences, théorie de l’utilité (utility theory); théorie de la décision = théorie des probabilités + théorie de l’utilité. Page 466 Structure simple d’un agent fonctionnant avec la théorie de la décision: intéressant: on peut lui donner un plan, un MDP, etc. L’utiliser le long du cours et l’introduire avec le wumpus world. Maximum expected utility et le principe correspondant. Page 467: Le langage des probabilités: il nous faut un langage pour représenter les connaissances de l’agent et faire un raisonnement avec ces représentations. Forcémement, nous voulons un langage capable d’exprimer des degrés de certitudes/croyances. Chaque variable aléatoire a un domaine (de valeurs que la variable peut prendre). Variables aléatoires booléennes, discretes, continues (e.g., vitesse du robot). On focalise ici sur les cas discrets. L’élément de base du langage est la variable aléatoire. Une variable aléatoire est une variable décrivant une partie des connaissances incertaince. Une proposition est une assertion de ce qui est vraie, c’est à dire, une assertion sur la valeur d’une variable. Ce peut être une propriété ou un fait. Donner des exemples dans les domaines médical (cavité), wumpus, etc.). Exemple: Carie=true est une proposition. Quand c’est binaire nous allons la noter Carie. Et carie=false`: not(carie). On peut combiner des propisitions élementaires pour en faire d’autres par les connecteurs logiques standard: exemple page 468. Note: dans ula logique du 1er ordre, une telle combinaison n’est plus une proposition: c’est une formule! Mais les formules sont plus générales que ce qui est permis ici: quantification, etc. Page 468: Un événement atomique est une spécification complète d’un ’état possible. En d’autres mots, un événnement est une assignation de valeur pour chaque variable aléatoire décrivant un aspect de l’environnement. Voir les propriétés. Page 468 Probabilité à priori Page 469 Distribution de probabilité à priori= spécification des probabilités pour toutes les valeurs possibles d’une variable : c’est un vecteur. Distribution de probabailités jointes: spécification des probabilités pour toutes les valeurs possibles d’un ensemble de variables: c,est une matrice (note si l’ensemble n’invclut pas toutes les variables, c’est un état partiellement décrit). Distribution conplète de probabailités jointes: inclut toutes les variables, c-à-d., tous les états complets du système (c-à-d., tous les événements). Page 470 Probabilité conditionnelle Equation des probabilités conditionelle + règle du produit. Page 471: - Axiomes de la probabilité : dans les acétates de AMAI, ça vient avant. Le maintenir cohéremment avec le livre (ici), c’est mieux. - ! Probabilité condition n’est pas conséquence logique + probabilité! IFT615 Processus de décision de Markov

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 Example Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. IFT 615 Processus de décision de Markov

Actions aux effets incertains Go South (S) État courant Action États successeurs possibles 25 % 50 % 25 %

Une décision est un choix d’action pour un état Une décision est un choix d’une action dans un état. C’est une règle if state then action Exemples: (21,12) → W ou (21,12) → E (21,13) (20,13) (20,12) W 0.3 0.2 W W 0.5 S (20,11) (21,12) 0.9 S 0.1 (20,10) (1,1) IFT 615 Processus de décision de Markov

Un plan est un ensemble de décisions (politique) Un plan est une stratégie : choix d’une action pour chaque état. Un plan est également appelé une politique (policy) 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 (20,10) (1,1) IFT 615 Processus de décision de Markov

Un plan est un ensemble de décisions (policy) Un plan est une stratégie : choix d’une action pour chaque état. Un plan est également appelé une politique (policy) 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 615 Processus de décision de Markov

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, interprétation ou application d’un plan While (1) { 1. s = état courant du système s; a = π(s); execute a; } L’étape 1 peut impliquer de la détection (sensing) et la localisation. 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 infini (une parmi celles de l’arbre). IFT 615 Processus de décision de Markov

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 615 Processus de décision de Markov

Processus de décision de Markov 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 615 Processus de décision de Markov

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 615 Processus de décision de Markov

Processus de décision de Markov Valeur d’un plan R(s) : récompense pour l’état s; c-à-d., utilité de l’état s. V(π,s) : valeur du plan π dans l’état s V(π,s) = R(s) + df × P(s, π(s),s’) × V(π, s’) df : facteur de pondération (0 < df <= 1) S : espace d’états π(s) : action dans s P(s, π(s),s’) : probabilité de la transition s’ in S IFT 615 Processus de décision de Markov

Processus de décision de Markov 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 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 : Itération par valeurs (value iteration) Itération par politique (policy iteration) IFT 615 Processus de décision de Markov

Équations de Bellman pour la valeur optimale Les équations de Bellman nous donnent la valeur V* des plans optimaux V*(s)= R(s) + max df × P(s,a,s’) × V*(s’) Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: Il suffit de choisir dans chaque état s une action qui maximise V*(s). s’ in S a IFT 615 Processus de décision de Markov

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). a. Pour chaque état s V’(s) = R(s) + max df × P(s,a,s’) × V(s’) b. V=V’ (ou |V - V’| ≤ tolérance) 3. Le plan optimal est obtenu en choisissant pour chaque s état l’action a telle que la valeur df × P(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). Converge au plan optimal en O(|S|3) s’ dans S a s’ dans S IFT 615 Processus de décision de Markov

Démonstration de Value iteration http://planiart.usherbrooke.ca/~eric/ift615/demos/vi/ IFT 615 Processus de décision de Markov

Algorithme Policy iteration 1. Choisir un plan arbitraire π’ 2. Répéter jusqu’à ce que π devienne inchangé : a. π := π’; b. Pour tout s dans S, calcule V(π,s) en résolvant le système de |S| équations en |S| inconnus V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’) c. Pour tout s dans S, s’il existe une action a telle que [ R(s) + df × P(s,a,s’) × V(π,s’)] > V(π,s) alors π’(s) := a sinon π’(s) := π(s) 3. retourne π Converge au plan optimal en O(|S|3) s’ in S s’ in S IFT 615 Processus de décision de Markov

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 615 Processus de décision de Markov

Grille (occupancy grid) Actions: E: Go east W: Go west S: Go south N: Go north Fonction de récompenses -0.4 -1 : +1 But Exemple Grille (occupancy grid) Room 1 Room 5 Room 2 Room 4 Room 3 But 0 1 2 3 …. IFT 615 Processus de décision de Markov

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 615 Processus de décision de Markov

Processus de décision de Markov 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 615 Processus de décision de Markov

Rappel : équation de la valeur d’un plan V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’) s’ in S a1 a5 0.2 0.8 S2 S1 S0 a3 1 a2 a4 Notons ri=R(si) et vi=V(π,si) : vi = ri + df × P(si, π(si),sj) × vj sj in S IFT 615 Processus de décision de Markov

Processus de décision de Markov Initialisation Plan initial choisi arbitrairement : π’ = { S0 → a2, S1 → a2, S2 → a4 } 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 IFT 615 Processus de décision de Markov

Processus de décision de Markov Itération #1 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1) b. Solution : v0=v1=0, v2=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 π’ = { S0 → a2 , S1 → a3 , S2 → a5 } IFT 615 Processus de décision de Markov

Processus de décision de Markov Itération #2 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2) b. Solution : v0=0, v1=1, v2=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 π’ = { S0 → a1 , S1 → a3 , S2 → a5 } IFT 615 Processus de décision de Markov

Processus de décision de Markov Itération # 3 0.8 S2 S1 S0 a3 a1 1 a2 a4 a5 0.2 a. π = π’ Équations : v0=0+0.5(0.2*v0+0.8*v1); v1=0+0.5(1*v2); v2=1+0.5(1*v2) b. Solution : v0=0.4, v1=1, v2=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 π’ = { S0 : a1 , S1 : a3 , S2 : a5 }, c-à-d. π Solution finale : π IFT 615 Processus de décision de Markov

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 615 Processus de décision de Markov

Processus de décision de Markov Un peu plus loin … Les algorithmes value-iteration et policy-iteration sont lents sur des grands espaces d’états. Améliorations: Real-Time Dynamic Programming (RTPD). Labeled RTDP. Les MDP supposent un observation totale. Partially Observable MDP (PoMDP). Les MDP sont limités à des décisions séquentielles. Pour des actions simultanés: Concurrent MDP (CoMPD) Concurrent Probabilistic Temporal Planning (CPTP) IFT 615 Processus de décision de Markov

© Éric Beaudry & Froduald Kabanza 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. One dream I have about AI applications is a robot that … We are not talking about remotely controlled robots! We are talking about robots that can do it by themselves, e.g., like the character ‘Data’ in Star Trek movies. IFT 615 © Éric Beaudry & Froduald Kabanza