• Aucun résultat trouvé

1.2 Morphogenèse

2.1.4 Systèmes multi-agents

Les Systèmes multi-agents (SMA) ont été pendant longtemps un objet de recherche en intelligence artificielle distribuée pour la modélisation de groupes d’agents. Aujourd’hui, ils sont utilisés pour modéliser des systèmes complexes dans divers domaines allant même jusqu’aux sciences sociales : les comportements sociaux de certaines familles d’insectes comme les four-mis, les mouvements de foule, les essaims d’oiseaux et bancs de poissons, le trafic routier, les systèmes biologiques, etc. C’est une approche de modéli-sation qui offre la possibilité de simuler un certain nombre de composants autonomes dans un environnement. L’intérêt de cette simulation est de déter-miner la nature du phénomène étudié dans sa globalité sans contrôle centra-lisé [Stoma et al., 2007]. En effet, un SMA évolue seulement par interaction, adaptation et reproduction de ses composants relativement autonomes. [Demazeau, 1995] définit un SMA comme étant composé de quatre concepts clefs que sont les Agents, l’Environnement, les Interactions et l’Organisa-tion. C’est l’approche Vowels ou AEIO. Les composants ou agents, n’ont qu’une vision partielle de l’univers dans lequel ils évoluent. Chaque agent possède un cycle d’exécution pendant lequel il commence par percevoir son environnement à l’aide de capteurs, d’antennes ou de récepteurs. Ensuite, en fonction des informations provenant de l’environnement, support des ac-tions des agents, et en fonction de son état interne, il prend une ou plusieurs décisions (voir figure 2.18).

Figure 2.18 – Cycle d’exécution d’un agent.

Un agent est dit réactif s’il ne possède pas, ou s’il possède de façon ru-dimentaire, une représentation de son environnement. Il modifiera son état courant de façon non planifiée ou sans but. A contrario, un agent est dit cognitif s’il est capable de se représenter son environnement et d’en faire une

carte pour planifier ses actions. Il est également possible de définir les agents réactifs comme étant des automates cellulaires auxquels ont été ajoutées cer-taines propriétés telles que le mouvement, l’asynchronisme et l’aléatoire pour accroître les possibilités de modélisation [Desmeulles, 2006].

Les interactions, quant à elles, ont un rôle primordial. Dans le SMA, elles sont à l’origine de la dynamique qui donne un comportement global au sys-tème. A ce stade, il faut rappeler que le résultat des interactions entre agents vaut toujours plus ou moins que la somme de leurs actions. Les interactions entre les agents peuvent ne pas être que directes, certains types d’interac-tions nécessitent de passer par l’environnement.

L’organisation permet de structurer l’ensemble des entités. Dans le cadre de la modélisation de systèmes multicellulaires, nous parlerons plutôt d’auto-organisation, car l’organisation des cellules n’est pas définie a priori dans le modèle, elle est émergente.

Il aurait pu être ajouté dans cette approche “Vowels”, l’opérateur de simula-tion ou Utilisateur : U [Tisseau, 2001]. Pouvant intervenir dans le système en cours de simulation en profitant de la modularité des SMA, l’utilisateur en devient une composante à part entière.

La plupart des SMA conçus pour la biologie cellulaire sont bâtis sur le même modèle en prenant en compte plus ou moins de comportements et d’interac-tions cellulaires. La différence majeure se situe plutôt sur la représentation des cellules en tant qu’agent. Cette représentation dépend en effet du système que l’on souhaite étudier. Par exemple, si le modèle s’intéresse à l’influence des forces biomécaniques, alors les contraintes physiques doivent être prises en compte dans la représentation de la cellule. Par contre, si l’objectif est de mettre en évidence des processus qui n’affectent pas la structure de la cellule ou n’en dépendant pas, il est possible et même préférable de s’abstraire de ce type de représentation par soucis de pertinence et de lisibilité du modèle. Par exemple, dans le cadre de ce travail où nous nous intéressons d’une part à l’influence des contraintes spatiales sur les processus génétiques (niveau intracellulaire) et d’autre part à l’influence des processus chimiques (niveau extracellulaire) sur les comportements cellulaires, la forme donnée aux cel-lules ne sera pas déterminante dans le modèle et correspondra à un site de la grille.

Comme système basé sur les SMA pour simuler la morphogenèse, nous pou-vons citer MorphoPotts [Tripodi et al., 2010]. C’est une architecture conçue pour la morphogenèse et basée sur le modèle de Potts mais orientée vers un système multi-agents. A la différence du modèle de Potts simple, les agents de MorphoPotts représentent des cellules qui disposent d’une élasticité grâce à un système de masse-ressort. Ensuite, même si les comportements du sys-tème sont caractérisés par une énergie, les agents MorphoPotts ont la pos-sibilité de produire et de consommer des molécules permettant à d’autres agents de migrer ou de transformer ces molécules en énergie. Par ailleurs, les agents, en plus de leur possibilité d’interagir et avec les autres agents et

par exemple de connaître leur situation dans l’environnement ou encore leur bilan énergétique (voir figure 2.19).

Figure 2.19 – Simulation du tri cellulaire avec le MorphoPotts [Tripodi, 2011].

Les automates cellulaires orientés vers un SMA constituent aussi un pa-radigme de prédilection pour les études du vaste domaine de la vie artificielle. Cell2Organ de [Cussat-Blanc et al., 2008] permet, par exemple, de générer une forme prédéfinie à partir d’une unique cellule placée dans une grille. Les cellules peuvent capter et suivre des concentrations de gradient diffusées dans l’environnement et réaliser en conséquence l’action requise (division, apop-tose) de telle sorte que la forme globale évolue vers la cible (voir figure 2.20). Les substrats qui sont eux-mêmes des agents avec des attributs tels que la vitesse de diffusion et la couleur peuvent subir différentes transformations : la consommation de substrat ou d’énergie et l’émission d’énergie.

Figure2.20 – La croissance d’une méduse simulée avec Cell2Organ. (a) Dé-but de la simulation. (b) La méduse se développe en suivant les morphogènes. (c) La méduse arrête sa croissance lorsque la forme désirée est atteinte.

Au regard des fondements des SMA qui s’appuient sur des notions de ro-bustesse, d’émergence, d’auto-organisation et d’adaptabilité, ils constituent une méthodologie adéquate dans la modélisation et simulation de

phéno-mènes biologiques. Selon [Ballet, 2000], les motivations en ce qui concerne la programmation multi-agents sont multiples. En effet, tout système composé d’entités autonomes se modélise naturellement par une approche agent et c’est le cas des systèmes multicellulaires. Une cellule possède de nombreux récepteurs pour observer son environnement, sait prendre des décisions et détient la possibilité d’agir sur son milieu. De plus, un SMA a un haut de-gré de modularité, l’intégration de nouveaux agents est possible sans avoir à refondre le système. De même, la suppression d’un agent ne pose pas de com-plication ni du point de vue du concepteur, ni du point de vue du système. Cependant, la simplicité et la robustesse d’un SMA ne doivent pas cacher les difficultés liées à sa mise au point. Si du point de vue de l’utilisateur, un SMA permettrait de mieux apprécier la simulation d’un modèle biologique, son implémentation n’est pas toujours lisible et compréhensible. Compara-tivement, le formalisme d’un modèle mathématique apparaît beaucoup plus élégant et rigoureux là où sa simulation ne donne pas un aperçu qualitatif du modèle. Par ailleurs, la validation d’un SMA n’est pas systématique. Le nombre de paramètres, le type de langage informatique, la précision de la machine peuvent compromettre la contrôlabilité du modèle. Enfin, les si-mulations basées sur les SMA peuvent poser des problèmes de convergence et de stabilité. Comme nous allons le voir dans le chapitre 6, l’ordre et le mode d’exécution des agents a un impact important sur les résultats de la simulation. Dans certains cas, un mode d’exécution ordonné des agents est nécessaire pour faire converger le système vers une forme stable.