Maîtriser la Modélisation de la Loterie de Saint-Pétersbourg avec Python : Approche et Solutions
Introduction
La loterie de Saint-Pétersbourg est un célèbre problème de probabilité qui a intrigué les mathématiciens depuis le XVIIIe siècle. Introduit par Daniel Bernoulli en 1738, le concept de cette loterie présente un paradoxe qui met en lumière les limites de la théorie classique de l’espérance mathématique. Comprendre et modéliser ce jeu est crucial pour quiconque s’intéresse à la probabilité et à la théorie des jeux.
Cet article vise à expliquer le paradoxe de la loterie de Saint-Pétersbourg, à modéliser le jeu en utilisant Python, et à proposer des solutions et interprétations possibles.
Comprendre le Paradoxe de la Loterie de Saint-Pétersbourg
Explication du Jeu de la Loterie
La loterie de Saint-Pétersbourg se déroule comme suit :
1. Un joueur paie une somme fixe pour participer.
2. Une pièce est lancée jusqu’à ce qu’elle tombe sur face (Pile).
3. Si la première face apparaît au n-ième lancer, le joueur gagne $2^n$ dollars.
Analyse du Paradoxe
Le paradoxe réside dans le calcul de l’espérance mathématique du gain, qui est théoriquement infini. Chaque tour offre une espérance positive qui, lorsqu’accumulée, défie la logique économique et mathématique traditionnelle. Ce paradoxe interroge la validité de l’espérance mathématique comme seule mesure de décision en probabilité.
Préparation de l’Environnement de Développement Python
Configuration de l’Environnement
Pour modéliser la loterie, vous aurez besoin des outils suivants :
– Python : Assurez-vous d’avoir installé la dernière version de Python.
– Bibliothèques :
– NumPy pour les calculs numériques.
– Matplotlib pour la visualisation graphique.
Installation :
pip install numpy matplotlib
Introduction aux Concepts de Base à Utiliser
Nous utiliserons des structures de données comme les listes et les algorithmes de simulation pour simuler plusieurs lancers et accumuler les résultats.
Modélisation de la Loterie de Saint-Pétersbourg avec Python
Simulation du Jeu
Pour simuler le jeu, nous créons un script de base où une pièce est lancée jusqu’à obtenir « Pile ».
import numpy as np
def lancer_piece():
return np.random.choice(['Pile', 'Face']) # Simule un lancer de pièce
def jouer_loterie():
n = 1
while lancer_piece() == 'Face':
n += 1
return 2 ** n
gains = [jouer_loterie() for _ in range(10000)]
Calcul de l’Espérance
Nous pouvons calculer l’espérance en utilisant la moyenne des gains simulés.
espérance = np.mean(gains)
print(f"L'espérance des gains est approximativement: {espérance}")
Visualisation des Résultats
Utilisons Matplotlib pour visualiser la répartition des gains.
import matplotlib.pyplot as plt
plt.hist(gains, bins=range(1, max(gains), 50), edgecolor='k', alpha=0.7)
plt.title('Distribution des Gains de la Loterie de Saint-Pétersbourg')
plt.xlabel('Gains')
plt.ylabel('Fréquence')
plt.show()
Analyse des Résultats et Solutions au Paradoxe
Discussion des Résultats de la Simulation
Les simulations montrent une répartition très large des gains, avec la plupart des jeux rapportant un profit assez modeste comparé à l’espérance théorique.
Solutions Proposées au Paradoxe
La théorie de l’utilité espérée propose une solution, en modifiant l’espérance mathématique pour inclure l’utilité subjective du gain. Cette approche suggère que les individus ne valorisent pas les gains de la même manière et que l’utilité décroît au fur et à mesure que les montants augmentent.
Améliorations et Approfondissements
Extensions du Modèle
Il est intéressant de simuler des variations de ce jeu. Par exemple, introduire des limites de gain ou ajuster les probabilités peut offrir une perspective plus pratique.
Approfondissement Académiques
Le paradoxe pose aussi des questions philosophiques sur la rationalité économique et les limites de la modélisation mathématique, ouvrant la porte à de nombreuses discussions modernes sur l’incertitude et la prise de décision.
Conclusion
En résumé, la loterie de Saint-Pétersbourg illustre un problème fondamental dans la théorie des jeux, posant de profondes implications sur la rationalité en économie vis-à-vis des choix risqués. Comprendre et modéliser de tels paradoxes nous permet de mieux appréhender les comportements économiques et de développer des modèles adaptés.
Références
- Bernoulli, D. « Exposition of a New Theory on the Measurement of Risk ».
- Livres de théorie des jeux modernes.
- Documentation de Python et des bibliothèques NumPy et Matplotlib.
Annexes
Code Source Complet de la Simulation
import numpy as np
import matplotlib.pyplot as plt
def lancer_piece():
return np.random.choice(['Pile', 'Face'])
def jouer_loterie():
n = 1
while lancer_piece() == 'Face':
n += 1
return 2 ** n
gains = [jouer_loterie() for _ in range(10000)]
espérance = np.mean(gains)
print(f"L'espérance des gains est approximativement: {espérance}")
plt.hist(gains, bins=range(1, max(gains), 50), edgecolor='k', alpha=0.7)
plt.title('Distribution des Gains de la Loterie de Saint-Pétersbourg')
plt.xlabel('Gains')
plt.ylabel('Fréquence')
plt.show()