HAL Id: tel-01075367
https://hal.archives-ouvertes.fr/tel-01075367
Submitted on 17 Oct 2014
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
fondée sur des techniques de planification et diagnostic multi-agents
Mohamad El Falou
To cite this version:
Mohamad El Falou. Contributions à la composition dynamique de services fondée sur des techniques
de planification et diagnostic multi-agents. Traitement du texte et du document. Université de Caen,
2010. Français. �tel-01075367�
U.F.R. : Sciences
ECOLE DOCTORALE ´ : SIMEM
TH` ESE
pr´esent´ee par
Mohamad El Falou
et soutenue le 2 juin 2010
en vue de l’obtention du
DOCTORAT de l’UNIVERSIT´ E de CAEN
sp´ ecialit´ e : Informatique (Arrˆ et´ e du 7 aoˆ ut 2006)
Contributions ` a la composition
dynamique de services fond´ ee sur des techniques de planification et
diagnostic multi-agents
MEMBRES du JURY
Mr Rachid Alami Directeur de Recherche CNRS LAAS Toulouse (rapporteur) Mr Olivier BOISSIER Professeur ENS Mines Saint-Etienne (rapporteur) Mr Ren´ e MANDIAU Professeur Universit´e de Valenciennes (rapporteur)
Mr Abdel-Illah Mouaddib Professeur Universit´e de Caen (examinateur)
Mme Maroua Bouzid Professeur Universit´e de Caen (directrice)
Mr Thierry Vidal Maˆıtre de conf´erence ENIT Tarbes (codirecteur)
Remerciements
Je tiens ` a remercier toutes les personnes qui m’ont permis de mener `a bien cette th`ese.
Mes remerciements s’adressent tout d’abord ` a ma directrice de th`ese Mme Maroua Bouzid, professeur ` a l’universit´e de Caen, qui a encadr´e ce travail de recherche. Je lui suis reconnaissant pour m’avoir accord´e sa confiance. Elle s’est toujours montr´ee `a l’´ecoute et tr`es disponible tout au long de la r´ealisation de ce travail, ainsi pour l’inspiration, l’aide et le temps qu’elle a bien voulu me consacrer et sans qui ce m´emoire n’aurait jamais vu le jour. J’ai appr´eci´e ses qualit´es humaines, son dynamisme et ses pr´ecieux conseils.
Je tiens ` a remercier mon co-encadrant de th`ese M Thierry Vidal, maˆıtre de conf´erence ` a l’´ecole nationale d’ing´enieurs de Tarbes, qui a co-encadr´e ce travail. Je lui suis reconnaissant pour m’avoir accord´e sa confiance et m’avoir laiss´e une libert´e dans mes recherches. Je le remercie pour le temps qu’il m’a consacr´e ` a Rennes, ` a Tarbes ou quand il d´eplace lui-mˆeme ` a Caen pour discuter et orienter mes recherches.
J’adresse mes sinc`eres remerciements ` a M Rachid Alami, directeur de recherche CNRS au LAAS de Tolouse, ` a M Olivier Boissier, professeur ` a l’´ecole nationale sup´erieure des Mines de Saint ´ Etienne et ` a Mr Ren´e Mandiau, professeur ` a l’universit´e de Valenciennes pour l’int´erˆet qu’ils ont port´e ` a mon travail en acceptant d’ˆetre rapporteurs de cette th`ese.
Je tiens ` a remercier M Abdel-Illah Mouaddib, professeur ` a l’universit´e de Caen, pour m’avoir fait l’honneur de participer ` a mon jury. J’ai particuli`erement appr´eci´e les discussions scientifiques enrichissantes avec lui.
Je remercie ´egalement tous les membres de l’´equipe MAD pour leur gentillesse et leur bonne humeur. Je remercie particuli`erement Laetitia, Benoit et Simon pour le temps qu’ils ont accord´e pour lire ma th`ese. Mes remerciements s’adressent aux chercheurs et aux membres du personnel du laboratoire GREYC pour leur accueil et leur aide.
Ce long travail fastidieux ponctu´e par des hauts et des bas a ´et´e illumin´e par la pr´esence de mes amis. Les soir´ees, et les repas que je partageais avec Rimond, Zayan, Bilal, Mohamad, Ayman, Abdalla, Nizar m’ont permis d’´echapper au stress induit par la th`ese et le voyage.
L’engagement au sein de l’association « Etudiants Musulmans de France ´ » qui a donn´e une valeur ` a mon s´ejour en France, ainsi que les activit´es qui m’ont permit d’´elargir ´enorm´ement le r´eseau de fraternit´e en France.
Je tiens ` a remercier aussi mes amis au Liban qui m’ont encourag´e de continuer mes ´etudes en France, qui ont commenc´e ` a m’appeler docteur EL Falou depuis que j’´etais en L1.
Un grand merci `a ma m`ere, mon p`ere, mes sœurs et mes fr`eres qui ont su m’entourer pendant mon cursus doctoral. Leur encouragement, leur soutien et leur amour ne m’ont jamais fait d´efaut.
Qu’ils trouvent ici l’expression de ma plus profonde gratitude.
Une tendre pens´ee `a mes ni`eces et neveux qui ont embelli mon existence par leur innocence.
Table des mati` eres
Table des figures ix
Liste des tableaux xi
Introduction 3
I Etat de l’art en intelligence artificielle ´ 7
1 Planification classique 9
1.1 Repr´esentation classique du domaine de la planification . . . . 10
1.2 Algorithmes de planification . . . . 14
1.2.1 Planification dans l’espace d’´etats . . . . 15
1.2.2 Planification dans l’espace de plans . . . . 18
1.3 Techniques de planification graphique . . . . 21
1.3.1 Construction du graphe . . . . 21
1.3.2 Conditions de l’accessibilit´e . . . . 22
1.3.3 Planificateur Graphplan . . . . 23
1.4 Techniques de planification hi´erarchique . . . . 24
1.4.1 De STRIPS ` a HTN . . . . 24
1.4.2 Algorithme de r´esolution de HTN . . . . 25
1.5 Extensions des caract´eristiques du domaine de planifcation . . . . 26
1.6 Conclusion . . . . 27
2 Planification distribu´ ee et syst` emes multi-agents 29 2.1 D´efinition de l’agent . . . . 30
2.1.1 Propri´et´es d’agents . . . . 30
2.1.2 Type d’environnement . . . . 31
2.2 Des agents vers les syst`emes multi-agents . . . . 31
2.3 Planification distribu´ee . . . . 34
2.4 Planification multi-agents par cycles de conjecture/r´efutation . . . . 35
2.4.1 Exemple introductif . . . . 36
2.4.2 Mod`ele formel . . . . 37
2.4.3 Dynamique de l’interaction . . . . 39
2.5 Conclusion . . . . 40
3 Diagnostic et r´ eparation 41 3.1 Diagnostic des plans . . . . 43
3.1.1 Diagnostic de la violation de la structure du plan et de l’´echec des actions . . . . 44
3.1.2 Diagnostic du plan . . . . 44
3.2 Diagnostic et r´eparation des plans multi-agents . . . . 45
3.2.1 Structure du plan multi-agents . . . . 46
3.2.2 R´eparation automatique des plans multi-agents par une strat´egie locale 47 3.3 Diagnostic actif . . . . 48
3.4 Conclusion . . . . 49
II Etat de l’art dans le domaine applicatif des Web services ´ 51 4 Introduction aux Web services 55 4.1 Web services, Web s´emantique et ontologies . . . . 56
4.2 Utilit´e des Web services . . . . 57
4.3 Architecture des Web services . . . . 58
4.4 Probl`eme de composition des Web services . . . . 60
4.5 D´efis de composition de Web services . . . . 61
4.6 Conclusion . . . . 61
5 Composition de Web services fond´ ees sur la planification centralis´ ee 63 5.1 Composition des Web services utilisant le planificateur SHOP2 . . . . 64
5.2 Utilisation du planificateur MBP (Model Based Planner ) . . . . 65
5.3 Utilisation des techniques de grilles . . . . 67
5.4 Travaux de composition dans le projet CASCOM . . . . 71
5.4.1 Agent de composition . . . . 71
5.4.2 Planificateur OWLS-XPlan . . . . 72
5.4.3 Filtres pour la composition de Web services . . . . 73
5.5 Approche de composition bas´ee sur les liens s´emantiques . . . . 77
5.5.1 Web s´emantique et description logique . . . . 78
5.6 Conclusion . . . . 81
6 Composition de Web services fond´ ees sur la planification d´ ecentralis´ ee 83 6.1 Chor´egraphie dynamique de services bas´ee sur la coordination d’agents in- trospectifs . . . . 84
6.1.1 Complexit´e de communication et compl´etude . . . . 85
6.1.2 Exp´erimentation . . . . 85
6.2 Un mod`ele de composition automatique et distribu´ee de services web par planification . . . . 87
6.3 Conclusion . . . . 88
III Contribution 89 7 Approche centralis´ ee de composition automatique et dynamique de Web services 93 7.1 Exemple introductif . . . . 94
7.2 Limites de la repr´esentation classique du probl`eme de composition . . . . 95
7.3 Cadre formel . . . . 96
7.4 Algorithmes de planification centralis´es . . . 101
7.4.1 Algorithme de composition de Web services Tree-search . . . 101
7.4.2 Algorithme de composition de WS fond´e sur la m´ethode Graphplan . 106 7.5 Impl´ementation . . . 109
7.5.1 Exemple de sp´ecification de service et de requˆete en PDDL . . . 109
7.5.2 Exp´erimentation de Tree-search et analyse des r´esultats . . . 110
7.5.3 Impl´ementation de Graph Plan . . . 112
7.6 Conclusion et perspectives . . . 112
8 Approche de composition d´ ecentralis´ ee multi-agents avec une heuristique locale 115 8.1 Id´ee basique . . . 116
8.2 Mod`ele formel . . . 117
8.3 Op´eration de fusion des plans . . . 119
8.3.1 Plans compl`etement fusionnables . . . 119
8.3.2 Plans partiellement fusionnables . . . 120
8.3.3 Plans non-fusionnables . . . 121
8.4 Extraction du plan . . . 122
8.4.1 Extraction du sous-graphe ex´ecutable . . . 122
8.4.2 Extraction du meilleur plan local . . . 125
8.5 Coordination multi-agents . . . 129
8.5.1 Strat´egie de coordination fond´e sur le parcours en chaˆınage avant . . 129
8.5.2 Strat´egie de coordination fond´ee sur le parcours en chaˆınage arri`ere . 130 8.5.3 Strat´egie de coordination mixte . . . 132
8.5.4 Exemple d’application de la strat´egie mixte . . . 132
8.6 Etude des complexit´es des algorithmes ´ . . . 134
8.6.1 Etude de la complexit´e des algorithmes centralis´es ´ . . . 134
8.6.2 Etude de la complexit´e de l’algorithme d´ecentralis´e ´ . . . 135
8.7 Etude de la compl´etude des algorithmes ´ . . . 135
8.8 Tests exp´erimentaux . . . 136
8.9 Discussion . . . 138
8.9.1 Comparaison avec l’´etat de l’art . . . 138
8.9.2 L’utilit´e de l’approche d´ecentralis´ee . . . 139
8.9.3 Passage ` a l’´echelle de l’approche d´ecentralis´ee . . . 140
8.10 Conclusion . . . 141
9 Approche de composition d´ ecentralis´ ee multi-agents avec l’heuristique globale 143 9.1 Exemple . . . 144
9.2 Id´ee basique . . . 146
9.3 Algorithme de calcul de l’heuristique globale . . . 147
9.4 Extraction du meilleur plan local . . . 148
9.5 Coordination multi-agents . . . 148
9.5.1 Exemple . . . 149
9.5.2 Utilisation de l’heuristique locale . . . 152
9.5.3 Exemple . . . 153
9.5.4 Complexit´e de l’algorithme complet . . . 155
9.6 Compl´etude de l’algorithme . . . 157
9.7 Impl´ementation . . . 159
9.8 Conclusion . . . 160
10 Diagnostic et r´ eparation de l’ex´ ecution d’un plan de composition 161 10.1 R´eseaux de P´etri . . . 162
10.2 Mod`ele formel . . . 163
10.3 Architecture d’agent autogu´erissant . . . 166
10.5 Le diagnostiqueur . . . 169
10.5.1 Rˆ ole du diagnostiqueur . . . 169
10.5.2 Notions pr´eliminaires . . . 170
10.5.3 Construction du diagnostiqueur . . . 170
10.6 R´eparateur . . . 172
10.6.1 Rˆ ole du r´eparateur . . . 173
10.6.2 M´ecanisme de r´eparation . . . 173
10.7 G´en´eralisation et maximisation du nombre d’´etats de croyance couverts . . . 176
10.8 Conclusion et perspectives . . . 178
Conclusion et Perspectives 179
Bibliographie 185
Table des figures
1.1 Exemple de repr´esentation d’un ´etat . . . . 11
1.2 Exemple de recherche par chaˆınage avant . . . . 16
1.3 D´eveloppement d’un nœud de l’arbre . . . . 17
1.4 Exemple d’ex´ecution de l’algorithme POP . . . . 20
1.5 Exemple d’ex´ecution de GraphPlan . . . . 22
1.6 R´eseaux de tˆ aches pour un voyage de x ` a y . . . . 25
2.1 Exemple de r´eparation d’une r´efutation . . . . 38
2.2 Mod`ele de construction dialectique de plans . . . . 39
4.1 Architecture Orient´ee Services . . . . 59
5.1 Architecture g´en´erale de composition. . . . . 67
5.2 Repr´esentation non compl`ete du plan . . . . 69
5.3 Modification d’un plan courant . . . . 70
5.4 Exemple d’ex´ecution du planificateur OWLS-XPlan . . . . 72
5.5 Matrice de pertinence . . . . 76
5.6 Correspondance pour la composition de Web services . . . . 79
7.1 Ex´ecution de l’algorithme Tree-search avec heuristique . . . 102
7.2 Plan s´equentiel d’ensemble de services . . . 102
7.3 Ex´ecution de Graphplan . . . 107
8.1 Graphe de WS
1. . . 118
8.2 Graphe de Web services . . . 124
8.3 Sous-graphe ex´ecutable de Web services . . . 125
8.4 Le graphe d’instanciation du sous-graphe de services ex´ecutable . . . 126
8.5 Graphe de Web services W S . . . 128
8.6 Le graphe d’instanciation du sous-graphe de services ex´ecutable . . . 128
8.7 Strat´egie de parcours en chaˆınage avant . . . 130
8.8 Strat´egie en chaˆınage arri`ere . . . 131
8.9 Strat´egie mixte . . . 132
8.10 Graphe d’agents de Web services . . . 133
8.11 Plan solution . . . 134
9.1 Agent de Web services . . . 144
9.2 Exemple de calcul de l’heuristique globale . . . 150
9.3 Instantiation du graphe de l’agent A
1. . . 151
9.4 Agent de Web services . . . 153
10.1 Exemple de r´eseau de Petri . . . 163
10.2 Action non d´eterministe . . . 165
10.3 Architecture d’agent . . . 166
10.4 Plan de fusion des fichiers . . . 167
10.5 Plan d’ex´ecution du plan de fusion des fichiers . . . 168
10.6 Diagramme du diagnostiqueur . . . 172
10.7 q1 et q2 sont ind´ependants . . . 174
10.8 q1 et q2 sont d´ependants . . . 174
10.9 q1 et q2 sont d´ependants . . . 176
Liste des tableaux
5.1 Exemple d’information sur l’historiques des plans . . . . 74
5.2 Les Web services s´emantique de S
W set leurs capabilit´es . . . . 80
5.3 Label des lignes r
iet colonnes c
jde la matrice M5 × 6 . . . . 80
6.1 R´esultats exp´erimentaux sur le sc´enario 2. . . . . 87
7.1 R´esultat de l’ex´ecution de Tree-search . . . 111
8.1 R´esultats empiriques . . . 138
9.1 R´esultats exp´erimentaux. . . . 160
Cette th`ese porte sur le probl`eme de la composition de services. Nous nous focalisons sur les travaux qui utilisent les techniques de planification et nous proposons deux approches qui permettent de surmonter quelques limites des approches existantes.
La premi`ere approche propose deux algorithmes centralis´es fond´es respectivement sur Tree- search et Graphplan. Ces algorithmes n’assurent pas le passage `a l’´echelle `a cause de leurs complexit´es.
Dans la seconde approche, cette limite est d´epass´ee en proposant une architecture de plani- fication multi-agents o` u chaque Web service est d´efini par un groupe de services et est consid´er´e comme un agent. Les agents se coordonnent en fusionnant leurs meilleurs plans partiels qui per- mettent de r´epondre partiellement ` a une requˆete. Cette proc´edure est r´ep´et´ee jusqu’` a atteindre le but en utilisant une fonction heuristique locale. Cette approche est ensuite ´etendue par une heuristique globale pour assurer sa compl´etude si les sous-probl`emes assign´es aux agents sont d´ependants. L’heuristique globale d’´evaluation du meilleur plan local partiel permet d’´eviter les puits en consid´erant les plans locaux interm´ediaires propos´es par d’autres agents. L’´etude de la complexit´e des approches d´ecentralis´ees montre qu’elles sont polynomiales, et les r´esultats exp´erimentaux montrent qu’elles sont capables d’assurer le passage ` a l’´echelle pour des probl`emes complexes.
Enfin, une architecture d’agent de composition auto-gu´erissant est d´evelopp´ee. Cette archi- tecture vise une r´eelle int´egration entre les processus de composition, de diagnostic actif, et de r´eparation en un seul processus de planification.
Abstract
Title : Contributions to dynamic composition and diagnosis of services based on multi-agents planning techniques.
This thesis addresses the problem of service composition. We focus on the use of planning techniques and we introduce two different approaches that overcome some limitations of the existing approaches.
The first approach has two centralized algorithms based respectively on Tree-seach and Gra-
phplan. These algorithms do not scale up well due to their complexity. In the second approach,
we overcome this limitation by proposing a multi-agents planning architecture where each web
service is defined by a set of services and is considered as an agent. The agents are coordinated by
merging their best partial plans that answer partially to a request. This coordination procedure
is repeated iteratively until reaching the goal using a local heuristic function. This approach is
then extended by a global heuristic to ensure its completeness if the sub-problems assigned to
the agents are dependent. This global heuristic of evaluating the best local plan avoids the wells by considering the intermediate local plans offered by other agents. The study of the complexity of decentralized approaches shows that they are polynomial, and experimental results show that they are able to scale up well for complex problems.
Finally, a self-healing service composition agent-based architecture is developed. This archi-
tecture is a real integration between the processes of composition, active dignosis, and repair
into one planning process.
Introduction
Contexte g´ en´ erale
Depuis l’´emergence des premiers syst`emes experts, l’automatisation de la planification et du diagnostic a inspir´e de nombreux travaux en intelligence artificielle. Avec la complexit´e croissante des syst`emes : installations industrielles compliqu´ees n´ecessitant un m´elange de comp´etences (automatique, ´electronique, etc), avec l’apparition de grands r´eseaux, avec l’augmentation des risques (centrales nucl´eaires), il est de plus en plus crucial d’assister l’homme dans des op´erations de planification ou de surveillance. Cette aide ` a la planification et au diagnostic implique d’au- tomatiser un ensemble de tˆaches afin d’accomplir une tˆache complexe, de d´etecter un fonction- nement anormal du syst`eme, puis ` a partir des observations anormales, d´eterminer les causes du dysfonctionnement du syst`eme afin de proposer ´eventuellement des actions ` a effectuer. Le commerce ´electronique, qui concerne principalement la vente de biens et de services au client, se situe dans ce contexte g´eneral. Ces ´echanges se sont rapidement ´etendus aux ´echanges entre entreprises (B2B, Business to Business).
Cr´e´es pour faciliter les ´echanges commerciaux, les Web services prennent leurs racines dans l’informatique distribu´ee en prenant le r´eseau internet comme plate-forme d’ex´ecution de compo- sants logiciels interop´erables conduisant ` a des interactions complexes ` a grande ´echelle. L’int´erˆet des Web services consiste ` a permettre ` a une entreprise d’exporter au travers du r´eseau internet ses comp´etences et son savoir-faire, d’interagir avec ses partenaires, de rechercher de nouveaux supports de vente.
Un paradigme ´emergent de l’informatique orient´ee service respose sur la combinaison de
Web services existants dans le but de fournir des services ` a valeur ajout´ee. Un d´efi important
conditionnant une utilisation r´eelle des Web services consiste ` a surveiller leur ex´ecution et ` a
les rendre capables de r´eagir ` a des dysfonctionnements grˆ ace ` a des strat´egies de r´ecup´eration
sur erreur. Cependant, dans des environnements dynamiques tels qu’internet, les Web services
peuvent ˆetre sujets `a des dysfonctionnements impr´evus. Dans ce cas, il n’est pas possible de
d´efinir des m´ecanismes de d´etection ou des strat´egies de r´ecup´eration lors de la phase de concep-
tion qui prennent parfaitement en compte toutes les d´efaillances ` a l’avance de mani`ere robuste.
D’o` u, la capacit´e de d´etecter les fautes pendant l’ex´ecution du service serait tr`es souhaitable dans le but de trouver automatiquement des actions de r´eparation efficaces, notamment en cas de services complexes.
Objectif
L’un des verrous les plus importants limitant le d´eveloppement des architectures orient´ees services r´eside dans l’´elaboration manuelle par un expert de services composites. Pour cela, l’int´egration de services dans l’approvisionnement de nouveaux services personnalis´es, plus riches et plus int´eressants aussi bien pour des applications, d’autres services, ou plus commun´ement pour des utilisateurs humains. Si une application ou un client requi`erent des fonctionnalit´es, et qu’aucun service n’est seul apte ` a les fournir, il doit ˆetre possible de composer automatiquement des services existants afin de r´epondre aux besoins de cette application ou de ce client.
La diss´emination de la technologie du Web ` a grande ´echelle et le nombre ´enorme de Web services disponibles posent dor´enavant la probl´ematique de leur composition automatique. En effet, malgr´e l’´evolution des innovations, la majorit´e des architectures propos´ees reposent sur une centralisation de la composition. Par cons´equent, le besoin d’am´eliorer les m´ethodes existantes est de plus en plus fort afin d’assurer le passage ` a l’´echelle et de diminuer le temps de r´eponse fonction du nombre des services compos´es. Mˆeme l’architecure d´ecentralis´ee la plus r´ecente [Pellier et Fiorino, 2009] est limit´ee pour le moment ` a une classe de probl`emes n´ecessitant une dizaine de services.
Le cœur de notre travail consiste ` a fournir une architecture multi-agents de composition de services fond´ee sur les techniques de planification distribu´ee. Dans cette architecture, chaque agent raisonne sur ses services afin de d´eterminer le meilleur plan local pouvant satisfaire en partie l’utilisateur. Ensuite, les agents se coordonnent et fusionnent leurs plans locaux afin d’atteindre un but commun pr´ed´efini par l’utilisateur, cr´eant ainsi un plan global repr´esentant une composition possible de leurs services.
Une autre contribution de ce travail consiste ` a int´egrer au processus de planification, un pro- cessus de diagnostic actif et de r´eparation. Le but est de d´etecter les fautes pendant l’ex´ecution du service composite, de calculer l’ensemble des ´etats fautifs possibles et de r´eutiliser le processus de planification pour raffiner les ´etats et r´eparer les fautes.
Plan synth´ etique de la th` ese
Le pr´esent document se d´ecompose en trois parties. La premi`ere partie r´ealise un ´etat de l’art
des techniques utilis´ees par la suite dans nos travaux, pour r´esoudre les probl`emes de planifica-
tion, de diagnostic et de r´eparation orient´es plans. La seconde partie introduit le probl`eme de
de planification utilis´ees pour r´esoudre ce probl`eme. Enfin, la troisi`eme partie porte sur notre contribution dans la mod´elisation et la r´esolution de ces probl`emes.
Partie I : ´ Etat de l’art en intelligence artificielle
En nous appuyant sur une ´etude bibliographique, nous pr´esenterons en premi`ere partie de ce document, les diff´erents concepts et outils utilis´es dans nos travaux. Un premier chapitre introduira le probl`eme de la planification classique et les diff´erentes techniques de mod´elisation et de r´esolution de ce probl`eme. Dans le second chapitre, nous introduisons le concept d’agent pour, ensuite, pr´esenter les techniques de planification distribu´ees multi-agents. Dans un troisi`eme chapitre, nous discutons les travaux du diagnostic d’ex´ecution des plans et les techniques de r´eparation utilis´ees.
Partie II : ´ Etat de l’art dans le domaine applicatif des Web services
La seconde partie de ce document s’articulera autour de trois chapitres. Nous pr´esenterons dans le premier chapitre les Web services, leurs utilit´es ainsi que le probl`eme de leur composition.
Le second chapitre portera sur la mod´elisation et la r´esolution de ce probl`eme ` a l’aide des techniques de planification centralis´ees. Le troisi`eme chapitre expose les approches fond´ees sur les techniques de planification d´ecentralis´ees pour la r´esolution du probl`eme de composition.
Partie III : Contributions
La troisi`eme partie de ce m´emoire portera sur la r´esolution des probl`emes pr´ec´edemment mod´elis´es.
Dans le premier chapitre, nous mod´elisons le probl`eme de composition de Web service comme un probl`eme de planification en surmontant quelques limites des approches existantes.
Nous montrons que la technique de tree-search s’adapte mieux que celle de graphplan ` a notre probl´ematique. Cependant, les deux techniques n’assurent pas le passage ` a l’´echelle ` a cause de leur complexit´es exponentielles.
Nous pr´esenterons ensuite, dans un second chapitre, une formalisation de la phase de com- position comme une phase de planification multi-agents o` u chaque Web service, d´efini par un groupe de services, est consid´er´e comme un agent. Chaque agent doit proposer son meilleur plan partiel pour r´epondre partiellement ` a une requˆete. Ensuite les agents se coordonnent en fu- sionnant leurs plans partiels. Cette proc´edure de coordination est r´ep´et´ee it´erativement jusqu’`a atteindre le but en utilisant une fonction heuristique locale.
Cette approche est ensuite ´etendue dans le troisi`eme chapitre de cette partie en consid´erant
une heuristique globale de l’approche. Cette extension permet d’assurer la compl´etude dans le
cas o` u les sous-probl`emes assign´es aux agents sont d´ependants. L’heuristique globale permet de d´eterminer le meilleur plan local partiel et d’´eviter ainsi les puits en consid´erant les plans locaux interm´ediaires propos´es par d’autres agents.
L’´etude de la complexit´e des approches d´ecentralis´ees montre qu’elles sont polynomiales.
Les r´esultats des exp´erimentations montrent que celles-ci sont capables d’assurer le passage `a l’´echelle pour des probl`emes complexes.
Enfin, le quatri`eme chapitre de cette partie est consacr´e `a la mod´elisation d’une architecture d’agent de composition de services auto gu´erissant. Cette architecture permet de : r´epondre aux requˆetes par un plan de composition en utilisant les approches d´evelopp´ees dans les chapitres pr´ec´edents, de diagnostiquer les fautes lors de l’ex´ecution d’un plan et de r´eparer le plan par re-planification, lors de la d´etection d’une faute d’ex´ecution.
Nous concluons enfin en tirant le bilan des travaux expos´es et pr´esenterons diff´erentes pers-
pectives ouvertes par ce travail.
Etat de l’art en intelligence ´
artificielle
Planification classique
Sommaire
1.1 Repr´ esentation classique du domaine de la planification . . . . . 10 1.2 Algorithmes de planification . . . . 14 1.2.1 Planification dans l’espace d’´etats . . . . 15 1.2.2 Planification dans l’espace de plans . . . . 18 1.3 Techniques de planification graphique . . . . 21 1.3.1 Construction du graphe . . . . 21 1.3.2 Conditions de l’accessibilit´e . . . . 22 1.3.3 Planificateur Graphplan . . . . 23 1.4 Techniques de planification hi´ erarchique . . . . 24 1.4.1 De STRIPS `a HTN . . . . 24 1.4.2 Algorithme de r´esolution de HTN . . . . 25 1.5 Extensions des caract´ eristiques du domaine de planifcation . . 26 1.6 Conclusion . . . . 27
Introduction
La planification est un domaine central de l’intelligence artificielle qui est d´efini par le pro- cessus de d´elib´eration explicite qui choisit et organise des actions en anticipant leurs r´esultats attendus. Cette d´elib´eration vise ` a g´en´erer -le mieux possible- un plan d’un ´etat initial pour atteindre un ´etat but d´efini a priori. Une donn´ee n´ecessaire ` a tout algorithme de planification est la description du probl`eme `a r´esoudre. Le but de cette description n’est pas d’´enum´erer ex- plicitement les ´etats et les transitions entre les ´etats, mais elle doit faciliter leur calcul `a la vol´ee.
De plus, cette description doit ˆetre ind´ependante du domaine afin de fournir un cadre g´en´eral `a
la r´esolution des probl`emes.
Un probl`eme de planification doit d´efinir une repr´esentation d’une logique pour la description d’un ´etat du domaine, d’une action, d’un probl`eme de planification, un plan solution du probl`eme de planification, etc. Ensuite, plusieurs algorithmes de planification peuvent ˆetre appliqu´es `a la mˆeme repr´esentation pour chercher les plans solutions.
Dans les sections suivantes, nous d´etaillons la description du probl`eme de la planification classique.
1.1 Repr´ esentation classique du domaine de la planification
Dans la litt´erature, il y a trois fa¸cons diff´erentes de repr´esenter un probl`eme classique de planification. Elles sont ´equivalentes en pouvoir d’expression dans le sens o` u chaque domaine de planification repr´esent´e dans l’une d’entre elles peut ˆetre repr´esent´e dans les deux autres, avec au plus une augmentation lin´eaire de la taille [Nebel, 1998].
1. la repr´esentation dans la th´eorie des ensembles (Set-theoretic represenation ) [Green, 1969] : chaque ´etat du monde est un ensemble de propositions et chaque action est une expression sp´ecifiant les propositions qui doivent appartenir ` a l’´etat courant pour que l’action soit ex´ecutable, ainsi que les propositions ` a ajouter ou ` a supprimer de l’´etat suite ` a l’ex´ecution de l’action ;
2. la repr´esentation classique (Classical representation) [Fikes et Nilsson, 1971] : les ´etats et les actions sont semblables ` a ceux d´ecrits pour la repr´esentation dans la th´eorie des ensembles. Des pr´edicats du premier ordre et des connecteurs logiques sont utilis´es ` a la place des propositions ;
3. la repr´esentation par des variables d’´etats (state variable representation) : chaque ´etat est repr´esent´e par un tuple de n variables d’´etats valu´ees {x
1, ..., x
n} et chaque action est repr´esent´ee par une fonction partielle pour passer entre deux variables d’´etats instanci´es.
Un avantage de la repr´esentation dans la th´eorie des ensembles est qu’elle offre une repr´esentation plus lisible du syst`eme de transition d’´etats. Par contre, cette repr´esentation peut prendre plus d’espace m´emoire que les deux autres. Au del`a des consid´erations th´eoriques, il peut y avoir des raisons pratiques pour lesquelles une repr´esentation est pr´ef´erable ` a l’autre. Par exemple, pour exprimer un concept qui est essentiellement une fonction d’une valeur, il est plus commode d’utiliser la repr´esentation par des variables d’´etats que la repr´esentation classique.
Dans la suite du chapitre, nous introduisons les principaux concepts du domaine de planifi-
cation en utilisant le formalisme de la repr´esentation classique STRIPS qui utilise des notations
d´eriv´ees de la logique du premier ordre [Fikes et Nilsson, 1971]. Nous avons choisi de d´etailler
cette repr´esentation car nous allons l’´etendre afin de pouvoir l’utiliser dans notre approche de
composition de services dans un domaine dynamique (Web services par exemple).
fr2en en2ar
lat2doc doc2pdf
F2 (lat F2),(fr F2) F1
(doc F1),(en F1)
Fig. 1.1 – Exemple de repr´esentation d’un ´etat
Nous illustrons les d´efinitions de la repr´esentation classique du domaine de planification par un exemple du domaine de Web services d´efini dans [Falou et al., 2008]. Consid´erons le domaine ESW (Figure 1.1) qui contient :
– quatre effecteurs destin´es ` a traiter des fichiers textes : 1. f r2en traduit un texte du fran¸cais vers l’anglais ; 2. en2ar traduit un texte de l’anglais vers l’arabe ;
3. lat2doc transforme le format de fichier de latex en doc ; 4. doc2pdf transforme le format de fichier de doc en pdf . – deux fichiers textes F 1 et F 2 o` u :
1. F 1 est en format doc r´edig´e en anglais ; 2. F 2 est en format latex et en fran¸cais.
D´ efinition 1 Un langage logique L constitu´e d’un ensemble de pr´edicats du premier ordre L = {p
1, ..., p
n} est utilis´e pour repr´esenter un domaine de planification. Ce langage est bas´e sur le pr´edicat d´efini par son symbole et une liste d’arguments. Il est utilis´e pour repr´esenter les relations fixes et dynamiques entre les diff´erentes variables du domaine.
Remarque 1 Dans ce qui suit, nous utilisons les lettres x, y, z pour d´esigner les variables et les lettres c, p, v pour d´esigner les constantes.
Plusieurs notions attach´ees ` a la d´efinition de l’atome sont d´efinies :
– expression compl`etement instanti´ee (Ground expression) : expression qui ne contient pas de symboles de variables e.g., in(c1,p3) ;
– expression partiellement instanti´ee (Unground expression) : expression qui contient au
moins un symbole de variable e.g. in(c1,x) ;
– substitution : une substitution σ = {x
1← v
1, x
2← v
2, . . . , x
n← v
n} dans une expression logique consiste `a remplacer chaque occurrence d’une variable x
idans la proposition, partout o` u elle intervient, par un objet v
i;
– instance de e : une instance d’expression logique e est le r´esultat de l’application d’une substitution σ ` a e.
Exemple 1 Dans ESW, un sous-ensemble des atomes utilis´e pour d´ecrire le domaine est : (en f ) pour designer que le fichier f est r´edig´e en anglais ; (lat f ) pour designer que le format du fichier f est latex ; etc.
D´ efinition 2 Etat ´ : un ´etat est un ensemble d’atomes instanci´es du langage L.
Un pr´edicat p est v´erifi´e dans un ´etat q si et seulement si p ∈ q. Dans le cas contraire, p est faux du fait de l’hypoth`ese du monde clos : un pr´edicat qui n’est pas explicitement sp´ecifi´e dans un ´etat, est consid´er´e comme faux dans celui-ci.
Exemple 2 L’´etat du domaine d´ecrit dans la Figure 1.1 est donn´e par :
q
0=
( (doc F 1), (en F 1) (lat F 2), (f r F 2)
)
D´ efinition 3 Op´ erateur : Un op´erateur est d´efini par
o = (nom(o), precond(o), ef f et
+(o), ef f et
−(o)) avec :
– nom(o) est le nom de l’op´erateur. Il est d´efini par une expression de la forme n(x
1, ..., x
n) o` u n est un symbole d’op´erateur et x
1, ..., x
krepr´esentent les param`etres de l’op´erateur ; – precond(o) est l’ensemble de pr´econditions de l’op´erateur o, c’est- ` a-dire les propri´et´es du
monde n´ecessaires ` a son ex´ecution ;
– ef f et
+(o) et ef f et
−(o) d´efinissent respectivement l’ensemble de propri´et´es d´ecrivant les propri´et´es ` a ajouter et ` a supprimer de l’´etat du monde apr`es l’ex´ecution de o.
Exemple 3 L’op´erateur en2ar(f ) peut ˆetre d´efini de la fa¸con suivante : en2ar(f)
precond : (en f )
ef f et
+: (ar f )
ef f et
−: (en f )
D´ efinition 4 Action : Une action est une instance d’un op´erateur.
Si a est une action et q
iun ´etat tel que precond(a) ⊆ q
ialors a est applicable dans q
i, et le r´esultat de cette application est l’´etat :
q
i+1= (q
i− ef f ets
−(a)) ∪ ef f ets
+(a)
Exemple 4 L’´etat r´esultant de l’application de l’action en2ar[F 1] dans l’´etat q
0est :
q
1=
( (doc F 1), (ar F 1) (lat F 2), (f r F 2)
)
D´ efinition 5 Un domaine de planification D est d´efini par : l’ensemble des types des variables, les atomes (pr´edicats), les ´etats du domaine Q = 2
atomes instanci´es de Let l’ensemble A des op´erateurs instanci´es de O.
Un exemple d’une partie de description du domaine de planification ESW (Figure 1.1) est donn´e ci-dessous en utilisant le langage PDDL [McDermott et al., 1998]. PDDL (Planning Domain Definition Language) est un langage standard destin´e ` a d´ecrire l’´etat physique d’un domaine de planification, ` a savoir ses pr´edicats (atomes), ses actions, les effets des actions et la structure des plans.
Exemple 5
( define (domain(file-transformation-domain) (:types file)
(:predicates
(en ?f -file)(fr ?f -file)(ar ?f -file) (lat ?f -file)(doc ?f -file)(pdf ?f -file)
(:action en2ar
(:parameters (?f -file) (:precondition (en ?f)) (:effet (ar ?f) )
(:action fr2en ...
) etc..
Dans l’exemple ci-dessus, le nom du domaine de planifcation est d´efini dans la premi`ere
ligne, l’ensemble des types des variables est donn´e dans la deuxi`eme ligne, les diff´erents types
de pr´edicats sont d´efinis dans la troisi`eme ligne et les actions du domaine sont d´efinis apr`es. Le
sysmbole « ? » est utilis´e pour d´esigner les variables du domaine.
D´ efinition 6 Un probl`eme de planification P pour un domaine de planification D est d´efini par P = (O, init, but) o` u :
– init : est l’´etat initial ;
– but : est l’´etat but devant ˆetre atteint ; – O : est l’ensemble des op´erateurs.
Exemple 6 Un exemple d’un probl`eme de planification peut ˆetre d´efini par P = (O, q
0, q
2) o` u : O est l’ensemble des op´erateurs du domaine ESW, l’´etat q
0(exemple 2) est l’´etat initial init, et q
2est l’´etat but d´efini comme suit :
q
2=
( (doc F 1), (ar F 1) (pdf F 2), (f r F 2)
)
D´ efinition 7 Un plan est d´efini par toute s´equence d’actions Π = ha
1, a
2, ..., a
ni o` u chaque action a
iest une instance d’un op´erateur de O.
Soit P = (O, init, but) un probl`eme de planification. Un plan Π est un plan solution si but ⊂ γ(init, Π) o` u γ (init, Π) = γ(q
n−1, ...γ(γ (init, a
1), a
2)...a
n) et γ(q, a) est le r´esultat d’application de l’action a dans l’´etat q.
Exemple 7 Un plan solution du probl`eme de planification introduit dans l’exemple 6 est π = hen2ar[F 1], lat2pdf [F 2]i
La repr´esentation classique du domaine de planification introduite ci-dessus est tr`es res- treinte. Par cons´equence, des extensions sont n´ecessaires non seulement pour pouvoir d´ecrire des domaines complexes mais aussi pour faciliter leur description. Ces principales extensions sont le typage des variables, les op´erateurs de planification conditionnelle (Forall , Exists, . . .), les expressions de quantification, etc. Le langage de planification PDDL permet d’exprimer ces extensions. Ces derni`eres permettent d’am´eliorer l’expressivit´e des expressions du domaine de planification tout en r´eduisant leur taille.
Dans la section suivante, nous introduisons les algorithmes de planification pour la r´esolution d’un probl`eme de planification.
1.2 Algorithmes de planification
Les algorithmes de planification peuvent ˆetre regroup´es en deux grandes familles : les al-
gorithmes de planification dans un espace d’´etats (state space planning ) [Fikes et Nilsson,
1971, Zhang, 1999] et les algorithmes de planification dans un espace de plans (plan space
planning ) [Sacerdoti, 1990].
1.2.1 Planification dans l’espace d’´ etats
Les algorithmes classiques les plus simples sont les algorithmes de recherche dans un espace d’´etats. Ce sont des algorithmes de recherche dans lesquels l’espace de recherche est un sous en- semble de l’espace d’´etats. Chaque nœud correspond ` a un ´etat du monde, chaque arc correspond
`
a une transition d’´etat, et le plan correspond ` a un chemin dans l’espace d’´etats.
Les principaux algorithmes de planification dans un espace d’´etat sont : la recherche par chaˆınage avant, la recherche par chaˆınage arri`ere, la recherche mixte et l’algorithme STRIPS [Fikes et Nilsson, 1971]. Dans les sections suivantes, nous d´etaillons ces algorithmes de recherche.
Recherche par chaˆınage avant
L’algorithme par chaˆınage avant prend en entr´ee un probl`eme de planification P = (O, init, but) et retourne un plan solution π (s’il existe) ou ´echec (dans le cas contraire) [Hoffmann et Nebel, 2001a]. L’algorithme est illustr´e dans l’algorithme 1. Partant de l’´etat initial init (ligne 2), et d’un plan vide π (ligne 3), pour chaque it´eration, l’algorithme teste si l’´etat courant q satisfait l’´etat but (ligne 5), alors le plan r´esultat est retourn´e (5). Si non, il choisit une action a parmi les actions applicables dans q d’une mani`ere non d´eterministe (ligne 8). Il applique cette action pour obtenir un nouvel ´etat q (9) et il ajoute l’action au plan π (ligne 10).
Le choix non d´eterministe est incorpor´e dans une boucle ou dans un appel r´ecursif, de sorte que l’algorithme donne une s´equence de choix non d´eterministe. L’ensemble des traces d’ex´ecutions peut ˆetre repr´esent´e comme un arbre d’ex´ecution o` u chaque nœud est repr´esent´e par une it´eration ou une invocation r´ecursive de l’algorithme. Si une ou plusieurs traces d’ex´ecution r´eussissent ` a trouver la solution, alors l’algorithme se termine imm´ediatement et retourne une solution. Autrement, la proc´edure ´echoue.
Algorithme 1 : Algorithme de recherche par chaˆınage avant Chaˆınage-avant(O, init, but)
1
q ← init
2
π ← ∅ le plan vide
3
tant que vrai faire
4
si q satisfait but alors retourne π
5
E ← {a|a est une instance d’un op´erateur dans O et precond(a) est vraie dans q}
6
si E = ⊘ alors retourne ´echec
7
Choisir une action a ∈ E d’une mani`ere non d´eterministe
8
q ← γ (q, a)
9
π ← π.a
10
(doc F1),(en F1) (lat F2), (fr F2)
(doc F1),(ar F1) (lat F2), (fr F2)
(doc F1),(ar F1) (pdf F2), (fr F2)
en2ar [F1] lat2pdf [F2]
Fig. 1.2 – Exemple de recherche par chaˆınage avant L’algorithme de recherche par chaˆınage avant est :
– non d´ eterministe : si une solution du probl`eme de planification existe, l’algorithme peut r´eussir ou ´echouer ` a trouver cette solution ;
– consistant : chaque fois qu’il est invoqu´e sur un probl`eme de planification P et retourne un plan r´esultat Π, Π est guaranti d’ˆetre une solution pour P .
Exemple 8 Dans la figure 1.2, une trace d’ex´ecution de l’algorithme par chaˆınage avant pour le probl`eme de planification d´efini dans l’exemple 6 est illustr´ee. Le plan solution obtenu est le mˆeme plan que dans l’exemple 7.
Impl´ ementations d´ eterministes de l’algorithme de recherche par chaˆınage avant Une extension pour rendre l’algorithme de recherche par chaˆınage avant d´eterministe consiste
`
a appliquer, ` a partir d’un ´etat, non seulement une action par it´eration, mais aussi tous les op´erateurs ex´ecutables (actions). Par cons´equent, d´evelopper un ´etat conduit ` a l’obtention d’un ensemble de nouveaux ´etats. Sur la base de la strat´egie de parcours de l’arbre de recherche, un des
´etats non d´evelopp´e est choisi pour le d´evelopper. L’algorithme continue le d´eveloppement des
´etats afin d’atteindre l’´etat but (solution trouv´ee) ou jusqu’`a ce qu’aucun ´etat n’est d´eveloppable (´echec). Lorsque l’algorithme trouve l’´etat but, il extrait le plan solution qui est le chemin entre l’´etat initial et l’´etat but.
Plusieurs strat´egies de recherche peuvent ˆetre utilis´ees pour choisir, dans chaque it´eration, l’´etat ` a d´evelopper dans l’arbre de recherche, parmi elles :
– non-d´ eterministe : l’´etat est choisi d’une mani`ere non d´eterministe ;
– profondeur : l’´etat choisi est le premier ´etat voisin jusqu’` a ce qu’un ´etat n’ait plus de voisins, alors l’algorithme revient ` a l’´etat p`ere ;
– largueur : l’algorithme liste d’abord les voisins de l’´etat ` a d´evelopper s pour ensuite les d´evelopper un par un. Par exemple, dans la figure 1.3, le nœud qui contient l’´etat intial est d´evelopp´e en largeur ;
– heuristique : l’´etat ayant la meilleure heuristique est d´evelopp´e afin de trouver la solution le plus vite possible. Selon le type du probl`eme, cette heuristique est d´efinie par la distance
`a l’´etat but ; dans ce cas l’algorithme choisit l’´etat le plus proche du but ;
L’algorithme de recherche par chaˆınage avant en utilisant les strat´egies de recherche par
profondeur ou largeur est complet et consistant. Par contre, l’utilisaton de cet algorithme n’est
(doc F1),(en F1) (lat F2), (fr F2)
(doc F1),(ar F1) (lat F2), (fr F2)
en2ar [F1]
lat2pdf [F2]
(pdf F1),(en F1) (lat F2), (fr F2)
(doc F1),(en F1) (pdf F2), (fr F2) doc2pdf [F1]
fr2en [F2]
(doc F1),(en F1) (lat F2), (en F2)
Fig. 1.3 – D´eveloppement d’un nœud de l’arbre
pas pratique parce qu’il exige beaucoup de m´emoire. La complexit´e en m´emoire est exponen- tielle en fonction de la taille de la solution. L’impl´ementation en utilisant la strat´egie non- d´eterministe peut perdre beaucoup de temps ` a essayer beaucoup d’actions qui ne progressent pas vers le but. En cons´equence, une bonne fonction heuristique avec une proc´edure d’´elagage (pruning-procedure) peut diminuer ´enorm´ement le nombre des nœuds de l’arbre ainsi que le temps d’ex´ecution de l’algorithme [Hoffmann et Nebel, 2001b].
Recherche par chaˆınage arri` ere
L’id´ee de l’algorithme de recherche par chaˆınage arri`ere est de partir du but et d’appliquer l’inverse des op´erateurs de planification jusqu’` a atteindre l’´etat initial [Helmert, 2006]. L’inverse d’un op´erateur est d´efini par γ
−1(but, a) = (but − ef f ects
+(a)) ∪ ef f ects
−(a) o` u : but est un
´etat but ou un ´etat sous-but et a est une action. On l’appelle op´erateur de r´egression.
Les mˆemes strat´egies de recherche utilis´ees avec l’algorithme en chaˆınage avant peuvent ˆetre utilis´ees avec le chaˆınage arri`ere [Haslum et Geffner, 2000] : non-d´eterministe, profondeur, largeur, heuristique. Contrairement au chaˆınage avant, le chaˆınage arri`ere permet d’´eviter les cycles dans l’arbre de recherche ce qui permet de r´eduire le temps de recherche d’une solution.
Recherche mixte
L’id´ee basique de la strat´egie mixte [lavalle, 2006] est de d´evelopper en parall`ele deux arbres
de recherche. Le premier arbre est d´evelopp´e en utilisant le chaˆınage avant, le deuxi`eme est
d´evelopp´e en utilisant le chaˆınage arri`ere. Ce d´eveloppement se poursuit jusqu’`a l’obtention
d’un ´etat commun aux deux arbres et par cons´equent, un plan solution est trouv´e. L’avantage
de cette strat´egie mixte est de diminuer le temps de recherche parce que les deux arbres sont d´evelopp´es en parall`ele.
Recherche dans STRIPS
Un des plus grands probl`emes des algorithmes pr´esent´es pr´ec´edemment est de savoir comment am´eliorer l’efficacit´e en r´eduisant la taille de l’espace de recherche. L’algorithme STRIPS est une tentative de le faire [Fikes et Nilsson, 1971]. L’algorithme STRIPS fonctionne de la mˆeme fa¸con que l’algorithme de recherche par chaˆınage arri`ere, son avantage r´eside dans sa capacit´e `a r´eduire l’espace de recherche. Cette optimisation est caract´eris´ee par les deux points suivants :
– ` a chaque appel r´ecursif de l’algorithme STRIPS, les sous-buts qui doivent ˆetre satisfaits sont les pr´econditions du dernier op´erateur ajout´e dans le plan, ce qui a comme cons´equence de r´eduire substantiellement le facteur de branchement de l’algorithme ;
– si l’´etat courant satisfait toutes les pr´econditions d’un op´erateur, alors STRIPS “marque”
l’op´erateur. Ainsi, en cas d’´echec, le retour en arri`ere se fera ` a partir de cet op´erateur.
Enfin, STRIPS r´eduit une grande partie de l’espace de recherche, mais il n’est pas complet ni optimal [Fikes et Nilsson, 1971].
1.2.2 Planification dans l’espace de plans
Dans la premi`ere partie de ce chapitre, nous avons abord´e la planification comme la recherche d’un chemin dans le graphe d’un syst`eme de transition d’´etats. Nous allons examiner, dans cette section, un espace de recherche plus ´elabor´e o` u les nœuds sont des plans partiels [Barrett et Weld, 1994], les arcs sont des op´erations de raffinement d’un plan partiel. La r`egle des raffinements consiste ` a ajouter des actions au plan partiel pour accomplir une proposition ou ` a ajouter des contraintes d’ordre entre les actions.
La planification partielle peut ˆetre mise en œuvre comme une recherche dans l’espace des plans d’ordre partiels. Au d´ebut, l’algorithme de recherche est initialis´e par un plan d’initialisa- tion. Les ´etats de l’algorithme de recherche sont des plans. Ensuite, les moyens de raffinement sont appliqu´es sur le plan jusqu’` a l’obtention d’un plan complet qui permettra de r´esoudre le probl`eme. Les actions dans cette recherche ne sont pas des actions du domaine de planification appliqu´ees dans les ´etats, mais des actions appliqu´ees sur les plans comme : l’ajout d’une action au plan, l’ajout d’un ordre entre deux actions, etc.
Chaque plan a les quatre ´el´ements cit´es ci-dessous. Les deux premiers d´efinissent les ´etapes du plan et les deux derniers servent `a savoir comment les plans peuvent ˆetre ´etendus :
– un ensemble d’actions qui constituent les ´etapes du plan. ` A l’initialisation, un plan initial
contient deux actions a
0et a
∞. L’action a
0n’a pas de pr´econditions et a comme effet
tous les litt´eraux de l’´etat initial. a
∞n’a pas d’effets et a comme pr´econditions tous les litt´eraux du but ;
– un ensemble de contraintes d’ordre d’ex´ecution binaire entre les actions de la forme a ≺ b.
Initialement, a
0≺ a
∞;
– un ensemble de liens causaux. Un lien causal d´efini entre deux actions a et b dans le plan, est d´esign´e par a −→
pb ; il est lu comme « a accomplit p pour b » .
Une action c ajout´ee au plan est en conflit avec a −→
pb si l’action c a (¬p) comme effet et si c vient apr`es a et avant b ;
– un ensemble de pr´econditions ouvertes. Une pr´econdition est ouverte si elle n’est pas obtenue par une action du plan. Le rˆ ole du planificateur est de r´eduire l’ensemble des pr´econditions ouvertes ` a l’ensemble vide, sans l’introduction de contradictions entre les relations d’ordre ni de conflits avec les liens causaux.
Algorithme POP (Partial order planning )
Dans le domaine de planification partielle, le probl`eme de planification est d´efini, comme d’habitude, par un ´etat initial, un ´etat but, et un ensemble d’actions.
L’´etat initial contient l’action a
0et l’action a
∞. La contrainte d’ordre a
0≺ a
∞, un en- semble vide des liens causaux, et l’ensemble des pr´econditions ouvertes qui contient toutes les pr´econditions de l’action a
∞.
A chaque it´eration de l’algorithme, la fonction successeur choisit, d’une mani`ere arbitraire, ` une pr´econdition ouverte p d’une action b et g´en`ere un plan successeur pour chaque situation consistante possible afin d’accomplir p par une action a. La consistance est forc´ee par :
1. le lien causal a −→
pb et la contrainte d’ordre a ≺ b sont ajout´es au plan. Si a n’appartient pas au plan, alors il faut aussi ajouter a
0≺ a et a ≺ a
∞;
2. la r´esolution des conflits entre les nouveaux liens causaux et les actions du plan d’une part ; et entre l’action a (si elle est nouvelle) et tous les liens causaux d’autre part. Un conflit entre a −→
pb et c est r´esolu en for¸cant c de s’ex´ecuter ` a un moment en dehors de l’intervalle de protection, soit en ajoutant b ≺ c ou c ≺ a. L’´etat successeur est ajout´e si le r´esultat est un plan consistant ;
3. le plan solution est trouv´e si le plan ne contient pas de pr´econditions ouvertes.
Exemple 9 La Figure 1.4 illustre un exemple simple d’application de l’algortihme POP. Le probl`eme de planification de cet exemple est d´efini par : init = {(doc F 1), (en F 1)}, et but = {(pdf F 1), (ar F 1)}. D’o` u l’´etat initial du graphe de planification qui contient l’action a
0et a
∞et la relation d’ordre a
0≺ a
∞.
A la premi`ere ´etape, l’algorithme choisit parmi les pr´edicats ouverts ` {(pdf F 1), (ar F 1)}
le pr´edicat (pdf F 1). Ce pr´edicat est accompli par l’action doc2pdf [F 1]. Les deux relations
a0
(doc F1) (en F1)
(pdf F1) (ar F1)
a0 (doc F1) (en F1)
(pdf F1) (ar F1) doc2pdf
(doc F1) (pdf F1)
a0
(doc F1)
(en F1)
(pdf F1)
(ar F1) doc2pdf
(doc F1) (pdf F1)
en2ar
(en F1) (ar F1)
(pdf F1) est accompli par doc2pdf
(ar F1) est accompli par en2ar
Fig. 1.4 – Exemple d’ex´ecution de l’algorithme POP
d’ordre : a
0≺ doc2pdf [F1] ; doc2pdf[F 1] ≺ a
∞et les deux liens causaux : (doc F 1) → (doc F 1) ; (pdf F 1) → (pdf F 1) sont ensuite ajout´es.
Ensuite, dans la deuxi`eme ´etape, l’algorithme choisit le deuxi`eme pr´edicat ouvert (ar F 1).
Ce pr´edicat est accompli par l’action en2ar[F1]. Les deux relations d’ordre : a
0≺ en2ar[F 1] ; en2ar[F1] ≺ a
∞et les deux liens causaux : (en F 1) → (en F 1) ; (ar F 1) → (ar F 1) sont ensuite ajout´es.
Enfin, le plan solution est trouv´e : hdoc2pdf [F 1], en2ar[F 1]i car le plan ne contient aucun pr´edicat ouvert.
En comparant avec la planification d’ordre total (state-space), la planification d’ordre par- tiel a l’avantage de pouvoir d´ecomposer les probl`emes en sous-probl`emes. Elle a cependant un inconv´enient principal dans la mesure o` u elle ne repr´esente pas directement les ´etats. Par cons´equent, il est difficile d’estimer combien le plan d’ordre partiel est loin du but.
Par contre, il est possible de sp´ecifier une heuristique par le coˆ ut r´eel du plan. Cette heuris-
tique est utilis´ee pour choisir quel est le plan `a raffiner. Nous facturons 1 pour chaque action
ajout´ee au plan et 0 pour tous les autres raffinements. Dans ce cas, h(Π) sera ´egal au nombre
des actions r´eelles du plan, o` u Π est un plan. Un deuxi`eme type d’heuristique peut ˆetre d´efini
par le nombre des pr´econditions ouvertes.
Un troisi`eme type d’heuristique est d´efini pour choisir une pr´econdition ouverte pour tra- vailler sur elle. Comme dans le cas de la s´election des variables dans les algorithmes de satisfaction des contraintes[Kumar, 1992]. Cette s´election a un grand impact sur l’efficacit´e. Ainsi, les mˆemes techniques peuvent ˆetre appliqu´ees ici.
1.3 Techniques de planification graphique
Blum et Furst ont introduit les techniques de planification graphiques dans un espace de re- cherche tr`es puissant s’appuyant sur les deux types d’espace de recherche pr´esent´ees pr´ec´edemment [Blum et Furst, 1995] : planification dans l’espace d’´etats (section 1.2.1) et planification dans l’espace de plans (section 1.2.2). L’espace d’´etat fournit un plan comme une s´equence d’actions.
Les planificateurs dans l’espace de plans synth´etisent un plan comme un ensemble d’actions partiellement ordonn´e. Les techniques de planification graphique sont bas´ees sur une id´ee plus puissante : l’analyse de l’accessibilit´e. L’analyse de l’accessibilit´e porte sur la question de savoir si un ´etat q
iest accessible ` a partir d’un ´etat q
jgrˆace ` a un ensemble d’actions, et quelles sont ces actions qui le permettent ?
L’id´ee de Blum et Furst est de construire un graphe qui est beaucoup plus petit que le graphe de transition d’´etats. Le graphe de planification est polynomial en espace et peut ˆetre construit d’une mani`ere efficace pour certains probl`emes difficiles. L’inconv´enient est que le graphe de planification contient des ´etats qui peuvent ne pas ˆetre atteints. Cet inconv´enient est dˆ u aux relations mutex (D´efinition 9) qui sont d´efinies afin d’exprimer l’impossibilit´e de certaines combinaisons de propositions ou d’actions.
1.3.1 Construction du graphe
Dans les techniques de planification graphique, un graphe est construit en niveaux. L’id´ee de base est de consid´erer ` a chaque niveau i du graphe non pas un ´etat individuel, mais pour une premi`ere approximation, l’union des pr´edicats de tous les ´etats accessibles en appliquant i actions. Ainsi, chaque niveau N
icontient deux sous niveaux : le sous-niveau d’actions A
iet le sous-niveau de pr´edicats P
i. Ensuite le graphe est construit niveau apr`es niveau, en commen¸cant
`
a partir de P
0. ` A la premi`ere ´etape, P
0repr´esente l’´etat initial. ` A l’´etape i, l’ensemble A
irepr´esente toutes les actions ex´ecutables dans P
i−1et tous les no-op (non-op´erateur) actions
(no − op
p) pour chaque pr´edicats p ∈ P
i−1, l’action no − op d’un pr´edicat p est d´efini par :
prec(no − op
p) = ef f et
+(no − op
p) = {p} et ef f et
−(no − op
p) = ∅. L’ensemble P
i+1= P
i∪
ef f et(A
i) o` u ef f et(A
i) est l’union des ef f et
+de tous les op´erateurs dans A
i. Les it´erations
continuent jusqu’`a ce que le graphe de planification se stabilise, ce qui signifie que A
i+1= A
iet
P
i+1= P
i, ou alors qu’un plan solution soit trouv´e (section suivante).
(doc F1)
(pdf F1) (doc F1) doc2pdf [F1]
P0 A1 P1
N1
(en F1)
(ar F1) (en F1) en2ar [F1]
(lat F2)
(doc F2) (lat F2) lat2doc [F2]
(fr F2)
(en F2) (fr F2) fr2en [F2]
no-op
(fr F2)
no-op
(lat F2)
no-op
(en F1)
no-op
(doc F1)