IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique.

Slides:



Advertisements
Présentations similaires
IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique.
Advertisements

IFT313 Introduction aux langages formels
Les choses que j aime Learning Objective: To know how to use j aime to talk about things I like to do.
Cest mercredi le neuf octobre Le plan! 1.Révisions 2.Vocabulaire 3.Jouer 4.Ecouter 5.Parler Il fait beau! Le but! Les couleurs!
Laboratoire des outils informatiques pour la conception et la production en mécanique (LICP) ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE 1 Petri nets for.
Introduction Définir Planning. L’agent Planning. Représentation pour l’agent planning. Idées derrieres l’agent planning.
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
1 Doxygen. 2 Doxygen : qu’est-ce que c’est ? Code C++, Java,... ● Un générateur de documentation – pour C + +, mais aussi C, Java, Fortran,... – Il fonctionne.
Propriétés des nombres. Multiples et facteurs Le lundi le 24 octobre 2016.
IP Multicast Text available on
Les questions Grammaire: p
Utilisation du logiciel EduStat©
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
Langage de manipulation de données (LMD)
Formules en 2 étapes 1MPES4
(= for (how long) / since (when?)
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.
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.
Initiation à l’intelligence artificielle développementale
IFT 615 – Intelligence artificielle Recherche heuristique
Les bases de données et le modèle relationnel
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.
l y a which we have already learned means “there is/are l y a which we have already learned means “there is/are.” When we put a measure of time.
Les pentes sont partout.
Techniques d’Optimisation Chapitre 3: Programmation en 0-1 (bivalente)
Les questions et les mots interrogatifs
Fonctions Logiques & Algèbre de BOOLE
INTELLIGENCE ARTIFICIELLE
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.
Conditional Clauses By Mª Mercedes Sánchez Year
Manipulation D’Une Base De Données
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
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.
IFT 702 – Planification en intelligence artificielle Langage PDDL
Froduald Kabanza Département d’informatique Université de Sherbrooke
Calcul Scientifique Initiation à SCILB
Psychological Approaches to Dreams why people dream? five major approaches to psychology: Psychodynamic, humanistic, behavioral, cognitive, and neuroscience.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
The Passé Composé In the previous lesson we looked at the formation of the passé composé (perfect tense) with Avoir verbs. In this lesson we will further.
Le soir Objectifs: Talking about what you do in the evening
Qu’est-ce que tu as dans ta trousse?
Efficacité des algorithmes
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.
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
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
Qu’est-ce que tu as dans ta trousse?
Révision – Phrases Importantes
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
Variable Neighborhood Descent (VND) Réalisée par Nadia Sassi Eya baghdedi AU
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.
CSI 3505 Algorithmes Voraces
INTELLIGENCE ARTIFICIELLE
CSI 3505 / Automne 2005: Conception et Analyse des Algorithmes I.
Chapter 11: Récursivité Java Software Solutions Second Edition
1 Sensitivity Analysis Introduction to Sensitivity Analysis Introduction to Sensitivity Analysis Graphical Sensitivity Analysis Graphical Sensitivity Analysis.
Les Mots Intérrogatifs
Lequel The Last Part.
Le Climat : Un dialogue entre Statistique et Dynamique
Les couleurs.
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
Journée 2ème: introduction
Prepositions of Location
IMPROVING PF’s M&E APPROACH AND LEARNING STRATEGY Sylvain N’CHO M&E Manager IPA-Cote d’Ivoire.
Transcription de la présentation:

IFT 702 – Planification en intelligence artificielle Extraction automatique d’heuristiques à partir d’un modèle Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702

Contenu Graphe de planification mercredi 23 mai 2018 Contenu Graphe de planification Générer un plan à partir d’un graphe de planification Extraction automatique d’une heuristique à partir d’un graphe de planification IFT608/IFT702 © Froduald Kabanza

Modèle STRIPS ou PDDL Rappel IFT608/IFT702 © Froduald Kabanza

mercredi 23 mai 2018 Langage PDDL Un problème dans le langage PDDL est un tuple P= (F, O, I, G) F est un ensemble de propositions (variables booléenes) O est un ensemble d’opérateurs (actions) I  F est l’état initial (conjonction de faits vrai) G  F est le but (conjonction de fait à rendre vrai) Des opérateurs PDDL o  O représentés par: La liste des préconditions Pre(o) )  F La liste des effets positifs Add(o)  F La liste des effets négatifs Del(o)  F Optionnellement, la durée et le coût de l’action. IFT608/IFT702 © Froduald Kabanza

Transformation – Du langage au modèle mercredi 23 mai 2018 Transformation – Du langage au modèle Un problème P =(F,O,I,G) détermine un modèle d’états S(P) (avec des transitions entre les états ) tel que: Les états s  S sont des ensembles de propositions de F Les états buts s sont tel que G s Les actions a  A(s) sont des opérateurs tel que Pre(a)  s L’état successeur est s’ = S- Del(a) + Add(a) Par défaut les coûts c(a,s) sont tous égaux à 1. Par défaut les durées d(a,s) sont tous égaux à 1. La solution (optimale) de P est la solution (optimale) de S(P) Plusieurs aspects de PDDL et ses extensions : Patrons d’actions Actions conditionnelles Actions non-déterministes ou probabilistes IFT608/IFT702 © Froduald Kabanza

Comment résoudre un modèle PDDL mercredi 23 mai 2018 Comment résoudre un modèle PDDL Deux approches traditionnelles : Exploration de l’espace d’états –que nous avons vu Exploration de l’espace de plans –que nous verrons plus tard Deux rôles joués par le langage PDDL : Expression concise du modèle Révèler des informations heuristiques IFT608/IFT702 © Froduald Kabanza

IDÉE de Base Extraction d’heuristiques à partir d’un modèl IFT608/IFT702 © Froduald Kabanza

Extraction d’heuristique à partir d’un modèle mercredi 23 mai 2018 Extraction d’heuristique à partir d’un modèle Une heuristique peut être expliquée comme étant une fonction de coût optimale pour un problème relaxé (simplifiée) (Minsky 19961; Pearl 1983). Une façon de relaxer un problème de planification P est de supprimer les delete-lists des opérateurs de P. Le problème ainsi relaxé est noté P+. Si c*(P+) est le coût de la solution optimale de P, alors c*(P+) est une heuristique admissible pour P. Dans un état s, on peut utiliser h(s) = c*(P+)(s) (le coût de la solution optimale en partant de l’état initial s). Exemples: FF et Java FF IFT608/IFT702 © Froduald Kabanza

Graphe de planification Relaxation d’un problème de planification Graphe de planification IFT608/IFT702 © Froduald Kabanza

Graphe de planification - Idée mercredi 23 mai 2018 Graphe de planification - Idée Étant donné un problème P=(F, O, I, G), un algorithme de planification par exploration de l’espace d’états consiste à Vérifier s’il existe une séquence d’actions permettant d’atteindre un état satisfaisant le but G à partir de l’état initial I. Un graphe de planification est une structure, représentant une relaxation du problème P et permettant d’estimer efficacement quel ensemble de propositions est atteignable par quelles actions. Efficacement parce que le graphe est de taille polynomiale par rapport à P et est construit en temps polynomial par rapport à P. Si on relaxe le graphe de planification à son tour (en ignorant les delete-lists), on obtient une relaxation P+ du problème P permettant de calculer des heuristiques efficacement. Rappelons que les états sont des ensembles de propositions IFT608/IFT702 © Froduald Kabanza

Graphe de planification – Définition Formelle mercredi 23 mai 2018 Graphe de planification – Définition Formelle Étant donné un problème P=(F, O, I, G), le graphe de planification pour P, noté P+, est un graphe constitué de: Deux types de nœuds (propositions, actions), organisés par niveaux qui alternent, et Un ensemble de paires de propositions (d’actions) exclusivement mutuelles, appelé mutex. Le niveau proposition approxime les état atteignables par les actions du niveau précédent. Le niveau action approxime les actions permises (exécutables) dans les états approximés par le niveau précédent. Arcs: Préconditions Effets positifs (ligne continue) et négatives (ligne pointillée) Precond. Proposition level Action Level Add/Del Rappelons que les états sont des ensembles de propositions IFT608/IFT702 © Froduald Kabanza

Algorithme de génération du graphe de planification Premier niveau : état initial Répétitivement, ajouter le niveau suivant: Action : toutes les actions dont les préconditions sont satisfaites par le niveau proposition précédent. Proposition (littéraux): Tous les effets des actions du niveau précédent et de l’action no-op. Construction de l’ensemble mutex: à venir …. IFT702 IFT608/IFT702 © Froduald Kabanza

Exemple 1 [Russel and Norvig, 2009, Chapître 10] Les “carrés” représentent les actions de persistence de chaque prédicat. C.-à-.d, tant qu’aucune action ne change la valeur du prédicat, le prédicat est conservé tel quel dans l’état suivant. Sans les actions de persistence, il ne serait pas possible de représenter la partie du monde qui ne change pas par rapport aux actions possibles applicables dans l’état courant. IFT702 IFT608/IFT702 © Froduald Kabanza

Construction de l’ensemble mutex Deux actions sont mutuellement exclusives (mutex) si: Inconsistance : l’une nie l’effet d’une autre Interférence: l’une supprime la précondition d’une autre Ressources conflictuels : elles ont des préconditions mutex Deux propositions sont mutuellement exclusives (mutex) si: L’une est la négation de l’autre ou Support inconsistant: toutes les paires d’actions ayant ces propositions comme effets sont mutex. Le niveau S0 contient tous les littéraux qui sont initialement vrai. Le niveau A0 contient toutes les actions permises par le niveau S0 et, chose importante, enregistre aussi les exclusions mutuelles entre les actions du niveau 0. Les lignes grises indiquent des liens d’exclusion mutuelle. Par exemple, dans le niveau A0, l’action No-op en haut est mutuellement exclusive avec Eat(cake) parce les deux produisent des effets mutuellement exclusifs (Have(Cake) et Not(Have(Cake)). Dans le niveau S1, Not(Have(Cake)) et Not(Eat(Cake)) sont mutuellement exclusifs puisqu’ils sont produits par des actions qui sont mutuellement exclusifs. Ainsi de suite … © Froduald Kabanza IFT608/IFT702

Construction de l’ensemble mutex Deux actions sont mutuellement exclusives (mutex) si: Effets inconsistants : l’une nie l’effet d’une autre Interférence (précondition-effet) : l’une supprime la précondition d’une autre Ressources conflictuels : elles ont des préconditions mutex Deux propositions sont mutuellement exclusives (mutex) si: Inconsistance: l’une est la négation de l’autre ou Support inconsistant: toutes les paires d’actions ayant ces propositions comme effets sont mutex. En résumé … © Froduald Kabanza IFT608/IFT702

Algorithme GRAPHPLAN: AIMA (IFT615) Page 383 À l’origine, le graphe de planification est utilisé pour planifier d’une autre façon que explorer un espace d’états. L’algorithme, décrit ici, est simple. On génère le graphe jusqu’à niveau où toutes les propositions formant le but conjonctif apparaissent et soint non mutex. Ensuite, on fait une recherche à rebours pour trouver une solution dans ce graphe. Si on ne trouve pas la solution, la recherche continue jusqu’il n’y ait plus de raison d’étendre le graphe (critère d’arrêt). CRITÈRE D’ARRÊT AIMA (Section 10.3.3) Page 385 In the case where EXTRACT-SOLUTION fails to find a solution for a set of goals at a given level, we record the (level , goals) pair as a no-good. How long do we have to keep expanding after the graph has leveled off? If the function EXTRACT-SOLUTION fails to find a solution, then there must have been at least one set of goals that were not achievable and were marked as a no-good. So if it is possible that there might be fewer no-goods in the next level, then we should continue. As soon as the graph itself and the no-goods have both leveled off, with no solution found, we can terminate with failure because there is no possibility of a subsequent change that could add a solution. Il peut être prouvé que s’il n’y a pas de solution, le graphe va tôt ou tard se niveler (voir prevue dans AIMA, page 386). Russel and Norvig. Artificial Intelligence : A Modern Approach, 2009, chapitre 10. IFT702 IFT608/IFT702 © Froduald Kabanza

Algorithme Extract Solution Recherche à rebours (backwards) Niveau-par-niveau pour mieux exploiter les mutex Pour chaque but à l’itération n, trouver une action ayant ce but dans ses effets et non mutex avec une action déjà choisie Les préconditions de ces actions deviennent les (sous-)buts à l’étape n-1 Trouver les actions ayant pour effets les (sous-)buts de l’étape n-1. S’il n’y en a pas Backtrack Memoisation Memoization: caches for future use the results learned from exhaustive search about inconsistent subgoal (in search) Time for creation of graph structure in any case polynomial Low-Level Cost:no instantiation during search (done during propositional graph construction) IFT702 © Froduald Kabanza IFT608/IFT702

Exemple 2 [Russel and Norvig, 2009, Chapître 10] Axle = essieu en français IFT702 IFT608/IFT702 © Froduald Kabanza

Exemple 2 [Russel and Norvig, 2009, Chapître 10] IFT702 IFT608/IFT702 © Froduald Kabanza

Extraction d’heuristiques IFT608/IFT702 © Froduald Kabanza

Extraction d’heuristiques- Idée mercredi 23 mai 2018 Extraction d’heuristiques- Idée Pour extraire des heuristiques d’un problème P=(F, O, I, G), on relaxe le problème en ignorant les delete-lists dans les opérateurs O. On construit un graphe de planification relaxé P+ dans lequel on ignore les delete-lists On n’a plus les mutex, puisqu’il ne peut y avoir des conflits sans les delete-lists. L’estimation heuristique (h) du coût optimal pour arriver au but G à partir d’un état s est alors le premier niveau contenant toutes les propositions de G dans le graphe relaxé P+ à partir de l’état S. Rappelons que les états sont des ensembles de propositions IFT608/IFT702 © Froduald Kabanza

Formellement Étant donné un P=(F, O, I, G), pour calculer h(s): mercredi 23 mai 2018 Formellement Étant donné un P=(F, O, I, G), pour calculer h(s): Construit le graphe de planification relaxé P+ avec les niveau P0, A0, A1, … P0 = {p  s} Ai = {a  O | Pre(a)  Pi} Pi+1 = Pi U {p  Add(a) | a  Ai} P+ représente implicitement l’heuristique hmax(s) = min i such that G  Pi  Approche utilisée par MetricFF et JavaFF Il existe des heuristiques plus précises obtenues de P+ de façon additive (plutôt que max) en faisant une recherche à rebours dans P+. Rappelons que les états sont des ensembles de propositions. http://www.dtic.upf.edu/~hgeffner/ecai08.pdf IFT608/IFT702 © Froduald Kabanza

Au-delà de L’extraction d’heuristiques Planification avec des balises, apprentissage d’heuristiques Au-delà de L’extraction d’heuristiques IFT608/IFT702 © Froduald Kabanza

EHC, Actions Utiles, Balises mercredi 23 mai 2018 EHC, Actions Utiles, Balises Dans la formulation précédente de la planification par exploration de l’espace d’états, l’heuristique h(s) est utilisé comme une boite noire. Des planificateurs comme FF (Java FF) et LAMA vont plus loin. Elles exploitent la structures de l’heuristique et/ou du problème à résoudre: Concept d’actions utiles Concept de balises (propositions qui doivent être vraies à certains dans chaque plan satisfaisant le but) Utilisent de nouveau algorithmes (mieux que A*) Enforced Hill Climbing (EHC) Multi-queue Best First Search Cela donne des planificateurs bien plus efficaces … jusqu’à un certain point. La planification par des balises peut trouver un fondement dans le rôle que jouent les balises dans les cartes cognitives. Une carte (ou modèle) cognitive est une représentation mentale de l’environnement physique (particulièrement les relations spatiales), nous permettant de de facilement comprendre, se rappeler décoder ou naviguer dans cet environnent. http://en.wikipedia.org/wiki/Heuristic#Cognitive_maps: Les humains créent les cartes cognitives de plusieurs façons dont l’utilisation des balises (landmarks). Par exemple, en se basant sur des balises, on peut facilement estimer les distances entre les objets. Cognitive map - http://en.wikipedia.org/wiki/Cognitive_map: A cognitive map (also: mental map or mental model) are internal representations of our physical environment, particularly associated with spatial relationships. We use them to acquire, code, store, recall, and decode information about the relative locations and attributes of phenomena our everyday or metaphorical spatial environment. The concept was introduced by Edward Tolman in 1948. http://en.wikipedia.org/wiki/Heuristic#Cognitive_maps : There are several ways that humans form and use cognitive maps. Visual intake is a key part of mapping. The first is by using landmarks. This is where a person uses a mental image to estimate a relationship, usually distance, between two objects. Second, is route-road knowledge, and this is generally developed after a person has performed a task and is relaying the information of that task to another person. Third, is survey. A person estimates a distance based on a mental image that, to them, might appear like an actual map.  IFT608/IFT702 © Froduald Kabanza

Apprentissage d’heuristiques mercredi 23 mai 2018 Apprentissage d’heuristiques Référence 1: Xu et al. Discriminative Learning of Beam-Search Heuristics for Planning. IJCAI 2007. URL: http://www2.parc.com/isl/members/syoon/ijcai07-beam.pdf Référence 2: http://ipc.icaps-conference.org/ (Learning Track) IFT608/IFT702 © Froduald Kabanza

mercredi 23 mai 2018 Idée pour Projet 2 Comparer le planificateur par défaut dans ROSPlan (POPF) avec un planificateur qui extrait automatiquement des heuristiques comme FF ou LAMA IFT608/IFT702 © Froduald Kabanza

mercredi 23 mai 2018 Ce qu’il faut retenir L’idée de base, couverte ici, est que étant donné un problème P, on peut relaxer le problème pour définir une fonction heuristique pour une recherche dans un espace d’états. Le graphe de planification est un des concepts de base utilisé pour relaxer un problème. Vous devez être capable d’expliquer comment une heuristique est défini à partir d’un graphe de planification relaxé en ignorant les delete-lists. Les approches récentes, non couvertes ici, vont au-delà en exploitant la structure du problème (exemple, les balises) et en utilisant de nouveaux algorithmes de recherche (exemple, Enfonced Hill Climbing). IFT608/IFT702 © Froduald Kabanza

Vous devriez être capable de … mercredi 23 mai 2018 Vous devriez être capable de … Définir ce qu’un graphe de planification Décrire le graphe de planification pour un problème donné Expliquer comment une plan est généré à partir d’un graphe de planification Expliquer comme est heuristique pour une recherche dans un espace d’états est défini à partir d’un graphe de planification relaxé en ignorant les delete-lists. IFT608/IFT702 © Froduald Kabanza