le nombre d’alèles bleus:
a=0:MM b=2:BB
commençons par fixer la graine
set.seed(53)
Intuitivement, Les alleles donnant la couleur bleue sont recessifs par rapport aux alleles donnant la couleur marron.Donc avec petit i(ieme) et petit P(nb d’individual), il n’est pas évident pour moi que ça converge(stable) en temps court (petit I).
Après, je pense que si on part de situations où il y a une population et generation plus loin(grande), probablement qu’on a de moins en moins de gens des yeux bleus.
a partir de Po,on gene des resultats d’un processus aleatoire
Ici c’est p1 de Po(new_population):
new_population = function(N = 20, a = 12, b = 4) {
Pere = rep(0:2,c(a,N-a-b,b));#p0:a--0=mm
PARENT=sample(Pere,size=N,replace =T)
Enfant_P=ifelse(PARENT==0,0,
ifelse(PARENT==1,sample(size = 1,x=c(0,1),replace = T),1));
Enfant_M=ifelse(PARENT==0,0,
ifelse(PARENT==1,sample(size = 1,x=c(0,1),replace = T),1));
Enfant = Enfant_M + Enfant_P;
Enfant
}
On note tous proportions de personnes ayant les yeux bleus(BB) de 1er a Ieme generation:
resultat = function(I=20,N=20,a=12,b=4,bm=2){
Enfant = new_population(N=N,a=a,b=b)
resultat<-c()
resultat=sum(Enfant==bm)/N
for (i in 2:I) {
Enfant= new_population(N=N,a=sum(Enfant==0),b=sum(Enfant==2))
resultat = c(resultat,sum(Enfant==bm)/N)
}
resultat
}
N = 10 realisations des trajectoires de (BBi/P, MMi/P) en partant des populations P0 initiales suivantes :
P0 = (BB0, MM0) = (4, 12)
plot(resultat(bm=0), ylim = c(0, 1),type="l", xlab="i (Igeneration)",
ylab="pourcent de personne MM/P" )
# add lines
for (i in 1:10) {
lines(resultat(bm=0), type="l", lwd=1.5,col=i+20)
}
Avec un plus grand horizon I=100 et P0 = (BB0, MM0) = (5, 5):
plot(resultat(I=100,a=5,b=5,bm=2), ylim = c(0, 1),type="l", xlab="i (Igeneration)",
ylab="pourcent de personne d'alèles bleus (BB/P)" )
# add lines
for (i in 1:10) {
lines(resultat(I=100,a=5,b=5,bm=2), type="l", lwd=1.5,col=i+20)
}
un horizon grand me permet d’observer la disparition de l’allèle bleus:
plus long de temps(grande I),plus le nombre d’un allèle a de chance de obtenir 0.
au cas P =2000 et Imax = 100 et on partira de situations P0 initiales equivalentes:
P0 = (BB0, MM0) = (1200, 400)
Des courbes restent à peu près constant aussi(ça converge) beaucoup plus evidemment que Question 1. Des tendances sont tres claits avec des populations de taille plus grande.
Le systeme il va devenir “stable” en augmentant la population à 2000 individu. Leur nombre ne semble pas changer trop au fil des générations.
Quand on gene des enfants, on gene P-2 enfants. Et par ex:p3->p4:
P-2 enfants de p4 sont crees par p3 comme Question 1,on ajoute directement 1 BB et 1 MM.
Non.Le systeme il ne va jamais devenir “stable”.
IgenerationP2 = function(N = 20, a = 5, b = 5){
Pere = rep(0:2,c(a,20-a-b,b));#p0
PARENT=sample(Pere,size=N,replace =T)
Enfant_P=ifelse(PARENT==0,0,
ifelse(PARENT==1,sample(size = 1,x=c(0,1),replace = T),1));
Enfant_M=ifelse(PARENT==0,0,
ifelse(PARENT==1,sample(size = 1,x=c(0,1),replace = T),1));
Enfant = Enfant_M + Enfant_P;
EnfantP2= c(sample(Enfant,size = N-2,replace = T),2,0);
EnfantP2
}
resultatQ = function(I=2000,N=20,a=5,b=5,bm=2){
EnfantP2 = IgenerationP2(N=N,a=a,b=b)
resultatQ<-c()
resultatQ=sum(EnfantP2==bm)/N
for (i in 2:I) {
EnfantP2= IgenerationP2(N=N,a=sum(EnfantP2==0),b=sum(EnfantP2==2))
resultatQ = c(resultatQ,sum(EnfantP2==bm)/N)
}
resultatQ
}
mais si on veut plusiers realisations c’est paraille que precedents.
Parce que’on garde toujours au moins une allèles(1 sur BB et 1 sur MM),on peut savoir qu’il n’y a pas de dominance. Par conséquent on préserve les deux couleurs dans la population.
Le fait que ça converge bien à chaque fois est intuitif mais pas évident.
Car on y ajoute deux individus chaque fois, l’un ayant deux alleles bleus, et l’autre ayant deux alleles marrons.Ca l’evite de disparation de yeux bleus.
Si les alleles depantent au sexe des parents dans Pi,ca change beaucoup je pense.