Intelligence Artificielle Planification



Documents pareils
Cours de Master Recherche

Pourquoi l apprentissage?

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Systèmes décisionnels et programmation avancée

Évaluation et implémentation des langages

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Programmation Par Contraintes

Chapitre 2. Eléments pour comprendre un énoncé

Programmation linéaire

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Bases de données Cours 5 : Base de données déductives

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Resolution limit in community detection

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Intelligence artificielle appliquée à l automatique

Model checking temporisé

Algorithmes de recherche

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Données Réparties. Thibault BERNARD.

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Annexe 6. Notions d ordonnancement.

OASIS Date de publication

Processus d Informatisation

Stratégie de recherche adaptative en programmation par contrainte

Programmation Linéaire - Cours 1

Cours 1 : Qu est-ce que la programmation?

Métiers d études, recherche & développement dans l industrie

Contrainte de flot pour RCPSP avec temps de transfert

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

données en connaissance et en actions?

Big Data et Graphes : Quelques pistes de recherche

Optimisation Discrète

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Ordonnancement temps réel

Modélisation et Simulation

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

OCL - Object Constraint Language

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Génie Logiciel avec Ada. 4 février 2013

CUEEP Département Mathématiques E 821 : Problèmes du premier degré 1/27

Algorithmique et structures de données I

Utilisation des tableaux sémantiques dans les logiques de description

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

L apprentissage automatique

Résolution de systèmes linéaires par des méthodes directes

Big Data et Graphes : Quelques pistes de recherche

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Chronogrammes et contraintes. à la modélisation de systèmes dynamiques à événements

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours de Base de Données Cours n.12

Cours 1 : La compilation

Introduction à la B.I. Avec SQL Server 2008

Logique : ENSIIE 1A - contrôle final

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Logique. Plan du chapitre

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Université Paris-Dauphine DUMI2E 1ère année, Applications

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Algorithmes pour la planification de mouvements en robotique non-holonome

Vérification et Validation

Programmation linéaire

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Information utiles. webpage : Google+ : digiusto/

MABioVis. Bio-informatique et la

TP3 : Manipulation et implantation de systèmes de fichiers 1

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Conception des systèmes répartis

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

Convention de Licence Érudit (Open Source)

Feuille TD n 1 Exercices d algorithmique éléments de correction

Bases de données réparties: Fragmentation et allocation

Cours de Génie Logiciel

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Conception de réseaux de télécommunications : optimisation et expérimentations

4.2 Unités d enseignement du M1

Algorithmique avec Algobox

Développement itératif, évolutif et agile

Théorèmes de Point Fixe et Applications 1

Modèles de tâche. Introduction : tâche, activité.

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Fondements de l informatique Logique, modèles, et calculs

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Initiation à la programmation en Python

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Introduction à la robotique Licence 1ère année /2012

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Initiation à LabView : Les exemples d applications :

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Transcription:

Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 2 / 35

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 3 / 35

Qu est ce que la planification? Tâche qui consiste à trouver une séquence d actions qui réalisera un objectif systèmes autonomes et adaptables capables de raisonner sur leurs capacités et les contraintes provenant de l environnement Représentation des problèmes de planification : états, actions et objectifs Description d un ou plusieurs état(s) initial(aux) Description d un ou plusieurs état(s) but(s) Description d un ensemble d actions que l agent peut effectuer Trouver une séquence d actions qui mène l agent de l état initial à l état but 4 / 35

Limites des algorithmes de recherche L agent peut être submergé par des actions non pertinentes Les heuristiques et les tests de buts sont inadéquats : il faut trouver des heuristiques indépendantes du domaine! Pas d exploitation de la décomposition du problème Nous voulons trouver un langage qui est à la fois suffisamment expressif pour décrire une grande varieté de problèmes, mais assez restrictif pour permettre à des algorithmes efficaces d agir 5 / 35

Limites des algorithmes de recherche But : Acheter du lait et une perceuse sans fil Parler au perroquet Acheter un chien Start Aller à l animalerie Aller à l école Aller au supermarché Aller au lit Lire un livre Aller en cours Acheter du sucre Acheter du lait... Finish S asseoir sur le canapé Lire encore Etc... Allumer la télé Lire un livre 6 / 35

Générer un plan Etant donné Une description du monde Un état initial du monde Une description du but Un ensemble d actions disponibles pour changer le monde On veut trouver Une liste d actions permettant de passer de l état initial à un état qui satisfait le but Représenter les changements Savoir comment une action modifie le monde Garder en mémoire les états du monde (a-t on déjà été dans cet état avant?) Pouvoir répondre aux questions à propos des états du mondes potentiels (qu est-ce qu il se passerait si...?) 7 / 35

Environnements de planification Les environnements considérés dans la planification classique sont : Totalement observables Déterministes Finis Statiques - les changements ne sont dûs qu aux seules actions des agents Discrets 8 / 35

Applications Militaire Mission de déminage naval Mission d hélicoptères de combats Aérospaciale Deep Space One Prises de vues satellitaires Robotique indistrielle Ligne d assemblage, transport Vie de tous les jours Aspirateur automatique, tondeuse automatique Informatique Composition de services web Informatique ambiante nouvelles applications 9 / 35

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 10 / 35

Langage de planification L état du monde est décrit par une série de prédicats en logique du premier ordre Etat = conjonction de littéraux positifs Pauvre Inconnu A(Avion1, Paris) A(Avion2, Toulouse) Les états (litéraux en logique du premier ordre) doivent être sans variable ni fonction But = conjonction de littéraux positifs sans variable ni fonction Représentation des actions : Nom de l action + paramètres (ex: Voler(p,from,to)) Pré-conditions : conjonction de littéraux positifs, ce qui doit être vrai pour pouvoir appliquer l action Effet : conjonction de littéraux, ce qui est vrai ou n est plus vrai une fois que l action a été appliquée 11 / 35

Sémantique du langage Une action est applicable à chaque état qui satisfait les pré-conditions Logique du premier ordre : un état satisfait les pré-conditions s il existe une substitution permettant d unifier les pré-conditions avec les littéraux de l état Exemple Etat : A(A1,Orly) A(A2,Blagnac) Avion(A1) Avion(A2) Aeroport(Orly) Aeroport(Blagnac) Pré-conditions : A(x,from) Avion(x) Aeroport(from) Aeroport(to) Substitution : θ = {x/a1, from/orly, to/blagnac} Substitution 2 : θ = {x/a2, from/blagnac, to/orly} 12 / 35

Sémantique du langage Action a menant d un état s 1 à un état s 2 Chaque littéral positif l dans l effet de a est ajouté à s 2 Si l est déjà dans s 2 il n est pas ajouté deux fois Chaque littéral négatif l dans l effet de a est supprimé de s 2 Si l n est pas dans s 2, rien ne change Solution d un problème de planification : séquence d actions permettant de mener d un état initial à un état qui satisfait le but 13 / 35

Le langage STRIPS STRIPS : Stanford Research Institute Problem Solver (1971) Préconditions : ensemble des prédicats devant être vrais pour pouvoir appliquer l action Action : nom de l action et paramètres nécessaires pour appliquer l action Effets : modifications des prédicats après l exécution de l action Retraits : prédicats qui étaient vrais et qui sont maintenant faux Ajouts : prédicats qui étaient faux et qui sont maintenant vrais Suffisamment expressif pour décrire de nombreux problèmes Suffisamment restrictif pour être utilisé par des algorithmes efficaces 14 / 35

Exemple : le monde des blocs L univers est composé d un ensemble de blocs cubiques et d une table Les blocs sont mobiles, la table est immobile Un agent déplace les blocs Un bloc peut être sur la table ou sur un autre bloc Il ne peut pas y avoir plus d un bloc sur un autre bloc La table est assez grande pour que tous les blocs puissent y prendre place L ordre des blocs sur l axe horizontal n est pas important 15 / 35

Exemple : le monde des blocs Prédicats : Bloc(x) : Bloc(A), Bloc(B), Bloc(C), Bloc(D) Sur(x, y) : Sur(C,B), Sur(B,A) SurTable(x) : SurTable(A), SurTable(D) Libre(x) : Libre(C), Libre(D) L état du monde est une conjonction de prédicats : Bloc(A) Bloc(B) Bloc(C) Bloc(D) Sur(C, B) Sur(B, A) SurTable(A) SurTable(D) Libre(C) Libre(D) 16 / 35

Exemple : le monde des blocs Actions : Action(Deplacer(b,x,y) PRECOND : Sur(b,x) Libre(b) Libre(y) Bloc(b) Bloc(x) Bloc(y) (b x) (b y) (x y) EFFET : Sur(b,y) Libre(x) Sur(b,x) Libre(y)) Action(DeplacerSurTable(b,x) PRECOND : Sur(b,x) Libre(b) Bloc(b) Bloc(x) (b x) EFFET : Sur(b,Table) Libre(x) Sur(b,x)) Action(DeplacerDeTable(b,x) PRECOND : Sur(b,Table) Libre(b) Libre(x) Bloc(b) Bloc(x) (b x) EFFET : Sur(b,Table) Libre(x) Sur(b,x)) 17 / 35

Exemple : le monde des blocs Etant donné un problème Etat initial : Bloc(A) Bloc(B) Bloc(C) Bloc(D) Sur(C, B) Sur(B, A) SurTable(A) SurTable(D) Libre(C) Libre(D) Etat final : Bloc(A) Bloc(B) Bloc(C) Bloc(D) Sur(A, B) Sur(C, D) SurTable(B) SurTable(D) Libre(A) Libre(C) Planification : trouver un enchainement d actions permettant de passer de l état initial à l état final Problème difficile Plusieurs méthodes de planifications existent 18 / 35

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 19 / 35

Planification dans les espaces d états Algorithmes les plus simples pour la planification Algorithmes de recherche dans lesquels l espace de recherche est un sous-ensemble de l espace d états Nœud : état du monde Arc : transition, action Chemin entre l état initial et un état satisfaisant le but : plan d actions Tou algorithme d exploration complet (comme par exemple A ) est un algorithme de planification complet 20 / 35

Planification par recherche en chaînage avant Procède de l état initial vers l état final en utilisant les techniques d exploration Le facteur de branchement est élevé Toutes les actions applicables sont prises en considération Nécessité d heuristiques Algorithme de recherche en chaînage avant : déterministe Algorithme de recherche en chaînage avant : correct et complet 21 / 35

Algorithme de recherche en chaînage avant Algorithm 1: RechAvant(A, s 0, g) début si s 0 satisfait g alors retourner un plan vide π sinon active {a a est une action de A et precond(a) est vrai dans s 0 } si active = alors retourner Echec sinon Choisir action a 1 active s 1 γ(s 0, a 1 ) π RechAvant(A, s 1, g) si π Echec alors retourner a 1.π; sinon retourner Echec fin 22 / 35

Planification par recherche en chaînage arrière Procède de l état final vers l état initial Limite le facteur de branchement Habituellement, le but a peu d opérateurs applicables Ne considère que les actions pertinentes Action pertinente pour le but sous forme conjonctive : Accomplir l un des termes de la conjonction Ne pas annuler un des terme désiré action consistente Arrêt lorsqu on obtient un sous-ensemble de littéraux qui satisfont l état initial Nécessité d heuristiques pour choisir l action Algorithme de recherche en chaînage arrière : correct et complet 23 / 35

Algorithme de recherche en chaînage avant Algorithm 2: RechArriere(A, s 0, g) début si s 0 satisfait g alors retourner un plan vide π sinon pertinent {a a est une action de A et effet(a) est vrai dans s 0 } si pertinent = alors retourner Echec sinon Choisir action a 1 pertinent s 1 γ 1 (s 0, a 1 ) π RechArriere(A, s 1, g) si π Echec alors retourner π.a 1 ; sinon retourner Echec fin 24 / 35

Recherche dans les espaces d états Recherche avant et arrière : recherche d un plan totalement ordonné Séquence d actions strictement linéaires Ordre chronologique de planification Une approche plus souple peut être nécessaire : résoudre différents sous-buts et combiner les sous-plans Planification en ordre partiel 25 / 35

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 26 / 35

Planification partiellement ordonnée Stratégie du moindre engagement (least commitment): se compromettre uniquement sur les aspects pertinents des actions, en laissant les autres aspects à plus tard Un planificateur qui peut placer deux actions dans un plan sans spécifier laquelle intervient en premier est appelé planificateur en ordre partiel La solution est présentée comme un graphe d actions Linéarisation du plan: le planificateur représente un ordre entre toutes les étapes 27 / 35

Exemple Partial Order Plan Total Order Plans Start Start Start Start Start Start Start Left Sock Right Sock Left Sock Right Sock Left Sock Right Sock Right Sock Left Sock Right Sock Left Sock Right Sock Right Shoe Left Sock Left Shoe LeftSockOn RightSockOn Left Right Shoe Shoe LeftShoeOn, RightShoeOn Left Shoe Right Shoe Right Shoe Left Shoe Left Shoe Right Shoe Right Shoe Left Shoe Left Sock Left Shoe Right Sock Right Shoe Finish Finish Finish Finish Finish Finish Finish 28 / 35

Composantes d un plan partiellement ordonné Un plan partiellement ordonné est un tuple A,, B, L où A = {a 1,..., a n} est un ensemble d actions Un plan vide contient uniquement les actions départ et fin est un ensemble de contraintes d ordre entre les actions Chaque contrainte spécifie le fait qu une action doit survenir avant une autre Si l action a i doit être exécutée avant a j, on écrira a i a j B est un ensemble de contraintes d instantiation sur les variables de A p L est un ensemble de liens causaux entre les actions, noté a i a j, tels que a i, a j A sont deux actions a i a j est une contrainte d ordre définie dans Signifie que la proposition p est un effet de a et une précondition de p 29 / 35

Solution d un plan partiellement ordonné Une solution est un plan complet et consistant que l agent peut accomplir et qui garantit l accomplissement du but Complet : toutes les préconditions sont satisfaites par une action précédente, et ne sont pas annulées par une autre action Consistant : Il n y a pas de cycle dans les contraintes d ordonnancement, et pas de conflits entre les liens causaux 30 / 35

Défaut et menace Une action a k est une menace pour un lien causal a i p a j ssi : a k a un effet q qui est potentiellement incohérent avec p les contraintes d ordres a i a k et a k a j sont cohérentes avec les contraintes d instantiation résultant de l unification de p et de q sont cohérentes avec B Un défaut dans un plan partiellement ordonné est soit un sous-but, c est à dire la précondition d une action de A qui n est pas supportée par un lien causal une menace, c est à dire une action qui interfère avec un lien causal 31 / 35

Exemple : changer un pneu Actions : Action(Sortir(NvPneu,Coffre) PRECOND : Dans(NvPneu,Coffre) EFFET : Dans(NvPneu,Coffre) Au(NvPneu,Sol) Action(Retirer(PneuPlat,Essieu) PRECOND : Sur(PneuPlat,Essieu) EFFET : Sur(PneuPlat,Essieu) Au(PneuPlat,Sol) Action(Mettre(NvPneu,Essieu) PRECOND : Au(NvPneu,Sol) Sur(PneuPlat,Essieu) EFFET : Sur(NvPneu,Essieu) Au(NvPneu,Sol) Etat initial : Sur(PneuPlat, Essieu) Dans(NvPneu,Coffre) But : Sur(NvPneu,Essieu) 32 / 35

Exemple : changer un pneu Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin 33 / 35

Exemple : changer un pneu Au(NvPneu,Sol) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin 33 / 35

Exemple : changer un pneu Au(NvPneu,Sol) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) 33 / 35

Exemple : changer un pneu Au(NvPneu,Sol) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) 33 / 35

Exemple : changer un pneu Dans(NvPneu,Coffre) Sortir(NvPneu,Coffre) Au(NvPneu,Sol) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) 33 / 35

Exemple : changer un pneu Dans(NvPneu,Coffre) Sortir(NvPneu,Coffre) Au(NvPneu,Sol) Sur(PneuPlat,Essieu) Mettre(NvPneu,Essieu) Début Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu) Sur(NvPneu,Essieu) Fin Sur(PneuPlat,Essieu) Retirer(PneuPlat,Essieu) 33 / 35

Introduction à la planification Qu est ce que la planification? Langage de représentation STRIPS Planification dans les espaces d états Planification partiellement ordonnée Conclusion 34 / 35

Conclusion Langage de représentation STRIPS Planification dans les espaces d états Produit des séquences d actions Planification dans les espaces de plans Produit des plans partiellement ordonnés Planification dans les graphes Produit des plans solution qui sont des séquences d ensembles d actions Graphe de planification Moins expressive que dans les espaces de plans, mais plus que dans les espaces d états 35 / 35