Modèles d'évolution de populations
Aller à la navigation
Aller à la recherche
introduction
préambule
Dans le cadre du cours de visi 201, je vous propose un logiciel créé pour simuler des évolutions de population. Dans ce document nous verrons quels sont les techniques de modélisation et de simulation pour exprimer l'évolution de population. Nous verrons ensuite comment traduire nos résultats mathématiques en programme python et créer un environnement graphique clair
rappel biologique
En biologie, il existe plusieurs effets connus qui influencent les populations ou qui les font évoluer. Les plus connus sont: la sélection naturelle, soit Evolution de population due `a des causes extérieures; elle explique le succès différentiel d’individus d’une même espèce et de leurs gènes. Elle est le moteur dans l'évolution.[4] la dérive génétique qui reste décisive dans l'évolution mais contrairement à l'évolution elle est due au hasard[2] il existe beaucoup d’autres exemples plus mineurs, comme la sélection sexuelle, l'éloignement géographique...[5]
les mathématiques
introduction
pour crée un logiciel de simulation il fallait d'abord concevoir l’algorithme mathématiquement.
pour cela nous allons nous intéresser a 2 moyens de concevoir le problème.
temps continue
Le modèle simule une évolution continue d’une population. ce qui veut dire, que l’on prendra une population donnée et que l’on regardera cette population évoluer. le problème donc de ce modèle c’est qu’il peut s'avérer complexe `a mettre en application car il faut prendre tous les paramètres possibles pour qu’il soit effectif et peut donc demander beaucoup de ressources car il n’y a pas de limite.
les chaines de Markov
le modèle Markov utilise par wright Fischer comme base pour les simulations sert à créer un modèle mathématique qui peut prédire l’état d’une population à un temps donne sans avoir besoin de toutes les étapes précédentes. on appelle ce modèle un modèle à temps discontinu ou modèle discret. En effet ce modèle permet de simplifier les analyses puisque l’on ne s’attarde plus sur les états précédents.
le modèle wright Fischer
Wright Fischer applique les chaînes de Markov pour trouver un modèle qui permet de créer une simulation réaliste et simplifier de modifications génétiques au fil des générations. la fonction utilisée sera donc: entre autre: dans ce modèle nous prendrons un échantillon de population par exemple 20 ou 1000 individus. ensuite nous allons faire reproduire et muter ces individus. cela nous donnera une nouvelle population supérieure à la population que nous avions sélectionnée enfin, nous irons sélectionner aléatoirement les individus pour arriver au mémé nombre que nous avions choisi au départ. on recommencera cela plusieurs fois et nous arriverons à une simulation simple, rapide et efficace de population. ainsi nous pourrons ajouter ou non des paramètres.
par exemple, grâce a ce modèle nous pouvons simuler la mutation de plusieurs allèle sous la contrainte de sélection naturelle. on observe aussi une dérive génétique qui est très marqué pour les population de 20 individu. ceci s'explique par le nombre d'individu asser petit pour qui la dérive génétique (soit le hasard) soit marqué, on observe des pic de population que l'on ne peut pas expliquer par sélection naturelle
code et simulation
introduction
j’ai décidé de partir dans un modèle où chaque groupe représente une partie de la population, donc chaque groupe représente une version possible pour l’individu. j’ai donc crée mon code en fonction
code descriptif
1. simulation
(a) crée une simulation: cette fonction sert a commencer le programme, une fois que l’on lance ce programme on nous demande d'insérer les variables pour commencer la simulation
2. code centrale
(a) naissance: cette fonction prend chaque individu et fait un test pour savoir si il crée un ou plusieurs descendent
(b) mutation: cette fonction prend chaque descendent et fait des test de mutation
(c) échantillonnage: cette fonction prend aléatoirement un nombre égale d’individu qu’au départ
3. création graphique
(a) crée graph: crée un graphique avec les résultats obtenues
simulation
après quelque test et correctif, on arrive a quelque chose qui ressemble et suis les modèles mathématiques, ce qui est prometteur. on pourra donc tester plusieur cas et commencer a utiliser ce programme
exemple:
ici on a représenter 3 groupe, 2 qui sont a peu près pareil et 1 avec un plus forte proportion de descendent
conclusion
ainsi, dans cette présentation nous avons étudié les mathématiques derrière le modèle wright Fischer et abord´e la phase de programmation de la simulation, afin de mieux comprendre le fonctionnement mathématique et algorithmique du logiciel.
je met aussi en lien le programme si besoin. [1]