Question 0 :
Avis sur la Question 1 :
Au vue de l'énoncé, je pense que ce sont les premiers tirages qui vont déterminer un encadrement de P(n) car avec 1 habitant par ville, les premiers tirages auront une meilleur influence sur la variation de la probabilité. De ce fait, je pense que si l'on tire plusieurs trajectoire, on verra peu de valeur qui tendront vers ½ voire aucune, vu que l'influence du départ aura beaucoup augmenté ou diminué P(t) et rendra peu probable un retour vers ½.
Avis sur la Question 2 :
Je pense que la valeur limite sera proche soit de 0, soit de 1.
Avis sur la Question 3 :
Je pense que le fait d'augmenter le nombre d'habitants initiaux dans les 2 villes (nombre égal) va diminuer l'influence sur la variation de P(t), et il y aura donc une oscillation autour de la probabilité de départ P(0) si le nombre d'habitant est grand. Ce sera l'unique moyen de garder ½ comme valeur limite.
Question 1
set.seed(10)
library(ggplot2)
n = 1000
tab_traj = data.frame()
Population_totale = 0
for (k in 1:10) {
N1 = 1
N2 = 1
P = N1/(N1 + N2)
nb = 2
tab_n = c()
tab_p = c()
tab_n = c(tab_n, nb)
tab_p = c(tab_p, P)
for (i in 1:n) {
if (runif(1, 0, 1) < P) {
N1 = N1 + 1
} else {
N2 = N2 + 1
}
P = N1/(N1 + N2)
nb = nb + 1
tab_p = c(tab_p, P)
tab_n = c(tab_n, nb)
}
trajectoire = data.frame(tab_p, tab_n, k)
tab_traj <- rbind(tab_traj, trajectoire)
}
ggplot(tab_traj, aes(x = tab_n, y = tab_p, color = k * 10), title = "Trajectoires de P(t)") +
geom_point()
D'après les 10 courbes, on observe qu'à un temps t faible, les valeurs de P(t) varient assez fortement et cherchent à s'éloigner de ½, mais se stabilisent à mesure qu'on ajoute des habitants. En d'autre terme, plus on ajoute d'habitants, moins on observe d'influence sur la courbe qui tend vers une valeur limite. On remarque aussi, que certaines courbes tendent vers une valeur autour de ½ sans jamais être proche, et que la plupart tendent vers des valeurs plus proche de 0. Mais je ne pense pas que 10 itérations suffisent pour affirmer un éloignement de la valeur ½ quand on voit que peu de courbes s'approchent de la probabilité 1.
Question 2
set.seed(10)
library(ggplot2)
n = 1000
limites = c()
for (k in 1:1000) {
N1 = 1
N2 = 1
P = N1/(N1 + N2)
nb = 2
tab_n = c()
tab_p = c()
tab_n = c(tab_n, nb)
tab_p = c(tab_p, P)
for (i in 1:n) {
if (runif(1, 0, 1) < P) {
N1 = N1 + 1
} else {
N2 = N2 + 1
}
P = N1/(N1 + N2)
nb = nb + 1
tab_p = c(tab_p, P)
tab_n = c(tab_n, nb)
}
limites = c(limites, P)
}
hist(limites, breaks = 20, col = "gray")
D'après l'histogramme, il semble que la valeur limite tend vers une loi uniforme sur [0,1], car les batons ont un écart relativement faible par rapport à la hauteur moyenne de l'histogramme. De même, lorsque l'on renouvelle l'expérience plusieurs fois, ce ne sont jamais les même valeurs limites qui atteigne la fréquence maximal. Ici, nous avons choisi 1000 itérations pour trouver la valeur limite. Je suis certain que si nous prenons 10000, l'écart des fréquence sera fortement divisé, et se stabilisera vers une ligne droite horizontale correspondant à la hauteur moyenne.
Question 3 :
set.seed(10)
histogramme = function(Nb1, Nb2, couleur, nom) {
library(ggplot2)
n = 1000
limites = c()
for (k in 1:1000) {
N1 = Nb1
N2 = Nb2
P = N1/(N1 + N2)
for (i in 1:n) {
if (runif(1, 0, 1) < P) {
N1 = N1 + 1
} else {
N2 = N2 + 1
}
P = N1/(N1 + N2)
nb = nb + 1
}
limites = c(limites, P)
}
hist(limites, breaks = 20, col = couleur, main = nom)
}
par(mfrow = c(3, 1))
histogramme(1, 1, "gray", "VILLE1=1 et VILLE2=1")
histogramme(10, 10, "green", "VILLE1=10 et VILLE2=10")
histogramme(100, 100, "blue", "VILLE1=100 et VILLE2=100")
histogramme(1, 1, "gray", "VILLE1=1 et VILLE2=1")
histogramme(1, 10, "green", "VILLE1=1 et VILLE2=10")
histogramme(1, 100, "red", "VILLE1=1 et VILLE2=100")
Lorsque les états initaux sont à 1 pour les deux villes, on remarque que l'histogramme est assez équilibré et que la valeur limite de P entre plus ou moins dans tous les intervalles possibles. Cependant, lorsqu'on met les deux villes à 10 habitants à l'état initial, on remarque que les batons de l'histogramme se concentrent autour de la probabilité ½. Et ce constat est encore plus flagrant en passant à 100 habitants. On sait que d'aprés la probailité P(t), un habitant va aller dans la ville 1 ou 2,et en l'ajoutant dans la ville 1, change la valeur de P à 2/3, et un second à ¾. Les probabilités varient rapidement au début, pour se stabiliser ensuite comme on l'a constaté à la question 2. Cependant, si l'on passe à 100 habitants initiaux, la probabilité commence à ½ et passe, suite à un ajout dans la ville 1, à 100/200.5, ce qui est très proche de ½. Ainsi, plus on augmente le nombre d'habitants initiaux, plus la variation potentielle en fonction de t diminue.
Pour l'exemple suivant, lorsqu'on initialise le nombre d'habitants tel que N1<N2, P(t) est plus ou moins inférieur à ½. Il y a donc un avantage pour la ville 2 qui se voit sur les deux derniers histogrammes où plus la différence est grande, plus la probabilité diminue.
Question 4 :
Concernant l'état initial à 1 habitant par ville, je ne pensais pas que la valeur limite pouvait atteindre uniformément toutes les valeurs de p(t) et plus précisemment ½. Mon intuition était donc fausse et les résultats de la question 1 m'ont encore plus éloigné de l'uniformité.
L'hypothèse à ajouter serait de rendre possible le départ d'habitant d'une ville à l'autre en fonction de l'attractivité qui dépendrait en même temps du nombre d'habitants et des chances d'obtenir un emploi disponibles. Plus il y a d'habitants, moins il y a de chances d'être embauchés, donc certains habitants seront amenés à partir. Il serait interressant de voir si la population des villes tendra dans TOUS les cas vers une égalité.
La mortalité serait aussi un bon paramètre à ajouter avec le fait qu'il y en aura plus si la population augmente trop rapidement dans une ville.