Une nouvelle petite histoire : soit
- un joueur A,
- un joueur B.
Ils jouent au jeu équilibré de pile ou face. Chacun parie 1 € sur le côté qu'il veut de la pièce. Si ce côté apparaît il reçoit 1 €, sinon il perd 1€.
Le joueur A parie systématiquement sur face. Il s'est fixé un objectif de gain de 5 €. Dès qu'il arrive à son objectif de gain, il s'arrête. S'il n'y arrive pas au bout de 100 tirages, il arrête.
Le joueur B décide de copier sur A. Lui aussi parie systématiquement sur face et s'arrête s'il atteint l'objectif de gain de 5 €. Mais comme il est plus timoré que A, il s'arrête s'il a une perte de 5 €, pour limiter les dégâts. En tout état de cause, lui aussi ne dépasse pas les 100 tirages.
Qui a la meilleure stratégie ? A ou B ? Commençons par expérimenter. Quelques procédures simples en Python3:
Une procédure partieAB(seuil, max) qui retourne le gain (ou la perte) de A et de B sur une partie décrite ci-dessus pour seuil=5 et max=100:
- Code: Tout sélectionner
from random import *
def partieAB(seuil,max) :
A="In" ; B="In"
GainA=0 ; GainB=0
FaceMoinsPile=0
for i in range(max) :
FaceMoinsPile+=2*randrange(2)-1
if A=="In" :
if FaceMoinsPile==seuil :
A="Out"
GainA=FaceMoinsPile
if B=="In" :
if abs(FaceMoinsPile)==seuil :
B="Out"
GainB=FaceMoinsPile
if A=="In" : GainA=FaceMoinsPile
if B=="In" : GainB=FaceMoinsPile
return {"A":GainA,"B":GainB]
Un exemple de sortie de la commande partieAB(5,100) : {'A': -8, 'B': -5}
Une autre procédure CumulGains(seuil,max,Nbparties) qui donne le cumul des gains (ou pertes) de A et B sur un ensemble de Nbparties parties :
- Code: Tout sélectionner
def CumulGains(seuil,max,Nbparties) :
Gains={"A":0,"B":0}
for i in range(Nbparties) :
Nouveau = partieAB(seuil,max)
Gains["A"]+=Nouveau["A"]
Gains["B"]+=Nouveau["B"]
return Gains
Essayons maintenant 30 fois CumulGains(5,100,1000) (1000 parties à chaque fois, donc). La sortie :
{'A': 16, 'B': 47}
{'A': 53, 'B': 137}
{'A': -315, 'B': 47}
{'A': 387, 'B': 270}
{'A': -122, 'B': -45}
{'A': -114, 'B': 149}
{'A': 190, 'B': 257}
{'A': 34, 'B': -77}
{'A': -104, 'B': -93}
{'A': -389, 'B': -243}
{'A': 200, 'B': 113}
{'A': -292, 'B': -226}
{'A': -115, 'B': 105}
{'A': -629, 'B': -214}
{'A': 21, 'B': -119}
{'A': 277, 'B': -21}
{'A': 495, 'B': 99}
{'A': -38, 'B': 21}
{'A': -128, 'B': -184}
{'A': -10, 'B': 217}
{'A': 158, 'B': 12}
{'A': 87, 'B': 87}
{'A': 292, 'B': 11}
{'A': -132, 'B': 67}
{'A': 274, 'B': 97}
{'A': -148, 'B': 154}
{'A': 327, 'B': 218}
{'A': -344, 'B': -94}
{'A': 81, 'B': -1}
{'A': 40, 'B': -146}
Hum hum, difficile de dire qui a la bonne stratégie, et en tout cas aucune stratégie ne semble permettre d'assurer un revenu stable !
Tout simplement, ici comme précédemment, le théorème de Doob s'applique pour dire que l'espérance de gain de A est tout aussi nulle que l'espérance de gain de B. Et en conséquence, d'après le théorème central limite, le cumul des gains sur 1000 parties, pour A comme pour B, suit une loi proche d'une loi normale centrée autour de 0.