Jeu de Saint-Petersbourg | Simulateur

Règles du jeu

Sur une place de Saint-Pétersbourg, un inconnu vous propose un jeu de hasard dans lequel une pièce est lancée au maximum 10 fois. Le jeu se termine si la pièce tombe sur pile ou si la pièce a été lancée 10 fois et n'est jamais tombée sur pile. Une fois le jeu terminé, le joueur reçois 2n euros, où n est le nombre de fois où la pièce est tombée sur face.

Ce jeu est adaptée du Paradoxe de Saint-Petersbourg. Ce simulateur a été créé pour accompagner le cours de Mathématiques du Bachelier en Informatique de la Haute-École de Vinci.

Contact: Adrien Foucart (Adrien.Foucart@vinci.be).

Partie unique

Si on simule une partie du Jeu de Saint-Petersbourg avec un maximum de lancers, et qu'on lance la simulation fois, quelle sera la distribution des résultats et le montant moyen gagné?

Montant moyen gagné: -

Explications détaillées

Une partie du jeu de Saint-Petersbourg peut être résumée par le code javascript suivant:

      
        function jeuSaintPetersbourg(max_n) {
          let n = 1;
          while (Math.random() < 0.5) {
            if (n === max_n) return 2**n;
            n++;
          }
          return 2**(n - 1);
        }
      
    

Math.random() renvoie un nombre entre 0 et 1. Le test Math.random() < 0.5 revient donc à tester "la pièce est-elle tombée sur face?". Tant que c'est le cas, on incrémente un compteur n. Si ce compteur arrive au nombre maximal de parties n, c'est qu'on a fait n lancers sans pile, le joueur a alors gagné 2n euros. Si on tombe sur pile, on sort de la boucle et le joueur gagne 2n-1 euros.

Si on simule un grand nombre de partie, on voit apparaître petit à petit la fonction de masse de la variable aléatoire représentant les gains de la partie. Dans la moitié des parties, le gain minimum de 20 (soit 1) est obtenu: le premier lancer à 50% de chances de tomber sur pile, arrêtant immédiatement la partie. On divise ainsi par deux à chaque étape la probabilité d'obtenir un gain, jusqu'au dernier lancer: il y a autant de chances de tomber sur n-1 faces suivit d'un pile que de tomber sur n-1 faces suivit d'encore une face. On a donc la même probabilité d'obtenir 2n-1 que 2n.

La moyenne expérimentale des gains s'approche, en augmentant le nombre de répétitions de la simulation, de l'espérance théorique de la variable aléatoire.

Suite de parties

Si chaque partie coûte € et que je joue fois d'affilée, quelle est la probabilité que je gagne de l'argent (en utilisant le maximum de 10 lancers par partie)?

Simulation sur suites.

Résultat de la simulation: -% de victoires.

J'ai gagné de l'argent0 fois0
J'ai perdu de l'argent0 fois0
Mon total était de zéro0 fois0
Explications détaillées

Une suite de plusieurs parties du jeu de Saint-Petersbourg peut être résumée par le code javascript suivant:

      
        function totalSerie(numJeux, prix) {
            let total = 0;
            for(let i = 0; i < numJeux; i++){
                res = jeuSaintPetersbourg(10);
                total += res - prix;
            }
            return total;
        }
      
    

On introduit ici un "prix" a une partie, et on décide de jouer un nombre fixe de fois. À chaque partie, on va donc soustraire aux gains le prix de la partie pour déterminer si, au total, on gagne ou on perd de l'argent. Lorsque le total est négatif, on a perdu de l'argent sur la suite de parties. Si le total est positif, on en a gagné. La simulation va donc maintenant porter sur des suites de parties, et l'on va déterminer la probabilité de gagner de l'argent selon la mise de départ et le nombre de parties jouées.

Même si l'espérance des gains est supérieure au prix, la probabilité de gagner de l'argent sur une partie est faible. Mais plus on joue de parties successives, plus on va avoir de chances de gagner de l'argent. Notre "gain moyen" va en effet alors tendre vers l'espérance.