Pergunta

Estou interessado em construir motor Em AI a Texas Hold' em Java. Este é um projeto de longo prazo, no qual eu pretendo investir pelo menos dois anos. Eu ainda estou na faculdade, não construir nada ambicioso e querer resolver um problema que irá realizar o meu interesse a longo prazo. Eu sou novo para o campo da AI. De minha classe de estruturas de dados na faculdade, eu sei blocos de construção básicos, como BFS e DFS, retrocesso, DP, árvores, gráficos, etc. Estou aprendendo regex, estudando para o SCJP eo SCJD e eu vou logo tomar um (densa ) estatísticas curso.

Perguntas:

Onde posso começar? Que livros devo escolher? Que tipo de AI fazer programas jogar poker pode ser executado? O projeto de código aberto que eu posso tomar uma página do? Qualquer bons recursos AI em Java? Eu estou interessado em aprender Lisp também, é Jatha bom?

Outras dicas

Poker AI são notoriamente difíceis de obter direito porque os seres humanos apostar de forma imprevisível. Geralmente é dividido em duas partes.

1) calcular as probabilidades da sua mão ser o vencedor.

2) Formular apostando estratégia baseada em 1.

Eu recomendo começar com lotes de estatísticas de leitura para parte 1. Parece fácil à primeira vista, mas é realmente muito complicado (e começá-lo errado vai condenar seu AI). Em seguida, passar para algoritmos genéticos para a parte 2. estratégias de apostas são algoritmos principalmente genéticas. Eles ajustam-se com base em sucessos e fracassos passados ??+ alguns randomização de modo a não se tornar previsível.

Eu escrevi um motor de Texas Hold'em Video Poker em Java

Este código é um mecanismo central para o Texas Hold'em sem pontos de vista e outros

http://github.com/phstc/javapokertexasholdem

Além disso, deixando algoritmo genético ajustar os pesos da rede neural, que determina a lógica de decisão. Esta abordagem é muito adequado para o poker AI.

Eu fiz o meu próprio AI assim. No início, eu criei ~ 1000 jogadores, que não sabem como jogar o jogo todo. Com base em sua sorte inicial durante as mãos, a sua aptidão foi ponderada e nova geração criada. Novos "cérebros" foram jogando melhor do que a geração anterior.

Por fim, os melhores indivíduos jogou muito bem.

Como já recomendado, o livro Theory of Poker é uma fonte verdadeiramente inestimável de informações para jogar o jogo, bem como para a construção de um AI. Você provavelmente deve comprá-lo, pois não custa muito.

Universidade do grupo resarch Alberta faz o state-of-the-art no momento, apesar de terem uma forte concorrência emergente de vez em quando. (Nem todos os bots do poker e pesquisas AI no campo é público por causa da tentação de usar os próprios resultados em poker na internet, no entanto, que é proibido.)

Primeiro você deve decidir que tipo de pôquer que você vai atacar primeiro. dois hold'em jogador está praticamente resolvido, embora os melhores seres humanos ainda colocar uma luta real com o melhor AI disponível. A AI tem como principais vantagens sobre os humanos por ter uma memória impecável ilimitado de mãos passadas, análise impecável dos padrões baseado em que e como eles são máquinas, eles não inclinar como quase todos os seres humanos ocasionalmente fazer.

Hold'em fixo é provavelmente o mais fácil de crack, de modo que você pode querer começar com 1-1 hold'em fixo e, em seguida, decidir o que quer fazer em seguida.

Aqui estão alguns aspectos que mudam a estratégia correta (e seu AI):

  • Um jogo a dinheiro é diferente de um torneio -O número de jogadores toma as decisões diferente.
  • Hold'em não é a única poker. Omaha, Stud e existem outros e são amplamente reproduziu.
  • Fixed Limit é diferente Pot Limit, que é diferente de Sem Limite.
  • Para bater o melhor que você precisa para cobrir um monte de coisas muito sutis os melhores jogadores pensam sobre quando eles jogam. Para vencer um jogo amador low-stakes, nenhuma dessas coisas contam.

Se você decidir ir para No Limit Hold'em, você pode querer verificar para fora da série de três livros Harrington on Hold'em e um livro No Limit Poker - Teoria e Prática . Depois de ler um bom muitos livros sobre pôquer, eu posso dizer que estes livros combinados com o Theory of Poker são bastante suficiente.

Eu não tenho certeza qual jogo exato que você está interessado, mas a abordagem típica é criar uma versão abstrata muito menores do jogo, resolvendo esse jogo menor, e, em seguida, mapear situações de jogo real de volta para o jogo abstrato para gerar adendo. A maioria dos trabalhos acadêmicos pular os detalhes deste processo em favor de apresentar resultados sobre a convergência, exploração e resultados da competição.

No entanto, existem algumas bases de código publicamente disponíveis que apresentam uma implementação completa. Um dos melhores é Caiu Omen:

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

Este é um bot estratégia completa básico que usa o jogo fictício para otimizar a estratégia para o jogo abstrato. É um ponto de partida bom porque é bastante simples, completa e representa uma boa apresentação da abordagem abstrata jogo.

Se você está interessado no desenvolvimento de poker AI, gostaria de sugerir a leitura de tudo, desde 2007 e do grupo de poker UA e estudantes de Tuomas Sandholm:

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

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

Eu escrevi um Hold'Em AI na minha graduação. Não foi particularmente avançada, eu usei uma máquina de Q-Valor que atravessou um número de estados e valores de Q atualizados para cada estado.

Eu encontrei a Universidade de Alberta AI Pôquer projetar uma valiosa fonte de informações para evitar armadilhas.

Como um cartaz acima estados, o primeiro passo é a unha em um par de regras de poker determináveis ??-. One-on-one de poker pode ser desenvolvida através de programação

Uma armadilha caí não estava construindo em reconfigurabilidade cedo. Por exemplo, sendo capaz de mudar o grau de aprendizagem / jogo.

Eu estaria interessado em saber como você chegar em queda-me uma stevekeogh correio em gmail.com

Apenas para adicionar aos links acima, uma das coisas importantes para implementar seria http: // en .wikipedia.org / wiki / Kelly_criterion que irá ajudar a descobrir o tamanho óptimo de apostas dadas as probabilidades esperados de uma série de apostas. Com seres humanos pode haver erros de julgamento de probabilidades, mas se o seu programa de AI pode cuspir as algumas probabilidades esperadas normalizada com base em tudo o que o algoritmo então esta técnica de dimensionamento de aposta que equilibra tanto risco e recompensa para o jogador vantagem seria uma boa solução barata .

Um resultado interessante que eu ouvi é que se você restringir as opções de apostas para dobrar, verificar e all-in, você pode escrever um AI que ganha one-on-ones com probabilidade de pelo menos 49%, e 49,5% se -lo de (IIRC) não indo em primeiro lugar.

Eu não sei que este AI é mais fácil de escrever aquela que sabe o quanto a aposta, mas é alimento para o pensamento:. Escolher equivale a aposta representa apenas 1,5% da probabilidade de ganhar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top