• Aucun résultat trouvé

Contributions à la composition dynamique de services fondée sur des techniques de planification et diagnostic multi-agents

N/A
N/A
Protected

Academic year: 2021

Partager "Contributions à la composition dynamique de services fondée sur des techniques de planification et diagnostic multi-agents"

Copied!
205
0
0

Texte intégral

(1)

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�

(2)

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)

(3)
(4)

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.

(5)
(6)

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

(7)

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

(8)

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

(9)

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)

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

(11)
(12)

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

(13)

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

(14)

Liste des tableaux

5.1 Exemple d’information sur l’historiques des plans . . . . 74

5.2 Les Web services s´emantique de S

W s

et leurs capabilit´es . . . . 80

5.3 Label des lignes r

i

et colonnes c

j

de 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

(15)
(16)

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

(17)

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.

(18)

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.

(19)

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

(20)

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

(21)

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.

(22)

Etat de l’art en intelligence ´

artificielle

(23)
(24)

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.

(25)

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).

(26)

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) ;

(27)

– 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

i

dans 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

k

repr´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 )

(28)

D´ efinition 4 Action : Une action est une instance d’un op´erateur.

Si a est une action et q

i

un ´etat tel que precond(a) ⊆ q

i

alors 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

0

est :

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 L

et 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.

(29)

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

2

est 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

n

i o` u chaque action a

i

est 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].

(30)

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

(31)

(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

(32)

(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

(33)

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

0

et a

. L’action a

0

n’a pas de pr´econditions et a comme effet

(34)

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 −→

p

b ; il est lu comme « a accomplit p pour b » .

Une action c ajout´ee au plan est en conflit avec a −→

p

b 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

0

et 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 −→

p

b 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 −→

p

b 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

0

et 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

(35)

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.

(36)

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

i

est accessible ` a partir d’un ´etat q

j

grˆ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

i

contient deux sous niveaux : le sous-niveau d’actions A

i

et 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

0

repr´esente l’´etat initial. ` A l’´etape i, l’ensemble A

i

repr´esente toutes les actions ex´ecutables dans P

i−1

et 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

i

et

P

i+1

= P

i

, ou alors qu’un plan solution soit trouv´e (section suivante).

(37)

(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)

Fig. 1.5 – Exemple d’ex´ecution de GraphPlan

Exemple 10 Dans la Figure 1.5, le premier niveau de construction du graphe du probl`eme de planification d´efini dans l’exemple 6 de la page 14 est donn´e.

L’´etat P 0 est d´efini par l’ensemble de pr´edicats de l’´etat intial. Ensuite, le sous-niveau d’ac- tions N 1 contenant toutes les actions ex´ecutables dans P0 est construit. Les effets de l’ex´ecution des actions de N 1 sont ajout´es ` a P1 qui est intialis´e par P 0. Les arcs du graphe sont construits de la mani`ere suivante :

– pour chaque pr´edicat p du niveau P 0 faisant partie des pr´econditions d’ex´ecution d’une action a du sous-niveau d’action N 1, un arc sortant de p et entrant dans a est ajout´e au graphe ;

– pour chaque pr´edicat p du niveau P1 faisant partie des effets d’ex´ecution d’une action a du sous-niveau d’action N 1, un arc sortant de a et entrant dans P 1 est ajout´e ;

– pour chaque pr´edicat p du niveau P 0 faisant partie des pr´econditions d’ex´ecution d’une action a du N 1, un arc pointill´e sortant de a et entrant dans p dans le niveau P 1 est ajout´e. Cet arc d´esigne les effets n´egatifs d’ex´ecution d’une action.

1.3.2 Conditions de l’accessibilit´ e

Avant de poursuivre la pr´esentation de la technique de « graphe de planification » , nous

devons rappeller la d´efinition des exclusions mutuelles mutex pour les actions et les pr´edicats

[Blum et Furst, 1995]. Pour cela, nous introduisons la notion d’ind´ependance des actions comme

suit :

(38)

D´ efinition 8 Deux actions (a, b) sont ind´ependantes si et seulement si : – ef f et

(a) ∩ [precond(b) ∪ ef f ects

+

(b)] = ∅

– ef f et

(b) ∩ [precond(a) ∪ ef f et

+

(a)] = ∅

Exemple 11 f r2en[F1], en2ar[F2] sont ind´ependants, tandis que en2f r[F 2] et en2ar[F 2] sont d´ependants.

D´ efinition 9 Deux actions (a, b) sont mutex ssi : – a et b sont d´ependantes, ou

– si une pr´econdition de a est mutex avec une pr´econdition de b.

Deux pr´edicats : p ∈ P

i

et p

∈ P

i

sont mutex si chaque action dans A

i

admettant p comme un effet positif est mutex avec toute action produisant p

, et il n’y a aucune action dans A

i

qui produit p et p

simultan´ement.

Ainsi, dans le graphe de planification, deux actions mutex dans un niveau d’actions A

i

ne peuvent pas apparaˆıtre simultan´ement dans le niveau i d’un plan solution. En fait, les effets positifs de deux actions mutex dans A

i

sont incompatibles dans le niveau de proposition P

i

, sauf s’ils sont ´egalement des effets positifs de certaines autres actions.

1.3.3 Planificateur Graphplan

L’algorithme Graphplan est un algorithme it´eratif pour le d´eveloppement du graphe de planification et pour l’extraction du plan solution. Il permet de construire le graphe en profondeur en rajoutant un nouveau niveau ` a l’espace de recherche ` a chaque it´eration. Le d´eveloppement du graphe se poursuit jusqu’` a obtenir un niveau i tel que P

i

contient tous les pr´edicats du but ou alors P

i

= P

i−1

et A

i

= A

i−1

.

Lorsque le niveau atteint contient tous les pr´edicats du but, ` a partir de celui ci, un parcours en arri`ere est effectu´e pour extraire un plan valide ne contenant aucun couple d’actions mutex.

Si c’est le cas, ce plan sera le plan solution, sinon le d´eveloppement de l’arbre se poursuit sauf si deux niveaux du graphe de planification sont ´egaux (c’est- ` a-dire P

i

= P

i−1

et A

i

= A

i−1

). Dans ce cas, si aucun plan ne peut ˆetre extrait ` a partir de P

i−1

, on parle alors de situation d’´echec.

Dans la Figure 1.5, il est possible d’extraire un plan solution pour atteindre l’´etat but = (pdf F 1), (en F 1), (doc F 2), (f r F 2) ` a partir de l’´etat init = (doc F 1), (en F 1), (lat F 2), (f r F 2).

En effet, les pr´edicats de l’´etat but sont inclus dans le sous-niveau de pr´edicats P

1

et aucun couple de pr´edicats but n’est mutex. Les actions du sous-niveau d’actions A

1

permettant d’avoir les pr´edicats du but sont :

– doc2pdf [F 1] pour le pr´edicat (doc F 1) ;

– no − op

(en F1)

pour le pr´edicat (en F 1) ;

– lat2doc[F 2] pour le pr´edicat (doc F 2) ;

(39)

– no − op

(f r F1)

pour le pr´edicat (f r F 1).

Le couple d’actions doc2pdf [F 1] et lat2doc[F2] n’est mutex dans A1, par cons´equant le plan

< doc2pdf [F 1], lat2doc[F 2] > est un plan solution.

En outre, dans le graphe illustr´e dans la figure 1.5 il est impossible d’extraire un plan solution des niveaux N 0, N 1 lorsque but = (pdf F 1), (ar F 1) et init = (doc F 1), (en F 1). En effet, les pr´edicats de l’´etat but sont inclus dans P 1, mais ils sont mutex car leurs actions cr´eatrices doc2pdf [F 1], en2ar[F1] sont d´ependants. Par contre, il est possible d’extraire un plan solution du niveau N 2 s’il est d´evelopp´e.

1.4 Techniques de planification hi´ erarchique

La technique de planification hi´erarchique (Hierarchical Task Network - HTN) [Nau et al., 2003] est une m´ethodologie d’intelligence artificielle pour la cr´eation des plans par la d´ecomposition des tˆaches. C’est un processus o` u le syst`eme de planification d´ecompose les tˆaches en sous-tˆaches, jusqu’` a ce que des tˆaches primitives soient trouv´ees.

1.4.1 De STRIPS ` a HTN

HTN utilise des d´efinitions des ´etats et des actions du monde qui sont semblables ` a celles uti- lis´ees dans la planification STRIPS. En effet, chaque ´etat du monde est repr´esent´e par l’ensemble des pr´edicats vrais dans cet ´etat, et chaque action correspond ` a une transition d´eterministe entre deux ´etats. Les actions HTN sont appel´ees « tˆaches primitives » . L’objectif de HTN n’est pas d’atteindre un ensemble de buts (cas de STRIPS, exemple : porte ouverte) , mais d’ex´ecuter un ensemble de tˆaches (exemple : ouvrir porte).

Les planificateurs HTN cherchent des plans pour r´ealiser des « r´eseaux de tˆaches » qui peuvent inclure des ´el´ements autres que des buts ` a atteindre. Ils planifient par la d´ecomposition des tˆaches et la r´esolution des conflits.

Un « r´eseau de tˆaches » est une collection de tˆaches qui doivent ˆetre men´ees ensemble avec des contraintes d’ordre dans lesquelles les tˆaches peuvent ˆetre r´ealis´ees. Un r´eseau de tˆaches qui ne contient que des tˆaches primitives est appel´e un r´eseau de tˆaches primitives. Dans le cas plus g´en´eral, un r´eseau de tˆaches peut contenir des tˆaches non-primitives, et le planificateur doit savoir comment les ex´ecuter. En effet, les tˆaches non primitives ne peuvent pas ˆetre ex´ecut´ees directement, parce que les activit´es qu’elles repr´esentent peuvent impliquer l’ex´ecution d’autres tˆaches.

Les tˆaches non-primitives sont repr´esent´ees `a l’aide des constructions appel´ees m´ ethodes.

Une m´ethode est une construction syntaxique de la forme (α, d) o` u α est une tˆache non-primitive,

et d est un r´eseau de tˆaches. Elle pr´ecise que l’un des moyens pour accomplir la tˆache α est

d’accomplir toutes les tˆaches relatives au r´eseau des tˆaches sans violation des contraintes d.

Références

Documents relatifs

Cette partie s’articule autour d’un exemple qui permettra de comprendre la d´emarche `a suivre pour parvenir `a obtenir un mod`ele du syst`eme usuel en Automatique, `a savoir

Soit X la variable al´ eatoire qui compte le nombre d’e-mails qu’elle doit ouvrir pour tomber sur un contenu d´ esirable.. La variable al´ eatoire X suit une loi de Pascal de

L’objet de ce chapitre est d’´ etudier, dans le cas diff´ erentiable, les conditions n´ ecessaires et les conditions suffisantes pour les probl` eme d’optimisation sans contrainte

Maintenant que l’on a d´ efinit le probl` eme trait´ e, nous allons dans ce cours ´ etudier tout d’abord les aspects math´ ematiques qui comprendront les ´ equations

Il y a bien un th´ eor` eme de Bernstein qui donne une condition n´ ec´ essaire et suffisante pour qu’une fonction soit la fonction caract´ eristique d’une loi de probabilit´ e,

4) Les scores que les officiers de police se sont attribu´ es sont-ils significativement plus faibles de ceux qui leur ont ´ et´ e attribu´ es par le groupe des ´ etudiants ? R´

L’ensemble des questions est pos´ e ` a tous les sujets et on note, pour chaque groupe de questions, le nombre de r´ eactions correctes du sujet aux ´ ev´ enements de circulation

Au vu de ces donn´ ees, peut-on affirmer que l’´ evaluation positive de l’endogroupe est meilleure lorsque l’identification au groupe est ´ elev´ ee que lorsqu’elle est basse