système multi agents réactifs application à la biologie Équipe smac systèmes multi-agents et...
TRANSCRIPT
Système Multi Agents réactifs
Application à la biologie
Équipe SMACSystèmes Multi-Agents et Coopération
Rapport de stage
2
• 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
Plan
3
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 halo de vision qui correspond à la distance maximale de perception des agents qui l’entourent.
Qu’est-ce qu’un agent
4
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.
5
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) ≠ Ø
6
SimuLE
Exemple d’une action « manger »
Déclencheur : avoir faimCondition : 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)
7
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)
8
Exemple : Colorisation
9
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}
10
Exemple : Colorisation
DéplacementPriorité : 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.
ColorPriorité : 1Déclencheur : avoir au moins un agent d’une couleur différente de la sienne dans son halo de visionCondition : tirage aléatoire sur la probabilité de colorer Acte : le voisin cible prend la couleur de la source
11
Simulation « rouge »
Les agents présents
334 agents rouges333 agents verts333 agents bleus
Les paramètres de contaminationSi 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.
12
Colorisation : début de la simulation
13
Colorisation : 50 tours
14
Colorisation : fin de la simulation
15
Colorisation : graphe d’évolution
16
Simulation « verte »
Les agents présents
334 agents rouges333 agents verts333 agents bleus
Les paramètres de contaminationSi 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.
17
Colorisation : début de la simulation
18
Colorisation : 30 tours
19
Colorisation : fin de la simulation
20
Colorisation : graphe d’évolution
21
Le modèle proie/prédateur
22
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.
23
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 questionPour 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)
24
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}
25
Des requins et des poissons
L’écosystèmeOn 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
26
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.
27
Déplacement classique
28
Déplacement classique
29
Déplacement obligatoire
30
Déplacement obligatoire
31
Déplacement rapide
32
Déplacement rapide
33
Déplacement rapide et régulier
34
Déplacement rapide et régulier
35
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.
36
La différenciation cellulaire
37
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.
38
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é
promoteur GENE A
promoteur GENE B
promoteur GENE C
Cet ADN est le même pour chaque cellule. C’est l’activation du promoteur d’un gène qui spécialise la cellule.
39
La différenciation cellulaire
La flèche noire sous le promoteur indique qu’il est activé.
Cellule « A »
promoteur GENE A
promoteur GENE B
promoteur GENE C
Cellule « C »
promoteur GENE A
promoteur GENE B
promoteur GENE C
40
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
41
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.
42
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.
promoteur GENE A
promoteur GENE B
promoteur GENE C
43
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.
44
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.
45
La simulation
46
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.
47
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}
48
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.
La simulation
49
Les mutations
La mutation stochastique
Déclencheur : une probabilité qui augmente en fonction que la survie baisse. Allure de la courbe de probabilité :
surviePlus 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.
50
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.
51
La simulation
Protocole de simulation proposé
Une cellule seule de type bleu.Du substrats qui diffuse des miams oranges (nourriture des cellules vertes).
Au bout de 300 tours, le substrat stoppe la production de miams oranges et produit des miams bleus cyans (nourritures des cellules bleues).
On surveille l’évolution des cellules « en forme » avec la courbe vertel’évolution des cellules « pas en forme » avec la courbe noirel’évolution générale des cellules avec la courbe bleue
52
Le comportement stochastique
53
Le comportement stochastique
54
Le comportement inductif
55
Le comportement inductif
56
Conclusion
Les deux modèles ont a peu près le même comportement. Au début de l’expérience (milieu stable), l’hypothèse inductive est très légèrement plus efficace. En milieu instable, les cellules stochastiques ont une pente de développement générale meilleure, mais l’évolution des « cellules en forme » est exactement la même.
La simulation présentée est beaucoup trop simple pour tirer des conclusions sur les qualités des modèles présentées.
Néanmoins, ces expériences sont prometteuses sur les possibilités de SimuLE dans le domaine de la recherche appliquée à la biologie.
57
Ouverture : les possibilités de SimuLE
Pour poursuivre sur le chemin engagé, il faut
- augmenter considérablement la quantité de types de cellules- ajouter des contraintes de changement de type en tenant
compte du positionnement sur le brin d’ADN des différents gènes.
L’augmentation du nombre de types cellulaires suppose de raffiner assez nettement la formulation des deux modèles.
En outre, nous avons travaillé uniquement à une échelle intercellulaire.La prise en compte des événements intracellulaires peut (ou pas) améliorer les expériences.
58
Ouverture : la différenciation cellulaire
A l’heure actuelle, la recherche en biologie est presque exclusivement consacrée à l’étude de l’hypothèse inductive.
Or il est tout à fait envisageable, comme pour la théorie des gaz parfaits, qu’ une équation déterministe (PV=nRT) soit pourtant le résultat de phénomènes aléatoires à l’échelle microscopique.
De la même façon, dans l’expérience de Jacob et Monod, en présence de lactose, d’autres protéines que le lactase sont peut-être exprimées de façon temporaire, mais comme elles ne sont pas adaptées, ces cellules disparaissent.
59
Ouverture : la différenciation cellulaire
Aucun protocole n’a jamais été mis en place pour permettre de détecter la production de protéines « non adaptées ». La difficulté pour concevoir ce genre de protocole est énorme si on considère le nombre de possibilités : Les protéines dont on cherche à mesurer la présence sont en si faible quantité que les instruments existants (micro-array par exemple) sont inefficaces.
Outre la difficulté de mise en place, la recherche en ce domaine a été freinée par le faible intérêt pour le modèle stochastique .
En effet, le point de vue dominant en biologie moléculaireest le fonctionnalisme : tout sert à quelque chose tout le temps.
60
Ouverture : la différenciation cellulaire
Les recherches sont donc fortement orientées : on cherche a priori quelque chose qui a un rôle.
Cependant, de plus en plus de biologistes s’intéressent au modèle stochastique (notamment tout un pan de la théorie de l’apparition et du développement de la vie). Cet intérêt franchit progressivement les frontières de la biologie.
61
Conclusion sur Simule
La plate forme s’adapte assez facilement aux contraintes biologiques nécessaires au simulations appliquées à la biologie.
Elle montre de plus une grande souplesse d’utilisation, ainsi qu’une facilité d’accès à des « non informaticiens ». En effet, beaucoup de paramètre peuvent être établis soit dans un fichier de configuration, soit directement à partir de l’interface graphique.
Il constitue par là une excellent passerelle entre les biologistes et les informaticiens.
62
Pour plus de détails
Une bibliographie ainsi qu’ une présentation plus détaillé sont disponibles sur la page
http://lisa.a.free.fr/rapport
Et pour toute question [email protected]