• Aucun résultat trouvé

8.2 Sp´ecifications et formalisation du SMAL

8.2.4 Caract´eristiques des champs de l’environnement

Propri´et´es associ´ees au concept de champ

Un champ est une application d´ependant du temps et qui peut suivre une loi d’´evolution intrins`eque qui s’applique lors de la mise `a jour des champs de l’environnement (phase de r´eac-tion).

´

Evaporation. Pour un champ scalaire de ph´eromone not´e F par exemple, on d´efinit la loi d’´evaporation intrins`eque associ´ee `a un coefficient d’´evaporation r´eel ρ∈ [0, 1] selon :

F(X)t+1 = (1− ρ) F(X)t (8.3)

Tout champ peut ˆetre caract´eris´e par un coefficient d’´evaporation qui d´etermine finalement la persistance des donn´ees dans le champ. Nous proposons donc de g´en´eraliser cette approche aux champs de l’environnement et de qualifier syst´ematiquement tous les champs par sa valeur de coefficient d’´evaporation.

D´efinition 8.2.4. Ainsi on distingue :

– les champs persistants pour lesquels ρ = 0,

– les champs volatils pour lesquels 0 < ρ < 1 `a d´ecroissance exponentielle – les champs non persistants pour lesquels ρ = 1.

Diffusion. De mˆeme un champ peut ˆetre diffusif de coefficient D. Dans ce cas, le champ suit une autre loi du type :

F(X)t+1=F(X)t+ D △ F(X)t (8.4)

o`u △ d´efinit l’op´erateur laplacien discret △44.

Ainsi on pourra parler de champ diffusif si D > 0 et de champ non diffusif si D = 0. .

44En continu l’op´erateur laplacien est donn´e par △ = ∂X2 +

8.2. Sp´ecifications et formalisation du SMAL

(a) Vue des agents “au-dessus” du champ avec un rendu fil de fer.

(b) Vue de dessous du champ scalaire, les vall´ees r´ev`elent les positions des agents.

Fig. 8.2 – Illustration de la notion de champ dans un espace 3D tir´ee de “3D HeatBugs” par Gabriel Catalin Balan sur la plate-forme de simulation MASON [Luke et al., 2003].

Illustration. La figure 8.2 illustre ce cas sur une repr´esentation 3D de la simulation du prob-l`eme d´enomm´e ”Heatbug“ d´evelopp´ee sur la plate-forme de simulation multi-agent MASON par Gabriel Catalin Balan. Le champ repr´esent´e en 3D est un champ de chaleur scalaire `a la fois diffusif et ´evaporatif. Les agents repr´esent´es en blanc ´evoluent en r´ealit´e dans cette simulation dans un espace 2D. Les agents qui ont une mˆeme coordonn´ee 2D sont repr´esent´es l’un au dessus de l’autre dans cette visualisation.

Champs principaux utilis´es avec le SMAL.

On peut distinguer quelques grands types de champs rencontr´es avec le mod`ele SMAL.

Champs de d´ecision, de contrˆole et de couplage. En toute g´en´eralit´e, les trois com-posantes qui d´efinissent l’´etat interne d’un agent logistique ont leur pendant en termes de champs de l’environnement. Nous les d´esignons respectivement par les termes de champ de d´ecision, champ de contrˆole, et champ de couplage, not´es respectivementX , C et E. Ce sont des champs scalaires pour les probl`emes que nous traitons. Nous les d´esignons par le mˆeme qualificatif que la composante `a laquelle ils se rattachent parcequ’ils servent de sources de perception selon cette composante. Ils ne sont pas syst´ematiquement pr´esents dans le mod`ele mais interviennent essen-tiellement dans les m´ecanismes d’adaptation du SMAL. Ainsi les trois grandeurs caract´eristique de l’agent logistique sont-elles d´eclin´ees sur les champs et les perceptions pour identifier les flux

de donn´ees dans le syst`eme.

– Le champ scalaire de d´ecision X (X) stocke de fa¸con non persistante la valeur de la partie d´ecisionnelle de l’´etat interne d’un agent. Ce champ contribue `a la d´ecision collective des agents. Il est n´ecessaire dans tous les probl`emes ´etudi´es.

– Le champ de contrˆoleC est persistant ou volatil, il intervient via un op´erateur de perception pour modifier la variable de contrˆole interne de l’agent. Il repr´esente un type de champ important pour les fourmis logistiques (au chapitre 12 ).

– Le champ de couplage E intervient de la mˆeme fa¸con que le champ de contrˆole sur la variable de couplage. Il est moins exploit´e dans nos instances pour la simulation que le champ de contrˆole, mais le m´ecanisme d’adaptation qui en r´esulte est illustr´e par le flocking de la section 11.1.

Les champs de couplage et de contrˆole n’interviennent pas simultan´ement dans les probl`emes que nous avons trait´e.

Champs des positions individuelles. Les champs de position individuelle des agents sont essentiels pour la perception des autres champs (cf. section 8.2.6). Pour l’agent Ai situ´e en Xi, le champ de position est not´e δi et correspond `a la fonction suivante :

si E est continu, fonction d´ecentr´ee de Dirac : δi(X) = δ(X− Xi) = (

∞ , si X = Xi

0 sinon (8.5)

si E est discret, symbole de Kronecker : δi(X) = (

1 , si X = Xi

0 sinon (8.6)

Ce champ a la propri´et´e de poss´eder une int´egrale ´egale `a 1 en continu, ou une somme ´egale `

a 1 en discret. Il est a priori non persistant puisque la position pass´ee n’est pas conserv´ee. Ce type de fonction est employ´e en physique pour mod´eliser une particule, une charge ou une masse ponctuelle.

Notons qu’en pratique, lors de l’implantation informatique, on ne fonctionne pas avec autant de champs qu’il y a d’agents, mais avec une structure de liste stockant tous les agents et leur position, plus ´econome en espace m´emoire. De plus, on ne peut pas impl´ementer une fonction de Dirac sur ordinateur, si ce n’est en la mod´elisant comme une gaussienne tr`es ´etroite. Nous op´erons plutˆot par discr´etisation de l’espace, le symbole de Kronecker ´etant plus simple `a manipuler que la fonction de Dirac.

Pour la coh´erence du formalisme et pour l’´ecriture des op´erateurs sur les champs, nous gardons des champs abstraits de de ce type. Cet aspect est discut´e en section 8.2.9.

Champs des positions cumul´ees. Le champ de position cumul´ee N (X) ∈ N stocke le nombre des agents en X `a l’instant t ; on passe du local au global par un op´erateur de sommation si E est discret :

N (X) = X

Ai∈A

δi(X) (8.7)

Ce champ permet simplement `a l’agent d’´evaluer le nombre d’agents dans son voisinage afin par exemple de calculer des moyennes sur d’autres grandeurs du champ.

8.2. Sp´ecifications et formalisation du SMAL Si E est continu, l’op´eration de d´enombrement est plus compliqu´ee avec les fonctions d´ecen-tr´ees de Dirac. On a recours `a une discr´etisation au moyen d’une fonction cr´eneau hR(X) avec R infiniment petit, d´efinie par :

hR(X) = (

1 , si −R2 6|X| 6 R 2,

0 , si | X |> R2 (8.8)

Par produit de convolution not´e∗ entre hR et δi on obtient un cr´eneau centr´e sur Xi : (hR∗ δi)(X) =

Z

E

hR(X− Y)δi(Y)dY (8.9)

= hR(X− Xi)

Ensuite, il ne reste qu’`a sommer les fonctions cr´eneaux obtenues sur l’ensemble des agents :

N (X) = X

Ai∈A

i ∗ hR)(X) (8.10)

Ce faisant, nous avons construit un op´erateur sur les champs δi.

Autres types de champs.

– Le champ scalaire de ph´eromones digitales volatiles ou persistantes peut ˆetre d´efini sur un espace E euclidien :T (X) ∈ R. Ou bien sur un graphe : T (i, j) o`u (i, j) d´esigne un arc du graphe. Ce champ est utile pour les algorithmes fourmis.

– Le champ vectoriel des vitesses des agents dans l’environnement est not´eV(X) ∈ E et est utilis´e notamment dans le flocking.

Champs d’influences des agents.

Int´erˆet des champs d’influences La phase de r´eaction du syst`eme 8.1 engage une mise `a jour de tous les champs qui constituent l’´etat de l’environnement. Cette mise `a jour r´esulte des influences combin´ees des agents. Nous mod´elisons ces influences par des champs temporairement stock´es par l’environnement en vue d’un traitement global lors de la phase de r´eaction. Ces champs sont comme des champs tampons, syst´ematiquement non persistants (i. e. dont les valeurs sont ´ecras´ees d’un pas de temps `a l’autre), qui vont servir `a maintenir l’aspect synchrone des mises `a jour. Le mod`ele que nous proposons est en effet synchrone par d´efaut et l’existence des champs d’influence rend possible la simultan´eit´e des mises `a jour.

Notation Pour la notation de ces champs d’influences, nous proposons de poser un ]tilde en chapeau sur les champs de l’environnement concern´es.

Exemples :

– eN d´esigne le champ influence de position cumul´ee,

Avantages li´ees `a l’utilisation du concept de champ.

Nous concluons cette section consacr´ee `a l’environnement par quelques remarques concernant l’int´erˆet d’utiliser ce concept de champ de fa¸con syst´ematique :

– De nombreux op´erateurs peuvent ˆetre appliqu´es sur un champ, les op´erateurs usuels gradient −→

▽ et laplacien △ par exemple, ou l’op´erateur de d´enombrement vu pr´ec´edem-ment. Quelques op´erateurs de perception que nous employons couramment sont pr´esent´es en 8.2.6.

– Le concept de champ s’implante assez naturellement du point de vue informatique et permet d’abstraire les structures de donn´ees utilis´ees quelque soit l’espace E. Les plate-formes de simulation orient´ees multi-agent comme MASON [Luke et al., 2003], utilisent d’ailleurs ce type de structure de donn´ees pour stocker les grandeurs manipul´ees.

– L’int´erˆet des champs est ´egalement computationnel : on transf`ere ainsi une partie de la complexit´e temporelle des algorithmes en une complexit´e spatiale. Typiquement, on tire parti de l’acc`es direct en O(1) des structures de type tableau de donn´ees n-dimensionnels. Les op´erateurs de perception et d’action ont des complexit´es algorithmiques r´eduites du fait de l’usage de cette m´emoire spatiale. Le voisinage de perception limit´ee r´eduit encore cette complexit´e. Une des sources de complexit´e algorithmique temporelle les plus coˆuteuses apparaˆıt notamment lors de la recherche des plus proches voisins et du calcul des distances relatives entre agent, tr`es utilis´ee dans les approches `a base de champs de potentiels. Cette d´etection sert en effet au calcul des forces d’attraction / r´epulsion qui servent ensuite `a d´eterminer la vitesse des agents (cas du flocking de Reynolds en particulier). Ce processus se r´ealise en O(N2), o`u N est le nombre d’agents, puisque pour chaque agent on recherche parmi tous les autres agents ceux dont la distance `a l’agent courant ne d´epasse pas un rayon de voisinage R. Dans notre approche, ce processus est diff´erent et permet de diminuer la complexit´e via les champs de position cumul´ee des agents et l’op´erateur de convolution sur ce champ associ´e `a la perception sur un voisinage (cf. 8.2.6). La mise `a jour des champs de position se fait en O(1) pour chaque agent, puis le calcul sur le voisinage va uniquement d´ependre de la taille de ce voisinage et non plus du nombre d’agents. Les distances jouent peu de rˆoles dans notre mod`ele qui n’utilise pas de forces d´erivant de potentiels fonctions de la distance.