¿Cuáles son buenos recursos para construir una IA de Texas Hold’em No Limit?

El póker es una bestia engañosa. Tendrás que abordarlo de manera muy diferente a como lo harías en un juego como el ajedrez o las damas que contiene información completa y tiene solo dos jugadores. Puede compararlo con el backgammon ya que ambos operan sobre distribuciones de probabilidad, pero una vez más la información oculta inherente al juego de póker complica enormemente las cosas.

Su enfoque dependerá de sus objetivos, pero en general ninguno de los métodos que mencionó anteriormente funcionará bien contra oponentes humanos. El problema es que la estrategia óptima de póker depende en gran medida del tipo de oponente (s) que estás jugando.

Para utilizar adecuadamente la teoría probabilística como el Teorema de Bayes o una simulación de Monte Carlo, también deberás tener en cuenta cómo actuará tu oponente dadas las manos que puedan tener, y la mano que creen que tienes, y posiblemente la mano que piensan que tú piensan que tienen (3er nivel). Necesitarás sopesar las expectativas de esas probabilidades mediante la distribución de las posibles cartas que se revelarán en el flop, el turn y el river. Es posible que desee tener en cuenta las probabilidades implícitas y las probabilidades implícitas inversas debido a las estrategias condicionales que usted y sus oponentes adoptarán al ver qué cartas comunes aparecen en las rondas posteriores. Probablemente deberías tener en cuenta la posición de cada jugador y cómo eso afecta sus probabilidades implícitas, y posiblemente cómo cada jugador ajusta su estrategia en función de su ventaja posicional.

Muchos bots modernos de póker heads-up (2 jugadores) se esfuerzan por un enfoque similar al de Nash. Esto puede funcionar bien con dos jugadores, pero no te va a ganar dinero en un juego con 3 o más jugadores. David Sklansky discute la teoría de ‘Errores de comercio’ en su libro seminal The Theory of Poker, donde el punto principal es que si juegas exclusivamente a la defensiva en forma de una estrategia similar a Nash, te estás limitando a recibir la misma expectativa contra un pobre jugador como lo haría contra un jugador experto. Esencialmente, eliminas la habilidad de tu oponente para cometer errores. En este escenario, ambos pierden contra la casa ya que ninguno de los dos podrá vencer el rastrillo, y nuevamente, esto se mantendrá aún peor en los juegos multijugador donde los jugadores expertos explotarán a los jugadores pobres, y su bot lo hará. lánzate perdiendo oportunidades.

Las redes neuronales suenan bien y podrían ser útiles para aprender las tendencias de los oponentes, pero requerirán una cantidad significativa de datos para entrenar, lo que no estará disponible a menos que juegues con los mismos oponentes en miles y miles de manos. En este punto, es probable que su bot haya perdido demasiado dinero para recuperarse.

Por lo tanto, para los bots básicos de póker de IA, siempre sugiero que sigas un enfoque basado en reglas muy simple. Describe un juego de manos para jugar en cada posición. Defina umbrales de fuerza de mano para cada ronda que determinen si retirarse, igualar, apostar o subir. Haz cálculos básicos de equidad de bote y probabilidades de bote para determinar si jugar manos especulativas. Tenga en cuenta las probabilidades implícitas y las probabilidades implícitas inversas. Desarrolla un método simple para colocar distribuciones sobre las posibles manos de tus oponentes. Solo si puede hacer esto a mano, valdrá la pena ampliar su enfoque con las mejoras de ML.