¿Tienes alguna recomendación de biblioteca para construir un robot de póker?

Hay muchos enfoques para construir un pokerbot. Incluso antes de saltar a las bibliotecas, deberás decidir qué hace tu pokerbot. Si tiene la intención de explotar bots más débiles, es posible que necesite algunas herramientas estadísticas y de aprendizaje automático. Si tiene la intención de jugar un juego teórico óptimo, no se requiere aprendizaje automático. Es solo un ejercicio de resolución de un programa lineal (muy grande).

Tenga en cuenta que al intentar explotar bots más débiles, se abre a la explotación de bots más fuertes. Este podría no ser el mejor enfoque dependiendo de su competencia, cuántos jugadores hay en la mesa, la estructura de pago y / o la logística del torneo (por ejemplo, número de manos jugadas).

En todos los casos, necesitará una calculadora de equidad manual y deberá ser rápida. No es difícil rodar el tuyo, pero aquí hay una implementación en C que lanzaron los organizadores de la competencia MIT Pokerbots: mitpokerbots / pbots_calc

Como optimización, le recomiendo que precalcule las tablas de búsqueda para la equidad de turn y river.

Para los bots ópticos de teoría de juegos, aquellos que intentan resolver el Equalibrium de Nash, el proceso general funciona de la siguiente manera:

Desconectado:

  1. Crea abstracciones de cartas y apuestas que reducen el tamaño del árbol de juego
  2. Resolver para un equalibrium de Nash
  3. Almacene la solución, un conjunto de distribución de probabilidad sobre las acciones en cada estado del juego, en una tabla de consulta gigante.

En línea:

  1. Recibe el estado del juego del servidor
  2. Traduce el juego real al estado abstracto del juego
  3. Muestra de la distribución de probabilidad sobre acciones en el estado actual
  4. Traducir la acción abstracta a una acción legal real

El Grupo de Investigación de Poker de la Universidad de Alberta (página de inicio de CPRG) tiene muchos documentos sobre el estado del arte. Hay algunas referencias a bibliotecas de código abierto que también usan.