présentée en vue de de L ÉCOLE NATIONALE SUPÉRIEURE DE L AÉRONAUTIQUE ET DE L ESPACE par Yacine Zemali



Documents pareils
Intelligence Artificielle Planification

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

L apprentissage automatique

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Annexe 6. Notions d ordonnancement.

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Les indices à surplus constant

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Définitions. Numéro à préciser. (Durée : )

Intelligence artificielle appliquée à l automatique

Systèmes décisionnels et programmation avancée

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Programmation par contraintes. Laurent Beaudou

Rapport d'analyse des besoins

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Synthèse «Le Plus Grand Produit»

Cours de Master Recherche

OPTION SCIENCES BELLE-ISLE-EN-TERRE

Nom de l application

Chapitre 1 : Introduction aux bases de données

LE PROBLEME DU PLUS COURT CHEMIN

Concevoir et déployer un data warehouse

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Pourquoi l apprentissage?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Évaluation et implémentation des langages

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Apprentissage Automatique

Retour d expériences avec UML

Les diagrammes de modélisation

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Chapitre 2. Eléments pour comprendre un énoncé

Impartition réussie du soutien d entrepôts de données

Architecture des Systèmes d Information Architecture des Systèmes d Information

Principe et règles d audit

Programmation Par Contraintes

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Les apports de l informatique. Aux autres disciplines

Systèmes d information et bases de données (niveau 1)

Les structures de données. Rajae El Ouazzani

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Entraînement, consolidation, structuration... Que mettre derrière ces expressions?

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

quelles sont les spécificités du système de gouvernance des PME - PMI?

Introduction à la méthodologie de la recherche

Coup de Projecteur sur les Réseaux de Neurones

ÉTAT DES LIEUX DE LA GESTION DE LA SÉCURITÉ ET DU BIG DATA

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours 1 : Qu est-ce que la programmation?

Ordonnancement robuste et décision dans l'incertain

LES OUTILS DU TRAVAIL COLLABORATIF

Cours Base de données relationnelles. M. Boughanem, IUP STRI

IFT785 Approches Orientées Objets. FINAL Été Remise : Jeudi 19 août 2002 à 9h00 am

avec des nombres entiers

données en connaissance et en actions?

Environnement Architecture de controle. Décisions

CONDITIONS DE REUSSITE, DISPENSES, REPORTS ET CREDITS DANS L ENSEIGNEMENT SUPERIEUR

Notre modèle d engagement

Intelligence Artificielle et Robotique

2. Activités et Modèles de développement en Génie Logiciel

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Algorithme. Table des matières

LES DECIMALES DE π BERNARD EGGER

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Guide du programme Transition vers l'après-secondaire

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Les «devoirs à la maison», une question au cœur des pratiques pédagogiques

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Gé nié Logiciél Livré Blanc

Qu est-ce qu une tâche?

les outils du travail collaboratif

DIRIGEZ MIEUX. AMÉLIOREZ VOTRE COACHING AUPRÈS DES LEADERS. INSTAUREZ UNE MEILLEURE CULTURE DE LEADERSHIP.

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

DATA QUERY : MODÉLISATION AVANCÉE DE VOS DONNÉES

PRIME D UNE OPTION D ACHAT OU DE VENTE

Initiation à Excel. Frédéric Gava (MCF)

Introduction au Data-Mining

Mathématiques financières

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

Techniques d interaction dans la visualisation de l information Séminaire DIVA

UML et les Bases de Données

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Système de management H.A.C.C.P.

ima est un langage universel conçu pour optimiser la communication et les contacts.

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Introduction au datamining

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

La pratique. Elaborer un catalogue de services

Programmes des classes préparatoires aux Grandes Ecoles

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Primaire. analyse a priori. Lucie Passaplan et Sébastien Toninato 1

Guide No.2 de la Recommandation Rec (2009).. du Comité des Ministres aux États membres sur la démocratie électronique

Transcription:

N o d ordre: 394 THÈSE présentée en vue de l obtention du titre de DOCTEUR de L ÉCOLE NATIONALE SUPÉRIEURE DE L AÉRONAUTIQUE ET DE L ESPACE Spécialité Systèmes Décisionnels par Yacine Zemali Équipe d accueil : Conduite et Décision École doctorale : SYSTEMES Laboratoire d accueil : ONERA-CERT/DCSD Titre de la thèse : Morcellement de l espace de recherche en planification : étude théorique et utilisation pour le calcul d heuristiques soutenue le 28 juin 2004 devant la commission d examen Me. : Marie-Odile Cordier Présidente MM. : Maria Fox Héctor Geffner Rapporteurs M. : Frédérick Garcia Examinateur MM. : Patrick Fabiani Malik Ghallab Directeurs de thèse

Remerciements Je remercie tout d abord Maria Fox, Professeur à l Université de Strathclyde (Glasgow, Grande-Bretagne), et Héctor Geffner, Professeur à l Université Pompeu Fabra (Barcelone, Espagne), pour l intérêt qu ils ont porté à mon travail en acceptant d en être les rapporteurs. Je remercie Marie-Odile Cordier, Professeur à l Université de Rennes, pour m avoir fait l honneur de présider le jury. Je remercie également Frédérick Garcia, Chargé de Recherche INRA, pour avoir accepter de participer à mon jury de thèse. Je remercie bien sûr Patrick Fabiani, Directeur Adjoint du Département de Commande des Systèmes et Dynamique du vol à l ONERA, pour avoir encadré mes travaux, pour son regard critique, pour sa bonne humeur et plus généralement pour tout ce que j ai pu apprendre à ses côtés. Je remercie Malik Ghallab, Directeur de Recherche et Directeur du LAAS-CNRS, pour avoir co-encadré ma thèse, pour les discussions fructueuses et les conseils qui m ont permis d avancer dans mon travail. Je remercie Bernhard Nebel, Professeur à l Université Albert-Ludwigs (Freiburg, Allemagne), pour m avoir accueilli dans son institut durant 5 mois et pour l enrichissement personnel et professionnel qui furent les fruits de cette expérience. Je remercie Malte Helmert, Jörg Hoffmann et Stefan Edelkamp pour leurs critiques, pour leurs conseils et pour nos discussions qui furent souvent constructives. Merci aussi à mes collègues de bureau, et à tous ceux avec qui je partage les moments de détentes (Belote coinchée, repas à l IAS, pots divers...) : Florent, Carsten, Franz, Fred, Lolo, JB, Sylvain, Yannick... et tous les autres. Merci à tous ceux qui me rappellent qu il y a une vie en dehors de l ONERA : Bin, Cheug, Gaétan, Pad, Cédric, Nico, Fanoux et Vanessa, Nathalie et Joseba, Michel, Julia... et tous les autres. Merci également à mon grand père, le Commandant Michel Roy, pour m avoir éveillé à la curiosité scientifique. Toutes les soirées passées dans l atelier de ce bricoleur professionnel ont suscité chez moi un vif intérêt pour les sciences sans lequel je n aurais probablement pas emprunté la voie qui m a mené jusqu à cette thèse. Enfin, un très grand merci à mes parents, à mon frère Naël, à ma soeur Delphine et à ma petite Heidi Müllermilch pour m avoir apporté un soutien sans faille et pour avoir su supporter mes humeurs.

Introduction Présentation du domaine Qu est-ce que la planification? Nos travaux s inscrivent dans le cadre de la planification heuristique déterministe classique [Zemali et al., 2001]. Avant de préciser le sens de chacun de ces qualificatifs, précisons tout d abord ce qu est la planification. Dans le langage courant, on parle souvent de planification : on planifie un projet, on planifie son travail, des vacances, une carrière... Il s agit là d un type de planification. Un autre type de planification, que nous utilisons tous les jours, consiste à planifier un déplacement. Par exemple pour se rendre d une pièce à une autre, nous établissons un plan, de manière involontaire. Ce plan pourra par exemple être de tout d abord se lever de sa chaise, puis de se diriger vers la porte en réalisant un certain nombre de pas, puis d ouvrir la porte avant de la franchir. La planification est donc une notion familière à tout un chacun et une activité que tout être humain pratique quotidiennement. En revanche le langage courant ne fait pas la distinction entre les différents types de planification. Or, nos exemples précédents mettent en évidence plusieurs types de planification. Ainsi, dans le cadre du déplacement, on réalisera la planification des actions physiques à enchaîner pour atteindre notre objectif qui est de sortir de la pièce. Par contre, dans le cas de la planification de vacances, on ne va pas directement planifier toutes les actions que l on fera une fois sur place. On va plutôt réaliser une planification de plus haut niveau. Ainsi on va choisir l itinéraire, les menus, faire le budget, mais en aucun cas on ne va se poser la question qui est de savoir comment on va franchir la porte de l hôtel et combien de pas on va réaliser pour se rendre de la porte jusqu au lit. Notre travail quant à lui s inscrit dans le cadre de la planification automatique à l aide de machines. Cette discipline à pour ambition de reproduire artificiellement une activité de planification en utilisant des algorithmes. Comme nous venons de le voir, le raisonnement humain met en œuvre plusieurs types de planification. La première étape lorsque l on veut reproduire artificiellement l activité de planification et de choisir un type particulier de planification. Pour cette raison, la communauté scientifique qui travaille sur la planification automatique a défini plusieurs langages de modélisation dont l expressivité va permettre une modélisation plus ou moins fine. Ces langages fonctionnent tous sur le même schéma : ils permettent de modéliser le monde dans lequel l agent artificiel (le planificateur) évolue. En particulier, on pourra 1

2 Introduction décrire l état initial du monde ainsi que son état final. Ces mêmes langages permettent de décrire les actions qui sont à la disposition de l agent, ainsi que les effets de ces actions sur l état du monde. Le but du problème est de trouver la séquence d actions qui permettront à l agent de faire évoluer le monde depuis l état initial vers l état final. La difficulté de la tâche de planification automatique dépend bien entendu du niveau de modélisation. Plus les actions et les états du monde sont décrits de manière fine, plus il est difficile de produire des solutions de manière automatique. Planification et Intelligence Artificielle La planification automatique a trouvé sa place au sein de cette discipline très vaste qu est l Intelligence Artificielle. En effet, on a tendance à classifier dans la catégorie Intelligence Artificielle tous les domaines de l informatique visant à simuler ou à reproduire une partie du raisonnement humain. A ce titre, la planification automatique trouve sa place dans cette discipline puisqu elle vise à automatiser sur ordinateur un processus cognitif. Cependant les techniques employées pour résoudre automatiquement les problèmes de planification sont probablement assez éloignées de ce qui se passe dans notre cerveau. En effet, des problèmes qui paraissent très simples à l être humain peuvent paraître très difficiles à la machine et inversement. Les ordinateurs possèdent de très grandes capacités de calcul qui leurs permettent d essayer un grand nombre de possibilités lorsqu ils cherchent les actions composant un plan. Le cerveau humain en revanche utilise des mécanismes complexes, ainsi que l expérience acquise pour éliminer des possibilités dans le choix des actions. Ainsi lorsqu un être humain planifie, il semble qu il ne va pas considérer toutes les possibilités pour choisir les actions. Certaines actions seront éliminées d office car elles sembleront irréalistes ou inutiles. La machine en revanche ne possède pas notre expérience et devra se poser plus de questions. Sur des problèmes de grande taille, pour lesquels notre expérience ne va pas pouvoir suffisamment réduire les possibilités, les machines prennent souvent le dessus. Ainsi, même si les mécanismes employés en planification automatique ne sont pas les mêmes que ceux employés par l être humain, on peut tout de même classifier la planification automatique dans la catégorie de l Intelligence Artificielle. En effet, on trouve deux grands courants en Intelligence Artificielle : Les techniques tentant de reproduire des parties de l intelligence humaine, ou animale, en utilisant les mêmes mécanismes que ceux du cerveau ou des mécanismes observés dans la nature. On peut citer par exemple l apprentissage par réseaux de neurones, la logique floue, les techniques d optimisation utilisant des colonies de fourmis on encore les algorithmes génétiques. Nous parlerons alors d approches plutôt cognitives. Les techniques qui utilisent des mécanismes issues de l algorithmique, des mathématiques appliquées, de la logique... On peut citer par exemple la programmation mathématique, la logique du premier ordre, les systèmes experts ou encore les algorithmes de parcours et de recherche dans les graphes. Nous

Introduction 3 parlerons dans ce cas d approches pragmatiques. La planification automatique se situe dans le second courant, puisque comme nous le verrons dans la suite, les techniques employées reposent largement sur des algorithmes de recherche dans des graphes ou encore sur la logique du premier ordre. Les différents types de planification Sans rentrer dans les détails, on peut dire qu il existe différents types de planification automatiques. On trouve tout d abord la planification déterministe classique, approche dans laquelle l agent possède une connaissance totale de son environnement. De même les effets des actions sont parfaitement connus et sont toujours les mêmes. Un autre type de planification automatique concerne la génération de plans robustes. Dans ce cadre, on considère que les actions ont des effets incertains, et que ces derniers sont soumis à des aléas. De même, l agent ne connaît pas avec exactitude l état du monde. La génération d un plan robuste consiste à produire un plan qui, lors de son exécution, va mener le monde de l état initial à l état final en prenant en compte tous les aléas possibles. Ce type de planification est naturellement beaucoup plus complexe que la planification déterministe. Il existe divers intermédiaires entre ces deux extrêmes, ainsi que plusieurs variantes. On peut par exemple inclure dans les plans des données temporelles, des notions de ressources... La planification est plutôt un domaine de recherche théorique. C est une discipline dans laquelle les chercheurs tentent de trouver de nouveaux algorithmes pour éventuellement les adapter plus tard à un cadre réaliste. Quelques applications La planification est rarement utilisée seule, elle est souvent intégrée comme partie d un système autonome. Par exemple, la planification est souvent utilisée en robotique, mais elle ne constitue pas le système central. Un module de supervision fait le plus souvent appel au planificateur quand le robot à besoin d un plan. C est le superviseur qui décide quand il est nécessaire d obtenir un nouveau plan pour réaliser une tâche. De même si un événement imprévu se présente devant le robot, le superviseur va décider de re-planifier, ou bien d adapter le plan en cours d exécution. Il s agit d un modèle d utilisation d un planificateur en robotique, mais bien d autres configurations sont possibles. Un exemple médiatique de robotique fut le robot Pathfinder envoyé sur Mars dans un but d exploration. Ce robot dispose d une certaine autonomie puisqu il est capable de se déplacer tout seul. De plus il intègre - entre autre - divers scénarios de missions, un superviseur, un contrôleur d exécution et un planificateur. Mais la robotique autonome est également présente beaucoup plus proche de nous, comme par exemple dans les usines sur les chaînes de productions.

4 Introduction Un autre domaine d application courant de la planification est le domaine aérospatial. Que ce soit pour planifier des missions, des déplacements de satellites, l utilisation d énergie dans une station spatiale... Enfin le dernier exemple que nous présentons est un domaine très à la mode, puisqu il s agit des webservices. On assiste en effet à un engouement de l utilisation de la planification pour gérer l utilisation de ressources partagées sur Internet, ou encore pour rechercher et utiliser des informations présentes dans des bases de données. La planification trouve sa place au sein des systèmes informatiques actuels qui requièrent de plus en plus d autonomie et qui doivent s adapter à leur environnement logiciel, un peu comme un robot s adapte à son environnement physique. Plan du mémoire Notre cadre d étude de la planification se restreint aux problèmes déterministes. Nous considérons donc que les effets des actions sont complètement déterminés et connus de l agent. De même l environnement dans lequel évolue l agent est complètement connu. Ce type de planification a parfois été qualifié de planification classique. Notre mémoire de thèse est organisé de la façon suivante. Le premier chapitre présente les différents langages de formalisation utilisés en planification. Ce même chapitre présente une courte étude bibliographique ainsi que diverses méthodes utilisées en planification. Le second chapitre est consacré à l étude poussée de la planification disjonctive, puisque cette dernière est la base de nos travaux. Cette étude montre également le lien entre la planification disjonctive et la planification heuristique, deux courants de recherche qui ont pourtant souvent été présentés comme orthogonaux [Weld, 1999]. Nous nous étendons sur les propriétés formelles de la planification disjonctive et le lien entre les graphes de planification et l étude d atteignabilité. Nous présentons également notre cadre théorique qui servira de base pour la suite. Le troisième chapitre est consacré à la planification heuristique. Nous y étudions tout d abord de manière générale l intérêt d utiliser des heuristiques (que ce soit en planification ou non). Ensuite nous étudions plus particulièrement les méthodes heuristiques utilisées en planification avant de conclure sur les faiblesses communes de toutes ces techniques. Le quatrième chapitre présente le cœur théorique de notre travail. Nous partons du constat réalisé aux chapitres précédents : la planification disjonctive réalise une étude d atteignabilité qui peut être assimilée à une heuristique. Cette étude d atteignabilité n est pas assez fine pour donner une heuristique informative ; les heuristiques utilisées par les planificateurs heuristiques rencontrent toutes les mêmes faiblesses. A partir de ce constat, nous proposons et formalisons une méthode permettant de construire des graphes de planification dont la finesse de l étude d atteignabilité qu ils

Introduction 5 encodent peut être contrôlée par un paramètre. Il s agit de ré-introduire une arborescence dans un graphe de planification qui n en contient a priori pas. Nous avons nommé cette technique le morcellement de l espace de recherche [Zemali et Fabiani, 2003a]. Le facteur de branchement est contrôlé par le taux de morcellement qui est le paramètre sur lequel nous agissons pour obtenir une étude d atteignabilité plus ou moins fine. Ce même chapitre présente le moyen de choisir les points de branchement introduits dans le graphe de planification. Enfin, le dernier chapitre présente l utilisation de la technique précédente pour réaliser une étude d atteignabilité qui est utilisée en temps qu heuristique par un algorithme de recherche [Zemali et Fabiani, 2003c] ;[Zemali et Fabiani, 2003d]. Nous présentons tout d abord de manière formelle le planificateur heuristique ainsi construit. Puis nous présentons une série d expérimentations utilisant des configurations diverses de notre planificateur afin d étudier l impact du morcellement, que cela soit au niveau du temps de calcul ou au niveau de la qualité des solutions fournies. Plusieurs de ces configurations sont destinées à la planification optimale [Zemali et Fabiani, 2003b] ;[Zemali, 2003].

6 Introduction

Chapitre 1 La planification classique : tour d horizon Dans ce chapitre, nous allons tout d abord préciser ce qu est un problème de planification de manière plus formelle. Nous préciserons également notre cadre de travail, puis nous présenterons les autres moyens de formalisation qui existent est qui ont été utilisés par les différents planificateurs. Enfin nous présenterons les méthodes de résolution existantes au travers d une brève étude bibliographique. Cette dernière sera volontairement courte car on peut trouver des études bibliographiques très complètes traitant du même domaine dans des thèses soutenues récemment [Vidal, 2001] ; [Meiller, 2003]. Notre étude se voudra plutôt historique dans sa première partie. Dans les trois dernières sections, notre étude bibliographique se recentrera autour de la présentation de trois grands courants de recherche dans le domaine de la planification : la planification dans l espace des plans, la planification disjonctive et la planification par recherche dans le graphe d états. Les deux dernières approches ne seront qu effleurées et seront précisés dans la suite du document, puisque chacune d entre elles fera l objet d un chapitre. 1.1 Formalisation du problème Les problèmes de planification ont été formalisés de diverses manières. Cependant, la grande majorité de ces formalisations sont des extensions du langage STRIPS [Fikes et Nilsson, 1971]. Dans la suite de ce document, tout le travail présenté repose une une formalisation issue de STRIPS. 1.1.1 Notre cadre de travail 1.1.1.1 Hypothèses Avant de présenter les hypothèses simplificatrices fixant le cadre de ce que nous appelons planification, nous présentons ce que devrait idéalement prendre en compte un processus de planification parfaitement modélisé. 7

8 La planification classique : tour d horizon Afin de modéliser un problème de planification, il est nécessaire de pouvoir modéliser l état initial et l état but. Ainsi chacun de ces deux états fait partie d un monde constituant l ensemble des états possibles. Il est également nécessaire de modéliser des actions permettant d effectuer un changement sur ce monde afin d en modifier l état courant. La description des différents états du monde peut être plus ou moins fine. De même, l effet de chaque action sur le monde peut être plus ou moins détaillé par la modélisation. Un autre paramètre - très difficile à modéliser - est l activité des agents extérieurs sur le monde. En effet, si l on veut rigoureusement modéliser l activité de planification, la modélisation utilisée doit être capable de prendre en compte les actions venant de l extérieur. Par exemple, lorsque nous planifions - à l aide du raisonnement humain - un déplacement d une pièce vers une autre, nous planifions d ouvrir la porte qui sépare les deux pièces. Notre capacité de raisonnement humain nous permet d intégrer au plan le fait qu une personne extérieure puisse ouvrir la porte à notre place. Une modélisation fidèle de l activité de planification devrait donc prendre en compte de tels actions extérieures. Dans le même esprit, un autre paramètre difficile à modéliser est l incertitude qui réside quant à l état du monde après l application d une action. En effet, dans le monde réel, l application d une action n a pas toujours les effets escomptés et ces derniers sont souvent entachés d incertitudes. Le processus de planification fait également intervenir une notion de durée des actions. Ainsi, si une action d une durée suffisamment longue produit plusieurs effets, on pourra éventuellement déclencher une autre action en parallèle dès que les effets nécessaires à son déclenchement seront présents dans le monde. Avec une telle modélisation, la résolution d un problème de planification consiste à trouver la séquence d actions permettant de faire passer le monde de l état initial à l état but. Dans le cadre de notre travail, nous nous sommes fixées des hypothèses simplificatrices permettant de modéliser plus simplement le monde et les actions permettant de le faire évoluer. Ces hypothèses sont les mêmes que celles présentées dans [Vidal, 2001] : Monde statique : aucun évènement extérieur ne peut agir sur le monde. Les seuls changements qui se produisent sont ceux relatifs aux actions appliquées par l unique agent. Agent omniscient : l agent dispose d une connaissance parfaite du monde dans lequel il évolue. De même il connaît toutes les actions dont il dispose ainsi que leurs effets. Actions déterministes : dans un état donné du monde, l application d une action aura toujours les mêmes conséquences. Actions atomiques : chaque action modifie l état du monde de manière instantanée et ininterruptible. Les hypothèses étant données, il est maintenant nécessaire de donner une représentation des connaissances permettant de modéliser l état du monde au cours

Formalisation du problème 9 de la recherche de solution. De même nous allons présenter un moyen de modéliser les actions, leurs conditions de déclenchement et leurs effets. 1.1.1.2 Modèle formel Notre modèle repose sur un sous ensemble de la logique du premier ordre. Il s agit en fait du formalisme STRIPS [Fikes et Nilsson, 1971]. En planification classique, les objets sont les entités élémentaires. Les attributs des objets sont modélisés grâce à des prédicats. Nous appellerons fait un prédicat dont les variables sont instanciées. Chaque état du monde est représenté par un ensemble de faits (ou prédicats instanciés). Par exemple, dans le domaine du Gripper, qui nous servira d illustration tout au long du document, le modèle inclus entre autre les objets suivants : un robot nommé Robby; deux pièces nommées RoomA et RoomB Pour modéliser la propriété qu un objet se trouve à un emplacement donné, on utilisera le prédicat non instancié at(x,y). Ce prédicat modélise le fait que l objet x se trouve à l emplacement y. A partir du prédicat et des deux objets présentés, on peut construire le fait at(robby, RoomA) qui signifie que le robot est dans la pièce A (de même, on peut construire le fait at(robby, RoomB)). Ainsi chaque état sera une collection de faits. Tous les états dans lesquels apparaissent le fait at(robby, RoomA) sont des états dans lesquels le robot est dans la pièce A. L état initial est un ensemble de faits que nous noterons I. Les états finaux, ou buts, sont quant à eux caractérisés par un ensemble de faits que nous noterons B. En général il existe plusieurs états buts caractérisés par l ensemble B, sauf si l ensemble B correspond précisément à un état (voir section 4.2). Dans la modélisation de type STRIPS, les actions permettent de changer l état du monde en y ajoutant ou en y détruisant des faits. Pour qu une action soit exécutable, il est nécessaire que certains faits soient initialement vrais, il s agit des préconditions nécessaires à l application de l action. Les faits présents dans la description de l état du monde avant l application de l action et n étant pas détruits par cette dernière resteront présents dans le nouvel état atteint. Ainsi, la modélisation d une action a est réalisée au travers de la définition de trois ensembles 1 de faits : l ensemble des préconditions pre(a) : les faits qui rendent l action exécutable ; l ensemble de délétions del(a) : les faits rendus faux (détruits) par application de l action; l ensemble d ajouts add(a) : les faits rendus vrais par application de l action. Nous pouvons maintenant donner la formule permettant l application d une action sur un ensemble de faits. 1également appelés listes pour des raisons historiques

10 La planification classique : tour d horizon Définition 1 (Application d une action) Soit F un ensemble de faits et A un ensemble d actions, l opérateur : A (2 F { }) (2 F { }) est appelé application d une action sur un ensemble de faits. Il est définit par : si pre(a) E, a E = (E \ del(a)) add(a) si pre(a) E, a E = Avec a A, E (2 F { }) Notation : par abus de langage, (a k (a 2 (a 1 E))...) sera noté a k a 2 a 1 E. Dans un but de simplification d écriture des domaines STRIPS, la description des actions est généralisée grâce à l utilisation de variables dans des opérateurs. En effet, pour modéliser un problème possédant un grand nombre d actions, il est peu souhaitable de toutes les décrire de manière individuelle. Un opérateur est donc un schéma d action décrit à l aide de variables non instanciées. Les listes de délétions, d ajouts et de préconditions des opérateurs ne sont pas des faits, mais des prédicats non instanciés. A partir de ces opérateurs, de la description des objets et des prédicats du domaine, il est possible de reconstruire toutes les actions par un mécanisme de substitution de variables. Dans la suite de ce document, nous utiliserons rarement les opérateurs, car il ne s agit là que d une facilité d écriture utile pour modéliser les problèmes. En pratique, le problème de planification se résout à partir des actions instanciés. Définition 2 (Problème de planification) Un problème de planification est un quintuplé O, A, I, B, F dans lequel : O est l ensemble des opérateurs non-instanciés, A est l ensemble des actions instanciées, I est l ensemble des faits décrivant l état initial du problème, B est l ensemble des faits décrivant les états buts du problème, F est l ensemble des faits (prédicats instanciés) permettant de décrire tous les états du problème. Définition 3 (Plan séquentiel) On appelle plan séquentiel une séquence d actions P = a 1,...,a n. On dira alors que le plan P a une longueur de n étapes. Remarque 1 : De plus, si il existe un ensemble de faits F avec pre(a 1 ) F, tel que a n a 1 F, alors on dira que le plan P est valide. Remarque 2 : Soit P = O, A, I, B, F un problème de planification. Si le plan P est valide et que de plus on a B a n a 1 I, alors on dira que P est un plan solution pour le problème P. Remarque 3 : On définit également la relation d ordre < sur les actions au sein d un plan P = a 1,...,a n de la manière suivante : a i < a j i < j pour (i, j) [1, n] 2 L outil de modélisation de type STRIPS que nous donnons ici est le plus simple des outils utilisés en planification, mais son expressivité suffit pour représenter un grand

Formalisation du problème 11 nombre de problèmes. De plus, la plupart des extension de STRIPS peuvent être ramenées au langage STRIPS de base. En effet, il est souvent possible de ré-écrire des problèmes décrits avec des langages plus riches que STRIPS en STRIPS. Cette réécriture se fera souvent au détriment de la clarté. Ainsi les successeurs de STRIPS permettent de décrire des problèmes de manière plus concise, ils ont une meilleure expressivité. En revanche, ils conservent tous - ou à peu prés - la même puissance de représentation. 1.1.2 Les langages de formalisation du problème Les enrichissement du langage de modélisation STRIPS [Fikes et Nilsson, 1971] ont été nombreux depuis sa création. Les langages ADL [Pednault, 1989] et PDDL [McDermott et Committee, 1998] rajoutent diverses extensions afin d enrichir l expressivité de STRIPS : Préconditions négatives : chaque action peut posséder une liste de préconditions contenant des faits qui doivent être faux pour que l action soit applicable. Ainsi certaines actions ne seront applicables que dans des états ne contenant pas certains faits. On peut transformer un problème modélisé à l aide de préconditions négatives en STRIPS original : il suffit de rajouter des actions et des faits à la modélisation. Ainsi, imaginons par exemple qu une action a ne soit applicable que dans les états où le fait f est absent. Il est possible de modéliser cette action en STRIPS en rajoutant un fait non-f qui sera présents dans les états ne contenant pas f et une action non-a dont une précondition sera le fait non-f. On voit clairement sur cet exemple que l expressivité de STRIPS est plus faible et nous oblige à perdre de la concision dans la modélisation. En revanche cet exemple montre également que STRIPS permet de représenter les problèmes possédant des préconditions négatives. Effets conditionnels : les effets des actions (ajouts et délétions de faits) sont soumis à des conditions (présence ou absence d un fait dans l état d origine). On peut se ramener à une modélisation en STRIPS classique en rajoutant une nouvelle action pour chaque condition. Préconditions disjonctives : une action peut être appliquée à un état si un fait de la disjonction est présent dans cet état. On peut se ramener à une modélisation en STRIPS classique en créant autant d actions que de faits dans la disjonction. Quantification universelle : cette quantification peut être présente dans une précondition ou dans un effet d une action. Elle permet d agir sur un grand nombre de faits possédant une propriété commune. Il est difficile - mais possible - de transformer cette quantification en langage STRIPS. Quantification existentielle : cette quantification peut être présente dans une précondition ou dans un effet d une action. Elle permet d agir sur un fait isolé possédant une propriété précise. Il est difficile - mais possible - de transformer

12 La planification classique : tour d horizon cette quantification en langage STRIPS. Une nouvelle extension du langage PDDL a eu lieu avec l arrivée de PDDL 2.1 [Fox et Long, 2003]. Ce langage comporte cinq niveaux dont les derniers permettent de modéliser des problèmes de planification comportant des actions ayant une certaine durée d exécution, ainsi que de modéliser des variables continues. Les actions duratives sont décrites avec une durée d exécution à prendre en compte lors de la planification pour que les effets de ces actions affectent l état du monde. Les durées des actions pourront même comporter des contraintes d inégalités pour que ces durées soient définies de manière relative à des variables du problème. Les effets d une action pourront quant à eux apparaître de manière continue pendant l exécution de l action. La date d apparition de chaque effet pourra par exemple être fonction du temps. La présence de variables continues dans ce langage permet de modéliser par exemple des objets de type ressource (énergie ou carburant). Les actions sont capables de modifier ces variables continues. Ainsi on pourra modéliser la consommation de carburant d un véhicule lors d un problème de planification de déplacement. Les derniers niveaux du langage PDDL 2.1 permettent de décrire une classe de problèmes non formalisables en STRIPS. La puissance de représentation de ce langage est donc supérieure à celle de STRIPS. Par ailleurs, les résultats de complexités théoriques [Helmert, 2002] confirment que les problèmes descriptibles en STRIPS et ceux descriptibles en PDDL 2.1 appartiennent à des classes de complexités différentes. La dernière évolution en date du langage PDDL se nomme probabilistic PDDL [Younes, 2003] ;[Littman et Younes, 2003]. Cette dernière permet la prise en compte d incertitudes quant à l effet des actions. Ainsi ce langage permet de modéliser de façon probabiliste les effets de actions. Ce nouveau langage va donner lieu à la première compétition de planification sous incertitude 2. 1.2 Les débuts Dans cette section, nous présentons les premières approches qui ont permis de résoudre des problèmes de planification. 1.2.1 FSS, BSS FSS (Forward State Space search) constitue l approche à la fois la plus intuitive et la plus naïve pour résoudre un problème de planification. Cette technique consiste à parcourir tous les états atteignables depuis l état initial jusqu à atteindre un état contenant les buts. Il s agit d une recherche en chaînage avant dans l espace des états. L espace de recherche ainsi visité est un arbre dont chaque nœud est un état. L algorithme est des plus simples : la racine de l arbre est l état initial I. Chacune des actions a i applicables sur cet état donne naissance à une nouvelle branche (étiquetée 2 The Probabilistic Planning Track of the 2004 International Planning Competition, qui se déroulera lors de la 14ème International Conference on Automated Planning & Scheduling à Whistler, Colombie Britannique, Canada, du 3 au 7 juin 2004

Les débuts 13 a i ) dans l arbre. Chacun des i nœuds attachés aux i branches ainsi créées correspond à l état résultant de l application de l action a i sur l état initial. Le processus continue itérativement : pour chacun des i nœuds, l algorithme introduit autant de nouvelles branches et de nouveaux nœuds que d actions applicables depuis l état présent dans le i-ème nœud. Il s agit d un parcours en largeur d abord. L algorithme s arrête lorsqu un nœud N correspond à un état but. Le plan solution est alors composé des actions étiquetant les arcs présents sur le chemin entre la racine de l arbre et le nœud N. La construction de cet arbre requiert un temps exponentiel, ce qui confère à cette méthode de très faibles performances en pratique. Un des défaut majeurs de cette méthode est la construction inutile de sous-arbres identiques. En effet, si un état - générable de diverses façons - est présent dans plusieurs nœuds de l arbre, tous les sous-arbres construits depuis ces nœuds seront identiques. Il y a donc clairement des calculs inutiles dans ce cas. Une première amélioration fut réalisée avec l apparition de l algorithme BSS (Backward State Space search), ou chaînage arrière dans l espace d états. Cet algorithme reprend la même technique que FSS, hormis le fait que la racine de l arbre de recherche est constituée par l état but. Les branches et les nœuds sont alors introduits dans l arbre quand les effets des actions étiquetant les branches sont compatibles avec les états desquels ces branches sont issues. L algorithme s arrête lorsqu il rencontre un nœud correspondant à l état initial. Cette technique économise du temps de calcul par rapport à FSS puisque sont introduits dans l arbre seulement les actions et les états pouvant potentiellement mener à l état but. Toutefois la complexité reste exponentielle. 1.2.2 GPS Le système GPS (General Problem Solver) [Newell et Simon, 1963] est considéré comme le premier planificateur automatique. Ce système ne possédait pas encore de moyen efficace pour représenter les connaissances et formaliser le problème de planification. Ainsi le formalisme utilisé repose sur des objets et des opérateurs permettant de diminuer les différences entre ces objets. Il n est pas possible de formaliser les opérateurs comme en STRIPS et il est nécessaire pour chaque couple d objets de lister tous les opérateurs qui permettent de réduire les différences entre ces objets. La description du problème est donc très fastidieuse. De très grands progrès ont été réalisés dans ce domaine comme nous l avons vu en section 1.1.2. Le principe de résolution en revanche est proche de ceux encore utilisés aujourd hui : l état initial et l état but étant représenté par deux objets I et B, le système tente de transformer I en B par applications successives d une séquence d opérateurs. Pour trouver cette séquence, le problème est divisé en sous-problèmes à la manière des algorithmes de type diviser pour résoudre. 1.2.3 QA3 Quelques années plus tard apparu le système QA3 [Green, 1969]. La représentation de la connaissance y est facilitée par rapport à ce qu offrait GPS. En effet, QA3 utilise

14 La planification classique : tour d horizon un sous-ensemble de la logique du premier ordre pour permettre à l utilisateur de décrire le problème. La résolution du problème est réalisée par un démonstrateur reposant sur le calcul des situations. 1.2.4 STRIPS Le planificateur STRIPS [Fikes et Nilsson, 1971] est surtout connu pour le langage de formalisation du même nom qu il a introduit dans la communauté. Ce langage de représentation des connaissances est encore de nos jours à la base de la plupart des formalismes utilisés en planification (c.f. section 1.1.2). Le principe de résolution de STRIPS est basé sur une décomposition du problème en sous-problèmes comme cela était déjà le cas avec le système GPS. Pour résoudre un problème O, A, I, B, F, le système STRIPS tente de résoudre B sous-problèmes définis comme suit : pour chacun des faits f i, avec i [1, B ], présents dans l ensemble des buts B, STRIPS pose un nouveau sous-problème O, A, I,{f i }, F. Mais la méthode de résolution fait une hypothèse forte sur l indépendance des sousbuts. Cette hypothèse est que chacun des sous-buts peut être résolu indépendamment des autres. STRIPS considère donc que l ordre dans lequel il résout les sous-buts pour recomposer le problème original n a pas d importance. Or ce n est pas le cas en pratique, si bien que l algorithme se trouve souvent limité par ce que l on nomme l anomalie de Sussman. Par exemple, dans certains problèmes il peut parfois être nécessaire de détruire un premier sous-but pour produire un nouveau sous-but. Le système STRIPS, dans sa version originale, ne permet pas de gérer cette anomalie. L exemple typique qui illustre cette anomalie concerne un empilement de cubes. Considérons que l on veuille réaliser un empilement de trois cubes numérotés de 1 à 3. On ne peut déplacer que les cubes libres, c est à dire qui ne sont pas situés sous un autre cube. On souhaite obtenir dans l état final un empilement tel que le cube 1 soit sur le cube 2, le cube 2 soit sur le cube 3 et le cube 3 soit posé sur la table. Si STRIPS commence par résoudre le premier sous-but en empilant le cube 1 sur le cube 2, il ne pourra plus empiler le cube 2 sur le cube 3 puisque le cube 2 ne sera plus libre. Le système se trouvera alors devant l incapacité de résoudre le problème. Si STRIPS avait commencé par empiler le cube 2 sur le cube 3, il aurait pu continuer. L ordre dans lequel sont examiné les sous-buts à donc une importance primordiale. 1.3 Planification dans l espace des plans Les méthodes que nous avons vues jusqu à présent apparaissent comme plus ou moins ad hoc et aucune d entre elles ne propose de vraie conceptualisation du problème de planification. Un grand pas à été réalisé dans ce domaine vers la fin des années 80. Un courant de recherche, nommé la planification dans l espace des plans, a proposé et formalisé une approche permettant de modéliser ce qu est un plan. Contrairement à l espace de recherche de FSS, qui est constitué d états, l espace de recherche est désormais constitué de plans. Les algorithmes employés agissent donc directement sur les plans.

Quelques définitions 15 1.4 Quelques définitions Nous ne donnons que quelques définitions simplifiées nécessaires à la compréhension de ce qui suit. Définition 4 (Plan partiel) Soit P = O, A, I, B, F un problème de planification. Un plan partiel P est un couple A, O avec : A est l ensemble des actions composant le plan; O est l ensemble des contraintes d ordonnancement sur les actions présentes dans A; P est exécutable depuis l état I ; l exécution de P produit tous les faits présents dans B. Autrement dit, A est un ensemble partiellement ordonné d actions suivant les contraintes présentes dans O. Remarque : dans le cas où toutes les actions sont ordonnées, on dit que le plan est linéaire. Il est alors équivalent à un plan séquentiel (c.f. définition 3). Définition 5 (Contrainte de précédence) Soit P = A, O un plan partiel. Soit (a, b) A 2 deux actions. Dire que a précède b signifie que l application de a à lieu avant celle de b lors de l exécution de P. D autres actions peuvent toutefois s insérer entre les deux. Définition 6 (Contrainte de contiguïté) Soit P = A, O un plan partiel. Soit (a, b) A 2 deux actions. Dire que a et b sont contiguës signifie que a précède b sans qu aucune autre action ne puisse s insérer entre les deux. 1.4.1 Stratégies de parcours et principe L espace de recherche est classiquement constitué par des plans partiels. Les algorithmes de recherche parcourent cet espace en tentant de se rapprocher le plus possible d un plan solution complètement linéarisé. En général, la recherche débute avec un plan vide. De nouvelles actions et de nouvelles contraintes sont ajoutées à ce plan vide pour obtenir un ensemble de plans partiels. Chacun de ces plans partiels constitue alors un nouveau nœud de l espace de recherche et sera à son tour raffiné par l ajout de contraintes et d actions et ainsi de suite... Jusqu à ce que l algorithme ait ajouté suffisamment de contraintes et d actions pour obtenir un plan valide totalement linéarisé permettant de produire les buts. En général, les actions ajoutées sont celles qui permettent de produire des nouveaux sous-buts, et les contraintes ajoutées sont celles qui permettent d éviter les conflits entre actions. Par exemple si deux actions a et b telles que del(a) del(b) (i.e. qui ne sont pas exécutables simultanément puisqu elles consomment au moins un même fait) sont introduites dans un plan partiel, les algorithmes introduiront les contraintes nécessaires pour résoudre ce conflit. Les stratégies de construction et de parcours de l espace de recherche sont diverses : elles peuvent utiliser on non des heuristiques, parcourir un arbre de recherche en profondeur d abord ou en largeur d abord... La seule technique de recherche qu il n est

16 La planification classique : tour d horizon pas possible d utiliser est une recherche en arrière puisqu il faudrait débuter celle-ci à partir d un plan solution. 1.4.1.1 Stratégie de raffinement en chaînage avant Le principe de cette stratégie est l allongement progressif de la tête du plan. Ainsi, à partir d un nœud de l espace de recherche, contenant un plan partiel P, les nœuds successeurs sont construits de la manière suivante : chacun d entre eux contient un nouveau plan partiel dont P est un préfixe. L allongement est réalisé en ajoutant une action dont les préconditions sont soutenues par l exécution du plan P. Les contraintes liant les actions ajoutées aux actions lui précédant sont également ajoutées aux plans partiels ainsi construits. 1.4.1.2 Stratégie de raffinement en chaînage arrière Le principe de cette stratégie est l allongement progressif de la queue du plan. Ainsi, à partir d un nœud de l espace de recherche, contenant un plan partiel P, les nœuds successeurs seront construits de la manière suivante : chacun d entre eux contient un nouveau plan partiel dont P est un suffixe. L allongement est réalisé en ajoutant des actions au début du plan P. Ces actions devront produire les sous-buts nécessaires à l exécution du plan P. Les contraintes liant les actions ajoutées aux actions lui succédant sont également ajoutées aux plans partiels ainsi construits. 1.4.1.3 Stratégie de moindre engagement La stratégie la plus employée - et également la plus efficace - pour mener une recherche dans l espace des plans partiels et la stratégie de moindre engagement (least commitment) [Weld, 1994]. Cette stratégie contraint moins les plans partiels que les deux stratégies précédentes puisqu elle n impose qu un ordre partiel (POP : Partial Order Planning [Barrett et Weld, 1994]). Ainsi, à partir d un nœud de l espace de recherche, contenant un plan partiel P, les nœuds successeurs seront construits de la manière suivante : il y aura d abord sélection d un sous-but à produire pour satisfaire une précondition d une action présente dans P ou bien un but du problème. Les nouveaux plans partiels créés contiendront les actions de P plus une action produisant le sous-but sélectionné. Les actions sont ajoutées sans qu une position particulière ne leur soit assignée dans le plan. En d autres termes, il n y a pas d insertion de contraintes sauf si l action insérée entre en conflit avec une autre action déjà présente dans P. Il s agit bien d une stratégie de moindre engagement : aucune décision n est prise sur la position des actions sauf si cela est nécessaire. Les plans partiels ainsi manipulés sont donc moins contraints qu avec les deux stratégies présentées auparavant. En effet, les deux stratégies précédentes ajoutent systématiquement des contraintes.

Planification disjonctive 17 1.4.2 Le planificateur TWEAK et ses successeurs Le planificateur TWEAK [Chapman, 1987] a été le premier à proposer une réelle formalisation du problème de planification en utilisant la recherche dans l espace des plans. Il s agit d un planificateur d ordre partiel. TWEAK travaille sur des plans partiels : il modifie ces derniers jusqu à obtenir un plan solution. Les techniques permettant de compléter un plan partiel peuvent être : insertion d actions, insertion de contraintes de précédence ou de contiguïté... Globalement, TWEAK effectue une recherche dans l espace des plans partiels en utilisant un algorithme non déterministe. L espace de recherche est un arbre dont chaque nœud est un plan partiel en cours d élaboration. Le planificateur TWEAK est sain et complet. Ce planificateur est à la base de bon nombre de travaux, nous n en citerons que quelques uns. Le système SLNP (Systematic Non Linear Planning) [Mcallester et Rosenblitt, 1991] est un planificateur reprenant les mêmes principes que dans TWEAK. La différence majeure est que SLNP ne conserve dans son espace de recherche que des plans partiels qui mèneront à des plans ordonnancés différents une fois que toutes les contraintes y auront été ajoutées. Le système UCPOP [Penberthy et Weld, 1992] reprend les mêmes idées. Le planificateur UCPOP est sain et complet. Il utilise quasiment toutes les possibilités offertes par le langage ADL [Pednault, 1989]. Citons enfin le système IxTeT (IndeXed TimE Table) [Laborie, 1995]. Il s agit encore une fois d un planificateur par recherche dans l espace des plans partiels. Les mécanismes utilisés mettent en jeux un arbre de recouvrement indexé d un treillis d instants. La particularité de ce système est la prise en compte des ressources temporelles. La logique temporelle utilisée au sein de ce planificateur est celle définie dans [Ghallab et Mounir-Alaoui, 1989]. Il existe de nombreux autres travaux sur la planification d ordre partiel. Notamment des travaux concernant des heuristiques permettant de décider dans quel ordre sélectionner les sous-buts à soutenir, ou encore des heuristiques permettant d opérer des choix plus judicieux dans la gestion des conflits [Joslin et Pollack, 1996]. Notons également que certaines de ces approches ont été étendues à la prise en compte d incertitudes [Kushmerick et al., 1994]. 1.5 Planification disjonctive 1.5.1 Présentation GraphPlan [Blum et Furst, 1995] ;[Blum et Furst, 1997] a introduit un nouveau courant de recherche nommé la planification disjonctive. Le distinguo est très rarement fait entre le courant de recherche qu il a inspiré et GraphPlan lui-même. Nous parlerons donc sans distinction d un algorithme de planification disjonctive ou d un algorithme à la GraphPlan. GraphPlan a marqué et beaucoup influencé la recherche en planification. Comme

18 La planification classique : tour d horizon TWEAK le fut à son époque, GraphPlan fut le déclencheur de tout une série de travaux, et les recherches menées sur ce sujet continuent encore de nos jours. Nos travaux reposent également en partie sur certains concepts de GraphPlan. Pour cette raison, nous consacrons le chapitre 2 à la planification disjonctive. L espace de recherche de GraphPlan n est ni un espace de plans, ni un espace d états, bien qu il se rapproche un peu plus de ce dernier. L espace de recherche de GraphPlan est une structure de donnée, nommée graphe de planification, qui permet de représenter un grand nombre d états en intension. C est dans cette structure que ce situe sa force : elle lui permet de représenter un grand nombre d états sans les expliciter. Dans [Kambhampati et al., 1997] et [Kambhampati, 1997], le graphe de planification est présentée comme une structure permettant de représenter de manière plus compacte les états générés par un planificateur fonctionnant en chaînage avant dans l espace d états de type FSS. C est un peu le même concept qui a fait le succès de la planification d ordre partiel : un plan partiellement ordonné représente de manière compacte tous les plans totalement ordonnés que l ont peut en tirer. 1.6 Fonctionnement Le fonctionnement de GraphPlan est détaillé au chapitre 2. Nous donnons ici un aperçu global de l algorithme qu il met en œuvre. GraphPlan fonctionne en deux étapes qui sont alternées jusqu à ce que le problème soit résolu : il développe un graphe de planification nivelé où chaque niveau contient une liste de faits représentant un ensemble d états indifférenciés. La cohérence au sein des paquets est partiellement maintenue grâce à la propagation de certaines contraintes binaires de mutuelle exclusion (mutex). GraphPlan réalise ainsi une étude d atteignabilité approximée donnant une estimation du nombre de niveaux permettant d atteindre les buts. C est la phase d expansion. Lorsque les faits décrivant les buts sont présents dans un même niveau, une phase de recherche arrière vérifie qu aucune contrainte n a été violée. Si tel n est pas le cas, des contraintes marquant cette incohérence sont rajoutées au problème, puis la phase d expansion reprend. Plus précisément, à partir de l état initial, l algorithme applique toutes les actions applicables sur cet état. Il crée ainsi un nouveau niveau constitué des faits vrais au niveau précédent, ainsi que de tous les faits ajoutés par les actions ainsi applicables. Lors de l application d une action, seuls les ajouts de faits sont effectués : si une action falsifie un fait, on ne va pas le détruire, mais introduire des contraintes binaires qui vont être propagées pour garder une approximation de cohérence dans cet espace de recherche. Si sur un niveau donné deux actions essaient de détruire le même fait, elles seront marquées comme mutuellement exclusives pour ce niveau (i.e. elles ne pourront pas faire simultanément partie d un plan valide à ce niveau). Cette contrainte de mutuelle exclusion, ou mutex, sera propagée dans le graphe. Ainsi, de nouvelles actions vont être applicables, et on va créer un nouveau niveau contenant les ajouts de ces nouvelles actions. Quand l algorithme détecte dans un niveau tous les faits qui décrivent l état