Inteligencia artificial aplicada al poker texas hold'em
Artificial Intelligence applied to poker texas hold'em
Author
González Villa, Javier
Date
2013-07Derechos
Atribución-NoComercial-SinDerivadas 3.0 España
Palabras clave
Python
Inteligencia artificial
Monte Carlo
Simulación
Poker Texas Hold'em.
Abstract:
RESUMEN: Los juegos de azar y en especial, el Poker Texas Hold'em representan hoy en día un desafío a la hora de hallar un algoritmo o inteligencia capaz de obtener buenos resultados, como ya se ha conseguido en otros juegos como el ajedrez o las damas. En lo referente a este proyecto, el objetivo es desarrollar por un lado una herramienta capaz de proporcionar a diferentes usuarios un soporte de simulación que permita estimar la probabilidad de ganar una mano y por otro lado implementar una inteligencia básica que permita al bot interactuar con una aplicación web externa de juego en la modalidad sin límite, y que sea capaz de jugar de forma autónoma. Todas estas implementaciones que se plantean estarán basadas, a diferencia que otras aplicaciones similares que existen actualmente, en el lenguaje de programaci on Python y serán capaces de interactuar directamente con una aplicación en Windows, siendo por sus características modulares, capaz de ser extrapolable a otros sistemas. Adicionalmente y estando al margen de la aplicación, se explican una serie de ampliaciones posibles, capaces de optimizar el rendimiento y mejorar la estrategia de juego seguida por nuestra inteligencia artificial.
ABSTRACT: Gambling and in particular Texas Hold'em Poker are a huge challenge for artificial intelligence. Several algorithms are able to compete with the best human players at Chess, checkers and several other games, but this is still not possible in no limit Texas Hold'em Poker. Here, we develop a tool that is able to calculate the probability of winning a hand through Monte-Carlo simulations. The application can interact with an external web application and manages to play in an autonomous way. These implementations are based in the Python programming language, unlike other similar applications that currently exist. Our application is able to interact directly with a Windows application, and is modular and can therefore be extrapolated to other systems. Our poker bot is able to estimate some basic probabilities but its performance can be largely improved. However this implies applying advanced game theory and data mining techniques and is out of the scope of this project.