Pregunta

Estoy interesado en la construcción de un Texas Hold 'Em AI motor en Java.Este es un proyecto a largo plazo, en el que me va a invertir, al menos, dos años.Todavía estoy en la universidad, no construir nada ambicioso y con ganas de afrontar un problema que va a mantener mi interés en el largo plazo.Soy nuevo en el campo de la IA.Desde mi estructuras de datos de clase en la universidad, sé bloques de construcción básicos como BFS y DFS, marcha atrás, DP, árboles, grafos, etc.Estoy aprendiendo regex, estudiar para el SCJP y la ECJE y me voy a tomar un poco (denso) curso de estadísticas.

Preguntas:

- ¿Dónde debo empezar?¿Qué libros debo elegir?¿Qué tipo de AI hacer jugar póker los programas se ejecutan en?¿Qué proyecto de código abierto puedo tomar una página de?Cualquier buena AI recursos en Java?Estoy interesado en aprender Lisp así, es Jatha buena?

Otros consejos

Poker AI son notoriamente difícil hacerlo bien porque los seres humanos apuestan de forma impredecible. Por lo general se divide en dos partes.

1) Calcular las probabilidades de ser la mano del ganador.

2) Formular estrategia de apuestas basado en 1.

Yo recomiendo empezar con una gran cantidad de estadísticas de lectura de la parte 1. Parece fácil a primera vista, pero en realidad es muy complicado (y hacerlo mal condenará a su AI). A continuación, pasar a los algoritmos genéticos para la parte 2. Las estrategias de apuestas son en su mayoría los algoritmos genéticos. Que se ajustan en base a los éxitos del pasado y los fracasos + alguna aleatorización para que no se convierta en predecible.

escribí un motor de Texas Hold'em Video Poker en Java

Este código es un motor básico para el Texas Hold'em sin vistas y otros

http://github.com/phstc/javapokertexasholdem

También, dejando algoritmo genético ajustar los pesos de la red neural, que determina la lógica de decisión. Este enfoque es muy adecuado para el póker AI.

Hice mi propia IA como este. Al principio, creé ~ 1000 jugadores, que no sabían cómo jugar el juego en absoluto. En base a su suerte inicial durante las manos, su estado físico y se ponderó nueva generación creado. Nuevos "cerebros" estaban jugando mejor que la generación anterior.

Con el tiempo, los mejores individuos jugaron muy bien.

Como ya se ha recomendado, el libro La teoría de Poker es verdaderamente una fuente invaluable de información para jugar el juego, así como para la construcción de un AI.Probablemente, usted debe comprar como no cuesta mucho.

La universidad de Alberta resarch grupo hace el estado-of-the-art en el momento en que, a pesar de que tiene una dura competencia emergentes cada ahora y entonces.(No todos los robots de póquer y de IA investigación en el campo es de público debido a la tentación de usar uno de los resultados de póquer de internet, a pesar de que está prohibido.)

En primer lugar usted debe decidir qué tipo de poker se va a abordar por primera vez.dos jugadores de hold'em es bastante resuelto, a pesar de los mejores seres humanos que siguen poner una pelea real con la mejor IA de las disponibles.La IA tiene las principales ventajas sobre los humanos por tener un ilimitado impecable memoria del pasado de las manos, impecable análisis de los patrones con base en que y como son máquinas, no de la inclinación, como casi todos los seres humanos de vez en cuando.

Fijo Hold'em es probablemente el más fácil de roer, así que es posible que desee comenzar con 1-1 fijo hold'em y, a continuación, decidir qué desea hacer a continuación.

Aquí están algunos aspectos que cambiar la estrategia correcta (y su AI):

  • Un efectivo juego es diferente de la de un torneo -El número de jugadores hace que las decisiones diferentes.
  • Hold'em no es el único de poker.Omaha, Stud y otros existen y son ampliamente jugado.
  • Límite fijo es diferente de Límite de bote, que es diferente de No Límite.
  • Para vencer a los mejores que necesita para cubrir un montón de cosas sutiles de los mejores jugadores de pensar cuando juegan.Para vencer a una baja de apuestas de fútbol de aficionados, ninguna de estas cosas cuentan.

Si usted decide ir para No Limit Hold'em, usted puede ser que desee comprobar hacia fuera tres-libro de la serie Harrington on Hold'em y un libro De Poker sin Límite - la Teoría y la Práctica.Después de haber leído un buen número de libros de poker, puedo decir que estos libros combinado con la Teoría de Póquer son bastantes.

No estoy seguro de qué juego exacto que está interesado, pero el enfoque típico es crear una versión abstracta mucho más pequeña del juego, la solución de ese juego más pequeño y, a continuación, la cartografía de las situaciones de juego reales de vuelta al juego abstracto para generar Consejo. La mayor parte de los trabajos académicos pasar por alto los detalles de este proceso a favor de presentar los resultados sobre la convergencia, la explotación y resultados de la competición.

Sin embargo, hay algunas bases de código de acceso público que presentan una implementación completa. Uno de los mejores es Omen Fell:

http://www.deducer.org/pmwiki/pmwiki. php? n = Main.ArtificialIntelligencePoker

Este es un bot estrategia básica completa que utiliza juego ficticio para optimizar la estrategia para el juego abstracto. Es un buen punto de partida, ya que es bastante sencillo, completo, y representa una buena presentación del enfoque de juego abstracto.

Si está interesado en el desarrollo de póquer AI, sugeriría leer todo, desde 2007 y en la del grupo de póquer UA y estudiantes de Tuomas Sandholm:

http://www.cs.cmu.edu/~sandholm/

http://poker.cs.ualberta.ca/publications.html

Me escribió una Hold'Em AI en mi licenciatura. No era particularmente avanzada, he usado una máquina Q-valor que atravesaba una serie de estados y valores Q actualizados para cada estado.

He encontrado la Universidad de proyecto AI Poker de Alberta una valiosa fuente de información para evitar trampas.

Como un cartel por encima de los estados, el primer paso es clavar en un par de reglas de poker determinables -. Uno-a-uno de póquer puede ser desarrollado mediante programación

Una trampa caí en la construcción no estaba en capacidad de reconfiguración desde el principio. Por ejemplo ser capaz de cambiar el grado de aprendizaje / juego.

Me interesaría saber cómo le va mándenme una stevekeogh electrónico en gmail.com

Sólo para añadir a los enlaces de arriba, una de las cosas importantes para poner en práctica sería http: // en .wikipedia.org / wiki / Kelly_criterion lo que ayudará a determinar el tamaño óptimo de apuestas dadas las probabilidades que se esperan de una serie de apuestas. Con los seres humanos no pueden producir errores en el juicio de probabilidades, pero si su programa de IA puede escupir las algunas probabilidades normalizadas esperados en base a lo que el algoritmo de entonces, esta técnica apuesta de dimensionamiento que equilibra tanto el riesgo y la recompensa para el jugador ventaja sería una buena solución barata .

Un resultado interesante que he escuchado es que si se restringe las opciones de apuestas a retirarse, y todo-en, puede escribir una IA que gana uno-a-uno con una probabilidad de al menos el 49%, y 49,5% si que es (IIRC) no ir en primer lugar.

No sé que este IA es más fácil escribir aquella que sabe cuánto apostar, pero es motivo de reflexión:. Elegir cantidades a apostar sólo representa el 1,5% de la probabilidad de ganar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top