IFT608 / IFT702 Intelligence Artificielle

Slides:



Advertisements
Présentations similaires
Julie Dugdale Génie Logiciel 2 Julie Dugdale
Advertisements

Analyse de la tâche et méthode des scénarios
IFT702 Intelligence Artificielle
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
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 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.
Simon Langevin Mathieu Poisson
IFT702 Intelligence Artificielle Froduald Kabanza Département d’informatique Université de Sherbrooke IFT702 TLPlan.
Bases de Données Temporelles
IFT 702 – Planification en intelligence artificielle Planification par recherche dans un espace de plans Froduald Kabanza Département d’informatique Université.
Le Jeu et l’intelligence artificielle
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
Présentation du stage Laïka Moussa. 19/9/2003Présentation du stage2 Plan Présentation du cadre du stage Sujet du stage Démarche adoptée.
SITUATION DE REFERENCE
Les Instructions Itératives (Les Boucles)
Ch.1 : Modélisation des systèmes par SysML
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
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 Contrôle de la recherche avec des réseaux de tâches hiérarchiques Froduald Kabanza Département d’informatique.
IFT 702 – Planification en intelligence artificielle Langage PDDL
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Master Réseaux et Systèmes Distribués (RSD)
IFT 615 – Intelligence artificielle Recherche heuristique
Les bases de données et le modèle relationnel
S. Briot1 and V. Arakelian2 1 IRCCyN – Nantes 2 INSA – Rennes
INTELLIGENCE ARTIFICIELLE
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 GESTION DE PROJET APPROCHE, MÉTHODOLOGIE ET OUTILS.
Cyber-Sphinx Séance 2.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Calcul Relationnel Chapitre 4, Section 4.3.
Branch-and-price algorithms for the solution of the multi-trip vehicle routing problem with time windows (MTVRPTW) 1.
IFT 702 – Planification en intelligence artificielle Langage PDDL
Froduald Kabanza Département d’informatique Université de Sherbrooke
Les normes de l’Audit Interne Cour N° 02. Le but des normes de l’audit interne: - Contribue au professionnalisme de la profession - Amélioration des performances.
CONCEPTION D’UN SYSTÈME INTELLIGENT DE MANAGEMENT D’UNE FLOTTE DE VEHICULES
OPTIMISATION 1ère année ingénieurs
Département d’informatique
IFT608 / IFT702 Intelligence Artificielle
SYSTèMES à évènements discrets
L’intervention peut se définir comme l’ensemble des actes professionnels visant à construire des compétences d’enseignement et d’entrainement dans les.
IFT 702 Planification en intelligence artificielle Contrôle de la recherche avec des réseaux de tâches hiérarchiques Froduald Kabanza Département d’informatique.
Les Gratte-ciel.
Salut nous sommes Amine Oubaibou et Othmane Dsiri, nous avons décidé de vous parler aujourd'hui à propos de la gestion du temps… Exposé Réaliser en 13/12/2017.
Le Cycle SCrum SPRINT et release.
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Chapitre 1 Formulation d’un programme linéaire (PL) Georges Abboudeh BUST 347.
Flowchart Itération Cours 04.
INTELLIGENCE ARTIFICIELLE
L ’ Intelligence Artificielle
Les fonctions exécutives
LISTES.
INTELLIGENCE ARTIFICIELLE
Lecture/Écriture de fichiers (I/O)
Chapter 11: Récursivité Java Software Solutions Second Edition
Des outils pour une préparation de classe efficace
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.
ORGANISATION DES CONSULTATIONS SANS MEDECIN Dr NZORIJANA Janvière
IFT 615 – Intelligence artificielle Consignes pour l’examen final
Non-conformités Des non-conformités Pourquoi? Rev.3 (2015/06/01)
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
FRAL 12 LES PRÉPOSITIONS.
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

IFT608 / IFT702 Intelligence Artificielle mardi 15 mai 2018mardi 15 mai 2018 IFT608 / IFT702 Intelligence Artificielle Contrôle de la recherche avec des formules de logique temporelle IFT702

Sujets Logique Temporelle Linéaire (LTL) mardi 15 mai 2018mardi 15 mai 2018 Sujets Logique Temporelle Linéaire (LTL) Spécification des buts avec LTL Spécifications de règles de contrôle de recherche avec LTL. TLPLAN

Référence Bacchus F. and Kabanza F. Using Temporal Logic to Express Search Control Knowledge for Planning. Artificial Intelligence , 116(1-2):123-191, 2000. http://www.cs.toronto.edu/tlplan/

Robot domestique Des robots vont bientôt devenir omniprésents: mardi 15 mai 2018mardi 15 mai 2018 Robot domestique r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 Des robots vont bientôt devenir omniprésents: Transporter des objets pour eux (ex.: verre d’eau) Chercher des objets (ex., lunettes) Surveiller des activités (ex., les portes sont fermées) Le Challenge AAAI simule des tâches similaires à ces activités.

mardi 15 mai 2018mardi 15 mai 2018 Types de tâches Certaines tâches sont des buts classiques (atteindre un état final) : Transporter des objets à des endroits désignés. D’autres tâches sont comportementales : Conduire Madame Smith à la cuisine, lui servir un verre d’eau, et si vous rencontrez l’infermière, donnez-lui ce message. Chaque fois que la cuisine est salie, la nettoyer, et une fois fini, préparer le prochain repas. Ce genre de buts sont dits « temporels » : Maintenir certaines conditions vraies. Accomplir une tâche périodiquement. Accomplir une tâche dans un délai prescrit suite à une requête. Accomplir des tâches dans une séquence donnée. Combinaisons des buts précédents.

Connaissance experte de planification mardi 15 mai 2018mardi 15 mai 2018 Connaissance experte de planification Un planificateur classique a comme connaissance les actions primitives ou les transitions possibles (effets, préconditions) Certains planificateurs plus récents utilisent en plus des connaissances expertes pour planifier. Ce sont des connaissances sur les stratégies de planification. Par exemple: lorsque le but est de … et que l’état actuel durant la recherche est tel que … alors éviter de générer les transitions du genre … C’est-à-dire éviter des comportements de planification du genre … Ça s’appelle aussi des connaissances de contrôle de recherche Eval: c-x c-e Abort: c-c c-c To run TLPLAN (load “main”) c-x c-e (ld ‘robot) c-x c-e (si state3a) c-x c-e --- ou (si state1a) (sg goal3a) c-x c-e --- ou (sg goal1a) --- On peut sauter cette étape car rsim fait (plan)-- (plan) c-x c-e (rsim) c-x c-e

Règles de contrôle de recherche mardi 15 mai 2018mardi 15 mai 2018 Règles de contrôle de recherche r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 Exemple : Lorsque le but exige d’amener un objet x à la chambre y, alors le planificateur s’il atteint un nœud tel que le robot a l’objet x dans la main, il (le planificateur) doit préserver cette condition jusqu’à ce qu’à un nœud tel que le robot est rendu dans y. Une telle règle permet d’éviter la génération de transitions inutiles durant la recherche d’un plan.

D’où viennent les connaissances stratégiques? mardi 15 mai 2018mardi 15 mai 2018 D’où viennent les connaissances stratégiques? Les connaissances de contrôle de recherche Rendent le planificateur plus efficace Et le font paraître plus intelligents (les personnes évitent certaines alternatives lorsqu’ils cogitent un plan, grâce à leur expérience/connaissances). Les connaissances stratégiques sont données par le programmeur … au même titre que les actions primitives. Des recherches en cours visent à programmer des systèmes capables d’apprendre de tels connaissances. … D’autres recherches visent à apprendre les actions primitives.

mardi 15 mai 2018mardi 15 mai 2018 Illustration : TLPLAN TLPLAN est un planificateur basé sur une recherche dans un espace d’états comme A*: Utilise un langage à base de règles pour spécifier les transitions (actions primitives) : ADL (C, Scheme) ou PDDL (C#) Utilise la Logique temporelle linéaire (LTL) pour spécifier des buts comportementales. Utilise LTL pour spécifier des connaissances de contrôle de recherche.

Architecture de TLPLAN mardi 15 mai 2018mardi 15 mai 2018 Architecture de TLPLAN Fonction de transition A* ou depth-first search Plan État initial (LTL) Goal Actions primitives LTL Formula Progress Search Control Formula

LTL A LTL : Logique du premier ordre + mardi 15 mai 2018mardi 15 mai 2018 LTL LTL : Logique du premier ordre + Opérateurs temporels : O (next), <> (eventually), [] (always), U (until) Les opérateurs sont appliquées sur des formules, permettant leur interprétation sur des séquences d’états (générés parr A* ou depth-first search) Exemple: “toujours p(x) implique éventuellement q(x) et vice-versa” x dom(x) [] ((p (x) -> <> q (x)) Λ [] (q (x) -> <> p (x))) A {r(a)} {p(a)} {r(b), p(a)} {q(a)} {r(a)} {r(b)} {r(a),r(c)}

Exemple : robot domestique mardi 15 mai 2018mardi 15 mai 2018 Exemple : robot domestique r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 TLPLAN utilise LTL pour spécifier des buts du genre: Chaque fois que la cuisine est salie, la nettoyer, et une fois fini, préparer le prochain repas. Et des connaissances stratégiques du genre: Lorsque le but exige d’amener un objet x à la chambre y, le robot, s’il réussit à saisir l’objet x doit le garder jusqu’à ce qu’il soit rendu dans y.

Progression des formules LTL mardi 15 mai 2018mardi 15 mai 2018 Progression des formules LTL Cette technique permet de : Vérifier une formule LTL sur des chemins générés par A* ou depth-first de manière incrémentales. Dans le nœud courant, on évalue la contrainte sur l’état courant et on retarde la contraintes sur les états futurs : Cela est possible parce qu’on peut décomposer chaque formule en partie présente et partie future. La partie présente évalue à FALSE dans des états terminants des préfixes ne satisfaisant pas la formule LTL.

Algorithme Formula Progression mardi 15 mai 2018mardi 15 mai 2018 Algorithme Formula Progression Entrée : - État - Formule LTL Sortie : Formule LTL retardée au successeurs de l’état Trois sorties possibles : True : le chemin satisfait la formule False : le chemin viole la formule Une formule LTL avec au moins un connecteur temporel

Progression LTL combinée avec A* (so,f) L’état initial (s0) est étiqueté avec la formule LTL initiale (f). Chaque successeur est étiquété avec le résultat de la progression de la formule dans l’état courant. Les états étiquetés FALSE sont considérés comme des cul-de-sac. On ne génère pas de successeurs pour eux. (s2,g) (s1,g) g=prog(f,s0)

Architecture de TLPLAN mardi 15 mai 2018mardi 15 mai 2018 Architecture de TLPLAN Fonction de transition A* ou depth-first search Plan État initial (LTL) Goal Actions primitives LTL Formula Progress Search Control Formula

Exemple But séquentiel : mardi 15 mai 2018mardi 15 mai 2018 Exemple r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 But séquentiel : <>(in(o1,r2) Λ O<>(in(o2,r4) Λ O<>(in(o4,r2))

mardi 15 mai 2018mardi 15 mai 2018 Exemple : r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 But réactif : Conduire Madame Smith à la cuisine, lui servir un verre d’eau, et si vous rencontrez l’infermière, donnez-lui ce message. (in(robot,c1) Λ in(nurse,c1) -> O talkto(nurse)) U ([] with(Smith) Λ O<> (in(Smith,bathroom) Λ O<> have(Smith, cofee)))

Exemple : But cyclique : mardi 15 mai 2018mardi 15 mai 2018 Exemple : r1 (chambre) r2 (chambre) c1 (corridor) r4 (cusine) r3 (s. bain) c2 (corridor) Smith Infirmière d11 d12 d23 d24 But cyclique : Le robot doit continuellement surveiller (visiter) r1 et r3 [] (in(robot, r1) -> <> in(robot, r3)) Λ [] (in(robot, r3) -> <> in(robot, r1)) Plan: ((close(d11), open(d11), mv(r1,c1), mv(c1,c2), mv(c2,r3), close(d23), open(d23), mv(r3,c2), mv(c2,c1), mv(c1,r1),0)

Au de là de TLPLAN TALPLANNER Kvarnström and Doherty (Linköping University, Sweden) Préférences temporellement étendues McIlRaith and Baier (University of Toronto) Défi: apprendre les connaissances de contrôle de recherche.

Références Malik Ghallab, Dana Nau & Paolo Traverso. Automated Planning: theory and practice. Morgan Kaufmann, 2004. http://www.laas.fr/planning/ (Chapitre 10) Bacchus F. and Kabanza F. Using Temporal Logic to Express Search Control Knowledge for Planning. Artificial Intelligence , 116(1-2):123-191, 2000 http://www.cs.toronto.edu/tlplan/tlplan.shtml http://www.planiart.usherbrooke.ca (Section Donwload)

TLPLAN Exemples de modèles Robot world Robot problems Démo Téléchargement: http://www.planiart.usherbrooke.ca/download-en.html