Sur internet, c’est bien connu, on peut perdre du poids, trouver une fille facile près de chez soi, et gagner beaucoup d’argent rapidement et sans risque.
Une de ces techniques qu’on vous vend est la fameuse martingale, mais appliquée aux casinos en ligne. Outre le fait que vous ne pouvez pas vous fier à un serveur distant pour ne pas tricher, les jeux de hasard sont de toute façon toujours en faveur de la banque.
Nous allons nous intéresser à la martingale la plus simple, celle appliquée à la roulette. Quand j’étais à l’université, entre deux parties de Munchkins, nous cherchions un moyen de faire du pognon. Et on a failli s’organiser une session au casino de notre ville pour appliquer la technique suivante :
- Jouer une petite mise sur une couleur;
- Si on perd, revenir en 1 mais avec une mise équivalent au double de ses pertes.
- Si on gagne, encaisser, retourner en 1, mais avec la toute petite mise de départ.
L’idée était que si tu perdais, tu doublais ta mise jusqu’à ce que ça te rembourse tes pertes. Sinon, tu gagnes, et tu empoches. Seulement voilà, la roulette à la couleur, ce n’est pas 50% de chance, car il y a le zéro, qui n’est ni rouge, ni noir.
Comme on était des petits cons nuls en probas, mais des petits cons programmeurs, on avait simulé le jeu avec un programme Python, juste au cas où :
import random # Une roulette (en France), c'est un 0 vert, et des numéros de # 1 à 36 alternativement rouges et noirs. roulette = ["green"] roulette.extend("red" for i in range(1, 37, 2)) roulette.extend("black" for i in range(2, 37, 2)) # Regardons ce que donne la proba de choper le rouge avec le générateur # de nombre pseudo-aléatoires de Python. count = 0 for i in range(100000): count += random.choice(roulette) == "red" print("Average chance of picking red: %s" % (count / 100000 * 100)) # Time to play ! Insérer ici la musique d'un film américain ambiance Las Vegas. def play(rounds, budget=10000, color="red", start_bet=5): initial_budget = budget max_bet = start_bet bet = start_bet loss = 0 # On limite le nombre de paris for round in range(rounds): # On mise budget -= bet if random.choice(roulette) != color: # On a perdu, on mise le double de ses pertes. loss += bet bet = loss * 2 # Si jamais c'est plus que notre pognon, on se couche et on chiale. if bet > budget: break # On garde une trace de notre mise max pour évaluer le budget max. if (max_bet < bet): max_bet = bet else: # Si on gagne, on récupère notre mise et le gain, et on recommence. budget += bet * 2 bet = start_bet loss = 0 return budget - initial_budget, max_bet print("10 rounds | balance: %s (max=%s)" % play(10)) print("100 rounds | balance: %s (max=%s)" % play(100)) print("1000 rounds | balance: %s (max=%s)" % play(1000)) print("10000 rounds | balance: %s (max=%s)" % play(1000)) |
Là le budget est large, mais nous on avait 800 euros… Bref, le résultat :
$ python3 roulette.py Average chance of picking red: 48.78 10 rounds | balance: 10 (max=90) 100 rounds | balance: 1835 (max=2430) 1000 rounds | balance: -3585 (max=2430) 10000 rounds | balance: -3495 (max=2430) $ python3 roulette.py Average chance of picking red: 48.67 10 rounds | balance: 15 (max=30) 100 rounds | balance: -3620 (max=2430) 1000 rounds | balance: -3180 (max=2430) 10000 rounds | balance: -4670 (max=7290) $ python3 roulette.py Average chance of picking red: 48.507 10 rounds | balance: 45 (max=90) 100 rounds | balance: 1800 (max=2430) 1000 rounds | balance: -3370 (max=2430) 10000 rounds | balance: -3455 (max=2430) $ python3 roulette.py Average chance of picking red: 48.4 10 rounds | balance: 50 (max=30) 100 rounds | balance: 1940 (max=2430) 1000 rounds | balance: 1435 (max=7290) 10000 rounds | balance: -970 (max=7290) $ python3 roulette.py Average chance of picking red: 48.853 10 rounds | balance: -115 (max=270) 100 rounds | balance: -3535 (max=2430) 1000 rounds | balance: -2100 (max=7290) 10000 rounds | balance: -2120 (max=7290) |
C’est pas vraiment la fortune assurée et en prime, dès qu’on veut jouer un peu sérieusement, il faut un budget max énorme. Mais surtout, il y a une grosse contrainte de temps, puisque 10 rounds c’est une bonne heure de jeu dans un casino réel.
Comment gagner au jeu ? Créez un casino !
Salut,
c’est moche la boucle for…
une version du code vectorisée avec Numpy serait nettement plus efficace.
Un tracé de l’évolution du compte en fonction du nb de round est bien sympa aussi (avec Matplotlib par exemple).
On verrait alors nettement apparaître une jolie évolution linéaire (enfin affine) croissante du solde et puis de temps en temps des grosses gamelles.
@+
C’est pour cela qu’il y a le zero sur les tapies a la roulette et encore en france vous avez de la chance il n’y a qu’un zero :) sur les tapis internationnaux il y en a deux :)
Y a un petit soucis sur le premier lien non ?
http://sametmax.com/la-martingale-a-la-roulette-en-python/Martingale => 404
Ouai j’ai zappé le protocole.
“trouver une fille facile prêt de chez soit” => “trouver une fille facile près de chez soi”
“les jeux de hasards” => “les jeux de hasard”
De rien.
De toute facon, le meilleur moyen de gagner du fric dans les casinos, c’est d’eviter les jeu ou tu joues contre la banque et de prendre ceux ou tu joues contre d’autre joueurs (Poker, par exemple). Et deja ca, ca casse pas trois pattes a un canard (en France et en Belgique, les prelevements des casinos sont assez monstrueux. si vraiment vous voulez tenter le coup, mieux vaut chopper un cercle de jeu a Paris)
Merci Gring.
Je crois que le Black Jack est un des seuls jeux au casino dont l’espérance est nulle (le casino n’est pas avantagé statistiquement), voire positive si on compte les cartes comme un gros autiste.
@Gring: Si c’était le cas, y’aurait pas de blackjack dans les casinos, je pense…
@Gring : non, l’espérance de gain est bel et bien en faveur du casino au Black Jack. L’avantage de la banque, c’est que le joueur perd de toute façon sa mise si il dépasse 21, même si la banque dépasse aussi 21 par la suite. Si le jeu était symétrique, ce cas de figure devrait donner un nul.
Après, le joueur peut compenser un peu ce désavantage en choisissant sa stratégie, et en tirant parti des cas spéciaux (double ou split), tandis que la banque joue toujours de manière prédéterminée (c’est logique, un croupier ne doit pas pouvoir prendre des décisions qui peuvent influencer le gain ou la perte du casino).
Voila. Si vous jouez contre le casino en suivant les regles, quelque soit le jeu, sur le long terme, vous perdez. C’est mathematique.
C’est drôle j’avais développé une stratégie quasiment identique quand j’étais petit (genre en 5eme). oO
La faille du raisonnement c’est que l’ espérance est toujours négative:
Avec cette stratégie tu augmente tes chances d’être bénéficiaire mais tu augmente énormément tes pertes quand tu ne l’es pas ce qui fait que ce n’est pas rentable au final.
En effet la mise que tu mets à chaque tour pour compenser les pertes du précédent évolue de manière exponentielle… :/
Après dans certains cas très particulier c’est peut être ce que tu veux. “il me manque un euro pour m’acheter ce truc dont j’ai absolument besoin, je vais prendre le risque de perdre 600 euros pour être sur à 99% de gagner cet euro qui me manque”. :p
ça a fait partie de mes grande désillusion de comprendre ça. =(
Le même genre que de comprendre que non quand on se met dans le référentielle d’un rayon de lumière, le rayon de lumière qui va dans le sens opposé ne vas pas à deux fois la vitesse de la lumière. :p
Plus simplement, les casinos imposent un mise minimum et maximum à chaque table. Donc en jouant cette martingale en commençant à 10, tu va buter sur la limite de mise à 100 par exemple. CASINO WIN.