• Aucun résultat trouvé

Agent D

Fig. 2.2 Un environnement distribué et ses agents

dénir une fonction appelée voisins: elle renvoie un sous-ensemble de E qui contient le voisinaged'une celluleE

i

.Pour laconnexité, cela correspond juste aunombrede cellules quisonten voisinagedirect avec E

i

.Parexemple,pour unenvironnementde connexité4, lafonctionvoisins(E

i

)relativementàun pointdonnépde coordonnées (x;y)varenvoyer toutes lescellules du type: f(x+1;y);(x;y+1);(x 1;y);(x;y 1)get de même, pour un environnementdeconnexité8,lafonctionvoisins(E

i

)varenvoyer, enplus decellescitées ci-dessus, les cellules du type: f(x+1;y+1);(x 1;y+1);(x 1;y 1);(x+1;y 1)g. De cette manière,il est possible de modier le nombre de cellules que peut percevoir un agentautourdelui.Cesmodicationsaurontpourconséquencelefaitqueenfonctiondela connexitédénitàuninstanttparleconcepteuroul'utilisateur,l'agentvapouvoiroupas percevoirdesphénomènesoudesinformationsquipeuventêtrevitalespoursonévolution. Ilestévidentquelameilleuresolutiondanscecas,seraitquel'agentpuisseàtoutmoment connaître l'ensemble des états de l'environnement. Malheureusement, hormis le fait que cela entraînerait des infaisabilités informatiques (du fait de la complexité éventuelle de l'environnement),celacasseraitunepartiedeladénitiondeJ.Ferber [Fer95]concernant les agent:

On appelle agent une entité physique ou virtuelle ...

qui est capable de percevoir (mais de manière limitée) son environnement ...

Ces dénitions permettentdonc de modéliserun environnementcommeétantla com-position de cellules qui elles mêmes peuvent contenir des agents ou des objets. Cette dénition de l'environnement est très largement utilisée dans les systèmes multi-agents aujourd'huicar ellepermetde mixerlesdeuxapproches:approche centraliséeetapproche distribuée. Chaque petite cellule est un petit environnement centralisé, mais comme sa tailleest considérablement réduitepar rapportà un environnement global centralisé, les problèmes de complexité,notammentauniveau de lamémoire,sonticiconsidérablement réduits.

2.4 L'environnement vu comme un agent

Cette forme de modélisation a été initiée par C. Langton dans leur fameuse plate-formeSwarm [MBLA96], etplus récemment par J. FerberetO.Gutknecht dans Mad-Kit [FG98, GF97]. Cette manièrede décrire l'environnement consiste, comme son nom l'indique, à tout représenter sous forme d'agents. Tous les objets de l'environnement de-viennent des agents, ainsi que l'entité qui leur sert de support (d'environnement). Les agents objets de l'espace qui vont réaliser des interactions possèdent des liens d'ac-cointances

6

entre eux.

Enn, dans MadKit, qui est une plate-forme de systèmes multi-agents multiples, le système quireprésentel'ensemblede l'environnementetdeses composantes, peut-être vu comme un simple agent dans un autre système. Cela permet donc de faire interagir des agents appartenant à d'autres systèmes avec un seul et unique agent qui représente un environnement complet.

2.5 Un mot sur la dynamique de l'environnement

Selonl'étude réalisée,l'environnement du système multi-agentsassociépeut être plus ou moins dynamique. Par le terme dynamique, on entend que l'état de l'environnement, ainsi que les entités qui le compose, évolue à chaque pas de simulation en fonction de lois. Ces lois peuvent être des phénomènes extrêmement bien dénis ou décrits par les scientiques. Dans ce cas, on pourra exprimer à l'aide d'équations ou d'automates ces transitions. Si ces lois ne sont que le reets de constatations in situ de l'évolution de l'environnement,il faudra alors fairedes abstractions très fortes pour pouvoirreproduire le comportement de l'environnement dans lesystème.

2.5.1 La dynamique dans un environnement centralisé

Une approche classique pour représenter la dynamique de l'évolution de l'environne-ment dans un environnement centralisé consiste à utiliser une représentation par auto-6.danslecasd'ungraphenonorienté,onn'auraqu'unseullienentredeuxagentsetdanslecasd'un grapheorienté,onauradeuxliensentredeuxagents

[FG98] Jacques Ferber et Olivier Gutknecht.  A meta-model for the analysis and design of organizationsin multi-agentssystems.In: Proceedings of the International Conference on Multi-Agents Systems  ICMAS'98. pp.128135.  IEEE Computer Society Press,Paris, France,juillet1998.

[GF97] OlivierGutknechtetJacquesFerber.MadKit:OrganizingHeterogeneityinaPlatform for Multiple Multi-Agents Systems.  Rapport de recherche n

o

LIRMM97189,Laboratoire d'Informatique,deRobotiqueetdeMicro-électoniquedeMontpellier,décembre1997.

mates à états nis. Cette dynamique sera donc codée par des états et des transitions. C'est à dire qu'à un instant donné t, l'environnement est dans un état Æ

t

. Son état Æ t+1

, à l'instant t+1, dépendra donc de la transitionexistantentre Æ

t et Æ

t+1

. Cette méthode consiste alors àdénir un automate à états nis commetel:

 Un ensembleni d'étatsQ qui va inclurel'état initialainsi queles états naux;  Un ensembleni E de symbole d'entrée;

 Un état initialq 0

(q 0

2Q);

 Un ensembleT d'états naux (T Q);

 Unefonction de transitiond:Q(E[f"g)!P(Q), où" représente le mot vide.

Par exemple,si on modélise l'environnement comme une parcelle de terrainavec une culture quelconquedessus, onaura l'automate suivant:

 Q=fq 0 ;q 1 ;q 2 ;q 3 ;q 4 ;q fin g,  E =ffriche;stade 1 ;stade 2 ;recolte;reposg,  q 0 ,  T =fq fin g,

 d déniede lamanière suivante:

d(q 0 ;friche) ! q 1 d(q 1 ;stade 1 ) ! q 2 d(q 2 ;stade 2 ) ! q 3 d(q 3 ;recolte ! q 4 d(q 4 ;repos) ! q fin

Grâceàlafonctiondetransitiondonadonctouslesétatspossiblesdel'environnement. Or, à lecturede cet exemple,on constate que dans lecas d'environnementscomplexes et hétérogènes, l'expression et la description de cette fonction de transition d risque d'im-pliquer une explosion combinatoire. D'autant plus que l'on ne possède pas toujours la connaissanceexactedes étapesparlesquellespassel'environnement(danslecas d'un vol-can,par exemple,lesgéophysiciensne savent pasdécrireexactementlesdiérentes étapes de l'évolutiondu volcan).

2.5.2 La dynamique dans un environnement distribué

Comme présenté dans la section 2.3 page 15, l'environnement distribué peut être vu commeunecompositiond'unensembled'environnementscentraliséspartiels.Leproblème

ici est de savoir comment utiliser ces cellules pour reproduire l'éventuelle dynamique de l'environnement. Deux solutions classiques sont utilisées: la première consiste à repré-senter l'environnement sous la forme d'un automate cellulaire et la deuxième consiste à utiliser des objets et de représenter la dynamique aux travers d'envoi de messages objet par invocationde méthodes.

La dynamique représentée à l'aide d'automates cellulaires

Un automate cellulaire [FTW84] est un système de cellules interagissant localement de manière simple et qui manifeste un comportement global complexe. S. Wolfram a par ailleurs souligné une autre propriété importante: il s'agit de modèles dynamiques où espace, temps et états sont discrets. Ceci signie que l'espace est divisé en cellules considérées comme des entités individuelles, quecelles-ci peuvent prendre plusieursétats possibles et enn, qu'elles sont susceptibles de changer d'état à des moments xes selon une règle de transitionfondée sur la congurationd'états auvoisinagede chaque cellule.

Les éléments de base d'un automate cellulaire sont les cellules. Une cellule peut être considérée comme une mémoire unitaire souvent qualiée d'état. Dans le modèle le plus simple d'un automate cellulaire, lesétats sont binaires, c'est-à-dire qu'ilscontiennent les valeurs0ou1.Enrevanche,dansdes modèlespluscomplexes,lescellulespeuventprendre plusieurs états diérents (2).

Lesdeux exemplesles plus connus sur les automates cellulairessont:

 L'automate de Conway, plus connu sous le nom de Jeu de la vie. Cet automate est à deux dimensions et deux états. Chaque cellule peut donc être soit égale à 1 (vivante), soit égale à 0 (morte), en fonction de l'état de ses 8 cellules voisines. La règle de transitionest simple etse résumede lafaçon suivante:

R1 Siune celluleest entouréepar moinsde 2 cellulesvivantes, alorsellemeurt (état 0).

R2 Si une cellule est entourée par 2  cellules vivantes, alors elle conserve son état.

R3 Siune cellule est entouréepar  3 cellulesvivantes, alorselledevientvivante (état1).

R4 Si une cellule est entourée par plus de 3  cellules vivantes, alors elle meurt (état 0).

En d'autres termes, la naissance d'une cellule a lieu lors de la rencontre de trois congénères,lamortprovientpourcaused'isolement(moinsde 2cellulesvivantes) ou de surpopulation (plus de 3  cellules vivantes). Malgré la simplicité et le caractère déterministe de ces règles, il est pratiquement impossible de prédire le

résultat de leur application sur un motif arbitraire, sans eectivement dérouler le résultatou l'exécuter sur un ordinateur.

 L'automate cellulaire de Wolfram. L'automate de Wolfram est un automate à deux états et à une dimension. Le déroulement du temps est suivant l'axe vertical. Les cellules sont disposées sur une ligne; chaque cellule C a une voisine à gauche et une voisine à droite. Chaque état nouveau se traduit par une ligne nouvelle. Pour passer d'une ligne à la suivante on applique à chaque unité de temps une règle de transformation quitient comptede l'état précédent des cellules:

D

G C

R

Temps = t

Temps = t + 1

Lecodagebinairedonneainsi unnombreàtroischirespour choisirl'étatnouveau. Par exemple:

111 110 101 100 011 010 001 000

Règle 30 0 0 0 1 1 1 1 0

Où0correspond àl'absencede celluleet1àsaprésence.On peut noterquelarègle 30génère du chaos quelque soientles conditions initiales.

Concernant l'environnement dans les systèmes multi-agents, l'utilisation qu'il en est faite ressemble beaucoup au jeu de la vie décrit ci-dessus. L'environnement est, en eet, composé de n cellules qui sont toutes interconnectées entre elles. Le fonctionnement de celui-ci, dans l'optique de la modélisation de la dynamique de l'environnement, est le suivant:àun instantdonnét, l'étatd'une celluleC est fonction de l'étatàl'instantt 1 des m cellules

7

avec lesquelles C est connectée et de son état propre à l'instant t 1. On voitdonc quel'évolution des objets contenus dans une cellule est bien fonction de ce qui s'est passé avant  au sein de l'environnement. Et comme les cellules sont reliées entre elles, toute modication au sein d'une cellule C pourra éventuellement impliquer une modications ausein d'unecellule C

0 .

Néanmoins, ce style de modélisationpour l'environnement peut poser des problèmes selon que l'on eectue les modications de l'environnement de manière asynchrone ou synchrone. Ces deux optionssont, en eet, envisageables.

 Le cas du fonctionnement synchrone est le seul qui permette d'obtenir une évolu-tionsatisfaisantedesobjetsauseind'unenvironnementàbased'automatecellulaire. C'est à dire que chaque cellule, ainsi que les objets qu'elle contient, va évoluer en

7.mpeutprendrepourvaleur:2,4,6,...Celavadépendredudegrédeconnexitéqu'ilauraétédéni pourl'environnementsimulé

parallèle. Toutes les cellules vont donc avoir une évolution autonome. Néanmoins, comme onse trouvedans un automate cellulaire,chaque cellule va donc aller cher-cher les informationsqui luiconviennent auprès des autres cellules qui se trouvent dansson voisinage.Etc'estàceniveauquesesitueleprincipalproblèmedece type de modélisationde l'environnement. Celle-ci, en eet oblige chaque cellule (ou une autreentitéquiauralachargede cemécanisme)àconserverdansunemémoiretous sesétatspourtouslestempst

i

delasimulationanqu'unecellulequisetrouvedans un état e

t i

à un instant t i

de lasimulation puisse trouverles informationsrelatives à l'instant t

i

de la simulation dans une de ses cellules voisines, même si celle-ci se situeàuntempst

j

etdoncqu'elle estdansun étate t

j

.Danscecas,mêmesil'onest gagnanten termede représentativité de l'évolutiondel'environnement,onperdpar contre de façon signicative en terme de complexité en espace pour la simulation du fait de l'obligationde garder en mémoire tous les états de chaque cellule pour l'ensemble de la simulation.

 Dans le cas d'un fonctionnement asynchrone, il faut choisir une cellule qui va ini-tier le passage d'un temps t à un temps t+1. Le choix de cette cellule est crucial car c'est par ellequel'on va commencerpour chaqueévolutionde l'environnement. Néanmoins, bienquetout àfaitvalide depar son concept,cetteméthode nesemble pas tout à fait représentative de ce qui peut se passer au sein d'un environnement réel. Un premier palliatif à cette version consiste à choisir, à chaque évolution de l'environnement,unecellulede manièrealéatoire.C'estàdire quepourchaque pas-sage d'un instant t à un instant t+1, la cellule servant de base pour la diusion des changements seradiérente.Decette manière,onvapouvoirreproduirele com-portement indéterministe de l'environnement. Néanmoins, et comme toujours en informatique, se pose le problème de la génération de l'aléatoire en informatique. On n'est absolument pas sûr que l'on ne va pas retombersur lamême séquence de sélectiondes cellulesetdanscecas,onseretrouvedoncdanslasituationprécédente à plus oumoins long terme.

Cederniertypedereprésentationdel'environnementest lapluscourammentutiliséet il est donc très largement présent dans de nombreuses plate-formes de simulation multi-agents.C'est lecas notammentdes plate-formesCormas de F. Bousquet [BBaPP98]et Mobidycde V.Ginot [GL98].Finalementonpeut noterqueCormas permetd'utiliser les deux types de représentation: asynchrone et synchrone indiéremment.

La dynamique représentée à l'aide d'objets

Une autre manière de modéliser de environnements distribués consiste à dénir une grillequi va représenter la spatialitéde l'environnementet d'y insérerdes objets qui eux vont représenter lescomposantes de l'environnement. Ces objets dans cet environnement sont passifsetles agents dénispour la simulationconsidérée sont situés dans cet espace (c'est ce que l'on appelle un système multi-agents situé [Fer95]). Ceux-ci perçoivent et

agissentsur cet environnement. Laperceptionest eectuéeàl'aidede senseurs etl'action se fait à l'aide d'actuateurs. Les agents, an de se faire percevoir, émettent des stimuli qui sont perceptibles par les autres, permettant ainsi la perception de la proximitéd'un agentou d'un objet. Ce stimulus est caractérisé par une intensitéet une atténuationqui va être proportionnelle à l'éloignement de la source du stimulus. La gure 2.3 illustre ce mécanisme d'atténuation.

Documents relatifs