Title: Modlisation du jeu du poker par un rseau baysien
1Modélisation du jeu du poker par un réseau
bayésien
- Sandrine GUILMINEAU
- Geoffroy NOIZET
- ASI4
- Juin 2001
2PLAN
- Présentation de l article
- Mise en uvre pratique
- Démonstration
3PRESENTATIONDE L'ARTICLE
4Présentation de l article plan
- Introduction
- Le Poker Five-Card Stud
- Un réseau bayésien pour le poker
- La randomisation
- L expérimentation
- Le travail futur
5Introduction
- Le poker idéal pour tester les raisonnements
automates avec de l incertitude. - Incertitude due à
- Hasard physique
- Information incomplète sur les mains des
adversaires - Information limitée sur la technique des
adversaires
6Le Poker Five-Card Stud plan
- Le jeu
- La force des mains
- Les chances du pot et probabilités
7Le Poker Five-Card Stud le jeu
- 1 mise initiale.
- 2 distribution de 5 cartes à chaque joueur
- la 1ère carte est cachée.
- Les autres sont visibles (à tous les autres).
- Chaque joueur parie après chaque carte
distribuée. Il peut - Abandonner (fold)
- Suivre (call)
- Surenchérir (raise)
- 3 A la fin, le joueur ayant la main la plus
forte gagne en étalant son jeu.
8Le Poker Five-Card Stud la force des mains
9Le Poker Five-Card Stud Chance du pot et
probabilités
- Hypothèse un joueur peut soit
- abandonner, soit
- surenchérir.
- Calcul (dans le cas de 2 joueurs)
- du pot, puis
- d un seuil pour prendre la décision
d abandonner ou de surenchérir - seuil de probabilité pour lequel
p(abandonner)p(surenchérir).
10Le Poker Five-Card Stud Chance du pot et
probabilités
- Procédure
- 1 Calcul de la probabilité courante de gagner
- 2 Comparaison avec le seuil
- 3 Décision
- Abandon
- Surenchère
11Que fait le BPP?
- A partir des cartes visibles calcul d une
estimation de la probabilité de gain - Ignore
- aspects physiques tics, agitation nerveuse,
dilatation de la pupille... - comportement courant à parier de son adversaire
- Prend en compte tout au long du jeu
- comportement à parier
- --gtpour apprendre à connaître son adversaire
12Un réseau bayésien pour le poker plan
- La structure du réseau
- Les types de main
- Les matrices de probabilité conditionnelle
13Structure du réseau bayésien
- Le BPP (Bayesien Poker Program)
- modélise des relations entre le
- type de la main courante
- type de la main finale
- comportement adverse
- Structure du réseau maintenue pour les 4 tours du
jeu (après la distribution de 2, 3, 4 et 5 cartes)
14Structure du réseau bayésien
15Le réseau bayésien les types de main
- Les nuds représentent les types de main.
- Chaque nud est initialisé par une valeur
correspondant à une des 17 catégories de mains
finales - de 1 à 6 busted (low, medium, dame, roi, as)
- de 7 à 12 paire
- puis 2 paires, brelan, suite, flush, full house,
carré et straight flush
16Le réseau bayésien matrices de probabilité
conditionnelle
- 4 matrices d action MA/C reporte les
probabilités de passer ou de surenchérir,
connaissant la main courante de l adversaire. - Mises à jour tout au long du jeu
- 4 matrices MU/C donnent la probabilité
conditionnelle d avoir une certaine carte
visible sachant la main courante de l adversaire
- 4 matrices MC/F donnent la probabilité
conditionnelle de chaque type de main partielle,
sachant la main finale.
17La randomisation plan
- Les courbes de pari
- Le bluff
- randomisation Fait d'introduire un élément
aléatoire dans un calcul ou dans un raisonnement
18La randomisationcourbes de pari
- Seuil tel que p(abandonner) p(surenchérir)
- Si p gt seuil -gt surenchérir
- Si p lt seuil -gt abandonner
- Manière trop simple de jouer que les autres
joueurs vont vite détecter. - -gtIntroduction de courbes de pari
19La randomisationcourbes de pari
20La randomisationle bluff
- Bluff représentation erronée intentionnelle de
la force d'une main - surestimation
- sous-estimation
- -gt Créer de l'incertitude sur la pensée de
l'adversaire grâce à la randomisation introduite
par les courbes de pari
21L'expérimentation
- 4 types d'adversaires
- automate basé sur les probabilités
- automate basé sur des règles plus pointues
- combinaison d'humains
- humain expérimenté qui joue et gagne souvent
- Résultats
- BPP gt automates
- BPP résultats variables face à une combinaison
d'humains - BPP humain expérimenté
22L'expérimentation
23Travail futur
- Améliorations
- Affinage des types de main
- Amélioration de la structure du graphe
- Amélioration de l'apprentissage pour l'adversaire
- Programme multi-joueurs
- Réseau bayésien dynamique
- -gt interrelations entre les tours
24MISE EN OEUVRE
25Mise en uvre plan
- Algorithme général et réseau utilisé
- Fonctions utilisées
- Résultat
- Améliorations possibles
26Algorithme général 1/5
- Création du jeu de cartes
- Ensemble de 52 cartes 13 valeurs, 4 couleurs.
- Déclaration des nuds du réseau
- Opponent Final Hand O_F
- BPP Final Hand B_F
- Opponent Current Hand O_C
- BPP Win B_W
- BPP Current Hand B_C
- Opponent Action O_A
- Opponent Upcards Hand O_U
27Algorithme général 2/5
- Déclaration des liens entre les nuds
- Création du réseau bayésien
- Affichage du réseau
28Algorithme général 3/5
- Lecture des matrices de probabilités
conditionnelles - Sources fichiers envoyés par les chercheurs.
- Résultat de 10 millions de manches.
- Tirage de la carte cachée de chaque joueur
- Décision de la volonté de bluffer pour cette
manche - Abandon rapide ou
- Poursuite de la manche, même avec mauvais jeu
29Algorithme général 4/5
- Tirage d'une nouvelle carte par joueur
- Affichage des jeux
- Penser à cacher la première carte
- Initialisation des probabilités conditionnelles
- Matrices différentes pour les 4 tours de jeu
- Saisie de l'évidence
- A partir des nuds observables O_U, O_A et B_C
- Inférence sur les autres nuds
- O_F et B_F
30Algorithme général 5/5
- Calcul de la probabilité de gagner
- Reprise de lalgorithme du BPP
- Calcul de la décision à prendre
- comparaison avec un seuil, variable selon les
tours. - BPP continue ou abandonne
- Affichage final des jeux
- Calcul et affichage du gagnant
31Fonctions utilisées
- Fonctions BNT
- Type_main
- Donne le type de la main
- Force de 1 (busted low) à 13 (straight flush)
- Tirage
- Sort une carte au hasard
- Dans le jeu restant
- Proba_gagner
32Difficultés rencontrées
- Obtention des matrices de proba. cond.
- Attente
- Compréhension du code Lisp
- Création de certains algorithmes
- Divers problèmes BNT
33Résultat
- Programme qui fonctionne
- BPP utilise
- les cartes visibles,
- les annonces de ladversaire
- son propre jeu
- Gagne des parties
- Bluffe 3 fois sur 10
- BPP annonce son évaluation du jeu de ladversaire
34Améliorations possibles
- Apprentissage de la façon de jouer de
ladversaire - ? modification des matrices de proba. cond.
- Annonces BPP dépendant de ladversaire
- Mise en place denchères et utilisation de la
somme du pot pour évaluer le jeu adverse
35DEMONSTRATION
36Démonstration
- Lancer matlab et poker_avec_bluff
- BNT dernière version nécessaire.