Froduald Kabanza Département d’informatique Université de Sherbrooke

Slides:



Advertisements
Présentations similaires
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Advertisements

Jean-François Landry Département d’informatique
Introduction Définir Planning. L’agent Planning. Représentation pour l’agent planning. Idées derrieres l’agent planning.
Updates to the Air Cadet Badge System Des mises à jour au système des insignes des Cadets de l’Air.
An Introduction To Two – Port Networks The University of Tennessee Electrical and Computer Engineering Knoxville, TN wlg.
Les Instructions Itératives (Les Boucles)
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
Point de départ You are familiar with the class of French verbs whose infinitives end in -er. The infinitives of a second class of French verbs end.
Le Subjonctif Verbes: page 279.
Point de départ The verb avoir (to have) is used frequently. You will have to memorize each of its present tense forms because they are irregular.
LES MODULES PLAN DE DEVELOPPEMENT PERSONNEL LEADERSHIP ART ORATOIRE.
The Passé Composé Tense
Initiation à l’intelligence artificielle développementale
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.
Direct and Indirect Object Pronouns in French
IDL_IDL bridge The IDL_IDLBridge object class allows an IDL session to create and control other IDL sessions, each of which runs as a separate process.
Les pentes sont partout.
L’avantage absolu de Smith (1776)
PRODUCTION LOGISTICS MANAGEMENT. I l c p INTRODUCTION PRODUCTION LOGISTIC CONCLUSION Te sit nusquam mediocrem. Fastidii dissentias nam an, simul deleniti.
Avant de commencer ... Le sondage
F RIENDS AND FRIENDSHIP Project by: POPA BIANCA IONELA.
Branch-and-price algorithms for the solution of the multi-trip vehicle routing problem with time windows (MTVRPTW) 1.
About INTEGRA The Integrated community, probation and prison services radicalisation prevention approach strives to improve the transition process between.
IFT 615 – Intelligence artificielle Recherche heuristique
IFT 702 – Planification en intelligence artificielle Langage PDDL
1. Financial (Accounting) Statements  Financial or Accounting statements are used for reporting corporate activity. 2 For Stakeholders.
The Great debate Day 2: In which we intone, persuade (again) and we begin developing vocabulary for debate and argumentation.
Leadership Styles Mrs. Keith Main Types of Leadership Styles 1.The Autocratic or Authoritarian Leader 2.The Democratic or Participative Leader.
Updates to the Air Cadet Badge System
Basic Business Statistics, 10e © 2006 Prentice-Hall, Inc. Chap 1-1 Chapter 1 Introduction and Data Collection Basic Business Statistics 10 th Edition.
G. Peter Zhang Neurocomputing 50 (2003) 159–175 link Time series forecasting using a hybrid ARIMA and neural network model Presented by Trent Goughnour.
Lect12EEE 2021 Differential Equation Solutions of Transient Circuits Dr. Holbert March 3, 2008.
Introduction to Computational Journalism: Thinking Computationally JOUR479V/779V – Computational Journalism University of Maryland, College Park Nick Diakopoulos,
High-Availability Linux Services And Newtork Administration Bourbita Mahdi 2016.
Le soir Objectifs: Talking about what you do in the evening
Updates to the Air Cadet Badge System
L'amour ne demande pas pourquoi Défilement automatique
Information available in a capture history
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Point de départ In Level 1, you learned to use indirect and direct object pronouns. Now you will learn to use these pronouns together. © 2015 by Vista.
C’est quel numéro? Count the numbers with pupils.
Simulation Multi-Agent (SMA)&plateforme Netlogo 1.
Roots of a Polynomial: Root of a polynomial is the value of the independent variable at which the polynomial intersects the horizontal axis (the function.
Point de départ You are familiar with the class of French verbs whose infinitives end in -er. The infinitives of a second class of French verbs end.
Point de départ In Leçon 19, you learned that reflexive verbs indicate that the subject of a sentence does the action to itself. Reciprocal reflexives,
Updates to the Air Cadet Badge System
Question formation In English, you can change a statement into a question by adding a helping verb (auxiliary): does he sing? do we sing? did they sing.
Global Challenge Capteur de nuit Leçon 2.
© by Vista Higher Learning, Inc. All rights reserved.4A.1-1 Point de départ In Leçon 1A, you saw a form of the verb aller (to go) in the expression ça.
Point de départ In Leçon 6A, you learned to form the passé composé with avoir. Some verbs, however, form the passé composé with être. © 2015 by Vista.
Point de départ You’ve learned how the passé composé can express past actions. Now you’ll learn another past tense, the imparfait (imperfect). © 2015.
The Passé Composé Tense
1 Sensitivity Analysis Introduction to Sensitivity Analysis Introduction to Sensitivity Analysis Graphical Sensitivity Analysis Graphical Sensitivity Analysis.
CELL DYNAMICS IN SOME BLOOD DISEASES UNDER TREATMENT
Avoiding the Pitfalls of Bad Slides Tips to be Covered Outlines Slide Structure Fonts Colour Background Graphs Spelling and Grammar Conclusions Questions.
Le Passé Composé (Perfect Tense)
2.2 Des partenaires souhaitables et des invités moins souhaitables
Les Mots Intérrogatifs
Prepositions of location and disjunctive pronous
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
Soutenance de thèse: Okba Taouali 1 02/08/2019 Fathia AZZOUZI, Adam BOURAS, Nizar JEBLI Conceptual specifications of a cooperative inter- machines dialogue.
Direct and Indirect Object Pronouns in French
Prepositions of Location
Les Jours de la Semaine ©  Copyright Kapow! 2017.
Transcription de la présentation:

IFT 615 – Planification classique Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/cours/ift615

dimanche 16 septembre 2018 Contenu Rappels Architecture d’un planificateur utilisant comme solveur une recherche dans un espace d’états Langage de modélisation PDDL transformation correspondante pour un solveur par recherche dans un espace d’états IFT608/IFT702

Exemple d’application observations buts observations buts action Planificateur Plan Le comportement du robot résulte de l’ Il est autonome en ce sens qu’il peut ajuster son mécanisme de choix d’actions à des situations non progrannées explicitement en générant un nouveau plan– toute fois, cela est limité par son modèle. Modèle d’actions, capteurs et buts Exécution de l’action World IFT608/IFT702

Planification classique dimanche 16 septembre 2018 Planification classique Les hypothèses du domaine à considérer sont: Un seul agent au lieu plusieurs agents Déterministe au lieu de stochastique Complétement observable au lieu de partiellement observable Séquencement d’actions ayant des liens de causalité Un algorithme défini avec ces hypothèse peut dans une certaine mesure être appliqué dans un environnement ne satisfaisant pas les deux premières hypothèses: Un planificateur déterministe centralisé peut planifier pour plusieurs agents L’incertitude est géré par l’architecture décisionnelle en re-planifiant Nous supposons dans un premier un temps que l’environnement est déterministe, complètement observable, avec un seul agent pour qui on planifie. IFT608/IFT702

dimanche 16 septembre 2018dimanche 16 septembre 2018 Architecture générale d’un planificateur classique 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

Exemple 1: Monde des blocs Un robot doit empiler des blocs dans une configuration indiquée. 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 2: Livraison de colis dimanche 16 septembre 2018 Exemple 2: Livraison de colis Un robot doit recevoir des commandes de livraisons de colis et les exécuter. r1 (chambre) r2 (chambre) c1 (corridor) r4 (cuisine) r3 (s. bain) c2 (corridor) Colis 1 Colis 2 d11 d12 d23 d24 Que veulent dire les hypothèses détermiste et complétement observable ici?

Exemple 1 : Empiler des blocs dimanche 16 septembre 2018dimanche 16 septembre 2018 Exemple 1 : Empiler des blocs Étant donné un modèle d’actions primitives (prendre un block, relâcher un bloc, etc.), trouver un plan pour attendre le but. Le problème est transformé en un problème de trouver un chemin dans un graphe dirigé. IFT608/IFT702

Exemple 2 : Livrer des colis dimanche 16 septembre 2018dimanche 16 septembre 2018 Exemple 2 : Livrer des colis État initial But r1 r2 r3 r4 r1 r2 r3 r4 r5 r6 r5 r6 robot Étant donné un modèle d’actions primitives (prendre un colis, relâcher un bloc, se déplacer d’une pièce à l’autre), trouver un plan pour attendre le but. Le problème est transformé en un problème de trouver un chemin dans un graphe dirigé. IFT608/IFT702

Goto(r5,r1) Goto(r5,r2) … Take(…) … … … … Goto(…) … … … IFT608/IFT702

Rappel - Comment trouver un chemin dans un graphe? dimanche 16 septembre 2018dimanche 16 septembre 2018 Rappel - Comment trouver un chemin dans un graphe? Non informé: Largeur, profondeur, iterative deepening, Dijkstra, etc. Ces algorithmes ne sont pas efficaces pour des problèmes qui nous intéressent. Ils n’ont aucun sens d’orientation; aucune intuition. Le sens de direction est donné par une fonction heuristique. Recherche heuristique dans un graphe Best-first: (f(x) = α*g(x) + β*h(x)) α = 0: algorithme glouton (greedy) β = 0: uniform-cost α = β: A* Défi: trouver une fonction heuristique h(x) In AI, heuristics are criteria, methods or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some Son but (Pearl, 1983, p. 3). In general, a heuristic is a function that computes an estimate from the current state to an optimal state. This way, it provides the search process used by a planner with a sense of direction with actions resulting in states that are closer to the Son but being preferred. In a recent book chapter, Geffner provides the following parallel between heuristics and similar functions in human cognition (Geffner, Heuristics book chapter): Heuristic evaluation functions are also used in other settings such as Chess playing programs (Pearl, 1983) and reinforcement learning (Sutton & Barto, 1998). The difference between evaluation functions in Chess, reinforcement learning and domain-independent planning mimic actually quite closely the relation among the three approaches to action selection mentioned in the introduction: programming-based, learning-based and model-based. Indeed, the evaluation functions are programmed by hand in Chess, are learned by trial-and-error in reinforcement learning, and are derived from a (relaxed) model in domain-independent planning. He relates to heuristics to ‘feelings’, ‘emotions’ or ‘appraisals’ in high-level human problem solving: It is now widely accepted in cognitive science that emotions play a key role in action decision, yet not consciously. Analogously, heuristics are most of the time ‘opaque’ to the search process of a planning algorithm and yet provide key guidance for the search to converge rapidly to a Son but solution. Heuristics provide a sense of direction or ‘gut feeling’ to the agent. Similarly, emotions have been shown to provide the appraisals that are necessary for navigating in a complex world. IFT608/IFT702

Langages de modélisation des actions 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))

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

Plus d’exemples International Planning Competition http://www.planiart.usherbrooke.ca/download-en.html 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