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

Slides:



Advertisements
Présentations similaires
Fabrice Lauri, François Charpillet, Daniel Szer
Advertisements

Apprendre, cest poursuivre un but 3 façons de donner du sens (Davelay, 1992; Viau, 1994) 1.Compétence 2.Contrôle 3.Utilité
Résolution de problèmes et logiciel de calcul symbolique
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage des Conditions Initiales à l'Identique.
Comportements hybrides
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique.
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels
Évaluer pour faire apprendre dans une approche par compétences
Pédagogie par Objectifs
IFT 615 – Intelligence Artificielle Introduction
IFT702 Intelligence Artificielle
IFT313 Introduction aux langages formels
Bases de l’Intelligence Artificielle Distribuée
IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique.
IFT 615 – Intelligence artificielle Agents intelligents
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
BIAD Bases de l’Intelligence Artificielle Distribuée
Simulation multi-agent de phénomènes collectifs : quelques questions d’ordre épistémologique Frédéric AMBLARD Institut de Recherche en Informatique de.
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 3 : Laide à la décision Laide.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT313 Introduction aux langages formels
Froduald Kabanza Département d’informatique Université de Sherbrooke
IFT313 Introduction aux langages formels
Froduald Kabanza Département d’informatique Université de Sherbrooke
EPITA Exposants : Samir ASFIRANE David BENABOU Justin GOUEDE Version : 1.0 L'INTELLIGENCE ARTIFICIELLE : Une voie abandonnée ?
La formation des ressources humaines
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Révision de mi-session.
Département d’informatique
IFT313 Révision finale Département d’informatique
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
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.
Rappel Modèle analyse-synthèse de la compilation
Division scolaire franco-manitobaine Denine Laberge Le mardi 10 avril h 30 à 11 h 45.
Troisième module Le développement cognitif
L’apprentissage situé : approche épistémologique
Une nouvelle approche pour la recherche sur l’apprentissage compétentiel et instrumenté de la géométrie à l’école secondaire Philippe R. Richard Université.
Chapitre I : Introduction à l'IA
ANALYSE METHODE & OUTILS
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Vers un nouvel empirisme: l’ancien et le nouvel empirisme John Goldsmith Université de Chicago CNRS MoDyCo.
Agents intelligents.  L’IA peut être envisagée de différentes manières. Les deux questions essentielles qu’ il convient de se poser sont: Vous intéressez-vous.
Le programme du cycle d’orientation
La technologie en 3ème avec Rob’OK Au collège République Bobigny
Monitoring the Dynamic Web to respond to Continuous Queries Le titre en français : Surveillance de l'enchaînement dynamique pour répondre aux questions.
Tableau de stratégie de formation dans le cadre de parcours relayés
Les écoles de pensée en gestion et contribution des SIC
Atelier CREATIVITE SCIENTIFIQUE ET SA TRANSMISSION Animé par Franova MARTA (LRI, Gif sur Yvette) EXPOSE D’INTENTION La créativité scientifique est un sujet.
IFT702 Intelligence Artificielle Froduald Kabanza Département d’informatique Université de Sherbrooke IFT702 TLPlan.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Des sciences de gestion aux programmes de sciences de gestion
Algorithmique et programmation (1)‏
1 Méthodes pédagogiques Formation de formateurs AFGSU CESU 75 Janvier 2008.
Maîtrise Informatique 2002/2003 Langages & Systèmes Objets TP : Agents Logiciels.
CSI 4506: Introduction à l’Intelligence Artificielle
Introduction et Généralités sur l’Algorithmique
Intelligence artificielle
IFT 615 – Intelligence artificielle Consignes pour l’examen final
GPA-779 Application des systèmes experts et des réseaux de neurones.
ANIMATION PEDAGOGIQUE MATERNELLE
IFT 615 – Intelligence Artificielle Introduction
Transcription de la présentation:

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

Contenu de cette introduction Énoncé général du problème de planification Perspective historique de la planification en IA Modèles et solveurs Cadres d’approches pour les solveurs Exemples d’applications IFT702© Froduald Kabanza2

IFT702© Froduald Kabanza3 l Le problème principal étudié dans ce cours est celui de concevoir un algorithme permettant à un agent de choisir ses actions en vue d’accomplir ses buts. l La planification n’est pas la seule approche algorithmique pour résoudre ce problème. Mais c’est l’approche qui nous concerne dans ce cours. Problème du choix d’actions Je voudrais poster une lettre. Quelle prochaine action?

IFT702© Froduald Kabanza4 Problème de reconnaissance de plans Quel est son but? Comment va-t-il l’accomplir? l Un autre problème secondaire que nous allons effleurer est celui de reconnaître les intentions, les buts, ou les comportement d’un autre agent. l Ce problème peut être formulé et résolu comme l’inverse de la planification. l Ce n’est pas la seule approche, mais c’est celle là qui nous concerne dans ce cours.

Perspective historique de l’IA “The proposal [for the meeting] is to proceed on the basis of the conjecture that every aspect of... intelligence can in principle be so precisely described that a machine can be made to simulate it” IFT702© Froduald Kabanza5

Perspective historique de l’IA De 1956 jusqu’au milieu des années 1980, les recherches en IA sont dominées par des approches à base de connaissances (knowledge based). – Critique : L’IA conventionnelle [knowledge based] n’est qu’une « application de règles », mais l’intelligence [humaine] ne l’est pas (Haugeland) Dès les années 1980, les approches comportementales (behaviour based ou situated AI) deviennent populaire. – Leitmotiv : La représentation des connaissances n’est pas nécessaire, elle est même nuisible (Brooks) Dès les années 1990, les approches connectionistes et probabilistes reprennent de la vigueur (Neural Networks / Parallel Distributed Computing) – Leitmotiv : L’inférence nécessaire [pour l’IA] est probabiliste, mais pas logique. Ces critiques paraissaient fondées à l’époque; elles le sont moins maintenant. IFT702© Froduald Kabanza6

L’IA aujourd’hui Les récentes publications dans AIJ, JAIR, AAAI et IJCAI contiennent des articles sur: 1.Recherche heuristique et planification 2.Satisfaction de contraintes 3.Planification probabiliste 4.Systèmes multiagents 5.Robotique 6.Raisonnement probabiliste 7.Inférence logique 8.Apprentissage automatique 9.Game AI 10.Vision 11.Traitement du langage naturel Différentes approches de planification sont reliées à ces différents sujets. Le cours abordera seulement les cinq premiers. IFT702© Froduald Kabanza7

IFT702© Froduald Kabanza8 Problème du choix d’actions revisité Il y a trois approches algorithmiques principales en IA pour équiper un agent avec un contrôleur permettant à l’agent de choisir ses actions pour accomplir un but: 1.Programmation explicite – Donne la capacité d’avoir des comportements automatiques, mais pas forcément autonome. 2.Apprentissage à partir de l’expérience – Confère l’autonomie à l’agent, mais pas efficace pour bien des problèmes. 3.Planification dériver les actions à partir d’un modèle des actions primitives, des capteurs et du but de l’agent – Efficace pour des problèmes complexes, mais difficulté d’acquisition/représentation des modèles et de définition/extraction/apprentissage d’heuristiques. Certains travaux de recherches sont orientés vers une intégration de ces trois approches.

Comment concevoir le contrôleur? IFT702© Froduald Kabanza9 Controller World Actions Obs. Contrôleur : programme qui contrôle le robot pour effectuer des tâches domestiques. C’est le cerveau! Entrées continues du contrôleur: l Données des capteurs (observations du monde) l Les buts Sortie continue du contrôleur: l La prochaine action (les prochaines actions en générale).

Comment concevoir le contrôleur? IFT702© Froduald Kabanza10 Programmer explicitement le contrôleur observations buts if (saleté plancher > 50%) then nettoie plancher; else if (batterie < 25%) then trouver endroit branchement; brancher; … if (saleté plancher > 50%) then nettoie plancher; else if (batterie < 25%) then trouver endroit branchement; brancher; … action World Exécution de l’action

Comment concevoir le contrôleur? IFT702© Froduald Kabanza11 Apprendre le contrôleur observations buts action World Exécution de l’action Processus d’apprentissage Contrôleur observations buts

Comment concevoir le contrôleur? IFT702© Froduald Kabanza12 Planifier le contrôleur observations buts action World Exécution de l’action Contrôleur = Plan Planificateur Modèle d’actions, capteurs et buts observations buts

Comment concevoir le contrôleur? IFT702© Froduald Kabanza13 Planifier le contrôleur observations buts Avancer World Exécution de l’action Avancer; Aspirer; Reculer; Avancer; Aspirer; Reculer; Planificateur Actions -Avancer-Se recharger -Reculer-Parler -Balayer Buts -Plancher propre -Batterie > 0% modèle observations buts

Comment concevoir le contrôleur? IFT702© Froduald Kabanza14 Intégrer la planification et l’apprentissage observations buts action World Exécution de l’action Contrôleur = Plan Planificateur Modèle d’actions, capteurs et buts Processus d’apprentissage observations buts

IFT702© Froduald Kabanza15 Planificateur = Solveur de modèle Un planificateur est donc d’un solveur de modèle. Cela répond à une des quêtes originelles de l’IA, d’avoir un solveur général (générique) codifiant l’intelligence. Il existe d’autres solveurs dans d’autres domaines. Par exemple, pour la programmation linéaire en recherche opérationnelle Plan Solveur Modèle d’actions, capteurs et buts Solution Solveur Modèle (système d’équations; fonction objective)

IFT702© Froduald Kabanza16 Solveur de programmation linéaire Solution: (x,y)=(3,12) Simplex MaximiserZ = f(x,y) = 3x + 2y Avec les contraintes: 2x + y ≤ 18 2x + 3y ≤ 42 3x + y ≤ 24 x ≥ 0, y ≥ 0 GLPK IBM CPLEX

Planification en IA vs Recherche opérationnelle Il y a un chevauchement entre les deux – Par exemple : solveurs pour la programmation linéaire, les processus de décision Markovienne, la satisfaction de contraintes, la recherche heuristique. La plupart des problèmes d’intérêt en IA sont cependant d’une trop grande complexité théorique pour les solveurs en recherche opérationnelle. – L’IA met d’avantage d’accent sur la définition, l’extraction et l’apprentissage des heuristiques. La plupart des approches IA sont implicitement motivée par des applications de nature « cognitive » plutôt que l’optimisation « pure » en recherche opération. – Certains solveurs IA sont donc souvent basées sur des théories différentes de celles normalement étudiées en recherche opérationnelle. IFT702© Froduald Kabanza17

Théories mathématiques sous-jacents aux solveurs que nous allons étudier Un planificateur est donc un solveur de modèle Les solveurs que nous verrons sont basés sur: – Théorie des graphes – Logique mathématique – Théorie des probabilités (Bayes) – Optimization – Théorie des jeux IFT702© Froduald Kabanza18 Plan Planificateur Modèle d’actions, capteurs et buts

19 Where will the opponent attack? Où envoyer les renforts? Application aux jeux de Stratégie temps réel

Froduald Kabanza IFT70220 Planification de trajectoire – Bras-robot articulés Bras-robot articulés – Voiture auto-conduite (Google self-driving car)Google self-driving car Robots mobiles IA pour les jeux vidéos – Tournoi StarCraft : Tournoi StarCraft eis.ucsc.edu/StarCraftAICompetition – Action Planning (GOAP) dans le jeu F.E.A.R web.media.mit.edu/~jorkin/goap.html Autres exemples

Froduald Kabanza IFT70221 StarCraft: – Ancien projet: H Tousignant et al o Cartes d’influence de visibilité/menace/importance o Intégration d’un algorithme de reconnaissance des build orders de l’adversaire Intégration d’un algorithme de reconnaissance des build orders de l’adversaire – Ancien projet: H2011 – Stoutenburg et al o Planification optimale de production de ressources. Il a reproduit les résultats de l’article « Chan et al (2007), Online Planning for Resource Production in Real-Time Strategy Games, ICAPS » – Ancien projet H2011 – Bessette et al o Microgestion d’unités individuelles et de groupes Échantillons de projets antérieurs

Froduald Kabanza IFT70222 Divers – Planification des quarts de travail pour le supermarché Métro. – Modèle hybride de reconnaissance de plans pour patients Alzheimer – Planification exacte de trajectoires avec OOPSMP – GOAP simplifié – Scheduling d'un projet Microsoft – IA pour un jeu de billard – Reconnaissance de plan dans PAC-MAN – UCT pour Star Craft Échantillons de projets antérieurs

Deterministic vs. stochastic actions Différentes hypothèses qui seront considérées 23 (1) (2) successful attack (2) failed attack (2) failed attack (3)... Fully vs. partially observable environments Single-agent vs. multiagent problems

Défis qui seront étudiés IFT702© Froduald Kabanza24 Explosion combinatoire des états: – Extraire des heuristiques du domaine – Approches Monte-carlo (échantillonage) – Apprentissage d’heuristiques (non couvert, mais pourrait faire l’objet d’un choix d’article) Coordination: – Planification multi-agent – Perception, planification, exécution (non couvert, mais pourrait faire l’objet du projet – intégration d’un algorithme de reconnaissance de plan).

Planification et architectures décisionnelles IFT702© Froduald Kabanza25 La planification ne suffit pas à elle seule pour contrôler un agent intelligent. D’autres processus interviennent o Observation de l’environnement o Interprétation des observations o Décider du but à accomplir? o Invoquer le planificateur o Exécution du plan généré o Suivi de l’exécution o Activation et désactivation de comportements réflexes o Apprentissage o Interaction avec d’autres agents o …. Architecture décisionnelle coordonne tous ces processus, y compris la planification. Jeff Orkin. GOAP - F.E.A.R (AIDE 2005)

Résumé Un algorithme de planification est fondamental un solveur d’un modèle spécifiant les actions, les capteurs et les buts d’un agents. Ce que nous voyons dans ce cours est: – Langages de modélisation – Algorithmes pour quelques solveurs – Expérimentations simples (devoirs et projet) – Approfondissement d’une approche (étudiants gradués seulement) L’accent est mis sur l’exposé des avancées obtenues avec certaines des approches courantes les plus utilisées et la compréhension des défis en suspens. Plan de cours détaillé IFT702© Froduald Kabanza26