Le programme DeepStack Poker bat les professionnels face à face


Arbre de décision DeepStack en heads-up (jeu face à face) pré-flop et flop no-limit hold'em

Pionnier de la théorie des jeux modernes John von Neumann a déclaré: «La vraie vie est une question de bluff, de petites astuces de tromperie, en réfléchissant aux actions à attendre une autre personne de vous. C'est ce que le jeu représente dans ma théorie »(citation de la 13e série de la série documentaire« L'exaltation de l'humanité »).

En d'autres termes, John von Neumann prévoyait que pour créer une IA solide, un ordinateur doit apprendre à jouer à des jeux avec des informations incomplètes qui correspondent le mieux au comportement humain dans la vie réelle. Des jeux comme le poker.

Les jeux de société sont un domaine traditionnel d'expérimentation dans le domaine de l'intelligence artificielle. Chaque année, l'IA bat une personne dans différents jeux. D'abord, les dames se sont rendues, puis les échecs, puis les jeux vidéo Atari, le dernier jeu est tombé. Mais ce sont tous des jeux avec des informations complètes, dans lesquels tous les joueurs ont des informations complètes sur l'état du jeu. Le poker est une affaire complètement différente.

Les scientifiques tentent depuis longtemps de développer un programme qui pourrait battre une personne dans un Texas Holdem illimité. Contrairement à d'autres applications de l'IA faible, un développement réussi portera ses fruits instantanément ici, car des milliards de dollars peuvent être gagnés chaque jour dans les salles de poker en ligne.

John von Neumann a déclaré que le poker le ravit, et ce n'est pas surprenant, étant donné les caractéristiques uniques de ce jeu avec des informations incomplètes. Chaque joueur ne dispose que d'une partie des informations sur l'état du jeu - et il agit sur la base de ces informations partielles, ainsi qu'en évaluant les actions des autres joueurs.

Auparavant, l'IA n'obtenait un certain succès qu'en jouant au limit hold'em, la version la plus primitive du jeu avec une étape limitée dans l'augmentation des paris. Dans la version limitée, le joueur n'a que 10 14 options de développement. A titre de comparaison, en Hold'em illimité, il existe déjà 10 160 de ces options . Soit dit en passant, il existe 10 170 options de développement dans le jeu , mais il existe un jeu avec des informations complètes, c'est-à-dire une tâche fondamentalement plus simple.

Les jeux avec des informations incomplètes nécessitent un niveau de pensée récursive complètement plus complexe que les jeux avec des informations complètes. Ici, l'action correcte de l'IA dépend, entre autres, des informations que l'IA a reçues des actions de l'adversaire. Mais l'information que l'adversaire a donnée, à son tour, est une fonction dérivée des actions de l'IA précédentes et de l'information que l'IA a donnée à l'adversaire avec ses actions. C'est la pensée récursive avec laquelle DeepStack traite. Et elle s'en sort très bien, à en juger par les résultats des matchs avec les professionnels (voir tableau).


Des résultats en tête à tête avec des joueurs professionnels

L'architecture du programme DeepStack est illustrée dans l'illustration. Le programme réévalue ses actions à chaque étape lorsqu'une décision lui est demandée. Pour calculer la valeur de chaque pari, un arbre d'anticipation est utilisé, dont les valeurs sont mises en évidence sont calculées en utilisant un réseau de neurones qui a été précédemment formé dans des situations de jeu aléatoires.



La structure du réseau neuronal démontre que la taille du pot, les cartes ouvertes et les gammes de joueurs (combinaisons possibles avec lesquelles le joueur pourrait entrer dans le jeu de la manière dont il y est entré (call, raise, 3-bet, etc.) sont servis à l'entrée, la probabilité de chaque combinaison). Un réseau de neurones se compose de sept couches cachées entièrement connectées. Les valeurs de sortie sont ensuite traitées par un autre réseau de neurones, qui vérifie que les actions satisfont la limite de somme nulle.



Une caractéristique du programme est qu'il résiste activement à l'analyse de sa stratégie par l'adversaire. En d'autres termes, le programme utilise l' équilibre de Nash , un concept clé de la théorie des jeux. L'équilibre de Nash fait référence à un ensemble de stratégies qu'aucun participant ne peut augmenter ses gains en modifiant sa stratégie si les autres participants à ses stratégies ne changent pas. Du point de vue d'un jeu de poker antagoniste, la tâche principale de DeepStack est de trouver l'équilibre Nash, c'est-à-dire de minimiser la possibilité d'exploiter sa stratégie par un autre joueur pour lui faire du profit. Absolument tous les programmes de poker développés jusqu'à présent ont été facilement exploités après avoir testé leur stratégie en utilisant la technique LBR (local best-response) - voir récentUn aperçu des derniers robots de poker .

Donc, DeepStack n'est pas complètement exploité en utilisant LBR. Avec les résultats réels que le bot a montrés dans le jeu avec des professionnels, il n'y a qu'une seule question: pourquoi les développeurs ont-ils publié des informations sur cette architecture dans le domaine public?

L'ouvrage scientifique a été publié le 6 janvier 2017 sur le site arXiv.org, où les articles sont présentés avant d'être publiés au journal officiel.

L' équipe de développement est dirigée par le professeur d'informatique Michael Bowling de l'Université de l'Alberta (États-Unis).


Équipe de développement DeepStack

Le Department of Poker Bots de l'Université de l'Alberta (Computer Poker Research Group) a été créé dans les années 90, le premier bot créé ici a étéLoki en 1997. Ensuite, il y avait Poki (1999), PsOpti / Sparbot (2002), Vexbot (2003), Hyperborean (2006), Polaris (2007), Hyperborean No-Limit (2007), Hyperborean Ring (2009), Cepheus (2015) et enfin , couronne de création - DeepStack.

Dans un avenir proche, le programme DeepStack sera testé dans des jeux avec des professionnels plus expérimentés, qui sont de niveau beaucoup plus élevé que les gars de la table au début de l'article. À partir de ce week-end, le programme se jouera dans un tournoi au Pittsburgh Casinooù plusieurs professionnels de classe mondiale devraient arriver. En 20 jours, DeepStack devrait jouer environ 120 000 mains. Cela suffit pour évaluer assez précisément la qualité du programme.

À ce jour, DeepStack a joué 44 852 mains contre des bénévoles professionnels sélectionnés par la Fédération internationale de poker. Les joueurs ont reçu des prix en argent pour un bon jeu (premier prix de 5 000 $ CAD), donc les gens ont joué à pleine puissance. Néanmoins, le programme est dans un bon plus.

Source: https://habr.com/ru/post/fr400709/


All Articles