% bac2025gen-poly-juin-sujet2-exo1.tex
\begin{scontents}[overwrite,write-out=po2025j2exo1.py]
def simulation(n):
	donnee = 1
	liste = [donnee]
	for k in range(n):
		if rand() < 0.1:
			donnee = 1 - donnee
		liste.append(donnee)
	return liste
\end{scontents}
Dans tout l'exercice, les probabilités seront, si nécessaire, arrondies à $10^{-3}$ près.

\smallskip

Une donnée binaire est une donnée qui ne peut prendre que deux valeurs: 0 ou 1.

Une donnée de ce type est transmise successivement d'une machine à une autre.

Chaque machine transmet la donnée reçue soit de manière fidèle, c'est-à-dire en transmettant l'information telle qu'elle l'a reçue (1 devient 1 et 0 devient 0), soit de façon contraire (1 devient 0 et 0 devient 1).

La transmission est fidèle dans $90\,\%$ des cas, et donc contraire dans $10\,\%$ des cas.

Dans tout l'exercice, la première machine reçoit toujours la valeur 1.

\textbf{Partie A}

Pour tout entier naturel $n \geqslant 1$, on note :

\begin{itemize}
	\item $V_{n}$ l'évènement : « la $n$-ième machine détient la valeur 1 »;
	\item $\overline{V_{n}}$ l'évènement : « la $n$-ième machine détient la valeur 0 ».
\end{itemize}

\begin{enumerate}
	\item
	\begin{enumerate}
		\item Recopier et compléter l'arbre de probabilité ci-dessous.
		
		\begin{Centrage}
			\begin{tikzpicture}[xscale=1,yscale=1]
				% Styles (MODIFIABLES)
				\tikzstyle{fleche}=[semithick]
				\tikzstyle{noeud}=[]
				\tikzstyle{feuille}=[]
				\tikzstyle{etiquette}=[midway,sloped]
				\def\DistanceInterNiveaux{3}
				\def\DistanceInterFeuilles{2}
				\def\NiveauA{(0)*\DistanceInterNiveaux}
				\def\NiveauB{(1.25)*\DistanceInterNiveaux}
				\def\NiveauC{(2.5)*\DistanceInterNiveaux}
				\def\InterFeuilles{(-0.75)*\DistanceInterFeuilles}
				\node[noeud] (R) at ({\NiveauA},{(1.5)*\InterFeuilles}) {$V_1$};
				\node[noeud] (Ra) at ({\NiveauB},{(0.5)*\InterFeuilles}) {$V_2$};
				\node[feuille] (Raa) at ({\NiveauC},{(0)*\InterFeuilles}) {$V_3$};
				\node[feuille] (Rab) at ({\NiveauC},{(1)*\InterFeuilles}) {$\overline{V_3}$};
				\node[noeud] (Rb) at ({\NiveauB},{(2.5)*\InterFeuilles}) {$\overline{V_2}$};
				\node[feuille] (Rba) at ({\NiveauC},{(2)*\InterFeuilles}) {$V_3$};
				\node[feuille] (Rbb) at ({\NiveauC},{(3)*\InterFeuilles}) {$\overline{V_3}$};
				\draw[fleche] (R)--(Ra) node[etiquette,above] {\numdots};
				\draw[fleche] (Ra)--(Raa) node[etiquette,above] {\numdots};
				\draw[fleche] (Ra)--(Rab) node[etiquette,below] {\numdots};
				\draw[fleche] (R)--(Rb) node[etiquette,below] {\numdots};
				\draw[fleche] (Rb)--(Rba) node[etiquette,above] {\numdots};
				\draw[fleche] (Rb)--(Rbb) node[etiquette,below] {\numdots};
			\end{tikzpicture}
		\end{Centrage}
		\item Démontrer que $P\left(V_{3}\right)=0,82$ et interpréter ce résultat dans le contexte de l'exercice.
		\item Sachant que la troisième machine a reçu la valeur 1, calculer la probabilité que la deuxième machine ait aussi reçu la valeur 1.
	\end{enumerate}
	\item Pour tout entier naturel $n \geqslant 1$, on note $p_{n}=P\left(V_{n}\right)$.
	
	La première machine a reçu la valeur 1, on a donc $p_{1}=1$.
	\begin{enumerate}
		\item Démontrer que pour tout entier naturel $n \geqslant 1$ : \[ p_{n+1}=0,8 p_{n}+0,1. \]
		\item Démontrer par récurrence que pour tout entier naturel $n \geqslant 1$, \[ p_{n}=0,5 \times 0,8^{n-1}+0,5. \]
		\item Calculer la limite de $p_{n}$ lorsque $n$ tend vers l'infini. Interpréter ce résultat dans le contexte de l'exercice.
	\end{enumerate}
\end{enumerate}

\smallskip

\textbf{Partie B}

Pour modéliser en langage \textsf{Python} la transmission de la donnée binaire décrite en début d'exercice, on considère la fonction \AffVignette[Type=py]{simulation} qui prend en paramètre un entier naturel \AffVignette[Type=py]{n} qui représente le nombre de transmissions réalisées d'une machine à une autre, et qui renvoie la liste des valeurs successives de la donnée binaire.

On donne ci-dessous le script incomplet de cette fonction.

On rappelle que l'instruction \AffVignette[Type=py]{rand()} renvoie un nombre aléatoire de l'intervalle $\IntervalleFO{0}{1}$.

\smallskip

\CodePythonLstFichierAlt[12cm]{center}{po2025j2exo1.py}

\smallskip

Par exemple, \AffVignette[Type=py]{simulation(3)} peut renvoyer \AffVignette[Type=py]{[1, 0, 0, 1]}. Cette liste traduit :

\begin{itemize}
	\item qu'une donnée binaire a été successivement transmise trois fois entre quatre machines ;
	\item la première machine qui détient la valeur 1 a transmis de façon contraire cette donnée à la deuxième machine ;
	\item la deuxième machine a transmis la donnée qu'elle détient de façon fidèle à la troisième ;
	\item la troisième machine a transmis de façon contraire la donnée qu'elle détient à la quatrième.
\end{itemize}

\begin{enumerate}
	\item Déterminer le rôle des instructions des lignes 5 et 6 de l'algorithme ci-dessus.
	\item Calculer la probabilité que \texttt{simulation(4)} renvoie la liste \AffVignette[Type=py]{[1, 1, 1, 1, 1]} et la probabilité que \AffVignette[Type=py]{simulation(6)} renvoie la liste \AffVignette[Type=py]{[1, 0, 1, 0, 0, 1, 1]}.
\end{enumerate}


