• Aucun résultat trouvé

1.3 La simulation multi-agents

1.3.4 Environnement et simulation

Jusqu’`a maintenant nous avons ´enonc´e le terme environnement, mais aucune contrainte ou descriptif de l’environnement n’ont ´et´e donn´es. Si on reprend la d´efinition d’un agent de Weiss [Weiss, 2000] (“a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectifs.”), un agent est situ´e dans un environnement et agit dans cet environnement (figure 1.6). Malgr´e qu’aucune sp´ecification ne soit donn´ee pour l’environnement dans cette d´efinition, un agent ne peut exister sans environnement.

Bien que la communaut´e SMA n’ait pas port´e son attention sur le rˆole de l’environ- nement et par la mˆeme n’avait pas fourni de cadre formel pour l’environnement, il a r´ecemment ´et´e formalis´e par, en partie, la communaut´e E4MAS (Environment For Multi- Agent Systems ). De ce groupe de travail, une d´efinition de l’environnement a ´et´e propos´ee [Weyns et al., 2007] :The environment is a first-class abstraction that provides the surroun- ding conditions for agents to exist and that mediates both the interaction among agents

and the access to resources. 4

[Odell et al., 2002] insistent ´egalement sur le fait que l’environnement d´efinit les condi- tions dans lesquelles les agents existent dans le syst`eme multi-agents. Mais avant cette volont´e de formaliser l’environnement et de le consid´erer comme une composante `a part enti`ere du syst`eme et n´ecessitant d’ˆetre formalis´ee, l’environnement se r´esumait `a suppo- ser que ”l’environnement est ce qu’il est” et dans cette optique se r´eduisait essentiellement `

a ˆetre une infrastructure dans l’ing´enierie. Plus r´ecemment, la place de l’environnement dans le syst`eme s’est pr´ecis´ee et l’environnement est reconnu comme une composante es- sentielle du syst`eme devant ˆetre pris en compte dans la phase de mod´elisation. Russell et Norvig, dans [Russell and Norvig, 1995], et Weyns et al, dans [Weyns et al., 2005c] [Weyns et al., 2005a], identifient les responsabilit´es de l’environnement.

Les propri´et´es g´en´erales de l’environnement

En temps que composant dynamique d’un syst`eme, l’environnement poss`ede plusieurs caract´eristiques particuli`eres.

Accessible/inaccessible Un environnement accessible est un environnement dans lequel un agent peut obtenir une information compl`ete, pr´ecise, exacte et mise `a jour de l’´etat de l’environnement. La majorit´e des environnements mod´er´ement complexes sont inaccessibles. Par mod´er´ement complexe, on peut inclure, par exemple, le monde r´eel et Internet. Plus l’environnement est accessible et plus simple est la construction d’un agent par son concepteur.

D´eterministe/non-d´eterministe Un environnement d´eterministe est un environne- ment dans lequel n’importe quelle action d’un agent a un seul effet garanti. Ce qui veut dire qu’il n’y a pas d’incertitude r´esultant d’un nouvel ´etat de l’environnement suite `a cette action. Le monde r´eel peut ˆetre consid´er´e comme ind´eterministe. Les environnements non-d´eterministes posent davantage de probl`emes pour les concep- teurs de SMA.

´

Episodique/non-´episodique Dans un environnment ´episodique, la performance d’un agent est d´ependante d’un nombre d’´episodes discrets sans lien avec l’ex´ecution de l’agent dans diff´erents sc´enarios. Les futures ´evolutions du syst`eme ne vont pas d´ependre des actions d´ej`a r´ealis´ees Un exemple d’environnement ´episodique serait un syst`eme de tri de courriers ´electroniques. Les environnements ´episodiques sont

4L’environnement est une abstraction de premier ordre qui fournit les conditions pour que les agents

1.3. La simulation multi-agents

plus simples du point de vue des d´eveloppeurs de SMA, du fait que l’agent peut d´ecider de l’action `a ex´ecuter en se basant seulement sur l’´episode courant. Il n’a pas besoin d’interaction entre l’´episode courant et les ´episodes futurs.

Statique/dynamique Un environnement statique est un environnement dont le passage d’un ´etat `a un autre est r´egi uniquement par l’ex´ecution d’une action par un agent. A l’oppos´e, un environnement dynamique est un environnement qui a d’autres pro- cessus agissant sur lui, et qui risque de subir des changements au d´etriment de la volont´e de l’agent. Le monde r´eel est un environnement hautement dynamique.

Discret/continu Un environnement est discret s’il comporte un nombre fixe et fini d’ac- tions et de perceptions possible. Russel et Norvig donnent deux exemples d’environ- nement discret et continu :

– Discret, un jeu d’´echec,

– Continu, la conduite d’un taxi.

L’approche discr`ete mod´elise l’environnement sous la forme d’un ensemble de cellules qui repr´esente la topologie de l’environnement spatial o`u les agents situ´es vont ´evoluer. L’avantage de cette derni`ere est d’ˆetre relativement simple `a mettre en oeuvre et permet de d´efinir de mani`ere rapide des contraintes sur les perceptions et actions des agents en terme de nombre de cellules. Par ailleurs, le concepteur a la possibilit´e d’allouer des propri´et´es `a ces cellules. Par exemple, dans le cas de la stigmergie avec l’´evaporation des ph´eronomes, un coefficient d’´evaporation peut ˆetre associ´e aux cellules et dans ce cas l’environnement g`ere de mani`ere dynamique et simple ce ph´enom`ene. D’apr`es Parunak [Parunak, 2003], la stigmergie est une m´ethode de communication o`u un individu communique avec un autre individu du syst`eme en modifiant leur environnement local dans lequel ils ´evoluent. L’inconv´enient majeur de cette mod´elisation spatiale de l’environnement est le manque de repr´esentativit´e de l’ensemble des cellules en terme de niveaux de d´etails pour les agents. En effet, dans tous les cas la granularit´e la plus basse est celle de la cellule.

Avec l’approche continue, l’agent devient le r´ef´erentiel `a partir duquel le champ de perception et la port´ee de l’action sont ´evalu´es. On peut alors parler d’individualisation du traitement de l’agent. Les classes d’environnement les plus complexes sont celles qui sont inaccessibles, non d´eterministes, non-´episodiques, dynamiques, et continues. Les diff´erents points abord´es pr´ec´edemment ´enonce des caract´eristiques g´en´erales de l’environnement, mais on peut se demander ce qu’il en est pour la simulation et quel rˆole joue exactement l’environnement dans la simulation voir plus formellement dans la mod´elisation ?

Le rˆole de l’environnement

La figure 1.6 qui d´efinit un agent, illustre parfaitement qu’un agent ´evolue dans un environnement et agit sur ce dernier `a l’aide d’“actionneurs”. L’environnement devient alors une composante `a part enti`ere du SMA [Russell and Norvig, 1995] [Decker, 1995]. Par la suite, en plus de fournir un cadre qui d´elimite l’existence des agents, l’environnement peut rendre diff´erents services aux agents pour la simulation [Weyns et al., 2005a]. `A partir du moment o`u l’environnement propose un certain nombre de services et dispose d’une dynamique propre `a lui-mˆeme, il devient une entit´e active du syst`emes multi-agents. Plus pr´ecis´ement, il est consid´er´e comme une entit´e commune et interm´ediaire au syst`eme ce qui implique de le prendre en compte lors de la mod´elisation et de la mise en oeuvre du mod`ele dans le simulateur. Dans cette continuit´e, Parunak d´efinit l’environnement comme un tuple < E, P > o`u E d´esigne l’ensemble des valeurs caract´erisant l’environnement et le processus P d´efinit la dynamique de l’environnement. L’environnement est alors consid´er´e comme une entit´e active du SMA [Parunak, 1999]. Dans la litt´erature, des classifications ont ´et´e propos´ees pour positionner au mieux les services que l’environnement peut encapsuler en tant qu’entit´e active du syst`eme. On peut citer celle de Platon et al. [Platon et al., 2007a] qui distingue les services relatifs `a la m´ediation des interactions, des services d´ependant de la gestion des ressources et du contexte. Nous allons privil´egier la distinction op´er´ee par Weyns et al [Weyns et al., 2007] qui se r´ef´erence plutˆot `a la nature des agents du syst`eme. Il distingue alors le rˆole que peut jouer l’environnement dans les syst`emes d’agents situ´es de celui dans les syst`emes d’agents cognitifs.

Consid´erons le cas des syst`emes d’agents situ´es o`u les agents ex´ecutent des actions situ´ees [Ferber and M¨uller, 1996] [Weyns and Holvoet, 2004] [Maes, 1990]. L’environ- nement est un “monde ext´erieur”dans le sens o`u l’environnement ne fait pas partie du mod`ele, ni de l’architecture. Mais il est “ext´erieur” au syst`eme. Un domaine d’application de ce principe est le domaine de la robotique [Maes, 1990] [Rosenblatt and Payton, 1989]. L’environnement est un support de coordination pour coordonner les agents `a partir de ce qu’ils per¸coivent de leur environnement commun, e.g. la stigmergie avec les ph´eromones ou le gradient field [Weyns et al., 2006]. L’environnement fournit une architecture qui encapsule les primitives de perception, la transmission des messages des agents, la d´efi- nition de “lois” qui conditionnent l’ex´ecution de l’agent, et le processus de gestion de sa dynamique ind´ependamment des agents.

Consid´erons le cas des syst`emes d’agents cognitifs. L’environnement est un objet et un moyen de communication. Il joue alors le rˆole d’infrastructure sp´ecifiant des protocoles de communication et d’interaction auquel un objet de stockage peut ˆetre int´egr´e. L’en-

1.3. La simulation multi-agents

vironnement fournit une couche organisationnelle. Il encapsule alors des primitives pour la gestion d’organisation, de groupe et de role [Gasser, 2001]. L’environnement sert d’in- frastructure de coordination, e.g. Linda [Carriero and Gelernter, 1989], LIME [Murphy et al., 2001], TuCSon [Omicini and Zambonelli, 1999].

Apr`es avoir identifi´e les rˆoles que l’environnement peut assurer au sein d’un syst`eme multi-agents, Weyns et al d´ecompose l’environnement en 3 niveaux : 1/ le niveau bas- level, qui poss`ede les primitives d’acc`es au contexte de d´eploiement pour les agents ; 2/ le niveau d’abstraction, qui joue le rˆole d’interface entre le niveau d’abstraction n´ecessaire aux agents et le contexte de d´eploiement ; 3/ le niveau d’interaction et de m´ediation qui propose un support pour r´eguler l’acc`es aux ressources partag´ees et qui sert de m´ediateur pour g´erer les interactions. Le premier niveau correspond au contexte de d´eploiement et les deux derniers niveaux sont relatif `a l’environnement d’appplication.

1.3.4.1 Les responsabilit´es de l’environnement

La premi`ere responsabilit´e de l’environnement est de structurer l’ensemble du syst`eme en assurant son int´egrit´e. Par exemple, dans le projet GranuLab [Breton et al., 1999] [Breton, 2002], les agents grains disposent de trois attributs qui sont leur masse, leur rayon et leur position. La position d’un grain est forc´ement relative `a une entit´e qui repr´esente un environnement spatial et qui v´erifie un certain nombre de contraintes comme le fait qu’une position ne peut pas ˆetre n´egative ou que deux grains ne peuvent pas avoir la mˆeme position.

De plus, l’environnement doit ˆetre capable de fournir un ensemble de services ou calculs qui seront sollicit´es par les agents. Par exemple, dans l’exemple pr´ec´edent Granulab, l’environnement calcule la distance qui s´epare deux agents sur la requˆete d’un des deux agents. Plus intuitivement dans le cas d’un espace dans lequel les agents ´evoluent, l’envi- ronnement fournit un support de perception qui peut permettre aux agents de percevoir un sous ensemble du contexte global de l’´etat du syst`eme. Et l’environnement peut, en fonction des besoins et int´erˆets de l’agent, personnaliser la perception de son contexte en restreignant sa perception aux agents disposant des caract´eristiques souhait´ees. Par exemple, dans leur application E’GV, Weyns et al [Weyns et al., 2005b] ajoutent dans leur environnement virtuel un module de gestion des perceptions dont le but est de traiter les requˆetes de perception de chaque agent pour leur fournir l’information ad´equate. Dans Archisim, le rˆole de l’environnement est de sp´ecialiser les informations per¸cues par les agents en fonction de leur ´etat en respectant la r`egle o`u la perception de l’environnement par un agent (qui est dispens´e par le module de perception de l’environnement) diff`ere en

fonction de la vitesse de l’agent dans son v´ehicule.

Une autre responsabilit´e qui peut ˆetre allou´ee `a l’environnement est le contrˆole de l’action. En effet dans l’exemple du “Packet World” [Weyns et al., 2005d] qui est une simulation de robots transporteurs, les concepteurs d´efinissent, `a travers l’environnement dans lequel les agents robot ´evoluent, des r`egles de gestion des actions et des interactions. L’environnement est alors en charge de les mettre en oeuvre. Un autre exemple du contrˆole de l’action par l’environnement est la simulation d’agents dans un r´eseau de bus o`u le but de l’environnement est de restreindre les actions et interactions des agents [Meignan et al., 2006].

L’environnement peut ´egalement ˆetre un support commun pour la communication [Saunier and Balbo, 2009] [Weyns et al., 2007] [Saunier et al., 2007]. L’environnement est alors d´efini comme un interm´ediaire entre un ensemble d’agents du syst`eme. Pour ces agents, l’environnement est un canal commun de communication. On parle alors de communication indirecte en opposition avec les communications directes qui sont des ´

echanges pair `a pair entre des agents. La stigmergie a ´et´e introduite par Grass´e en 1959 [Grass´e, 1959] et est un exemple d’interaction indirecte. Cette notion traduit le fait qu’au sein d’un collectif, les actions futures des agents sont influenc´ees par les effets persistants des actions pass´ees dans l’environnement. La notion de stigmergie peut ˆetre vue ´egalement comme un r´epertoire de r´eponses `a des stimuli tel que la r´eponse `a un stimulus transforme ce stimulus dans le stimulus suivant. Le principe de stigmergie implique que les ´echanges d’informations passent par une modification de l’´etat de l’environnement. Ce principe est appliqu´e dans [Sauter et al., 2008] [Panait and Luke, 2004b] [Panait and Luke, 2004a] o`u l’environnement est utilis´e pour permettre la gestion de la propagation et de l’´evaporation des ph´eromones dans une simulation multi-agents.

`

A partir du moment o`u l’environnement existe ind´ependamment des agents du sys- t`eme, plus pr´ecis´ement si l’environnement poss`ede un processus endog`ene et ses propres caract´eristiques, ou s’il peut exister plusieurs environnements dans un mˆeme mod`ele, il est n´ecessaire de pr´eciser les sp´ecifications de l’environnement au niveau du mod`ele op´e- rationnel. Ainsi, l’environnement devient une entit´e `a part enti`ere, autonome avec une architecture d´etermin´ee qui lui permet d’interagir avec les agents.

1.3.4.2 Un mod`ele de r´ef´erence pour l’environnement

Le mod`ele propos´e par Weyns et al. [Weyns et al., 2007] repose sur la d´efinition d’une couche d’abstraction qui permet de masquer les primitives d’interaction propres

1.3. La simulation multi-agents

au contexte de d´eploiement du syst`eme. Le mod`ele de r´ef´erence pour l’environnement illustr´e sur la figure 1.8 est compos´e de trois niveaux d’abstraction : la couche physique (c’est-`a-dire le contexte de d´eploiement du syst`eme), la couche logique (ou couche d’abs- traction de l’environnement) et la couche de m´ediation des interactions.

Environnement d’application

perception

observation & translation

action message

communication

synchronisation & traitement des données traitement des données

lois interaction observer données dynamique état percept sens Agent

interactions de bas niveau Observation

des données ressource des données ressource

Observation Contexte de déploiement ensemble de lois espace de stockage module fonctionnel interface de stockage flux de données interface agent-environnemnent interaction

Fig. 1.8 – Le mod`ele d’environnement propos´e par [Weyns et al., 2007]

Nous allons maintenant d´ecrire les diff´erents composantes du mod`ele de r´ef´erence. ´

etat le module ´etat permet de repr´esenter l’´etat de l’environnement avec une abstraction du contexte de d´eploiement comme par exemple un repr´esentation du r´eseau routier synchronisation et traitement des donn´ees Ce module maintient une repr´esenta- tion du contexte de d´eploiement dans le module ´etat. Il fournit ´egalement des fonc- tions additionnelles pour adapter les capteurs au probleme.

dynamique Le module dynamique g`ere le processus propre `a l’environnement qui en fait une entit´e active du syst`eme. Cette dynamique est ind´ependante des agents et du contexte de d´eploiement. Une exemple est la r´egle d’´evaporation des ph´eromones.

lois Cette composant permet de prendre en compte les contraintes sp´ecifiques `a l’appli- cation qui sont relatives au interaction des agents. Par exemple, on peut mod´eliser une loi qui limite la perception de l’environnement pour une cat´egorie d’agents. perception Ce module fournit les fonctionnalit´es pour les agents leur permettant de

percevoir leur environnement. Le module de perception, d´eclench´e lorsqu’un agent souhaite percevoir son environnement, g´en´ere un percept en fonction de l’´etat cou- rant de l’environnement d’application et des donn´ees accessible depuis le contexte de d´eploiement. Ce module est contraint par le module lois.

observation et traitement des donn´ees Ce module d´efinit les fonctionnalit´e pour ob- server le contexte de d´eploiement. Les donn´ees r´ecup´er´ees par l’observation des ´el´e- ments du contexte de d´eploiement sont envoy´ees au module de perception apr`es un ´eventuel traitement de ces derni`eres.

interaction Le module d’interaction g`ere les actions des agents sur l’environnement. Ce module doit int´egrer un modele d’actions qui doivent ˆetre ex´ecut´ees (par exemple le mod`ele IRM4S fond´e sur le principe influence/r´eaction [Michel, 2006]). On distingue deux cat´egories d’actions : 1/ celles qui modifient l’environnement d’application et 1/ celles qui tentent de modifier les ´el´ements du contexte de d´eploiement.

communication Le module communication assure la gestion des messages en collectant les messages et en les distribuant aux agents ad´equats. Ce module peut r´eguler les messages ´echang´es entre les agents `a partir de l’´etat de l’environnement et d’un ensemble de lois. Ainsi, des protocoles de communication peuvent ˆetre d´efinis.