Martingale de l'excédent

Olympiades mathématiques, énigmes et défis
GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 30 Déc 2019, 16:11

La simulation qui a été faite plus haut était de voir, sur 1000 essais, dans combien de cas on "rattrape" un retard de 5 en au plus tirages avec . On peut obtenir le nombre théorique à partir de la loi de en calculant . On peut aussi procéder plus directement en utilisant de nouveau le principe de symétrie de la manière suivante. Les chemins correspondant au non-rattrapage jusqu'à étapes sont les chemins de étapes qui restent constamment strictement en-dessous de la droite . On peut les compter en utilisant la même idée que ci-dessus, pour trouver le résultat :



Donc le nombre théorique de cas sur 1000 essais pour lesquels il y a rattrapage de 5 en au plus tirages supplémentaires est



Pour on obtient 488, 621, 685, 725, 753. La simulation donnait 487, 618, 693, 718, 757. Que demander de plus ?

Bien sûr, il faudrait être complètement stupide pour croire que les résultats obtenus contredisent en quoi que ce soit la loi des grands nombres.
Il faudrait être aussi complètement stupide pour croire que ces résultats montrent que le passé des tirages influe sur les tirages à venir. Le "5 à rattraper" a été fixé arbitrairement au début de l'exercice. Le problème aurait été le même en demandant, sans aucune référence à des tirages antérieurs, quelle est la première fois où le pile sera en avance de 5 sur face.



GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 30 Déc 2019, 17:04

Un dernier petit graphique pour la route :

Image

Ce graphique représente, en fonction du nombre de tirages, la probabilité pour qu'au cours de ces tirages pile ait été en avance de 5 sur face. On voit que ça grimpe rapidement, puis que ça stagne en ne se pressant pas pour arriver à 1. À rapprocher du fait démontré plus haut que l'espérance du temps d'attente pour que pile soit en avance de 5 sur face est infinie.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 31 Déc 2019, 15:23

Un petit message personnel pour le charlatan de première qui s'imagine que la formule



est fausse : il ferait mieux de refaire ses calculs.

Pour :
Pour :

Pour :

Pour :

Je le laisse vérifier la formule en général.

PS. Le message est passé, le charlatan s'est aperçu de son erreur, l'a effacée, et prétend maintenant que "le raisonnement est faux". :hehe:
Il a tout de même oublié de corriger ici.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 01 Jan 2020, 16:21

Revenons à des choses plus sérieuses.
J'ai donné plus haut une démonstration du fait que l'espérance du temps d'attente de retour à l'équilibre parfait pile-face était infini. Ce fait est intéressant par rapport au théorème central limite.

Ce théorème dit qu'étant donnée une suite de variables aléatoires indépendantes et de même loi, telle que l'espérance et l'écart-type de cette loi existent et soient finis, alors la moyenne [edit, je corrige une erreur de formulation] est proche pour grand d'une variable gaussienne d'espérance et d'écart type , précisément converge en loi vers la loi normale standard.

Mézalor, que se passe-t-il avec notre temps d'attente du retour à l'équilibre, dont l'espérance est infinie ???? Ça vaut le coup de voir de plus près en faisant des simulations.
Pour cela, on écrit un code pour obtenir la moyenne sur suites de tirages à pile ou face du temps d'attente du retour à l'équilibre pile-face. On voit rapidement qu'on ne s'en sort pas si on ne pose pas de limite à la longueur de la suite de tirages : on risque d'attendre très, très longtemps. Aussi dans le code ci-dessous écrit en python 2, on limite la longueur de la suite de tirages à 100 000. Si on atteint cette limite de 100 000 sans retour à l'équilibre, on retourne un temps d'attente de 100 000. Bien entendu, ça fait baisser les moyennes, mais il faut savoir faire des compromis !

Code: Tout sélectionner
from random import *

def premier_retour() :
    diff = 2*randrange(2)-1; nbtir=1
    while (diff != 0 and nbtir < 100000) :
        nbtir += 1
        diff += 2*randrange(2)-1
    return nbtir

def moyenne(n) :
    tot = 0
    for i in range(n) :
        tot += premier_retour()
    return tot/n


Et maintenant, on peut faire des histogrammes quand on prend des échantillons de 200 moyennes sur suites de tirages pour . Voici un exemple de résultats obtenus :

Image

Image

Image

Ce n'est qu'un exemple, et en fait quand on renouvelle l'expérience on constate une assez grande instabilité dans la forme des histogrammes. Il faut aussi se souvenir que les moyennes sont faussées vers le bas par l'écrêtage à 100 000 tirages.

On constate que ça cloche, ou plutôt qu'aucune cloche bien dessinée ne se pointe à l'horizon. Normal, le théorème central limite ne s'applique pas à notre variable aléatoire "temps d'attente du premier retour à l'équilibre" puisque son espérance est infinie.
Modifié en dernier par GaBuZoMeu le 02 Jan 2020, 15:16, modifié 1 fois.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 01 Jan 2020, 19:12

Un petit complément sur la limitation du nombre de tirages.
Soyons fous, limitons le nombre de tirages à un million.
Pour tester le théorème central limite en espérant voir apparaître une belle cloche, il est raisonnable de faire au moins 100 fois des moyennes sur 100 suites de tirages, soit en tout 10 000 suites à considérer. Parmi ces 10 000 suites, combien vont ne pas avoir assez du million de tirages pour revenir à l'équilibre, et quelle va être la différence pile-face quand on arrêtera le jeu au bout d'un million de tirages ?

Deux petites procédures pour répondre à cette question par une simulation :

Code: Tout sélectionner
def premier_retour_rate(maxtir) :
    diff = 2*randrange(2)-1; nbtir=1
    while (diff != 0 and nbtir < maxtir) :
        nbtir += 1
        diff += 2*randrange(2)-1
    return diff

def echecs(maxtir,nbessais) :
    L=[]
    for i in range(nbessais) :
        diff = premier_retour_rate(maxtir)
        if diff != 0 : L.append(diff)
    return(L)


et on obtient une réponse à la question :
Code: Tout sélectionner
echecs(10**6,10**4)

[-1798, 1676, -712, -1720, -1592, 1588, -700, 656, -438, 850, 1284]
11 suites sur 10 000 sans jamais de retour à l'équilibre en un million de tirages, avec les différences pile-face indiquées au bout du millionième tirage

lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: martingale de l'excédent

par lyceen95 » 01 Jan 2020, 19:56

Un autre expérience sur le même thème.
Je lance un pile ou face 101 fois, et je note le retard ou l'avance de pile (pourquoi 101 ? il me faut un nombre impair, pour être sûr de ne pas avoir 0)
Je continue ma série jusqu'à ce que le retard soit doublé (option 1), ou bien jusqu'à ce qu'on ait un retour à l'équilibre(option 2)
Et je regarde lequel de ces 2 événements se produit en premier.

Et je répète cette expérience 10000 fois.
Résultat : environ 5000 fois, c'est le retour à l'équilibre qui survient en premier, et 5000 fois également, c'est le 'retard doublé' qui arrive en premier.

Sur mes 10000 séries, je choisis maintenant de m'intéresser uniquement à celles où l'écart au bout de 101 lancers est important : au moins 10 d'écart entre le nombre de piles et le nombre de faces. Sur 10000 séries, ça arrive environ 3200 fois.
Et là encore, sur ces 3200 séries, on continue jusqu'à soit un doublement de l'écart, soit un retour à l'équilibre... et on constate que l'événément qui arrive en premier est soit le doublement de l'écart ( 50% des séries), soit le retour à l'équilibre (50% des séries)

Conclusion : Quand on a un retard dans une série de Pile ou Face, l'écart peut se combler, ou il peut se doubler... Impossible de le savoir à l'avance.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 01 Jan 2020, 20:21

Oui, lycéen95, cet aspect avait déjà été mentionné dans ce message

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 01 Jan 2020, 20:57

Bien entendu, il faudrait être complètement stupide pour croire que les petits histogrammes bleus plus haut tendent à dire que le théorème central limite est faux.
Simplement le théorème central limite a des hypothèses, et ces hypothèses ne sont pas vérifiées par la variable aléatoire "temps de retour à l'équilibre" puisque l'espérance de celle-ci est infinie. Le fait que cette espérance soit infinie montre par ailleurs que la loi de cette variable est tout à fait différente d'une loi géométrique qui a, elle, une espérance finie.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 02 Jan 2020, 11:52

On peut parler aussi de la loi (forte) des grands nombres. Elle dit que si est une suite de variables aléatoires réelles indépendantes de même loi et si a une espérance finie, alors la suite des moyennes converge presque sûrement vers .

Peut-on appliquer ce théorème en prenant pour le temps de premier retour à l'équilibre pile-face de la -ème suite de tirages ? C'est bien une suite de variables aléatoires indépendantes de même loi, mais l'espérance n'est pas finie ! Donc le théorème ne s'applique pas.

On peut étudier l'évolution de la moyenne des temps de retour à l'équilibre sur une suite de 1000 suites de tirages ; ici on ne limite pas le nombre de tirages de chaque suite, ce qui fait qu'il faut parfois attendre longtemps .... Voici le code de la simulation :
Code: Tout sélectionner
from random import *

def premier_retour() :
    diff = 2*randrange(2)-1; nbtir=1
    while (diff != 0) :
        nbtir += 1
        diff += 2*randrange(2)-1
    return nbtir

def liste_moyennes(n) :
    tot=0
    L=[]
    for i in range(n) :
        tot += premier_retour()
        L.append(tot/(i+1))
    return L

from matplotlib.pyplot import *

P=plot(liste_moyennes(1000))
yscale('log')
show(P)


On prend une échelle logarithmique pour les ordonnées, parce que la moyenne peut grimper beaucoup. Voila le résultat de dix passages :

ImageImage

ImageImage

ImageImage

ImageImage

ImageImage

On n'a pas vraiment l'impression que ces suites vont converger vers une même limite finie, n'est-ce pas ?

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 02 Jan 2020, 12:32

Bon, ça fait un bout de temps que je monopolise ce fil lancé par beagle (qui en est d'ailleurs devenu complètement muet).
C'était marrant, j'ai réalisé qu'une variable aléatoire très naturelle, à savoir le temps d'attente du premier retour à l'équilibre pile-face dans une suite de tirages, est d'espérance infinie, alors que presque sûrement le retour à l'équilibre se produira une infinité de fois dans la suite.
Il reste des questions auxquelles je ne sais pas répondre : par exemple est-ce que la moyenne des temps d'attente du premier retour à l'équilibre tend presque sûrement vers plus l'infini quand on augmente le nombre des suites de tirages ? C'est une question intéressante, mais j'ai déjà passé trop de temps ici au détriment de ce que je dois faire par ailleurs. Je sors.

Sylviel
Modérateur
Messages: 6466
Enregistré le: 20 Jan 2010, 13:00

Re: martingale de l'excédent

par Sylviel » 02 Jan 2020, 13:30

C'est une étude sympathique que tu as fait là GBZM. Il y aurait de quoi faire un TP de proba intéressant pour rappeler à nos chères têtes blondes que les hypothèses d'un théorème ne sont pas là pour rien.
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 02 Jan 2020, 14:42

Merci de ta réaction, Sylviel.

LB2
Habitué(e)
Messages: 1504
Enregistré le: 05 Nov 2017, 17:32

Re: martingale de l'excédent

par LB2 » 02 Jan 2020, 23:19

Bonsoir,

excellent GBZM comme toujours.

En rapport avec ce problème :
https://images.math.cnrs.fr/La-loi-de-l-arcsinus.html

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 03 Jan 2020, 00:37

Merci LB2 pour ce lien.
L'aspect vieillot du film est rigolo (son rythme tranche avec celui des productions actuelles), mais le sujet est intéressant.
J'ai bien aimé l'allusion à Désiré André, dont le nom est souvent associé au principe de réflexion. Principe auquel un certain charlatan de première n'a rien compris. J'ai explicité, spécialement pour lui, ce principe de réflexion dans ce message.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 04 Jan 2020, 18:23

Je suis incorrigible, je reviens tout de même pour poser un petit exercice, en plein dans le sujet du fil.

Charles est un fan de la martingale de l'excédent. Il vient jouer à pile ou face, avec une règle très simple et très honnête : le joueur mise un jeton sur pile ou sur face. Si le tirage lui est favorable, la banque lui rend son jeton de mise plus un autre jeton. Si le tirage lui est défavorable, la banque garde sa mise.

Charles a 20 jetons. Charles attend, il observe un certain nombre de tirages et note les résultats jusqu'à ce qu'il constate que face est en avance de 5. Il se met alors à miser constamment un jeton sur pile, jusqu'à ce qu'il arrive à 25 jetons, l'objectif qu'il s'est fixé ; il sortira alors du jeu avec un gain de 5 jetons. Bien entendu, il peut aussi lui arriver de perdre tous ses jetons avant d'arriver à 25, auquel cas il devra sortir du jeu (la banque ne fait pas crédit) avec une perte de 20 jetons.

Quelle est l'espérance de gain de Charles ?

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

Re: martingale de l'excédent

par beagle » 04 Jan 2020, 19:19

je sais pas faire,
alors j'ai joué inventé une martingale et c'est plus que 0,724 quand j'ai arrété
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 04 Jan 2020, 19:25

beagle a écrit:j'ai joué inventé une martingale

Qu'est-ce que ça veut dire ? Quelle martingale ?
et c'est plus que 0,72 quand j'ai arrété

Qu'est-ce que ça veut dire ? Tu as fait une simulation et tu trouves une espérance de gain de 0,72 ?

J'ai vraiment du mal à comprendre ce que tu écris, pourtant, j'essaie. Ça serait plus facile pour tout le monde si tu t'exprimais de façon claire.

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

Re: martingale de l'excédent

par beagle » 04 Jan 2020, 19:28

Je vais dire à Ltav que t'as pas été gentil avec moi.

tu es obligé de prendre au premier degré toutes mes phrases?

sinon c'est débile, c'est loin du vrai résultat?
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: martingale de l'excédent

par GaBuZoMeu » 04 Jan 2020, 19:32

beagle a écrit:tu es obligé de prendre au premier degré toutes mes phrases?

Tu sais, je suis très primaire. J'imagine que ce que tu écris a un sens, et j'essaie de le comprendre.
Mais si tu me dis qu'il ne faut pas chercher de sens à ce que tu écris, d'accord.

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

Re: martingale de l'excédent

par beagle » 04 Jan 2020, 19:40

ah le second degré n'a pas de sens?
c'est surprenant ça.

Bon donne moi la valeur théorique à trouver je vais inventer un moyen d'y arriver,
ou pas.
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Ben314 et 17 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite