Modélisation du jeu du poker par un réseau bayésien Sandrine GUILMINEAU Geoffroy NOIZET ASI4 Juin 2001
PLAN <ul><li>Présentation de l ’article </li></ul><ul><li>Mise en œuvre pratique </li></ul><ul><li>Démonstration </li></ul>
PRESENTATION DE L'ARTICLE
Présentation de l ’article : plan <ul><li>Introduction </li></ul><ul><li>Le Poker Five-Card Stud </li></ul><ul><li>Un rése...
Introduction <ul><li>Le poker : idéal pour tester les raisonnements automates avec de l ’incertitude. </li></ul><ul><li>In...
Le Poker Five-Card Stud : plan <ul><li>Le jeu </li></ul><ul><li>La force des mains </li></ul><ul><li>Les chances du pot et...
Le Poker Five-Card Stud : le jeu <ul><li>1 : mise initiale. </li></ul><ul><li>2 : distribution de 5 cartes à chaque joueur...
Le Poker Five-Card Stud : la force des mains
Le Poker Five-Card Stud : Chance du pot et probabilités <ul><li>Hypothèse: un joueur peut soit : </li></ul><ul><ul><li>aba...
Le Poker Five-Card Stud : Chance du pot et probabilités <ul><li>Procédure </li></ul><ul><ul><li>1 : Calcul de la probabili...
Que fait le BPP? <ul><li>A partir des cartes visibles : calcul d ’une estimation de la probabilité de gain </li></ul><ul><...
Un réseau bayésien pour le poker : plan <ul><li>La structure du réseau </li></ul><ul><li>Les types de main </li></ul><ul><...
Structure du réseau bayésien <ul><li>Le BPP (Bayesien Poker Program) </li></ul><ul><li>modélise des relations entre le : <...
Structure du réseau bayésien
Le réseau bayésien:  les types de main  <ul><li>Les nœuds représentent les types de main. </li></ul><ul><li>Chaque nœud es...
Le réseau bayésien : matrices de probabilité conditionnelle <ul><li>4  matrices d ’action M A/C  : reporte les probabilité...
La randomisation: plan <ul><li>Les courbes de pari </li></ul><ul><li>Le bluff </li></ul><ul><li>randomisation: Fait d'intr...
La randomisation: courbes de pari <ul><li>Seuil tel que p(abandonner) = p(surenchérir) </li></ul><ul><ul><li>Si p > seuil ...
La randomisation: courbes de pari
La randomisation: le bluff <ul><li>Bluff : représentation erronée intentionnelle de la force d'une main </li></ul><ul><ul>...
L'expérimentation <ul><li>4 types d'adversaires : </li></ul><ul><ul><li>automate basé sur les probabilités </li></ul></ul>...
L'expérimentation
Travail futur <ul><li>Améliorations : </li></ul><ul><ul><li>Affinage des types de main </li></ul></ul><ul><ul><li>Améliora...
MISE EN OEUVRE
Mise en œuvre : plan <ul><li>Algorithme général et réseau utilisé </li></ul><ul><li>Fonctions utilisées </li></ul><ul><li>...
Algorithme général 1/5 <ul><li>Création du jeu de cartes </li></ul><ul><ul><li>Ensemble de 52 cartes : 13 valeurs, 4 coule...
Algorithme général 2/5 <ul><li>Déclaration des liens entre les nœuds </li></ul><ul><li>Création du réseau bayésien </li></...
Algorithme général 3/5 <ul><li>Lecture des matrices de probabilités conditionnelles </li></ul><ul><ul><li>Sources : fichie...
Algorithme général 4/5 <ul><li>Tirage d'une nouvelle carte par joueur </li></ul><ul><li>Affichage des jeux </li></ul><ul><...
Algorithme général 5/5 <ul><li>Calcul de la probabilité de gagner </li></ul><ul><ul><li>Reprise de l’algorithme du BPP </l...
Fonctions utilisées <ul><li>Fonctions BNT </li></ul><ul><li>Type_main </li></ul><ul><ul><li>Donne le type de la main </li>...
Difficultés rencontrées <ul><li>Obtention des matrices de proba. cond. </li></ul><ul><ul><li>Attente </li></ul></ul><ul><u...
Résultat <ul><li>Programme qui fonctionne </li></ul><ul><li>BPP utilise </li></ul><ul><ul><li>les cartes visibles, </li></...
Améliorations possibles <ul><li>Apprentissage de la façon de jouer de l’adversaire </li></ul><ul><ul><li>   modification ...
DEMONSTRATION
Démonstration <ul><li>Lancer matlab et poker_avec_bluff </li></ul><ul><li>BNT dernière version nécessaire. </li></ul>
Prochain SlideShare
Chargement dans…5
×

Asi4 Poker

1 623 vues

Publié le

Probability of poker's hands

Publié dans : Économie & finance
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 623
Sur SlideShare
0
Issues des intégrations
0
Intégrations
23
Actions
Partages
0
Téléchargements
9
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Asi4 Poker

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

×