• Aucun résultat trouvé

3.4 Le projet In Virtuo : Quels mod`eles ?

3.4.3 Agents R´ eaction et Diffusion

3.4.3.1 Historique

Le second volet des travaux concerne le principe des agents R´eactionintroduit lors de la th`ese de S´ebastien Kerd´elo [Kerd´elo, 2006]. Comme nous venons de l’indiquer, ce principe a ´et´e d´evelopp´e pour pallier une lacune du mod`ele que nous venons de pr´esenter. En effet les mol´ecules y sont mod´elis´ees par des agents, au mˆeme titre que les cellules. Le probl`eme est que la quantit´e de mol´ecules qui sont mises en jeu est consid´erable par rapport au nombre de mol´ecules ; `a tel point qu’il est impossible d’attribuer un agent `a chaque mol´ecule pr´esente.

La premi`ere solution qui est apparue a ´et´e de consid´erer qu’un agent Mol´eculerepr´esente un certain paquet de mol´ecules. Ainsi le nombre d’agents peut devenir presque acceptable. Mais cette simplification pose divers probl`emes pour passer du qualitatif au quantitatif.

La solution classique devrait alors ˆetre un changement d’´echelle : passer du niveau mi-croscopique au niveau mami-croscopique. Dans ce cas il faut mod´eliser le comportement de la population plutˆot que celui de l’individu. Il y a alors un agent Population, dont le compor-tement est r´egi par une ´equation diff´erentielle. Le probl`eme est que, soit nous connaissons l’´evolution a priori des populations de mol´ecules, soit cette ´equation d´epend de l’ensemble des autres agents du milieu agissant avec la population. Ce dernier choix implique qu’`a chaque modification du SMA, il faut recalculer toutes les ´equations des comportements de chaque po-pulation, ce qui porte un coup fatal au principe d’autonomie. De plus cette fa¸con de faire est strictement ´equivalente `a une r´esolution classique d’´equation diff´erentielle, qui va `a l’encontre de l’esprit individus-centr´e de la simulation par SMA.

Si la mod´elisation des mol´ecules n’est applicable ni au niveau microscopique, ni au niveau macroscopique, alors peut-ˆetre faut-il changer l’objet de la mod´elisation ? C’est l’id´ee des agents R´eactionqui visent `a mod´eliser le ph´enom`ene de la r´eaction chimique (plutˆot que les mol´ecules) par un agent.

3.4.3.2 Principe de fonctionnement

L’agent autonome R´eactionr´ealise le cycle `a trois temps, perception, d´ecision, action :

• Lecture des concentrations des esp`eces chimiques impliqu´ees dans le ph´enom`ene ; • Calcul de la vitesse de r´eaction et int´egration sur le pas de temps ;

Le projet In Virtuo : Quels mod`eles ? Espèce 1 Concentration

Milieu

Concentration Concentration Concentration Espèce 2 Espèce 3 ... ... Espèce n Agent Réaction 3 Réaction n Agent Réaction 2 Agent Agent Réaction 1

Fig. 3.7: Principe des agents R´eaction (d’apr`es [Kerd´elo, 2006]) : `a tour de rˆole, chaque agent per¸coit et modifie les concentrations des esp`eces chimiques pour faire ´evoluer le syst`eme.

• Mise `a jour des concentrations des r´eactifs et des produits de la r´eaction.

La figure 3.7 montre le principe de ces agents. Un syst`eme compos´e d’agents R´eaction peut ainsi mod´eliser et simuler n’importe quel syst`eme de r´eactions chimiques. Ils ont notam-ment servi `a simuler des cascades de r´eactions chimiques impliqu´ees dans les m´ecanismes de la coagulation du sang en mettant en œuvre 42 r´eactions et 34 esp`eces. Ils ont alors montr´e qu’il ´etait possible de s’attaquer `a des probl`emes raides.

´

Evidemment, cette m´ethode reste moins efficace qu’une r´esolution classique d’´equation diff´erentielle, mais pr´esente l’int´erˆet d’ˆetre adapt´ee `a la vision SMA et de respecter le principe d’autonomie.

3.4.3.3 Formalisation et validation

Consid´erons un milieu homog`ene sans dimension, contenant quelques r´eactifs. Soit [ ~C(t)] un vecteur de concentrations `a l’instant t. Dans ce milieu, m r´eactions interviennent. Leurs vitesses respectives sont donn´ees par les fonctions vectorielles fi, 1 ≤ i ≤ m, dont les ar-guments sont le temps et le vecteur des concentrations. L’´evolution des concentrations de r´eactifs dans le temps est classiquement d´ecrit par le syst`eme diff´erentiel :

d

dt[ ~C(t)] = (f1+ f2+ ... + fm)(t, ~C[t]),

sous les conditions ~C[t0], les concentrations `a l’instant initial. Ce type de syst`eme peut ˆetre r´esolu pr´ecis´ement par les m´ethodes pr´esent´ees section 2.1.1, qui permettent le calcul des concentrations `a tous les instants du temps discr´etis´e : pour les m´ethodes `a un pas, le vecteur de concentration ~Cn+1 `a l’instant tn+1 est calcul´e `a partir du mˆeme vecteur nomm´e ~Cn `a l’instant tn. Cela conduit `a l’ex´ecution d’un algorithme comme suit :

~

C0 = ~C[t0] ~

o`u hn = tn+1−tn, Φf1+...+fm est un fonction d´ependante de la somme des vitesses fi qui caract´erise l’algorithme choisi. Comme nous venons de le signaler, toutes les r´eactions chi-miques s’ex´ecutent simultan´ement. Nous l’avons d´ej`a indiqu´e, l’inconv´enient principal de cette mod´elisation est qu’elle est statique : l’ajout ou la suppression d’une r´eaction en cours d’ex´ecution conduit `a la r´e´ecriture du syst`eme et `a la r´eex´ecution du programme. La m´ethode des agents R´eaction utilise aussi les algorithmes classiques de r´esolution, mais les applique pour chaque r´eaction durant un mˆeme pas de temps : ainsi, `a chaque algorithme classique correspond une version agent R´eaction (pour une formalisation pr´ecise, voir [Redou et al., 2005]). Nous pr´esentons ici un exemple simple, ainsi que les principaux r´esultats `a propos de la convergence. Lors d’un unique pas de temps, l’algorithme est appliqu´e m fois : une fois par r´eaction. Chaque application prend en compte l’´etat du syst`eme au temps courant. Pour ´eviter l’apparition d’un biais, un ordonnancement al´eatoire des ex´ecutions des agents est r´ealis´e `a chaque pas de simulation.

Les r´esultats principaux `a propos de la convergence de la m´ethode des agents R´eaction sont les suivants :

• La convergence de la version agent R´eaction de la m´ethode d’Euler est en moyenne d’ordre 1.

• La convergence de la version agent R´eaction de la m´ethode de Runge-Kutta d’ordre 2 est en moyenne d’ordre 2.

• Consid´erant une m´ethode `a un pas d’ordre de convergence ≥ 3, la version agent R´eaction de la m´ethode est convergente d’ordre 2.

Ajoutons que la m´ethode a ´egalement ´et´e adapt´ee `a des m´ethodes `a pas multiples et `a des m´ethodes implicites. Les propri´et´es de convergence et de stabilit´e sont alors meilleures que pour les m´ethodes `a un pas. Cependant elles sont en conflit avec la possibilit´e d’interagir avec le mod`ele `a tout moment de l’ex´ecution.

3.4.3.4 La diffusion

Avec le mˆeme principe, il est possible d’introduire des dimensions spatiales et de consid´erer la diffusion mol´eculaire entre milieux homog`enes en trois dimensions (voir figure 3.8). Rap-pelons que ce genre de probl`eme est classiquement r´esolu au moyen d’´equations aux d´eriv´ees partielles : ∂C ∂t (x, y, z, t) = D ∂ 2C ∂x2 + 2C ∂y2 + 2C ∂z2  (x, y, z, t) (3.1)

o`u C(x, y, z, t) est la concentration de r´eactif en (x, y, z), au temps t, et D le coefficient de diffusion. Si nous souhaitons appliquer la m´ediation de l’action et conserver le principe d’au-tonomie, les ´equations aux d´eriv´ees partielles sont trop rigides. En cons´equence, la m´ethode des agents Diffusion a ´et´e introduite comme suit.

L’espace en 3 dimensions est discr´etis´e. Pour simplifier, nous consid´erons deux mailles de mˆeme taille, entre lesquelles un agent Diffusion r´ealise un transfert d’´energie ajoutant d’un cˆot´e la quantit´e de r´eactif qu’il enl`eve de l’autre, tout en prenant en compte le coefficient de diffusion du r´eactif. Si le r´eactif diffuse de gauche `a droite, l’action de l’agent R´eactionpeut ˆetre d´ecrite par les ´equations :

Cd(t + ∆t) = Cd(t) − D(Cd(t) − Cg(t)).∆t (3.2) Cg(t + ∆t) = Cg(t) + D(Cd(t) − Cg(t)).∆t (3.3) avec Cg (respectivement Cd) la concentration `a gauche (respectivement `a droite) et D le coefficient de diffusion. Lorsque l’espace est discr´etis´e, il y a autant d’agents Diffusion,

Le projet In Virtuo : Quels mod`eles ? Espèce 1 Concentration

Milieu 1

Concentration Concentration Concentration Espèce 2 Espèce 3 ... ... Espèce n Espèce 1 Concentration

Milieu 2

Concentration Concentration Concentration Espèce 2 Espèce 3 ... ... Espèce n Agent Diffusion n Agent Diffusion 1 Agent Diffusion 2 Agent Diffusion