Connectez-vous pour consulter le corrigé.
MODÉLISATION MATHÉMATIQUE ET INFORMATIQUE
Durée : 3 heures
Sujet du concours Agro-Véto 2026 (concours A BCPST).
L’usage d’abaques, de tables, de calculatrice et de tout instrument électronique susceptible de permettre au candidat d’accéder à des données et de les traiter par les moyens autres que ceux fournis dans le sujet est interdit.
Si, au cours de l’épreuve, un candidat repère ce qui lui semble être une erreur d’énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu’il a été amené à prendre.
Dans tout le problème, \(\Omega\) est un ensemble, \(\mathscr{T}\) est une tribu sur \(\Omega\) et \(\mathbb{P}\) est une probabilité sur \((\Omega,\mathscr{T})\). Toutes les variables aléatoires considérées sont définies sur l’univers \(\Omega\). Étant donné une variable aléatoire \(X\) à valeurs réelles admettant une espérance, on note \(\mathbb{E}(X)\) son espérance et, si \(X\) admet une variance, on note \(\mathbb{V}(X)\) sa variance.
On s’intéresse dans ce problème à la notion de fonction génératrice.
Pour toute variable aléatoire \(X\) à valeurs dans \(\mathbb{N}\), on note \(G_X\) la fonction \[G_X : t\mapsto\sum_{n=0}^{+\infty}\mathbb{P}(X=n)\,t^n\] appelée la fonction génératrice de \(X\).
La partie I établit les premières propriétés nécessaires pour l’ensemble du sujet et propose des exemples importants. Les parties II, III et IV sont indépendantes.
Une annexe dans laquelle certaines commandes Python sont rappelées est jointe à la fin du sujet.
Pour les questions d’informatique, on considérera que les importations de modules nécessaires ont été préalablement faites.
Soit \(X\) une variable aléatoire à valeurs dans \(\mathbb{N}\).
Montrer que \(G_X\), la fonction génératrice de \(X\), est au moins définie sur le segment \([0,1]\).
Que valent \(G_X(0)\) et \(G_X(1)\) ?
Montrer que la fonction \(t\in[0,1]\mapsto G_X(t)\) est croissante.
Montrer que pour tout \(t\in[0,1]\), \(G_X(t)\in[0,1]\).
Montrer que pour tout \(t\in[0,1]\), \(t^X\) admet une espérance et que \(\mathbb{E}\!\left(t^X\right)=G_X(t)\).
Soit \(t\in[0,1]\). Montrer que \(t^X\) admet une variance, que \(\mathbb{V}\!\left(t^X\right)=G_X\!\left(t^2\right)-G_X(t)^2\) et que \(\mathbb{V}\!\left(t^X\right)\leqslant1\).
Montrer que si \(X\) suit la loi binomiale \(\mathscr{B}(n,p)\) de paramètre \((n,p)\in\mathbb{N}^\ast\times[0,1]\), alors \[\forall t\in[0,1],\quad G_X(t)=(pt+1-p)^n\]
Soit \(X\) une variable aléatoire à valeurs dans \(\mathbb{N}\).
Montrer que les assertions \((i)\) et \((ii)\) suivantes sont équivalentes.
\((i)\) Il existe \(m\in\mathbb{N}\) tel que \(\mathbb{P}(X\leqslant m)=1\) ;
\((ii)\) La fonction \(t\mapsto G_X(t)\) est définie sur tout \(\mathbb{R}\) et il s’agit d’un polynôme.
On suppose dans cette question 3.2 que les assertions \((i)\) et \((ii)\) sont satisfaites. Montrer que \(X\) admet une espérance et que \(G_X\) est dérivable en \(1\). Exprimer \(\mathbb{E}(X)\) en fonction de \((G_X)'(1)\).
Soit \(m\in\mathbb{N}\) et \(X\) et \(Y\) deux variables aléatoires à valeurs dans \(\left\lbrace 0,\dots,m\right\rbrace\). Montrer que les deux assertions suivantes sont équivalentes.
\((i)\) \(X\) et \(Y\) ont même loi ;
\((ii)\) Pour tout \(t\in[0,1]\), \(G_X(t)=G_Y(t)\).
Dans cette partie, on se donne \(n\in\mathbb{N}^\ast\) et \((p_1,p_2)\in\left]0,1\right[^2\). On considère \(n\) bulbes de jacinthe placés dans des conditions identiques. À l’issue d’une première phase dite de croissance d’une durée de six semaines, on mesure la hauteur des plantes et l’on ne retient, pour les besoins de l’expérience, que celles qui atteignent un seuil de vingt centimètres. À l’issue de la septième semaine, on observe la floraison des plantes ainsi retenues. Pendant cette seconde phase dite de floraison, on suppose que la croissance en hauteur est négligeable. Finalement, à l’issue des sept semaines, on retient uniquement les jacinthes qui satisfont simultanément les deux critères suivants : avoir franchi le seuil de hauteur et présenter une floraison. On formule les quatre hypothèses suivantes.
Chaque jacinthe a une probabilité \(p_1\) d’atteindre le seuil de vingt centimètres ;
Chaque plante a une probabilité \(p_2\) de fleurir ;
Les comportements des \(n\) plantes sont indépendants ;
La capacité à fleurir est indépendante de la phase de croissance.
En notant \(J_1\) le nombre de jacinthes ayant atteint le seuil de vingt centimètres et \(J_2\) le nombre de jacinthes sélectionnées à l’issue de la première étape ayant fleuri, l’objectif de cette partie est de déterminer la loi de \(J_2\).
Donner la loi de \(J_1\). On justifiera la réponse en citant toute hypothèse utilisée parmi \((A_1),\dots,(A_4)\).
Déterminer la loi de \(J_2\) lorsque \(n=2\), \(p_1=\frac{2}{3}\) et \(p_2=\frac{3}{4}\).
Compléter l’algorithme suivant afin de définir une commande
Python J2(n, p1, p2) qui prend en argument un élément
n de \(\mathbb{N}^\ast\)
et deux éléments p1 et p2 de \(\left]0,1\right[\) et qui simule et renvoie
le nombre de jacinthes qui ont atteint vingt centimètres et qui ont
fleuri lorsque n bulbes ont initialement été étudiés et que
la probabilité de succès à l’étape \(1\) (respectivement \(2\)) est p1 (respectivement
p2).
def J2(n, p1, p2):
aux = 0
l = [0 for i in range(n)]
for i in range(n):
if rd.binomial(1, p1) == # Ligne à compléter
l[i] = # Ligne à compléter
for i in range(n):
if l[i] == # Ligne à compléter
if rd.binomial(1, p2) == # Ligne à compléter
aux = # Ligne à compléter
return auxComment interpréter, à l’aune du modèle, les actions réalisées par la boucle des lignes \(4\) à \(6\) puis celle des lignes \(7\) à \(10\) ?
Montrer que \((J_1=i)_{i\in\left\lbrace 0,1,\dots,n\right\rbrace}\) est un système complet d’événements.
Soit \(i\in\left\lbrace 0,1,\dots,n\right\rbrace\). Montrer que \(\mathbb{P}(J_1=i)>0\). Donner la loi conditionnelle de \(J_2\) sachant \((J_1=i)\) en précisant dans la justification les hypothèses utilisées parmi \((A_1),\dots,(A_4)\).
Déduire des questions 5, 8.1 et 8.2 que pour tout \(\ell\in\left\lbrace 0,1,\dots,n\right\rbrace\), \[\mathbb{P}(J_2=\ell)=\sum_{i=\ell}^n\binom{i}{\ell}(p_2)^\ell(1-p_2)^{i-\ell}\binom{n}{i}(p_1)^i(1-p_1)^{n-i}\]
Montrer que pour tous \(\ell\in\left\lbrace 0,1,\dots,n\right\rbrace\) et \(i\in\left\lbrace \ell,\dots,n\right\rbrace\), \(\dbinom{i}{\ell}\dbinom{n}{i}=\dbinom{n}{\ell}\dbinom{n-\ell}{i-\ell}\).
En déduire, pour tout \(\ell\in\left\lbrace 0,1,\dots,n\right\rbrace\), la valeur \(\mathbb{P}(J_2=\ell)\) puis la loi de \(J_2\).
Expliquer ce que simule et renvoie la commande Python
mystere1(n, p1, p2) suivante, qui prend en argument un
élément n de \(\mathbb{N}^\ast\) et deux éléments
p1 et p2 de \(\left]0,1\right[\). On justifiera avec soin
la réponse.
def mystere1(n, p1, p2):
i = rd.binomial(n, p1)
return rd.binomial(i, p2)On propose de déterminer la loi de \(J_2\) d’une nouvelle manière. L’idée est de réindexer les \(n\) jacinthes pour voir apparaître en premier celles qui franchissent l’étape \(1\).
Montrer qu’on peut écrire \(J_2\) sous la forme \[J_2=\sum_{k=1}^{J_1}X_k\qquad\text{c'est-à-dire}\qquad\forall\omega\in\Omega,\quad J_2(\omega)=\sum_{k=1}^{J_1(\omega)}X_k(\omega)\] (avec la convention que si \(J_1(\omega)=0\), alors la somme « vide » \(\displaystyle\sum_{k=1}^{J_1(\omega)}X_k(\omega)\) allant de \(k=1\) à \(k=0\) est nulle, c’est-à-dire \(J_2(\omega)=0\)), où :
\(X_1,\dots,X_n\) sont des variables aléatoires suivant toutes la loi de Bernoulli \(\mathscr{B}(p_2)\) de paramètre \(p_2\) ;
les \((n+1)\) variables aléatoires \(X_1,\dots,X_n\) et \(J_1\) sont indépendantes.
En admettant que \(G_{J_2}=G_{J_1}\circ G_{X_1}\) et en utilisant les questions 2 et 5, calculer \(G_{J_2}\).
Déduire des questions 2, 4 et 10.2 la loi de \(J_2\).
On propose de déterminer la loi de \(J_2\) d’une troisième manière. On imagine que les \(n\) jacinthes sont étudiées pendant les sept semaines et que sont finalement retenues uniquement celles qui ont atteint le seuil de hauteur et qui ont fleuri.
Calculer la probabilité qu’une plante donnée soit finalement retenue.
En déduire la loi de \(J_2\).
Expliquer ce que simule et renvoie la commande Python
mystere2(n, p1, p2) suivante, qui prend en argument un
élément n de \(\mathbb{N}^\ast\) et deux éléments
p1 et p2 de \(\left]0,1\right[\). On justifiera avec soin
la réponse.
def mystere2(n, p1, p2):
aux = 0
for i in range(n):
hauteur_i = rd.binomial(1, p1)
floraison_i = rd.binomial(1, p2)
if (hauteur_i == 1) and (floraison_i == 1):
aux = aux + 1
return auxDans cette partie, on s’intéresse à une population d’euglènes, organismes unicellulaires strictement asexués dotés d’un flagelle leur permettant de se déplacer, capables de réaliser la photosynthèse et d’absorber des matières organiques. On suppose qu’au jour \(j=0\), une seule euglène est présente. Chaque jour \(j\), à la même heure, on compte les euglènes présentes. On formule les hypothèses suivantes.
Chaque euglène engendre un nombre aléatoire de descendants ;
Aucune euglène ne vit plus d’une journée.
Pour tout \(j\in\mathbb{N}\), on note \(N_j\) le nombre d’euglènes présentes au jour \(j\) ; pour tout \(k\in\left\lbrace 1,\dots,N_j\right\rbrace\), on note \(D_{j,k}\) le nombre de descendants vivants au jour \(j+1\) issus de l’euglène numéro \(k\) présente au jour \(j\). Ainsi, \[N_0=1\qquad\text{et}\qquad\forall j\in\mathbb{N},\quad N_{j+1}=\sum_{k=1}^{N_j}D_{j,k}\quad\text{c'est-à-dire}\quad\forall\omega\in\Omega,\quad N_{j+1}(\omega)=\sum_{k=1}^{N_j(\omega)}D_{j,k}(\omega)\] (on adopte la convention que si \(N_j(\omega)=0\), alors \(\displaystyle\sum_{k=1}^{N_j(\omega)}D_{j,k}(\omega)=0\), c’est-à-dire \(N_{j+1}(\omega)=0\)).
On a représenté sous forme d’arbres les premiers résultats issus de quatre expériences différentes, notées respectivement \(\omega_1\), \(\omega_2\), \(\omega_3\) et \(\omega_4\). Chaque nœud des arbres correspond à une euglène et indique le nombre (entouré pour faciliter la lecture) de descendants qu’elle engendre en une journée. Par exemple, pour l’expérience 1, les résultats sont les suivants : \(D_{0,1}(\omega_1)=1\), \(D_{1,1}(\omega_1)=3\), \(D_{2,1}(\omega_1)=0\), \(D_{2,2}(\omega_1)=1\), \(D_{2,3}(\omega_1)=0\), etc. En particulier \(N_1(\omega_1)=1\), \(N_2(\omega_1)=3\) et \(N_3(\omega_1)=1\). Par ailleurs, pour l’expérience 4, aucune euglène n’a survécu au troisième jour : \(N_3(\omega_4)=0\).
| Expérience 1 | Expérience 2 |
| Expérience 3 | Expérience 4 |
On fait les quatre autres hypothèses suivantes :
Il existe une variable aléatoire \(D\) telle que pour tout \((j,k)\in\mathbb{N}\times\mathbb{N}^\ast\), \(D_{j,k}\) et \(D\) suivent la même loi ;
Il existe un entier \(m\geqslant2\) tel que \(D\) est à valeurs dans \(\left\lbrace 0,1,\dots,m\right\rbrace\) et \(\mathbb{P}(D=m)>0\) ;
Pour tout \((j,k)\in\mathbb{N}\times\mathbb{N}^\ast\), \(D_{j,k}\) est à valeurs dans \(\left\lbrace 0,1,\dots,m\right\rbrace\) ;
\(\left(D_{j,k}\right)_{(j,k)\in\mathbb{N}\times\mathbb{N}^\ast}\) est une famille de variables aléatoires indépendantes.
Que traduit chacune des hypothèses \((H_3)\), \((H_5)\) et \((H_6)\) quant aux comportements des euglènes ?
Montrer que \(N_1\) et \(D\) suivent la même loi.
Montrer que pour tout \(j\in\mathbb{N}\), \(N_j\) est à valeurs dans \(\left\lbrace 0,1,\dots,m^j\right\rbrace\).
On note, pour tout \(n\in\mathbb{N}\), \(p_n=\mathbb{P}(D=n)\) et \(S=\left\lbrace n\in\mathbb{N}\ ;\ p_n>0\right\rbrace\).
Montrer que \(S\subset\left\lbrace 0,1,\dots,m\right\rbrace\) et que \(m\in S\).
On étudie dans cette question 17 quelques exemples. On suppose que \(\left\lbrace 0,1,2,3,4\right\rbrace\subset S\) et on considère les événements \(A_1\) et \(A_2\) suivants : \[A_1=\left(D_{0,1}=4,D_{1,1}=0,D_{1,2}=2,D_{1,3}=1,D_{1,4}=0\right)\] et \[A_2=\left(D_{0,1}=3,D_{1,1}=0,D_{1,2}=0,D_{1,3}=0\right)\]
Donner les représentations arborescentes des événements \(A_1\) et \(A_2\).
Exprimer \(\mathbb{P}(A_1)\) et \(\mathbb{P}(A_2)\) en fonction de la suite \((p_n)_{n\in\mathbb{N}}\).
Montrer que \(\mathbb{P}(A_1)>0\) et que \(\mathbb{P}(A_2)>0\).
Montrer qu’il existe un unique entier \(n\in\mathbb{N}\), dont on donnera la valeur, tel que \(A_1\subset(N_2=n)\).
Montrer que \(\mathbb{P}(A_1)<\mathbb{P}(N_2=n)\).
Montrer que pour tout \(j\in\mathbb{N}\), les \(\left(m^j+1\right)\) variables aléatoires \(D_{j,1},D_{j,2},\dots,D_{j,m^j}\) et \(N_j\) sont indépendantes.
Montrer que pour tous \(j\in\mathbb{N}\) et \(n\in\left\lbrace 0,1,\dots,m^{j+1}\right\rbrace\), \(\displaystyle\mathbb{P}(N_{j+1}=n)=\sum_{\ell=0}^{m^j}\mathbb{P}(N_j=\ell)\,\mathbb{P}\!\left(\sum_{k=1}^\ell D_{j,k}=n\right)\).
Soit \(j\in\mathbb{N}\). Montrer que les variables aléatoires \(D\), \(N_j\) et \(N_{j+1}\) admettent des espérances. Déduire de la question 18.2 que \(\mathbb{E}(N_{j+1})=\mathbb{E}(D)\,\mathbb{E}(N_j)\).
Montrer que pour tout \(j\in\mathbb{N}\), \(\mathbb{E}(N_j)=\mathbb{E}(D)^j\).
Lorsque \(\mathbb{E}(D)>1\), que peut-on déduire de la question 18.4 sur la pertinence des hypothèses retenues, en particulier sur l’hypothèse \((H_6)\), pour modéliser l’évolution de la population d’euglènes ?
On s’intéresse désormais à l’extinction de la population d’euglènes. Plus précisément, en notant \(E_0\) l’événement « toute la population d’euglènes finit par disparaître », on cherche à calculer la probabilité \(\mathbb{P}(E_0)\) de cet événement, notée \(\alpha\) et appelée la probabilité d’extinction : \[E_0=\bigcup_{j=0}^{+\infty}(N_j=0)\qquad\text{et}\qquad\alpha=\mathbb{P}(E_0)\]
On pourra utiliser dans toute cette sous-partie III.C le résultat suivant, que l’on établira dans la sous-partie suivante III.D :
\(\alpha\) est la plus petite solution de l’équation \(G_D(t)-t=0\) d’inconnue \(t\in[0,1]\).
On reprend les exemples de la question 17. Exprimer \(\mathbb{P}(E_0|A_1)\) et \(\mathbb{P}(E_0|A_2)\) en fonction de \(\alpha\).
Soit \(p\in\left]0,1\right]\). On suppose dans cette question 21 que \(p_0=1-p\) et que \(p_2=p\).
Vérifier que l’hypothèse \((H_4)\) est satisfaite.
Exprimer en fonction de \(p\) la probabilité d’extinction (que l’on note exceptionnellement \(\alpha_p\) dans cette question 21 pour souligner sa dépendance par rapport au réel \(p\)).
Étudier les variations de la fonction \(p\in\left]0,1\right]\mapsto\alpha_p\). Interpréter ce résultat.
On suppose disposer d’une commande Python simule_D()
qui simule la variable aléatoire \(D\).
On propose les deux commandes Python extinction_iter(j) et
extinction_rec(j) suivantes qui prennent en argument un
élément j de \(\mathbb{N}\) et qui renvoient
True si aucune euglène ne vit au jour j,
False sinon.
def extinction_iter(j):
N = 1
for i in range(j):
aux = 0
for k in range(N):
aux = aux + simule_D()
N = aux
if N == 0:
return True
return False
def extinction_rec(j):
if j == 0:
return False
else:
N1 = simule_D()
for k in range(N1):
if extinction_rec(j-1) == False:
return False
return True
Expliquer les lignes \(4\) à \(6\).
Que modélise la variable N1 présente à la ligne
\(16\) ?
La commande extinction_iter(j) réalise-t-elle un
parcours en largeur ou un parcours en profondeur de l’arbre associé à
l’expérience ? Qu’en est-il de la commande
extinction_rec(j) ? On justifiera avec soin les réponses et
on comparera l’efficacité des deux commandes.
On suppose dans cette question 23 que \(p_0=p_2=\frac{1}{2}\) et on considère l’ensemble (aléatoire) \(\mathscr{E}\) défini, pour tout \(\omega\in\Omega\), par : \(\mathscr{E}(\omega)=\left\lbrace j\in\mathbb{N}^\ast\ ;\ N_j(\omega)=0\right\rbrace\). Pour tout \(\omega\in\Omega\), on note \(J(\omega)\) l’entier naturel suivant : \[J(\omega)=\begin{cases}\min\!\big(\mathscr{E}(\omega)\big) & \text{si l'ensemble } \mathscr{E}(\omega) \text{ est non vide}\\ 0 & \text{si } \mathscr{E}(\omega)=\varnothing\end{cases}\]
Vérifier que l’hypothèse \((H_4)\) est satisfaite.
Montrer que \(\alpha=1\) et en déduire la valeur de \(\mathbb{P}(J=0)\).
On admet que \(\mathbb{P}(J=j)\underset{j\to+\infty}{\sim}\frac{2}{j^2}\). La variable aléatoire \(J\) admet-elle une espérance ?
Compléter l’algorithme suivant afin de définir une commande
Python temps_extinction() récursive qui simule et renvoie
la valeur du premier jour où toute la population d’euglènes a
disparu.
def temps_extinction():
if # Ligne à compléter
return 1
else:
t1 = temps_extinction()
t2 = temps_extinction()
return # Ligne à compléterPour tout \(j\in\mathbb{N}\), on note \(a_j=\mathbb{P}(N_j=0)\) la probabilité de l’événement « aucune euglène ne vit au jour \(j\) ».
Montrer que \(\displaystyle E_0=\bigcup_{j=0}^{+\infty}\left(N_{j+1}=0,N_j\neq0\right)\).
Montrer que pour tout \(j\in\mathbb{N}\), \(\left(N_{j+1}=0\right)=\left(N_{j+1}=0,N_j\neq0\right)\cup\left(N_j=0\right)\).
Déduire des questions 24.1 et 24.2 que \(\displaystyle\alpha=\sum_{j=0}^{+\infty}\left(a_{j+1}-a_j\right)\).
En déduire que \(\displaystyle\lim_{j\to+\infty}a_j=\alpha\).
L’objectif de cette question est d’exprimer \(\alpha\) en fonction de \(G_D\).
Montrer que pour tout \(j\in\mathbb{N}\), \(\displaystyle a_{j+1}=\sum_{n\in S}p_n\,\mathbb{P}(N_{j+1}=0|N_1=n)\).
Montrer que pour tous \(j\in\mathbb{N}\) et \(n\in S\), \(\mathbb{P}(N_{j+1}=0|N_1=n)=(a_j)^n\).
Déduire des questions 25.1 et 25.2 que pour tout \(j\in\mathbb{N}\), \(a_{j+1}=G_D(a_j)\).
Montrer que \(\alpha=G_D(\alpha)\).
On note \(\mathscr{F}=\left\lbrace t\in[0,1]\ ;\ G_D(t)-t=0\right\rbrace\).
Montrer que pour tous \(t\in\mathscr{F}\) et \(j\in\mathbb{N}\), \(a_j\leqslant t\).
En déduire que \(\alpha\) est le plus petit élément de \(\mathscr{F}\).
Montrer que \(\alpha=0\) si et seulement si \(p_0=0\).
On note \(f\) la fonction
\[\begin{array}{rccl} f : & [0,1] & \longrightarrow & \mathbb{R}\\ & t & \longmapsto & G_D(t)-t \end{array}\]
Montrer que \(f\) est deux fois dérivable.
Montrer que \(f'\) est strictement croissante.
Montrer que \(f'(0)<0\).
On suppose dans cette question 28 que \(\mathbb{E}(D)\leqslant1\).
Montrer que \(f'(1)\leqslant0\).
Étudier les variations de \(f\).
En déduire que \(\mathscr{F}=\left\lbrace 1\right\rbrace\) et que \(\alpha=1\). Interpréter ce résultat.
On suppose dans cette question 29 que \(\mathbb{E}(D)>1\).
Montrer que \(f'(1)>0\).
Montrer qu’il existe un unique réel \(\beta\in\left]0,1\right[\) tel que \(f'(\beta)=0\).
Étudier les variations de \(f\).
En déduire que \(\mathscr{F}=\left\lbrace \alpha,1\right\rbrace\) et que \(\alpha<1\). Interpréter ce résultat.
On suppose disposer d’une commande Python G_D(t) qui
prend en argument un élément t de \([0,1]\) et qui renvoie la valeur de \(G_D(\texttt{t})\). Compléter l’algorithme
suivant afin de définir une commande Python
proba_extinction(epsilon) qui prend en argument un élément
epsilon de \(\left]0,1\right]\) et qui renvoie une
valeur approchée de \(\alpha\) par
excès à epsilon près via une recherche dichotomique.
def proba_extinction(epsilon):
a = 0
c = 1
while # Ligne à compléter
b = (a+c)/2
if G_D(b) - b > 0:
# Ligne à compléter
else:
# Ligne à compléter
return # Ligne à compléterSoit \(n\) et \(p\) deux entiers naturels non nuls, \(\varepsilon\) et \(\eta\) deux réels strictement positifs, \(X\) une variable aléatoire à valeurs dans \(\mathbb{N}\) et \(X_0,\dots,X_{n-1}\) \(n\) variables aléatoires indépendantes suivant toutes la loi de \(X\).
Soit \(t\in[0,1]\). À l’aide des questions 1.5 et 1.6, montrer que \[\mathbb{P}\!\left(\left| \frac{1}{n}\sum_{j=0}^{n-1}t^{X_j}-G_X(t) \right|\geqslant\varepsilon\right)\leqslant\frac{1}{n\varepsilon^2}\]
On note, pour tout \(i\in\left\lbrace 0,1,\dots,p\right\rbrace\), \(A_i\) l’événement suivant : \[A_i=\left(\frac{1}{n}\sum_{j=0}^{n-1}\left(\frac{i}{p}\right)^{X_j}-\varepsilon<G_X\!\left(\frac{i}{p}\right)<\frac{1}{n}\sum_{j=0}^{n-1}\left(\frac{i}{p}\right)^{X_j}+\varepsilon\right)\] Montrer que \(\displaystyle\mathbb{P}\!\left(\bigcap_{i=0}^pA_i\right)\geqslant1-\frac{p+1}{n\varepsilon^2}\).
En déduire une condition suffisante sur l’entier \(n\) pour que \(\displaystyle\mathbb{P}\!\left(\bigcap_{i=0}^pA_i\right)\geqslant1-\eta\).
Soit \(X\) une variable
aléatoire à valeurs dans \(\mathbb{N}\). On suppose disposer d’une
commande Python simule_X() qui simule \(X\). On définit la commande Python
trace1(p, epsilon, eta) suivante qui prend en argument un
élément p de \(\mathbb{N}^\ast\) et deux éléments
epsilon et eta de \(\mathbb{R}_+^\ast\) et qui trace deux
courbes, chacune d’entre elles contenant \(\texttt{p}+1\) points d’abscisses \[0,\ \frac{1}{\texttt{p}},\ \frac{2}{\texttt{p}},\
\dots,\ 1\]
def trace1(p, epsilon, eta):
x = [i/p for i in range(p+1)]
y_empir = [0 for i in range(p+1)]
n = int((p+1)/(eta*epsilon**2))+1
echantillon = [simule_X() for j in range(n)]
for i in range(p+1):
for j in range(n):
y_empir[i] = y_empir[i] + x[i]**echantillon[j] / n
ymax = [y_empir[i] + epsilon for i in range(p+1)]
ymin = [y_empir[i] - epsilon for i in range(p+1)]
plt.plot(x, ymax)
plt.plot(x, ymin)
plt.show()
Expliquer la ligne \(4\).
Expliquer les lignes \(7\) et \(8\).
Expliquer les lignes \(9\) et \(10\).
Pour tout \(i\in\left\lbrace 0,\dots,\texttt{p}\right\rbrace\), on note \(M_i\) le point de coordonnées \((\texttt{x[i]},\texttt{ymax[i]})\) et \(N_i\) le point de coordonnées \((\texttt{x[i]},\texttt{ymin[i]})\). Montrer que les \(\texttt{p+1}\) segments \([M_i,N_i]\) (lorsque \(i\) décrit \(\left\lbrace 0,\dots,\texttt{p}\right\rbrace\)) sont de longueur \((2\,\texttt{epsilon})\) et que, avec une probabilité au moins égale à \((1-\texttt{eta})\), la courbe représentative de la fonction \(G_X\) intersecte ces \((\texttt{p+1})\) segments.
Soit \(m\in\mathbb{N}\) et \(X\) une variable aléatoire à valeurs dans
\(\mathbb{N}\) tels que \(\mathbb{P}(X\leqslant m)=1\). Compléter
l’algorithme suivant afin de définir une commande Python
trace2(p, liste) qui prend en argument un élément
p de \(\mathbb{N}^\ast\)
et une liste de réels positifs de somme \(1\), disons [p0, p1, ..., pm],
et qui trace \(\texttt{p}+1\) points de
coordonnées \[\big(0,G_X(0)\big),\
\left(\frac{1}{\texttt{p}},G_X\!\left(\frac{1}{\texttt{p}}\right)\right),\
\left(\frac{2}{\texttt{p}},G_X\!\left(\frac{2}{\texttt{p}}\right)\right),\
\dots,\ \big(1,G_X(1)\big)\] où, pour tout \(n\in\left\lbrace 0,\dots,m\right\rbrace\),
\(\mathbb{P}(X=n)=\texttt{pn}\). Par
exemple, si \(X\) suit la loi de
Bernoulli \(\mathscr{B}(3/5)\), la
commande trace2(10, [0.4, 0.6]) trace onze points du graphe
de la fonction \(G_X\).
def trace2(p, liste):
x = # Ligne à compléter
y = # Ligne à compléter
m = len(liste)-1
for i in # Ligne à compléter
for n in # Ligne à compléter
y[i] = y[i] + # Ligne à compléter
# Ligne à compléter
# Ligne à compléterDans le module numpy.random importé sous l’alias
rd :
rd.binomial(n, p) simule une variable aléatoire suivant
une loi binomiale \(\mathscr{B}(\texttt{n},\texttt{p})\) de
paramètre \((\texttt{n},\texttt{p})\).
Dans le module matplotlib.pyplot importé sous
l’alias plt :
plt.plot(x, y) prend en entrée deux vecteurs ou deux
listes de même taille et réalise le tracé des points d’abscisses prises
dans x et d’ordonnées prises dans y tandis que
plt.show() affiche le tracé.
FIN DU SUJET
Le corrigé pas à pas, les aides et les explications sont disponibles dans la plateforme.
Fonctions génératrices, sommes aléatoires et probabilité d'extinction d'un processus de branchement, avec simulations en Python.