IFT702 Intelligence Artificielle

Slides:



Advertisements
Présentations similaires
S-SYSTEMS ETAPPROCHE HYBRIDE
Advertisements

Fabrice Lauri, François Charpillet, Daniel Szer
Présentation du référentiel CAP « PROELEC »
« Systèmes électroniques »
Dans l'ouvrage PHONO qui vise le développement des compétences phonologiques des élèves de GS et CP, GOIGOUX - CEBE - PAOUR ont mis en oeuvre les principes.
Julie Dugdale Génie Logiciel 2 Julie Dugdale
Raisonnements sur le temps : au carrefour des disciplines
1 1 Momentum. 2 2 Tout objet en mouvement continuera son mouvement tant que rien nentrave sa progression.
Module d’Enseignement à Distance pour l’Architecture Logicielle
ANALYSE DES TRAITEMENTS
Algèbre relationnelle
Présentation du référentiel CAP « PRO Elec »
Catégoriser le lexique
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
Tests et Validation du logiciel
Description du fonctionnement d'un système 1 Clic Clic
Ordonnancement des mouvements de deux robots
Christelle Scharff IFI Juin 2004
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Bases de l’Intelligence Artificielle Distribuée
OCaml - Les listes L3 MI.
Des RRA à la diagnosticabilité
Interaction Homme Robot Sujet « 16/03/2012 » Réalisé par :
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.
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
1.2 COMPOSANTES DES VECTEURS
Calcul Relationnel Chapitre 4, Section 4.3.
Méthode des k plus proches voisins
Programmation logique Démonstrateur automatique
Quelques Modèles de conception
Complément Le diagramme des classes
Froduald Kabanza Département d’informatique Université de Sherbrooke
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
La pensée logique au cycle 1
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Jean-François Landry Département d’informatique
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT615 – Intelligence artificielle Planification temporelle
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
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.
Présenté à: M. Froduald Kabanza Par: Jonathan Pelletier Cody Stoutenburg Simon-Pierre Thibault.
CSI3525: Concepts des Languages de Programmation
Universté de la Manouba
Cours N°2 Base de Données & Langage SQL
Partie II Sémantique.
Simon Langevin Mathieu Poisson
Ordonnancement de tâches
Couplage d'un langage de contrôle un système de formatage existant
Projet de Master première année 2007 / 2008
Synchronisation Classique
1 Modèle pédagogique d’un système d’apprentissage (SA)
ANALYSE METHODE & OUTILS
DEMARCHE ERGONOMIQUE.
Programmation dynamique
Vue d’ensemble des outils du PRISM Dakar, 3 au 21 Mai 2010
Supports de formation au SQ Unifié
IFT702 Intelligence Artificielle Froduald Kabanza Département d’informatique Université de Sherbrooke IFT702 TLPlan.
Gestion de projet Planification.
IFT 702 – Planification en intelligence artificielle Planification par recherche dans un espace de plans Froduald Kabanza Département d’informatique Université.
Nouvelles Technologies Internet & Mobile
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.
Introduction et Généralités sur l’Algorithmique
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
IFT608 / IFT702 Intelligence Artificielle
IFT608 / IFT702 Intelligence Artificielle
Transcription de la présentation:

IFT702 Intelligence Artificielle jeudi 30 mars 2017jeudi 30 mars 2017 IFT702 Intelligence Artificielle Froduald Kabanza planiart.usherbrooke.ca/kabanza/cours/ift702 Contrôle de la recherche avec des formules de logique temporelle IFT702

Sujets Logique Temporelle Linéaire (LTL) jeudi 30 mars 2017jeudi 30 mars 2017 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

Robot domestique Des robots vont bientôt aider des personnes âgées : jeudi 30 mars 2017jeudi 30 mars 2017 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 aider des personnes âgées : 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.

jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 Connaissance experte de planification Un planificateur classique a comme connaissance les actions primitives ou les transitions possibles (effets, préconditions) Les planificateurs modernes les plus performants 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

Connaissance de contrôle de recherche jeudi 30 mars 2017jeudi 30 mars 2017 Connaissance 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 connaissance permet d’éviter la génération de transitions inutiles durant la recherche d’un plan.

D’où viennent les connaissances stratégiques? jeudi 30 mars 2017jeudi 30 mars 2017 D’où viennent les connaissances stratégiques? Les connaissance 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.

jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 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 + jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 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 jeudi 30 mars 2017jeudi 30 mars 2017 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 : jeudi 30 mars 2017jeudi 30 mars 2017 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))

jeudi 30 mars 2017jeudi 30 mars 2017 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 : jeudi 30 mars 2017jeudi 30 mars 2017 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) 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

Cours suivant Voir le plan de cours