Vous êtes sur la page 1sur 62

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

2
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 halo de


vision qui correspond à la distance maximale de perception des agents
qui l’entourent.

3
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.
4
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) ≠ Ø

5
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)

6
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)

7
Exemple : Colorisation

8
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}

9
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

10
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.

11
Colorisation : début de la simulation

12
Colorisation : 50 tours

13
Colorisation : fin de la simulation

14
Colorisation : graphe d’évolution

15
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.

16
Colorisation : début de la simulation

17
Colorisation : 30 tours

18
Colorisation : fin de la simulation

19
Colorisation : graphe d’évolution

20
Le modèle proie/prédateur

21
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.

22
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)

23
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}

24
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

25
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.

26
Déplacement classique

27
Déplacement classique

28
Déplacement obligatoire

29
Déplacement obligatoire

30
Déplacement rapide

31
Déplacement rapide

32
Déplacement rapide et régulier

33
Déplacement rapide et régulier

34
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.

35
La différenciation cellulaire

36
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.

37
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 promoteur GENE promoteur GENE


A B 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.

38
La différenciation cellulaire

La flèche noire sous le promoteur indique qu’il est activé.

Cellule « A »
promoteur GENE promoteur GENE promoteur GENE
A B C

Cellule « C »
promoteur GENE promoteur GENE promoteur GENE
A B C

39
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

40
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.

41
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 promoteur GENE promoteur GENE


A B C

42
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.

43
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.

44
La simulation

45
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.

46
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}

47
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.

48
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.

49
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.

50
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 verte
l’évolution des cellules « pas en forme » avec la courbe noire
l’évolution générale des cellules avec la courbe bleue

51
Le comportement stochastique

52
Le comportement stochastique

53
Le comportement inductif

54
Le comportement inductif

55
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.

56
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.

57
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.

58
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éculaire


est le fonctionnalisme : tout sert à quelque chose tout le temps.

59
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.

60
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.

61
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 lisa.a@free.fr

62

Vous aimerez peut-être aussi