Passer au forum
Petit Challenge The...
 
Notifications
Retirer tout

Petit Challenge Theorie des jeux (small poker game)

2 Messages
2 Utilisateurs
0 Réactions
852 Vues
Blackfear
Inscrit : 24.01.2007
Elite Grinder

Bonsoir tout le monde,

Pour ceux qui ne me connaisse pas, je suis un ancien coach NL de Pokerstrategy qui a pris sa retraite pokeristique depuis que je bosse.

J'ai lancé un petit challenge à mes collègues de boulot qui aiment bien les maths et je me suis dis que ce type de challenge devrait interesser certains d'entre vous d'ou ce post.

Le challenge consiste à proposer une stratégie pour le petit jeu décrit ci dessous . Elle sera évaluée contre l'ensemble des stratégies proposées par les autres participants et un classement sera fait en fonction des resultats.

Ce challenge est a mon avis tres interessant pour ceux d'entre vous qui s'interessent à la théorie des jeux et aux equilibres de nash. Meme si l'exemple est relativement simple par rapport a une situation réelle sur les tables , vous verrez qu'il est deja assez compliqué à resoudre.

Certains d'entre vous seront peut etre decus que les stratégie ne sont pas adaptatives mais je pense qu'il existe une stratégie mixte (non adaptative) non exploitable car il n'y a que deux joueurs et le jeux est à somme nulle.

Voici les regles du jeu :

Règles :
Chaque joueur reçoit aléatoirement un chiffre entre 1 et 100.
Mise obligatoire de 1 unité par donne.
Chaque joueur parle en premier une fois sur deux.
Les mises et relances sont à hauteur du pot.
(bet = 2 , raise = 8 (car se décompose en un « call » de 2 + relance de 6 qui est la nouvelle taille du pot))
Une mise et une relance maximum.
Absence de mise = « check »
Premiere mise = « bet »
Relance face à une mise = « raise »
Payer la mise adverse = « call »
Le score le plus haut gagne à l’abattage (double check ou un call) , partage en cas d’égalité , gain du pot sans abattage si l’autre joueur fold.
Un match entre deux stratégies consiste à tester toutes les combinaisons possibles. (Une fois en étant premier de parole, une fois en étant deuxième de parole, donc 20.000 donnes)
Update:
Pour les stratégies « mixtes », l’ensemble des combinaisons des stratégies seront évaluées, puis pondérés par leur probabilités réciproque
Pour les stratégies « générales » , le test se fera probablement sur 100 échantillons de 20K mains décrits plus haut
Deux types de classement sont proposés :
- La stratégie la moins exploitable (dont la perte maximal face aux autres stratégies est la plus faible)
- La stratégie qui a le plus gagné (Somme des gains de tous les matchs contre les autres stratégies proposées)

Les séquence possibles sont donc :
Check/Check
Check/Bet/fold
Check/Bet/call
Check/bet/raise/fold
Check/bet/raise/call
Bet/fold
Bet/call
Bet/raise/fold
Bet/raise/call

A priori, une stratégie statique pure a besoin que de trois variables en Input :
- Premier de parole oui/non
-La dernière action de l’adversaire
- Notre score entre 1 et 100

Action= Strategie(First to play , Last Action , Score)
On prend les notations et conventions suivantes:
FTP = “ First to play”
STP= “Second to play”
LA=Last Action

Exemple de Stratégie determinée par 13 paramètres:
(betFTP,betSTP,raiseFTP,raiseSTP,callFTP,callSTP,callraiseFTP,callRaiseSTP,
bluffFTP,bluffSTP, bluffRaisefTP,blufRaiseSTP,checkRaise)
Premier de parole sans action préalable:
Si Score < bluffFTP => Bet (Bluff bet)
Si bluffFTP <=Score <=betFTP => Check
Si betFTP<Score<= checkRaise => Bet (Bet “ for Value”)
Si Score<= checkRaise => Check (L’idée etant de raise ensuite)
Premier de parole après un check de notre part et un bet adverse:
Si Score < bluffRaiseFTP => Raise (“bluff raise”)
Si bluffRaiseFTP <=Score <=callBetFTP => Fold
Si callBetFTP <Score <= raiseFTP => Call
raiseFTP<Score => Raise
Premier de parole après un bet de notre part et un raise adverse:
Si Score<= callRaiseFTP => Fold
Si Score> callRaiseFTP => Call
Deuxieme de parole face à un check adverse
Si Score<bluffSTP => bet (Bluff bet)
Si bluffSTP<= Score<=betSTP => check
Si betSTP < Score => bet
Deuxieme de parole face à un bet adverse
Si Score<bluffRaiseSTP => raise (Bluff raise)
Si bluffRaiseSTP <=Score<= callSTP => Fold
Si callSTP <Score<= raiseSTP => Call
Si raiseSTP <Score<= raiseSTP => Raise
Deuxieme de parole face à un raise adverse
Si Score<=callRaiseSTP => Fold
Si callRaiseSTP<Score => Cal

Exemples de Stratégies :
Player 1 : 75/60/85/80/38/60/85/80/0/0/0/0/100
Player 2 : 100/60/70/70/29/29/70/70/0/0/0/0/100
Player 3 : 88/61/97/97/53/60/75/75/14/14/0/0/100
Player 4: 80/70/80/87/60/80/86/93/6/10/0/0/100

Remarque :
Bluffer X% du temps est equivalent à mon avis à choisir bluffFTP tel que:
X= bluffFTP/[bluffFTP + (100-betFTP)]
Idem pour les bluff raise etc

Exemple de stratégie mixte :
Strategie 1 =80/70/80/87/60/80/86/93/6/10/0/0/100
Strategie 2 =88/61/97/97/53/60/75/75/14/14/0/0/100
Stratégie mixte = jouer Stratégie 1 33% du temps et Stratégie 2 67% du temps (la stratégie jouée chaque partie étant tirée au hazard)

Stratégie Generale:
La stratégie la plus generale consiste , pour chaque nombre entre 1 et 100, d’assigner une probabilité à chacune des actions possibles dans les 6 situations possibles. Cela donne environ 800 parametres que j’expliquerais dans un second temps si des personnes sont interessés par ce type de solution

Vous pouvez aussi proposé une stratégie sous un pseudo code de votre choix du style :
ftp = 1 ( en premier)
check
si bet : > 82 Raise ; >= 37 call ; <37 fold

ftp = 2 ( en second)
si bet : > 85 raise ; >= 34 call ; < 34 fold
si check : bet ( si Raise : >= 71 call ; < 71 fold)

Pour la petite histoire, les exemples sont tirés du premier run que nous avions fait et que JHoWn (Player3) a remporté


Répondre
Citation
1 réponse
Falber
Inscrit : 20.02.2009
Elite Grinder

tapis


Répondre
Citation