<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akulas</id>
	<title>Wiki du LAMA (UMR 5127) - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akulas"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php/Sp%C3%A9cial:Contributions/Akulas"/>
	<updated>2026-05-21T07:42:41Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15566</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15566"/>
		<updated>2024-05-21T22:25:20Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire et la durée selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la durée théorique.&lt;br /&gt;
== Autres Graphes ==&lt;br /&gt;
&lt;br /&gt;
Nous pouvons aussi faire des graphes pour modeliser l&#039;évolution de la probabilité et de la durée selon la somme de départ.&lt;br /&gt;
&lt;br /&gt;
Dans notre cas nous allons faire varier la somme de départ de 1 à 19. La somme souhaité est donc 20.&lt;br /&gt;
&lt;br /&gt;
La ligne bleu représente la valeur &amp;quot;juste&amp;quot; qui est le millieu entre les deux conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
=== Graphe probabilité ===&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la probabilité de victoire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous pouvons voir que l&#039;évolution de la probabilité de victoire est assez linéaire.&lt;br /&gt;
&lt;br /&gt;
=== Graphe durée ===&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la durée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous pouvons voir que l&#039;évolution de la durée est en forme de parabolle plutot favorable à la défaite.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Nous avons vu qu&#039;il est possible de modéliser l&#039;évolution des gains d&#039;un joueur lors d&#039;une soirée. &lt;br /&gt;
&lt;br /&gt;
Les résultats montrent que la chance de victoire est grandement défavorable pour le joueur.&lt;br /&gt;
&lt;br /&gt;
Pour analyser le sujet plus profondément on pourrait changer la valeur des mises et passer à 1 ou 2.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15565</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15565"/>
		<updated>2024-05-21T22:22:25Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Autres Graphes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire et la durée selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la durée théorique.&lt;br /&gt;
== Autres Graphes ==&lt;br /&gt;
&lt;br /&gt;
Nous pouvons aussi faire des graphes pour modeliser l&#039;évolution de la probabilité et de la durée selon la somme de départ.&lt;br /&gt;
&lt;br /&gt;
Dans notre cas nous allons faire varier la somme de départ de 1 à 19. La somme souhaité est donc 20.&lt;br /&gt;
&lt;br /&gt;
La ligne bleu représente la valeur &amp;quot;juste&amp;quot; qui est le millieu entre les deux conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
=== Graphe probabilité ===&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la probabilité de victoire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous pouvons voir que l&#039;évolution de la probabilité de victoire est assez linéaire.&lt;br /&gt;
&lt;br /&gt;
=== Graphe durée ===&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la durée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous pouvons voir que l&#039;évolution de la durée est en forme de parabolle plutot favorable à la défaite.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15563</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15563"/>
		<updated>2024-05-21T22:20:31Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Autres Graphes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire et la durée selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la durée théorique.&lt;br /&gt;
== Autres Graphes ==&lt;br /&gt;
&lt;br /&gt;
Nous pouvons aussi faire des graphes pour modeliser l&#039;évolution de la probabilité et de la durée selon la somme de départ.&lt;br /&gt;
&lt;br /&gt;
Dans notre cas nous allons faire varier la somme de départ de 1 à 19. La somme souhaité est donc 20.&lt;br /&gt;
&lt;br /&gt;
La ligne bleu représente la valeur &amp;quot;juste&amp;quot; qui est le millieu entre les deux conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la probabilité de victoire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la durée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous pouvons voir que l&#039;évolution de la probabilité de victoire est assez linéaire.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15562</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15562"/>
		<updated>2024-05-21T22:17:43Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire et la durée selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la durée théorique.&lt;br /&gt;
== Autres Graphes ==&lt;br /&gt;
&lt;br /&gt;
Nous pouvons aussi faire des graphes pour modeliser l&#039;évolution de la probabilité et de la durée selon la somme de départ.&lt;br /&gt;
&lt;br /&gt;
Dans notre cas nous allons faire varier la somme de départ de 1 à 19. La somme souhaité est donc 20.&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la probabilité de victoire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon a.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Nous avons ci-dessous le graphe de l&#039;évolution de la durée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon a.png|600px]]&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_duree_selon_a.png&amp;diff=15561</id>
		<title>Fichier:Graphe duree selon a.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_duree_selon_a.png&amp;diff=15561"/>
		<updated>2024-05-21T22:14:57Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_proba_selon_a.png&amp;diff=15560</id>
		<title>Fichier:Graphe proba selon a.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_proba_selon_a.png&amp;diff=15560"/>
		<updated>2024-05-21T22:14:01Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15557</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15557"/>
		<updated>2024-05-21T19:56:30Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Verifications de nos estimations numériques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire et la durée selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe duree selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la durée théorique.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_duree_selon_nb_parties.png&amp;diff=15556</id>
		<title>Fichier:Graphe duree selon nb parties.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_duree_selon_nb_parties.png&amp;diff=15556"/>
		<updated>2024-05-21T19:55:06Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15552</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15552"/>
		<updated>2024-05-21T18:33:41Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Estimation du temps moyen de jeu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour p ≠ 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons remarquer que on converge vers cette valeur plus on simule de parties.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15551</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15551"/>
		<updated>2024-05-21T18:33:17Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Estimation de la probabilité de gagner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p ≠ 1/2====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons remarquer que on converge vers cette valeur plus on simule de parties.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15504</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15504"/>
		<updated>2024-05-21T00:38:41Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 10  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
Pour cette partie nous commençons à 10 jetons et on veut doubler cette somme.&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.3680312223171822&lt;br /&gt;
   Durée partie moyenne theorique : 97.65689548528538&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.347&lt;br /&gt;
   Durée partie moyenne : 95.984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi voir que nos formules qui servent à estimer la probabilité de victoire sont assez bonnes.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons dresser un graphe de l&#039;évolution de la probabilité de victoire selon le nombre de parties simulées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;br /&gt;
&lt;br /&gt;
En bleu, nous avons la probabilité de victoire théorique.&lt;br /&gt;
&lt;br /&gt;
Nous pouvons remarquer que on converge vers cette valeur plus on simule de parties.&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15502</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15502"/>
		<updated>2024-05-21T00:30:53Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Ajout images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Simulation soiree 3.png]]&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Graphe proba selon nb parties.png|600px]]&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_3.png&amp;diff=15501</id>
		<title>Fichier:Simulation soiree 3.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_3.png&amp;diff=15501"/>
		<updated>2024-05-21T00:30:18Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_2.png&amp;diff=15500</id>
		<title>Fichier:Simulation soiree 2.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_2.png&amp;diff=15500"/>
		<updated>2024-05-21T00:29:36Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_1.png&amp;diff=15499</id>
		<title>Fichier:Simulation soiree 1.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Simulation_soiree_1.png&amp;diff=15499"/>
		<updated>2024-05-21T00:28:42Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_proba_selon_nb_parties.png&amp;diff=15498</id>
		<title>Fichier:Graphe proba selon nb parties.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Graphe_proba_selon_nb_parties.png&amp;diff=15498"/>
		<updated>2024-05-21T00:27:12Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15489</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15489"/>
		<updated>2024-05-20T23:19:08Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15488</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15488"/>
		<updated>2024-05-20T23:17:31Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a la suite récurrente d&#039;ordre 2 : [https://www.mathieu-mansuy.fr/pdf/PCSI5-complement1.pdf Résoudre une équation linéaire d&#039;ordre 2]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15487</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15487"/>
		<updated>2024-05-20T23:16:31Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départ, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15395</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15395"/>
		<updated>2024-05-14T20:40:13Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Ajout partie Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
=== Bases du Programme ===&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5  # Le gain souhaité&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simulation d&#039;une soirée ===&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verifications de nos estimations numériques ===&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15394</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15394"/>
		<updated>2024-05-14T20:36:25Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Simulation d&amp;#039;une partie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On commence par initialiser nos valeurs que l&#039;on va utiliser : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On commence par simuler une soirée au casino : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
On peut afficher le résultat d&#039;une soirée : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut implémenter nos estimations numériques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On va utiliser la méthode de comptage pour observer nos simulations :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M soirées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie la durée moyenne sur M soirées simulées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut maintenant comparer nos résultats : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
   La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
   Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
   La probabilité de victoire : 0.592&lt;br /&gt;
   La probabilité de defaite : 0.408&lt;br /&gt;
   Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15393</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15393"/>
		<updated>2024-05-14T20:21:59Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Simulation d&amp;#039;une partie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
from random import random&lt;br /&gt;
from matplotlib import pyplot as plt &lt;br /&gt;
&lt;br /&gt;
PROBABILITE = (18/37) #18/37 Pour la roulette&lt;br /&gt;
SOMME_DEPART = 10&lt;br /&gt;
GAIN_FIN = 5&lt;br /&gt;
&lt;br /&gt;
#Faire varier Nombre de Parties &lt;br /&gt;
&lt;br /&gt;
NOMBRE_PARTIES = 1000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def simule_soiree(initial:int = SOMME_DEPART, fin:int= GAIN_FIN, prob:int= PROBABILITE) -&amp;gt; tuple:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Simule une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    tab = [initial]&lt;br /&gt;
    somme = initial &lt;br /&gt;
    &lt;br /&gt;
    while somme &amp;gt; 0 and somme &amp;lt; initial + fin:&lt;br /&gt;
        aleatoire = random()&lt;br /&gt;
        if aleatoire &amp;lt;= prob:&lt;br /&gt;
            somme += 1&lt;br /&gt;
        else:&lt;br /&gt;
            somme -= 1&lt;br /&gt;
        tab = tab + [somme]&lt;br /&gt;
        &lt;br /&gt;
    if somme == initial + fin:&lt;br /&gt;
        res = True&lt;br /&gt;
    else:&lt;br /&gt;
        res = False&lt;br /&gt;
        &lt;br /&gt;
    return (tab, res)&lt;br /&gt;
&lt;br /&gt;
def simule_nombre_parties(n:int = NOMBRE_PARTIES) -&amp;gt; list:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie un tableau de longueur n avec le resultat de chaque partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    res = []&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        res = res + [simule_soiree()]&lt;br /&gt;
    return res &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Permet d&#039;afficher une partie jouée.&lt;br /&gt;
&lt;br /&gt;
def affiche_graphe() -&amp;gt; None:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Affiche le graphe d&#039;une soirée au casino &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    y = simule_soiree()[0]&lt;br /&gt;
    x = [[i] for i in range(len(y))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;Instant I&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Somme instant I&amp;quot;) &lt;br /&gt;
    plt.plot(x,y) &lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
affiche_graphe()&lt;br /&gt;
&lt;br /&gt;
R = (1-PROBABILITE) / (PROBABILITE)&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_defaite_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de defaite théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (GAIN_FIN) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
    &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (R**(SOMME_DEPART + GAIN_FIN) - R**(SOMME_DEPART)) &lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
        &lt;br /&gt;
    return res&lt;br /&gt;
    &lt;br /&gt;
def calcule_proba_victoire_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire théorique&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = (SOMME_DEPART) / (SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = R**(SOMME_DEPART) - 1&lt;br /&gt;
        denumerateur = (R**(SOMME_DEPART + GAIN_FIN) - 1)&lt;br /&gt;
        res = numerateur / denumerateur&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_partie_theorique() -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la durée theorique d&#039;une partie&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if PROBABILITE == 0.5:&lt;br /&gt;
        res = SOMME_DEPART * GAIN_FIN&lt;br /&gt;
        &lt;br /&gt;
    else:&lt;br /&gt;
        numerateur = (SOMME_DEPART + GAIN_FIN) * (1 - R**SOMME_DEPART)&lt;br /&gt;
        denumerateur = 1 - R**(SOMME_DEPART + GAIN_FIN)&lt;br /&gt;
        &lt;br /&gt;
        res = (1 / (2 * PROBABILITE - 1)) * ((numerateur / denumerateur) - SOMME_DEPART)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
    &lt;br /&gt;
def calcule_nombre_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; int:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Renvoie le nombre de victoires dans les parties jouées&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    compteur = 0&lt;br /&gt;
    &lt;br /&gt;
    for res_partie in tab_parties:&lt;br /&gt;
        if res_partie[1] == True:&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
    &lt;br /&gt;
    return compteur&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_victoire(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de victoire sur M parties&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    nb_victoires = calcule_nombre_victoire(tab_parties)&lt;br /&gt;
    res = nb_victoires/len(tab_parties)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_proba_defaite(tab_parties = SIMULATION_N_SOIREE) -&amp;gt; float:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Renvoie la probabilité de défaite sur M parties&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    res = (NOMBRE_PARTIES - calcule_nombre_victoire(tab_parties)) / len(tab_parties)&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
def calcule_duree_moyenne():&lt;br /&gt;
    somme = 0&lt;br /&gt;
    for partie in SIMULATION_N_SOIREE:&lt;br /&gt;
        duree_partie = len(partie[0])&lt;br /&gt;
        somme += duree_partie&lt;br /&gt;
    res = somme / NOMBRE_PARTIES&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
Voici les valeurs theoriques : &lt;br /&gt;
&lt;br /&gt;
La probabilité de victoire : 0.5812626435530369&lt;br /&gt;
La probabilité de defaite : 0.4187373564469631&lt;br /&gt;
Durée partie moyenne theorique : 1334.2610407391421&lt;br /&gt;
Voici les valeurs avec nos resultats : &lt;br /&gt;
&lt;br /&gt;
La probabilité de victoire : 0.592&lt;br /&gt;
La probabilité de defaite : 0.408&lt;br /&gt;
Durée partie moyenne : 1358.222&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TAB_NB_PARTIES = [1, 5, 10 ,20, 50, 100, 200, 500]&lt;br /&gt;
&lt;br /&gt;
def simule_proba_selon_n(nb_partie = TAB_NB_PARTIES):&lt;br /&gt;
    res = []&lt;br /&gt;
    for n in nb_partie :&lt;br /&gt;
        tab = simule_nombre_parties(n)&lt;br /&gt;
        proba_victoire = calcule_proba_victoire(tab)&lt;br /&gt;
        res += [proba_victoire]&lt;br /&gt;
    return res&lt;br /&gt;
    &lt;br /&gt;
        &lt;br /&gt;
def affiche_proba_nb_partie (parties: list):&lt;br /&gt;
    tab = []&lt;br /&gt;
    for ele in parties: &lt;br /&gt;
        print(ele)&lt;br /&gt;
        tab = tab + [ele]&lt;br /&gt;
    &lt;br /&gt;
    vict_theorique = calcule_proba_victoire_theorique()&lt;br /&gt;
    theorique_depart = [vict_theorique] * len(tab)&lt;br /&gt;
    &lt;br /&gt;
    x = [[i] for i in range(len(tab))]&lt;br /&gt;
    plt.title(&amp;quot;Graphe d&#039;une soirée au casino&amp;quot;) &lt;br /&gt;
    plt.xlabel(&amp;quot;N Parties&amp;quot;) &lt;br /&gt;
    plt.ylabel(&amp;quot;Proba victoire sur N parties&amp;quot;) &lt;br /&gt;
    &lt;br /&gt;
    plt.plot(x,theorique_depart)&lt;br /&gt;
    plt.plot(x,tab) &lt;br /&gt;
    default_x_ticks = range(len(x))&lt;br /&gt;
    plt.xticks(default_x_ticks, TAB_NB_PARTIES)&lt;br /&gt;
    plt.show()&lt;br /&gt;
    &lt;br /&gt;
proba_selon_n = simule_proba_selon_n()&lt;br /&gt;
affiche_proba_nb_partie(proba_selon_n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15392</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15392"/>
		<updated>2024-05-14T20:03:01Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Estimations numériques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Nous allons prendre pour base le document suivant : [https://perso.eleves.ens-rennes.fr/people/florian.lemonnier/agregation/developpements/Ruine.pdf Ruine]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15391</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15391"/>
		<updated>2024-05-14T19:59:02Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Fin Estimation Durée&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot e_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On note, pour &amp;lt;math&amp;gt; k \geq 1 , d_k = e_k - e_{k-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc la relation de récurence : &amp;lt;math&amp;gt; 0 = 1 + p \cdot d_{k+1} - q \cdot d_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
On a &amp;lt;math&amp;gt; \frac{1}{2} \cdot d_{k+1} = \frac{1}{2} \cdot d_{k} - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donc, &amp;lt;math&amp;gt; d_{k+1} = d_k - 2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
d&#039;où &amp;lt;math&amp;gt; d_k = d_1 - 2 \left(k-1 \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alors pour &amp;lt;math&amp;gt; n \geq 1 , e_n = \sum_{k=1}^{n} d_k = n \cdot d_1 - 2 \cdot \sum_{k=0}^{n-1}k = n \cdot d_1 - 2 \cdot \frac{n(n-1)}{2} = n(d_1 - (n - 1)) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)(d_1 + (a + b - 1)), \text{d&#039;où } d_1 = a + b - 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = a(a + b - 1 - (a - 1)) = ab &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On pose le réel l qui verifie &amp;lt;math&amp;gt; 0 = pl - ql &amp;lt;/math&amp;gt; qui est donc &amp;lt;math&amp;gt; l = \frac{1}{q-p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La relation devient donc &amp;lt;math&amp;gt; 0 = p(d_{k+1} - l) - q(d_k - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par conséquent, &amp;lt;math&amp;gt; d_{k+1} - l = \frac{q}{p}(d_k - l) , \text{et donc } d_k - l = \left( \frac{q}{p} \right) ^{k-1} (d_1 - l) &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Donc pour &amp;lt;math&amp;gt; n \geq 1 &amp;lt;/math&amp;gt;, on a :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; e_n = \sum_{k=1}^{n}d_k + e_0 = \sum_{k=1}^{n} \left( l + \left( \frac{q}{p} \right) ^{k-1} \cdot (d_1 - l) \right) = nl + (d_1 - l) \cdot \sum_{k=0}^{n-1}\left( \frac{q}{p} \right) ^{k} = nl + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{n}}{1 - \frac{q}{p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or &amp;lt;math&amp;gt; e_{a+b} = 0 = (a+b)l + (d_1 - l) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a+b}}{1 - \frac{q}{p}} \text{par conséquent :} \frac{d_1 - l}{1 - \frac{q}{p}} = -\frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b} }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donc &amp;lt;math&amp;gt; E[T] = e_a = al - \left( 1 - \left( \frac{q}{p} \right)^{a} \right) \cdot \frac{(a+b)l}{1 - \left( \frac{q}{p} \right) ^{a+b}} = \frac{1}{q-p} \cdot \left( a - (a+b) \cdot \frac{1 - \left( \frac{q}{p} \right) ^{a} }{1 - \left( \frac{q}{p} \right) ^{a+b} } \right) = \frac{(a+b)p-a}{p-q} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15388</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15388"/>
		<updated>2024-05-13T21:17:11Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Debut estimation temps moyen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
On définit de manière générale p la probabilité de victoire d&#039;une partie et q = (1-p)&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; E_k(T) =E_k(T|Y_1 = 1)P(Y_1 = 1) + E_k(A|Y_1 = -1)P(Y_1 = -1) = (1 + E_{k+1}(T))p + (1 + E_{k-1}(T))q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne l&#039;équation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
e_k = 1 + p \cdot e_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
e_0 = 0, \\&lt;br /&gt;
e_{a+b} = 0.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15387</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15387"/>
		<updated>2024-05-13T21:07:20Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Ajout proba 1/2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
Ca qui donne la solution unique : &amp;lt;math&amp;gt; x = 1  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha  \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (a+b)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = 0 \\&lt;br /&gt;
       \beta =  \frac{a}{a+b} \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{a}{a+b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a donc formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15386</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15386"/>
		<updated>2024-05-13T20:43:44Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
====Pour p = 1/2 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Pour les autres probabilités====&lt;br /&gt;
&lt;br /&gt;
On a la formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Démonstration=====&lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15244</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15244"/>
		<updated>2024-05-08T19:26:45Z</updated>

		<summary type="html">&lt;p&gt;Akulas : /* Estimation de la probabilité de gagner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On a la formule suivante : &amp;lt;math&amp;gt; p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Démonstration====&lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{\left( \frac{q}{p} \right)^{a} - 1}{\left( \frac{q}{p} \right)^{a+b} - 1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15243</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15243"/>
		<updated>2024-05-08T19:24:29Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Estimation probabilité Victoire&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
===Estimation de la probabilité de gagner===&lt;br /&gt;
&lt;br /&gt;
On veut trouver une formule qui permet de trouver la probabilité de victoire lors d&#039;une soirée au casino selon les paramètres de départs, soit la somme de départ et la somme voulue et la probabilité de victoire. &lt;br /&gt;
&lt;br /&gt;
On a la formule suivante : &amp;lt;math&amp;gt; p = \frac{1 - \left( \frac{q}{p} \right)^{a}}{1 - \left( \frac{q}{p} \right)^{a+b}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Démonstration====&lt;br /&gt;
&lt;br /&gt;
On commence avec la loi de probabilité totale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P_k(A) = P_k(A|Y_1 = 1)P_k(Y_1 = 1) + P_k(A|Y_1 = -1)P_k(Y_1 = -1) = P_{k+1}(A)p + P_{k-1}(A)q &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne le système suivant : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
p_k = p \cdot p_{k+1} + q \cdot p_{k-1}, &amp;amp; \text{pour } 1 \leq k \leq a + b \\&lt;br /&gt;
p_0 = 0, \\&lt;br /&gt;
p_{a+b} = 1.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On cherche l&#039;équation quadratique : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On a l&#039;équation : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = p \cdot p_{k+1} + q \cdot p_{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On remplace &amp;lt;math&amp;gt; p_k &amp;lt;/math&amp;gt; par &amp;lt;math&amp;gt; x^{k} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x^{k} = p \cdot x^{k+1} + q \cdot x^{k-1} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On divise par &amp;lt;math&amp;gt; x^{k-1} &amp;lt;/math&amp;gt; : &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x = p \cdot x^{2} + q &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On résoult l&#039;équation &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p \cdot x^{k+1} - x^{k}  + q \cdot x^{k-1} = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce qui donne les solutions : &amp;lt;math&amp;gt; x_1 = 1 \text{ et } x_2 = \frac{q}{p} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On a alors :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; p_k = \alpha \cdot x_1^{k} + \beta \cdot x_2^{k} &amp;lt;/math&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; \iff p_k = \alpha + \beta \cdot (\frac{q}{p})^{k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; On en déduit les valeurs &amp;lt;math&amp;gt; \alpha \text{ et } \beta &amp;lt;/math&amp;gt;&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
       \begin{cases}&lt;br /&gt;
       0 = \alpha + \beta \\&lt;br /&gt;
       1 = \alpha + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = - \beta + \beta \cdot (\frac{q}{p})^{k}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       1 = \beta \left(-1 + \left( \frac{q}{p} \right)^{a+b} \right)  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\iff   \begin{cases}&lt;br /&gt;
       \alpha = - \beta \\&lt;br /&gt;
       \beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}  \\&lt;br /&gt;
       \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\alpha = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
\text{ et } &lt;br /&gt;
\beta = \frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;où : &lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
p_a = -\left(\frac{1}{-1 + \left( \frac{q}{p} \right)^{a+b}}\right) &lt;br /&gt;
+ \frac{\left( \frac{q}{p} \right)^{a}}{-1 + \left( \frac{q}{p} \right)^{a+b}} &lt;br /&gt;
&lt;br /&gt;
\iff &lt;br /&gt;
&lt;br /&gt;
p = \frac{1 - \left( \frac{q}{p} \right)^{a} }{1 - \left( \frac{q}{p} \right)^{a+b}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estimation du temps moyen de jeu=== &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15187</id>
		<title>Utilisateur:Akulas</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15187"/>
		<updated>2024-04-26T21:10:01Z</updated>

		<summary type="html">&lt;p&gt;Akulas : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;span id=&amp;quot;Titre&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;Estimation_num&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;simulation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_prob&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation de la probabilité de gagner==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_duree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation du temps moyen de jeu==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15186</id>
		<title>Utilisateur:Akulas</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15186"/>
		<updated>2024-04-26T21:09:51Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Page blanchie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15185</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15185"/>
		<updated>2024-04-26T21:09:43Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Redirection supprimée vers Modélisation de la ruine du joueur 2020-2021&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;span id=&amp;quot;Titre&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;Estimation_num&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;simulation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_prob&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation de la probabilité de gagner==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_duree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation du temps moyen de jeu==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15184</id>
		<title>Utilisateur:Akulas</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Utilisateur:Akulas&amp;diff=15184"/>
		<updated>2024-04-26T21:04:08Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Page créée avec « ==&amp;lt;span id=&amp;quot;Titre&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Modélisation de la ruine du joueur==   Nous nous intéressons à l&amp;#039;étude des gains d&amp;#039;un joueur lors d&amp;#039;une soirée au casino, dans lequel le joueur joue à la roulette russe.   Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&amp;#039;arrête uniquement si :     - il obtient la somme souhaitée     - le joueur est ruiné (la somme est égale à 0)  Pour cela le joueur va jouer à la roulette en misa... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&amp;lt;span id=&amp;quot;Titre&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Modélisation de la ruine du joueur==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous nous intéressons à l&#039;étude des gains d&#039;un joueur lors d&#039;une soirée au casino, dans lequel le joueur joue à la roulette russe. &lt;br /&gt;
&lt;br /&gt;
Le joueur commence avec une somme initiale comprise entre 0 et la somme souhaitée, le joueur s&#039;arrête uniquement si : &lt;br /&gt;
   - il obtient la somme souhaitée &lt;br /&gt;
   - le joueur est ruiné (la somme est égale à 0)&lt;br /&gt;
&lt;br /&gt;
Pour cela le joueur va jouer à la roulette en misant à chaque fois 1 jeton qu&#039;il peut doubler ou perdre.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;Estimation_num&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de trouver de : &lt;br /&gt;
&lt;br /&gt;
 - calculer la probabilité de victoire, soit d&#039;atteindre la somme souhaitée, en partant de la somme de départ.&lt;br /&gt;
 - calculer la durée de la partie, soit le joueur arrête de jouer, donc il atteint l&#039;une des conditions d&#039;arrêt.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;simulation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Simulation d&#039;une partie==&lt;br /&gt;
&lt;br /&gt;
Afin de modéliser la ruine du joueur on peut utiliser ce programme python : &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_prob&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation de la probabilité de gagner==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;span id=&amp;quot;estimation_duree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Estimation du temps moyen de jeu==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15183</id>
		<title>Modélisation de la ruine du joueur</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur&amp;diff=15183"/>
		<updated>2024-04-26T20:30:49Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Akulas a déplacé la page Modélisation de la ruine du joueur vers Modélisation de la ruine du joueur 2020-2021 : Projet réaliser par un ancien élève en 2020-2021&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Modélisation de la ruine du joueur 2020-2021]]&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur_2020-2021&amp;diff=15182</id>
		<title>Modélisation de la ruine du joueur 2020-2021</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Mod%C3%A9lisation_de_la_ruine_du_joueur_2020-2021&amp;diff=15182"/>
		<updated>2024-04-26T20:30:48Z</updated>

		<summary type="html">&lt;p&gt;Akulas : Akulas a déplacé la page Modélisation de la ruine du joueur vers Modélisation de la ruine du joueur 2020-2021 : Projet réaliser par un ancien élève en 2020-2021&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans le cadre du module de VISI201, nous allons réaliser la modélisation de la ruine d&#039;un joueur. C&#039;est à dire, à l&#039;aide d&#039;un programme, de comprendre comment les casinos arrivent à gagner de l&#039;argent en proposant le jeu de la roulette. La première partie explique qu&#039;est ce que la ruine d&#039;un joueur. Puis nous vous proposons la simulation d&#039;une soirée au casino. Et enfin une partie mathématique avec des calculs de probabilités, du temps moyen de jeu et des estimations numériques.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Qu&#039;est ce que la ruine d&#039;un joueur ?==&lt;br /&gt;
&lt;br /&gt;
Un joueur de roulette arrive au casino avec une somme d&#039;argent finie, et il souhaite gagner une certaine somme d&#039;argent. Le joueur repart soit quand il est ruiné soit quand il a gagné le montant qu&#039;il voulait. Le temps est compté et il n&#039;y a aucune stratégie pour gagner c&#039;est un jeu de hasard. Si le joueur n&#039;a pas de somme a atteindre et qu&#039;il a un temps illimité il finira ruiné. &lt;br /&gt;
&lt;br /&gt;
===Règles de la roulette===&lt;br /&gt;
&lt;br /&gt;
Pour notre modélisation de la ruine d&#039;un joueur, nous avons simplifié les règles de la roulette. &lt;br /&gt;
&lt;br /&gt;
La roulette est constituée de 37 numéros : le 0 est vert, 18 pairs rouges et 18 impairs noirs. &lt;br /&gt;
&lt;br /&gt;
Le joueur arrive avec une richesse initiale notée &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, il souhaite gagner &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; euro. A chaque tour le joueur mise un euro sur les nombres pairs, si il tombe sur un nombre pair il gagne 1€ sinon il perd 1€. Si il tombe sur zéro il perd aussi 1€.&lt;br /&gt;
&lt;br /&gt;
==Une soirée au casino (simulation)==&lt;br /&gt;
&lt;br /&gt;
Pour la simulation nous posons trois variables :&lt;br /&gt;
  - &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; la richesse du joueur à l&#039;entrée du casino&lt;br /&gt;
  - &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; le gain souhaité par le joueur&lt;br /&gt;
  - &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; la probabilité de gagner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Une partie de &amp;quot;Pile ou Face&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
La partie de &amp;quot;Pile ou face&amp;quot; a pour but de lancer une pièce et de regarder sur quelle face elle tombe. Les pièces de monnaie étant équilibrées la probabilité de tomber sur pile est égal à la probabilité de tomber sur face, c&#039;est à dire que la probabilité et de &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Pour la simulation on prend les mêmes règles que pour la roulette : le joueur mise sur une face si il a bon il gagne 1€, sinon il les perd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def pile_ou_face(a,b):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;simulation d&#039;une soirée au casino (jeu de la roulette)&lt;br /&gt;
&lt;br /&gt;
            en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
            en sortie : g -&amp;gt; 0 si ruiné sinon 1&lt;br /&gt;
                        s le tableau de l&#039;évolution de l&#039;argent du joueur&lt;br /&gt;
                        t le temps de la partie &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    c = a   &lt;br /&gt;
    s = [a]&lt;br /&gt;
    while c != 0 and c &amp;lt; a + b :&lt;br /&gt;
        res = random.uniform(0,1) # renvoie un nombre entre 0 et 1&lt;br /&gt;
        if res &amp;lt;= 0.5: #Joueur à gagner cette mise&lt;br /&gt;
            c = c + 1&lt;br /&gt;
        else :       #Joueur à perdu cette mise&lt;br /&gt;
            c = c - 1&lt;br /&gt;
        s = s + [c]&lt;br /&gt;
    if c == 0 :         # Joueur ruiné&lt;br /&gt;
        g = 0&lt;br /&gt;
    elif c == a + b :   # Joueur a gagné&lt;br /&gt;
        g =  1&lt;br /&gt;
    t = len(s)          #Temps de jeu&lt;br /&gt;
    return s, g, t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION :&#039;&#039;&#039; Pour exécuter ce code python il faut importer la librairie random&lt;br /&gt;
&lt;br /&gt;
Cette simulation renvoie trois résultats. Le premier résultat correspond à l&#039;évolution de la richesse du joueur, le deuxième résultat permet de savoir facilement si le joueur a gagné (soit &amp;lt;math&amp;gt;g=1&amp;lt;/math&amp;gt;). Et le dernier résultat correspond au temps de jeu (c&#039;est à dire le nombre de mises pour gagner ou être ruiné).&lt;br /&gt;
&lt;br /&gt;
===Une partie de roulette===&lt;br /&gt;
&lt;br /&gt;
Pour la simulation d&#039;une partie de roulette, nous allons prendre les règles simplifiées. &lt;br /&gt;
&lt;br /&gt;
Lors que le joueur mise sur pair il a une probabilité à chaque mise &amp;lt;math&amp;gt;p=\frac{18}{37}&amp;lt;/math&amp;gt;. Cette probabilité est dû au fait qu&#039;il y a 37 cases au total et qu&#039;il y a 18 cases gagnantes. &lt;br /&gt;
&lt;br /&gt;
Le code reste le même sauf qu&#039;il faut changer la probabilité de gagner à chaque mise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def casino(a,b):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;simulation d&#039;une soirée au casino (jeu de la roulette)&lt;br /&gt;
&lt;br /&gt;
            en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
            en sortie : g -&amp;gt; 0 si ruiné sinon 1&lt;br /&gt;
                        s le tableau de l&#039;évolution de l&#039;argent du joueur&lt;br /&gt;
                        t le temps de la partie &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    c = a   &lt;br /&gt;
    s = [a]&lt;br /&gt;
    while c != 0 and c &amp;lt; a + b :&lt;br /&gt;
        res = random.uniform(0,1) # renvoie un nombre entre 0 et 1&lt;br /&gt;
        if res &amp;lt;= 18/37: #Joueur à gagner cette mise&lt;br /&gt;
            c = c + 1&lt;br /&gt;
        else :       #Joueur à perdu cette mise&lt;br /&gt;
            c = c - 1&lt;br /&gt;
        s = s + [c]&lt;br /&gt;
    if c == 0 :         # Joueur ruiné&lt;br /&gt;
        g = 0&lt;br /&gt;
    elif c == a + b :   # Joueur a gagné&lt;br /&gt;
        g =  1&lt;br /&gt;
    t = len(s)          #Temps de jeu&lt;br /&gt;
    return s, g, t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION :&#039;&#039;&#039; Pour exécuter ce code python il faut importer la librairie random&lt;br /&gt;
&lt;br /&gt;
Cette simulation renvoie trois résultats. Le premier résultat correspond à l&#039;évolution de la richesse du joueur, le deuxième résultat permet de savoir facilement si le joueur a gagné (soit &amp;lt;math&amp;gt;g=1&amp;lt;/math&amp;gt;). Et le dernier résultat correspond au temps de jeu (c&#039;est à dire le nombre de mises pour gagner ou être ruiné).&lt;br /&gt;
&lt;br /&gt;
===Code général===&lt;br /&gt;
&lt;br /&gt;
Nous vous proposons un code général qui permet de calculer tout type de jeux qui se font sur plusieurs mises. La deuxième fonction permet d&#039;avoir le même résultat mais trace en plus un graphe de l&#039;évolution de la richesse du joueur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def ruine(a,b,p):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;simulation d&#039;une soirée au casino (jeu de la roulette)&lt;br /&gt;
&lt;br /&gt;
            en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
                        p la probabilité de gagner (mise pair)&lt;br /&gt;
            en sortie : g -&amp;gt; 0 si ruiné sinon 1&lt;br /&gt;
                        s le tableau de l&#039;évolution de l&#039;argent du joueur&lt;br /&gt;
                        t le temps de la partie &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    c = a   &lt;br /&gt;
    s = [a]&lt;br /&gt;
    while c != 0 and c &amp;lt; a + b :&lt;br /&gt;
        res = random.uniform(0,1) # renvoie un nombre entre 0 et 1&lt;br /&gt;
        if res &amp;lt;= p: #Joueur à gagner cette mise&lt;br /&gt;
            c = c + 1&lt;br /&gt;
        else :       #Joueur à perdu cette mise&lt;br /&gt;
            c = c - 1&lt;br /&gt;
        s = s + [c]&lt;br /&gt;
    if c == 0 :         # Joueur ruiné&lt;br /&gt;
        g = 0&lt;br /&gt;
    elif c == a + b :   # Joueur a gagné&lt;br /&gt;
        g =  1&lt;br /&gt;
    t = len(s)          #Temps de jeu&lt;br /&gt;
    return s, g, t&lt;br /&gt;
&lt;br /&gt;
def graphe(a,b,p):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;fonction qui trace le graphe de l&#039;évolution de la richesse du joueur&lt;br /&gt;
            en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
                        p la probabilité de gagner (mise pair)&lt;br /&gt;
            en sortie : le graphe &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    casino = ruine(a,b,p)&lt;br /&gt;
    print(casino)&lt;br /&gt;
    plt.clf()                               #pas de graphe antérieur sur la figure&lt;br /&gt;
    x = [i for i in range(len(casino[0]))]  #coordonées en x&lt;br /&gt;
    y = casino[0]                           #coordonnées en y&lt;br /&gt;
&lt;br /&gt;
    plt.plot(x,y)                           #dessin du graphe&lt;br /&gt;
    plt.title(&amp;quot;simulation d&#039;une soirée au casino&amp;quot;)#titre du graphe&lt;br /&gt;
    plt.xlabel(&amp;quot;n° de mise&amp;quot;)                #titre de l&#039;axe des abscisses&lt;br /&gt;
    plt.ylabel(&amp;quot;richesse du joueur&amp;quot;)        #titre de l&#039;axe des ordonnées&lt;br /&gt;
&lt;br /&gt;
    plt.show()                              #afficher le graphe&lt;br /&gt;
    plt.close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION :&#039;&#039;&#039; &lt;br /&gt;
* Pour exécuter ce code python il faut importer les librairies &#039;&#039;random&#039;&#039; et &#039;&#039;matplotlib.pyplot&#039;&#039;.&lt;br /&gt;
* Pour exécuter la procédure &#039;&#039;graphe&#039;&#039; il faut copier les deux fonctions dans un interpréteur python.&lt;br /&gt;
&lt;br /&gt;
Cette simulation renvoie trois résultats. Le premier résultat correspond à l&#039;évolution de la richesse du joueur, le deuxième résultat permet de savoir facilement si le joueur a gagné (soit &amp;lt;math&amp;gt;g=1&amp;lt;/math&amp;gt;). Et le dernier résultat correspond au temps de jeu (c&#039;est à dire le nombre de mises pour gagner ou être ruiné).&lt;br /&gt;
&lt;br /&gt;
==Calculs de probabilités==&lt;br /&gt;
&lt;br /&gt;
Pour le calcul de la probabilité de perdre, nous allons nous intéresser seulement à celle d&#039;une soirée d&#039;un casino. Le code est adapté pour calculer la probabilité de perdre pour tous les jeux.&lt;br /&gt;
&lt;br /&gt;
Pour avoir la probabilité de gagner il suffit de soustraire la probabilité de perdre à 1.&lt;br /&gt;
 &lt;br /&gt;
===Probabilité de perdre===&lt;br /&gt;
&lt;br /&gt;
Pour notre calcul de la probabilité de perdre, nous devons simuler plusieurs mises et les diviser par le nombre de mises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def est_ruine(a,b,p,nb):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Fonction qui compte le nombre de fois ou le joueur est ruiné&lt;br /&gt;
&lt;br /&gt;
            en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
                        p la probabilité de gagner (mise pair)&lt;br /&gt;
                        nb le nombre de soirée&lt;br /&gt;
            en sortie : une probabilité, le nombre de fois ou le joueur repart ruiné&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    i = 0&lt;br /&gt;
    res = 0&lt;br /&gt;
    while nb &amp;gt; i :&lt;br /&gt;
        &lt;br /&gt;
        if ruine(a,b,p)[1] != 1:&lt;br /&gt;
            res = res + 1&lt;br /&gt;
        i = i + 1&lt;br /&gt;
    return res / nb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour exécuter cette fonction il faut aussi prendre le [[Code général]].&lt;br /&gt;
&lt;br /&gt;
==Calcul du temps moyen de jeu==&lt;br /&gt;
&lt;br /&gt;
Le calcul du temps moyen se fait comme le calcul de la probabilité de perdre. Nous simulons une soirée avec plusieurs mises, nous regardons le temps de jeu, et nous divisons par le nombre de mises. &lt;br /&gt;
&lt;br /&gt;
Le code suivant permet de calculer le temps moyen de jeu &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def temps_moy(a,b,p,nb):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Fonction qui calcul le temps moyen d&#039;une soirée au casino&lt;br /&gt;
&lt;br /&gt;
        en entrée : a la richesse initiale du joueur&lt;br /&gt;
                        b la somme que le joueur veut atteindre&lt;br /&gt;
                        p la probabilité de gagner (mise pair)&lt;br /&gt;
                        nb le nombre de soirée&lt;br /&gt;
        en sortie : un entier, le temps moyen passé au casino&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    d = 0&lt;br /&gt;
    c = 0 &lt;br /&gt;
    for i in range (nb):&lt;br /&gt;
        c = ruine(a,b,p)[2]&lt;br /&gt;
        &lt;br /&gt;
        d = d + c&lt;br /&gt;
       &lt;br /&gt;
    res = d / nb&lt;br /&gt;
    return res&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour exécuter cette fonction il faut aussi prendre le [[Code général]].&lt;br /&gt;
&lt;br /&gt;
==Estimations numériques==&lt;br /&gt;
&lt;br /&gt;
L&#039;estimation numérique varie en fonction de la probabilité.&lt;br /&gt;
&lt;br /&gt;
Nous avons &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; la richesse initiale, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; la somme à gagner&lt;br /&gt;
&lt;br /&gt;
===Pour une partie de &amp;quot;Pile ou Face&amp;quot; &amp;lt;math&amp;gt;p = 1/2&amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Pour calculer la valeur théorique de la probabilité de perdre : &lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{P}(S_T=0)=\frac{b}{a+b}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour le calcul de la probabilité de gagner :&lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{P}(S_T=a+b)=\frac{a}{a+b}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le calcul de l&#039;estimation du temps de jeu :&lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{E}[T]=ab&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Pour une partie de roulette &amp;lt;math&amp;gt; p \ne 1/2&amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Pour faciliter les calculs suivants on note tout d&#039;abord que &amp;lt;math&amp;gt;r=\frac{(1-p)}{p}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour calculer la valeur théorique de la probabilité de perdre : &lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{P}(S_T=0)=\frac{r^{a+b}-r^a}{r^{a+b}-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour le calcul de la probabilité de gagner :&lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{P}(S_T=a+b)=\frac{r^a-1}{r^{a+b}-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le calcul de l&#039;estimation du temps de jeu :&lt;br /&gt;
&amp;lt;math&amp;gt; \mathbb{E}[T]=\frac{1}{2p-1}\left(\frac{(a+b)(1-r^a)}{1-r^{a+b}}-a\right)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
Le code suivant permet de calculer les différentes valeurs théoriques : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def theorie(a,b,p):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Fonction qui nous donne les résultats théoriques&lt;br /&gt;
&lt;br /&gt;
            en entrée : a, la richesse initiale du joueur&lt;br /&gt;
                        b, la somme que le joueur veut atteindre&lt;br /&gt;
                        p, la probabilité de gagner&lt;br /&gt;
            en sortie : des flottants &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    if p == 1/2 :               #Probabilité de gagner&lt;br /&gt;
        pRuine = b /(a + b)     #Proba théorique de perdre&lt;br /&gt;
        pGagne = a / (a + b)    #Proba théorique de gagner&lt;br /&gt;
        eT = a*b                #Estimation théorique du temps de jeu&lt;br /&gt;
        res = (pRuine, pGagne, eT)&lt;br /&gt;
    else :&lt;br /&gt;
        r = (1 - p) / p&lt;br /&gt;
        pRuine = (r**(a+b)-r**a)/(r**(a+b)-1)&lt;br /&gt;
        pGagne = (r**a-1)/(r**(a+b)-1)&lt;br /&gt;
        eT = 1/(2*p-1)*((((a+b)*(1-r**a))/(1-r**(a+b)))-a)&lt;br /&gt;
        res = (pRuine, pGagne, eT)&lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction renvoie un tuple. La première valeur correspond à la valeur théorique de la probabilité de perdre, la deuxième valeur est la valeur théorique de la probabilité de gagner et enfin la dernière valeur est la valeur théorique de l&#039;estimation du temps. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Graphes===&lt;br /&gt;
Nous avons aussi étudié l&#039;évolution des valeurs de la simulation en fonction des valeurs théoriques d&#039;un nombre de soirées &amp;lt;math&amp;gt;nb&amp;lt;/math&amp;gt;. On peut voir sur les graphiques ci-dessous que les valeurs des simulations tendent vers les valeurs théoriques. &lt;br /&gt;
&lt;br /&gt;
Pour que la simulation ne prenne pas trop de temps les graphes sont faits à partir de petites valeurs.&lt;br /&gt;
  - &amp;lt;math&amp;gt;a = 20&amp;lt;/math&amp;gt; &lt;br /&gt;
  - &amp;lt;math&amp;gt;b = 10&amp;lt;/math&amp;gt;&lt;br /&gt;
  - &amp;lt;math&amp;gt;p = 18/37 &amp;lt;/math&amp;gt;&lt;br /&gt;
  - &amp;lt;math&amp;gt;nb = 1000&amp;lt;/math&amp;gt; (le nombre de soirée simulé)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:estimation du temps.png|left]][[Fichier:pGagne.png|right]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:pRuine.png|center]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Le code complet du projet]].&lt;br /&gt;
&lt;br /&gt;
Le code compote les fonctions pour créer les graphes en fonction de vos valeurs initiales.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Pour conclure, nous nous apercevons que la probabilité de perdre est plus importante que la probabilité de gagner. Nous constatons, en exécutant le code avec des valeurs différentes que la probabilité de gagner est plus importante ; à condition d&#039;arriver avec une somme de départ conséquente sans espoir de gros gains. Nous pouvons aussi nous apercevoir que le temps de jeu pour gagner est assez important, il y a donc abandon du jeu à un moment par le joueur. Ainsi, pour le casino les recettes demeurent supérieures aux gains des joueurs. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ce projet à été réalisé par BOITOUZET Emilien (Tuteur : LABART Céline)&lt;/div&gt;</summary>
		<author><name>Akulas</name></author>
	</entry>
</feed>