640 likes | 978 Views
Rapport de stage. Système Multi Agents réactifs Application à la biologie. Équipe SMAC Systèmes Multi-Agents et Coopération. Plan. Introduction (agent – SMA – large échelle) La plate-forme SimuLE Pour comprendre : la colorisation
E N D
Rapport de stage Système Multi Agents réactifs Application à la biologie Équipe SMAC Systèmes Multi-Agents et Coopération
Plan • Introduction (agent – SMA – large échelle) • La plate-forme SimuLE • Pour comprendre : la colorisation • Un exemple intéressant : le modèle proie/prédateur abordé du point de vue « agent » • Travail sur la différenciation cellulaire
Qu’est-ce qu’un agent Un agent est une entité autonome qui communique avec d’autres agents à l’aide de messages. Tous ces agents forment un Système Multi Agents (SMA) . Chaque agent possède des caractéristiques communes à tous les agents du même type mais dont les contenus peuvent être différents. Un agent réactif a une connaissance très faible (voire nulle) de son environnement. Un agent situé a une position dans l’environnement. Il a un halode vision qui correspond à la distance maximale de perception des agents qui l’entourent.
Qu’est-ce qu’un agent Si l’agent noir a un halo de vision de 1, il voit l’agent rose et l’agent vert. Si l’agent noir a un halo de vision de 2, il voit les agents rose, vert, bleu et rouge. Dans toutes les simulations présentées, nos agents auront un halo de 1. Le « large échelle » On parle de large échelle pour des simulations comprenant un très grand nombre d’agents (au moins un millier voire des dizaines de milliers). Les SMA large échelle permettent d’observer le comportement global d’un ensemble d’agents n’ayant qu’une vision locale de leur environnement.
SimuLE Les actions Les agents peuvent effectuer ou subir des actions. Quand un agent agit sur un autre on parle d’agent cible et d’agent source. Un agent peut aussi agir sur lui-même. L’action est alors dite sans cible. Chaque agent connaît les actions qu’il peut subir ou effectuer. Soient subir(agent) et effectuer(agent) ces actions. Pour qu’une interaction ait lieu entre deux agents il faut que Effectuer(source) ∩ subir(cible) ≠Ø
SimuLE Exemple d’une action « manger » Déclencheur : avoir faim Condition : avoir de la nourriture à proximité Acte : manger Un agent de type « mangeur » qui a faim et qui aura dans son halo de vision un agent de type « nourriture » pourra manger. Manger єEffectuer (mangeur) Manger є subir (nourriture)
SimuLE La simulation A chaque pas de la simulation, l’agent - recense tous les agents « visibles » : ceux qui sont dans son halo de vision - garde les agents avec lesquels il peut interagir - choisit l’agent avec lequel l’action possible est prioritaire (s’il y en a deux, le premier de la liste de ses voisins)
Exemple : Colorisation Les agents Il y a une seul type d’agent : l’agent cool. Un cool a un x, un y et une couleur. Les actions Effectuer(cool) = {déplacement, color} Subir(cool) = {color}
Exemple : Colorisation Déplacement Priorité : 0 Pas de déclencheur ni de condition. Acte : modifie les coordonnées de l’agent aléatoirement de + ou - 1 en x et y. Color Priorité : 1 Déclencheur : avoir au moins un agent d’une couleur différente de la sienne dans son halo de vision Condition : tirage aléatoire sur la probabilité de colorer Acte : le voisin cible prend la couleur de la source
Simulation « rouge » Les agents présents 334 agents rouges 333 agents verts 333 agents bleus Les paramètres de contamination Si un agent rouge rencontre un agent cible d’une couleur différente, il a 80% de chance de colorer l’agent cible en rouge. Si un agent bleu rencontre un agent cible d’une couleur différente, il a 50% de chance de colorer l’agent cible en bleu. Si un agent vert rencontre un agent cible d’une couleur différente, il a 10% de chance de colorer l’agent cible en vert.
Simulation « verte » Les agents présents 334 agents rouges 333 agents verts 333 agents bleus Les paramètres de contamination Si un agent rouge rencontre un agent cible d’une couleur différente, il a 10% de chance de colorer l’agent cible en rouge. Si un agent bleu rencontre un agent cible d’une couleur différente, il a 10% de chance de colorer l’agent cible en bleu. Si un agent vert rencontre un agent cible d’une couleur différente, il a 100% de chance de colorer l’agent cible en vert.
Le modèle proie/prédateur Qu’appelle-t-on modèle proie/prédateur On parle de modèle proie/prédateur quand on étudie un écosystème où cohabitent des espèces proies et des espèces prédatrices. En tenant compte du rythme de naissance et de mortalité de chaque espèce et en faisant varier ces paramètres, on observe la stabilité et les modulations de cet écosystème. On cherche à éviter - les famines : les prédateurs sont trop « forts » et exterminent si vite les proies qu’ils n’ont plus de quoi se nourrir - les cas où le prédateur ne sait pas chasser et il meurt de faim alors que les proies prolifèrent.
Le modèle proie/prédateur Les avantages de l’approche « agent » Grâce à son interface graphique, SimuLE permet - de modifier simplement les caractères de chaque espèce (taux de reproduction, durée de vie …) . - une approche géographique de la question Pour les espèces chassant en meute, les proies se déplaçant en banc, les prédateurs chassant chacun sur leur territoire. Ces comportements difficiles à exprimer mathématiquement sont très simples à mettre en pratique avec SimuLE. - on peut ajouter des comportements propres à une espèce. (à suivre : la chasse)
Des requins et des poissons Protocole de simulations proposé On met en présence deux espèces (deux types d’agent différents) - les requins - les poissons Les actions sont dans l’ordre de priorité : manger - mourir - reproduire - déplacement Effectuer(requin) = {manger, mourir, reproduire,déplacement} Subir(requin) = Ø Effectuer(poisson) = {mourir, reproduire, déplacement} Subir(requin) = {manger}
Des requins et des poissons L’écosystème On fixe les caractéristiques fixes (taux de mortalité, condition de reproduction,durée de survie sans manger,concentration maximale pour une espèce …). Il y a initialement 3 poissons pour 1 requin. Comparatif proposé Pour tenter d’améliorer le modèle, nous allons ajouter la possibilité au requin de chasser : lorsqu’il aura faim, il ne se déplacera pas de la même manière. - déplacement obligatoire - déplacement rapide et obligatoire - déplacement rapide, obligatoire, et régulier sur un seul axe
Des requins et des poissons Les facilités de la plate-forme Pour ajouter la possibilité de chasser aux requins, on ne change RIEN au modèle existant. On créée juste des actions chasser qu’on ajoute à la liste des actions effectuables pour le requin. Pour chaque simulation proposée, on ajoute une des 4 actions de chasse. • Effectuer(requin)= Effectuer(requin).add(chasse_classique) • Effectuer(requin)= Effectuer(requin).add(chasse_obligatoire) - Effectuer(requin)= Effectuer(requin).add(chasse_rapide) - Effectuer(requin)= Effectuer(requin).add(chasse_regulier) Et on observe les variations.
Conclusion de poisson Ce modèle - n’a aucune visée réaliste - illustre le fait que la plate forme SimuLE est tout à fait apte à étudier ce type de problème avec une valeur ajoutée par sa souplesse. En effet, pour étudier 4 modèles différents, il n’y a eu qu’à définir une action différente à chaque simulation.
La différenciation cellulaire Notions biologiques (simplifiées) Dans le noyau d’une cellule, il y a le code génétique de toutes les protéines que l’organisme peut produire. On dit qu’un gène code pour une protéine. Une cellule se différencie d’une autre si elle exprime des protéines différentes. Une cellule qui produit de la protéine A sera dite « cellule A ». L’expression d’une protéine dépend d’un promoteur qui est activé ou inhibé. Si le promoteur du gène est activé dans la cellule, elle produit la protéine codée par ce gène.
La différenciation cellulaire Prenons le modèle simple d’un organisme fictif qui ne produit que 3 protéines. ADN de notre organisme simplifié Cet ADN est le même pour chaque cellule. C’est l’activation du promoteur d’un gène qui spécialise la cellule.
La différenciation cellulaire La flèche noire sous le promoteur indique qu’il est activé. Cellule « A » Cellule « C »
La différenciation cellulaire La différenciation Poser la question de la différenciation, c’est se demander pourquoi d’un ensemble de cellules indifférenciées émerge soudain une cellule spécifique (A ou B ou C ou AB …) . Cette question est ouverte aujourd’hui. 2 théories envisagées - Le modèle inductif - Le modèle stochastique
Le modèle inductif Ce modèle est déterministe dans le sens où un état de différenciation donné ne peut être atteint que par la présence de l’inducteur correspondant. Les travaux de Jacob et Monod dans les années 60 sur l’escherichia coli vont dans ce sens : cette bactérie peut se nourrir de lactose. Mais pour se faire, elle doit produire la lactase qui lui permet la digestion du lactose. En l’absence de lactose, elle ne produit pas de lactase, ce qui lui permet l’économie de l’énergie et la matière nécessaire à la synthèse du lactase. En présence de lactose, elle « se met » à produire du lactase. La présence du lactose induit la production de lactase.
Le modèle stochastique Ce modèle est basé sur l’hypothèse que les cellules sont par nature instable, elles expriment au hasard un ensemble de gènes à chaque transcription et se différencient continuellement. Comme si notre « flèche noire » se déplacement continuellement d’un promoteur à l’autre.
Le modèle stochastique Seules les cellules dont la production protéique est adaptée à l’environnement vont survivre, et cette adaptation se traduit par la stabilisation de la « flèche noire ». Dans cette hypothèse, une sorte de pression sélective de type darwinienne est à la base de la structuration des populations cellulaires. Si l’environnement change, et ne correspond plus à la production protéique de la cellule, elle redeviendra instable et repassera dans l’état précédent de « va et vient » de l’activateur.
La simulation Pour mettre en place notre protocole de comparaison, nous avons fixé le cadre suivant : Les agents - les cellules - les miams : ce dont les cellules se nourrissent - les substrats : produisent les miams - les barrières : cadre de l’ expérience : les miams qui atteignent cette bordure explosent. Les cellules, substrats et barrières sont immobiles. Il ne peut y avoir qu’une cellule par case, mais il n’y a pas de limitation en miam par case.
La simulation Les caractéristiques d’une cellule Une cellule - peut survivre sans manger 100 tours. - se reproduit tours les 50 tours à condition d’avoir du stock. - a un stock maximal de 4 au delà duquel elle n’a pas le droit manger mais doit puiser dans ses réserves pour se nourrir. Nos cellules ne meurent pas.
La simulation Les actions Effectuer(cellule)={se reproduire, manger, utiliser ses réserves de nourriture, attendre} Subir(cellule)=Ø Effectuer(substrat)={produire} Subir(substrat)=Ø Effectuer(barrière)={exploser} Subir(barrière)=Ø Effectuer(miam)={déplacement} Subir(miam)={manger, exploser}
La simulation Les cellules et les miams ont un type (exprimé par leur couleur). Le type d’une cellule détermine le type de miam qu’elle mange. Les cellules bleues mangent les miams bleus cyan. Les cellules vertes mangent les miams oranges . Les cellules jaunes mangent les miams gris . On ajoute à nos cellules la possibilité de muter (changer de type) Pour muter, il y a deux actions différentes.
Les mutations La mutation stochastique Déclencheur : une probabilité qui augmente en fonction que la survie baisse. Allure de la courbe de probabilité : survie Plus la survie est élevée, plus la probabilité de muter est faible. Condition : avoir demandé 4 fois à muter (pour laisser le temps d’éventuellement se stabiliser). Action : change de couleur et de type de miam.
Les mutations La mutation inductive Déclencheur : la majorité des miams autour de la cellule ne correspond pas à son type. Condition : avoir déjà demandé une fois à muter. Action : change de couleur et de type de miam.