IFT 702 – Planification en intelligence artificielle Langage PDDL

Slides:



Advertisements
Présentations similaires
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.
Advertisements

IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Programmation logique Logique des prédicats du premier ordre
IFT – Ingénierie des connaissances Exposé darticle « Applying a library of problem-solving methods on a real-life task » Piet-Hein Speel et Manfred.
Jean-François Landry Département d’informatique
IFT313 Révision finale Département d’informatique
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 702 – Planification en intelligence artificielle Planification par recherche dans un espace de plans Froduald Kabanza Département d’informatique Université.
Introduction Définir Planning. L’agent Planning. Représentation pour l’agent planning. Idées derrieres l’agent planning.
Réalisé avec le soutien de Pied de page fixe Pied de page 1 Titre Sous titre.
F. Touchard ESIL Département d'Informatique, Réseaux et Multimédia Projets d'architecture 1 Projets d'archi : présentation et modalités.
IFT359 – Programmation fonctionnelle Thème 02 B partie A introduction au langage fonctionnel choisi 1.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Ingénierie pédagogique
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Evaluer par compétences
Scratch un outil au service de la technologie
Ch.1 : Modélisation des systèmes par SysML
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
IFT 702 – Planification en intelligence artificielle Langage PDDL
5ème Livre 1.
Analyse fonctionnelle SYSML (1/3) Portail automatique
IS-IS - Adjacence Point à Point
Lois et principes psychomoteurs; modélisation prédictive
IFT608 / IFT702 Intelligence Artificielle
Algorithmiques Abdelbasset KABOU
Information, Calcul, Communication
IFT 615 – Intelligence artificielle Recherche heuristique
IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique.
Génie–logiciel 3. Modèles du cycle de vie du logiciel Azeddine Chikh
Systèmes Intelligents – M2- BD-IA1 Protégé-OWL Tutorial 8 th International Protégé Conférence Madrid, July 2005 Nick Drummond, Matthew Horridge, University.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
La simulation comme outil de prévision incendie Jean Baptiste Filippi - Jacques Henri Balbi UMR SPE - Université de Corse.
Structure D’une Base De Données Relationnelle
IFT313 IFT313 Introduction aux langages formels Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT 615 – Intelligence Artificielle Introduction
Branch-and-price algorithms for the solution of the multi-trip vehicle routing problem with time windows (MTVRPTW) 1.
Le GRAFCET
IFT 615 – Intelligence artificielle Recherche heuristique
Introduction aux langages formels
Froduald Kabanza Département d’informatique Université de Sherbrooke
Simulation de robots en MATLAB
Département d’informatique
SUMEHR 20 septembre 2017.
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
IFT608 / IFT702 Intelligence Artificielle
Catherine Cyrot - bibliothèques numériques - Cours 5
SYSTèMES à évènements discrets
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Les cas d’utilisation 420-KE2-LG.
IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique.
2.4 La loi de vitesse d’une réaction chimique
IFT313 Introduction aux langages formels
Le Cycle SCrum SPRINT et release.
Rappels sur le grafcet Normes NF EN CEI /01/2019
N°du Projet : P002 Nom entreprise: Laboratoire Hubert Curien
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Chapitre 1 Formulation d’un programme linéaire (PL) Georges Abboudeh BUST 347.
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels
Savoir rédiger entièrement une dissertation
Merise le modèle de traitement
Chapitre 2 Résolution des Problèmes et Jeux. Objectifs  Comment ? – Modéliser un Problème. – Modéliser un Jeu.  Comment ? – Passer d’un état à un autre.
IFT 615 – Intelligence artificielle Consignes pour l’examen final
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Transcription de la présentation:

IFT 702 – Planification en intelligence artificielle Langage PDDL Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/cours/ift608

Contenu STRIPS PDDL Intégration avec un planificateur dimanche 16 septembre 2018 Contenu STRIPS PDDL Intégration avec un planificateur IFT608/IFT702

Prérequis IFT615 IFT 615 (Logique du premier ordre) dimanche 16 septembre 2018 Prérequis IFT615 IFT 615 (Logique du premier ordre) IFT608/IFT702

dimanche 16 septembre 2018dimanche 16 septembre 2018 Architecture générale d’un planificateur opérant par recherche dans un espace d’états Modèle (actions, buts) Fonction de transition Recherche heuristique dans un graphe d’états Plan (Séquence d’actions) But État initial Le modèle ne décrit pas les capteurs puisque l’environnement est déterministe. L’agent est le seul acteur du changement. Pour les mêmes raisons, le plan est une séquence d’actions. Le modèle ne décrit pas les capteurs puisque l’environnement est déterministe. Le modèle est transformé en fonction de transition pour un graphe d’états. IFT608/IFT702

Langages de modélisation Langage STRIPS : Décrit une action élémentaire en fonction de trois éléments: Précondition Effets positifs Effets négatif Limitations Pas moyen de spécifier des contraintes sur la durée des actions Pas moyen de spécifier des effets conditionnels Pas moyen de spécifier des contraintes numériques Langage PDDL (Planning Domain Definition Language) : Une extension de STRIPS levant les restrictions précédentes Un “quasi-standard académique” pour les algorithmes de planification (conférence ICAPS) PDDL 2.1 IFT608/IFT702

Langage STRIPS Transformation du modèle pour avoir une fonction de transition IFT608/IFT702

Exemple 1: Monde des blocs Un robot doit empiler des blocs dans une configuration indiquée. C’est une version simplifiée d’un robot de manipulation de conteneurs dans un port. On dit au robot quoi faire (le but) Exemple: Livrer des colis Le comportement pour accomplir le but n’est pas codé d’avance Le robot utilise un planificateur pour déterminer le comportement C’est quoi un comportement au juste? Une séquence d’actions Que veulent dire les hypothèses détermiste et complétement observable ici? IFT608/IFT702

Exemple STRIPS pour le monde des blocks a b (:action unstack :parameters (?x – block ?y - block) :precondition (and (on ?x ?y) (clear ?x) (handempty) :effects (and (not (on ?x ?y)) (not (clear ?x)) (not (handempty)) (holding ?x) (clear ?y)) (:action stack :parameters (?x – block ?y - block) :precondition (and (holding ?x) (clear ?y)) :effects (and (not (holding ?x)) (not (clear ?y)) (on ?x ?y) (clear ?x) (handempty)) (:action pickup :parameters (?x – block) :precondition (and (ontable ?x) (clear ?x) (handempty) :effects (and (not (ontable ?x)) (not (clear ?x)) (not (handempty)) (holding ?x)) Pour l’instant, nous ne traitons pas l’évitement de collision avec les obstacles. Nous supposons que cela est fait au niveau des actions primitives. (:action putdown :parameters (?x – block) :precondition (holding ?x) :effects (and (not (holding ?x)) (ontable ?x) (clear ?x) (handempty)) IFT608/IFT702

Exemple STRIPS pour la livraison de colis r1 (room) r2 (room) c1 (corridor) r4 (room) r3 (room) c2 (corridor) d11 d12 d23 d24 b1 b2 b4 b3 b5 (:objects b1 b2 b3 b4 b5 - ball left right – gripper r1 r2 r3 r4 – room c1 c2 - corridor) (:init (atRobot c2) (free left) (free right) (at b1 r2) (at b2 r2) (at b3 r2) (at b4 r3) (at b5 r3)) (:goal (at b1 r4) (at b2 r4) (at b3 r4) (at b4 r4) (at b5 r4)) (:goal (forall (?x - ball)(at ?x r4)))

Exemple STRIPS pour la livraison de colis, suite (define (domain robotWorld1) (:types gripper ball room corridor door) (:predicates atRobot at free holding connects) (:action pick :parameters (?b – ball ?g – gripper ?r – room) :precondition (and (at ?b ?r) (atRobot ?r) (free ?g)) :effect (and (holding ?g ?b) (not (at ?b ?r)) (not (free ?g)))) (:action release :precondition (and (holding ?g ?b) (atRobot ?r)) :effect (and (at ?b ?r) (not (holding ?g ?b)) (free ?g))) (:action move :parameters (?rf ?rt – room ?d - door) :precondition (atRobot ?rf) (connects ?d ?rf ?rt) :effect (and (atRobot ?rt) (not (atRobot ?rf)))) Ici non plus, nous ne traitons pas l’évitement de collision avec les obstacles. Nous supposons que cela est fait au niveau des actions primitives. IFT608/IFT702

Exemple PDDL pour la livraison de colis r1 (room) r2 (room) c1 (corridor) r4 (room) r3 (room) c2 (corridor) d11 d12 d23 d24 b1 b2 b4 b3 b5 (:objects r1 r2 r3 r4 – room c1 c2 - corridor) (:init (atRobot r2) (= (free) 2) (= (holding) 0) (= (atBalls r3) 2)(= (atBalls r2) 3) (:goal (= (atBalls r4) 5))

Exemple PDDL pour la livraison de colis, suite (define (domain robotWorld2) (:types ball room corridor) (:predicates at atRobot) (:action pickup :parameters (?r – room) :precondition (and (> (atBalls ?r) 0) (atRobot ?r) (> (free) 0)) :effect (and (increase (holding) 1) (decrease (atBalls ?r) 1) (decrease (free) 1))) (:action release :precondition (and (> (holding) 0) (atRobot ?r)) :effect (and (increase (atBalls ?r) 1) (decrease (holding) 1) (increase (free) 1))) (:action move :parameters (?rf ?rt – room ?d - door) :precondition (and (atRobot ?rf)(connects ?d ?rf ?rt))) :effect (and (atRobot ?rt) (not (atRobot ?rf)))) IFT608/IFT702

Une autre version PDDL pour la livraison de colis r1 (room) r2 (room) c1 (corridor) r4 (room) r3 (room) c2 (corridor) d11 d12 d23 d24 b1 b2 b4 b3 b5 (:objects b1 b2 b3 b4 b5 - ball left right – gripper r1 r2 r3 r4 – room c1 c2 - corridor) (:init (atRobot c2) (free left) (free right) (at b1 r2) (at b2 r2) (at b3 r2) (at b4 r3) (at b5 r3)) (:goal (at b1 r4) (at b2 r4) (at b3 r4) (at b4 r4) (at b5 r4)) (:goal (forall (?x - ball)(at ?x r4)))

Une autre version PDDL pour la livraison de colis (define (domain robotWorld3) (:types gripper ball room corridor door) (:predicates atRobot at free holding connects) (:action pick :parameters (?b – ball ?g – gripper ?r – room) :precondition (and (at ?b ?r) (atRobot ?r) (free ?g)) :effect (and (holding ?g ?b)(not (free ?g)))) (:action release :precondition (and (holding ?g ?b) (atRobot ?r)) :effect (and(not (holding ?g ?b)) (free ?g))) (:action move :parameters (?rf ?rt – room ?d - door) :precondition (atRobot ?rf) (connects ?d ?rf ?rt) :effect (and (atRobot ?rt) (not (atRobot ?rf))) (forall (?b – ball ?g - gripper) (when (holding ?b ?g) (and (not (at ?b ?rf)) (at ?b ?rt))))) IFT608/IFT702

Autres exemples ROSPLAN International Planning Competition Demo PDDL Voir aussi Cashmore at al. 2015. ROSPlan: Planning in the Robot Operating System. http://www.aaai.org/ocs/index.php/ICAPS/ICAPS15/paper/viewFile/10619/10379 ROSPlan tutorial : http://icaps16.icaps-conference.org/proceedings/summer-school/rosplan_tutorial.pdf IFT608/IFT702

Ce qu’il faut retenir PDDL Syntaxe dimanche 16 septembre 2018 Ce qu’il faut retenir PDDL Syntaxe Sémantique: Étant donné un état et un domaine PDDL, générer les successeurs. Cela permet de définir implicitement la fonction successeur pour un algorithme comme A*. Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de façon compacte. Un autre avantage que nous voyons dans la leçon suivante est l’extraction d’heuristiques. IFT608/IFT702