Domanda

Sono interessato a costruire un Texas Hold 'Em motore di intelligenza artificiale in Java. Si tratta di un progetto a lungo termine, quello in cui ho in programma di investire almeno due anni. Sono ancora al college, non hanno costruire nulla ambizioso ancora e di voler affrontare un problema che conterrà il mio interesse a lungo termine. Sono nuovo al campo di AI. Dalla mia classe strutture di dati al college, lo so elementi di base come BFS e DFS, backtracking, DP, alberi, grafici, ecc sto imparando regex, studiando per la SCJP e la SCJD e io prendo un poco (densa ) statistiche corso.

Domande:

-Dove posso iniziare? Che libri dovrei scegliere? Che tipo di Ai Do programmi Giocare a poker eseguiti su? Che progetto open source posso prendere una pagina da? Eventuali buone risorse di intelligenza artificiale in Java? Sono interessato a imparare Lisp così, è buono jatha?

Altri suggerimenti

Poker IA sono notoriamente difficile da ottenere perché gli esseri umani scommettere in modo imprevedibile. Di solito è suddiviso in due parti.

1) calcolare le probabilità della mano è il vincitore.

2) Formulare strategia di scommesse basato su 1.

Mi consiglia di iniziare con un sacco di statistiche di lettura per la parte 1. Sembra facile a prima vista, ma in realtà è molto complicato (e sbagliare condannerà il vostro AI). Per poi passare a algoritmi genetici per la parte 2. Strategie di scommesse sono per lo più gli algoritmi genetici. Si adattano in base al successo passato e fallimenti + alcune randomizzazione in modo da non diventare prevedibili.

ho scritto un motore di Texas Hold'em Video Poker in Java

Questo codice è un motore fondamentale per il Texas Hold'em senza vista e altri

http://github.com/phstc/javapokertexasholdem

Inoltre, lasciando algoritmo genetico regolare i pesi della rete neurale, che determina la logica di decisione. Questo approccio è molto adatto per il poker AI.

Ho fatto il mio AI come questo. In un primo momento, ho creato ~ 1000 giocatori, che non sapevano come giocare il gioco a tutti. Sulla base della loro fortuna iniziale durante le mani, la loro idoneità è stato ponderato e ha creato nuova generazione. I nuovi "cervelli" stavano giocando meglio di generazione precedente.

Alla fine, i migliori individui giocato molto bene.

Come già consigliato, il libro Theory of Poker è una fonte veramente preziosa di informazioni per il gioco del gioco così come per la costruzione di una IA. Probabilmente si dovrebbe comprare in quanto non costa molto.

Università degli Studi di gruppo resarch Alberta fa la state-of-the-art in questo momento, anche se hanno una forte concorrenza emergente e poi ogni ora. (Non tutti i bots del poker e AI di ricerca nel campo è pubblico a causa della tentazione di usare i propri risultati nel poker internet, anche se questo è proibito.)

In primo luogo si dovrebbe decidere che tipo di poker hai intenzione di affrontare per primo. due giocatori hold'em è praticamente risolto, anche se i migliori esseri umani ancora messo su una lotta vera e propria con i migliori IA disponibili. L'intelligenza artificiale ha i principali vantaggi rispetto gli esseri umani da avere un numero illimitato di memoria impeccabile delle mani passate, analisi impeccabile dei modelli basati su questo e come sono le macchine, non inclinare come quasi tutti gli esseri umani di tanto in tanto fanno.

fissi Hold'em è probabilmente il più facile da rompere, così si potrebbe desiderare di iniziare con 1-1 hold'em fisso e poi decidere cosa si vuole fare dopo.

Ecco alcuni aspetti che cambiano la strategia corretta (e il vostro AI):

  • un cash game è diverso da un torneo -Il numero di giocatori prende le decisioni differenti.
  • Hold'em non è l'unica poker. Omaha, Stud e altri esistono e sono ampiamente giocato.
  • Fixed Limit è diverso da Pot Limit, che è diverso da No Limite.
  • Per battere i migliori è necessario coprire un sacco di cose molto sottili i migliori giocatori di pensare a quando giocano. Per battere un basso stakes gioco amatoriale, nessuna di queste cose contano.

Se si decide di andare per No Limit Hold'em, si potrebbe voler controllare tre libri della serie Harrington on Hold'em e un libro No Limit Poker - Teoria e Pratica . Dopo aver letto un bel molti libri sul poker, posso dire questi libri in combinazione con la Teoria del Poker sono abbastanza.

Non sono sicuro di quale gioco esatto siete interessati, ma l'approccio tipico è quello di creare una versione astratta molto più piccola del gioco, risolvere quel piccolo gioco e quindi la mappatura situazioni di gioco reali di nuovo al gioco astratto di generare consigli. La maggior parte delle pubblicazioni accademiche saltare i dettagli di questo processo a favore di presentazione dei risultati convergenza, lo sfruttamento, e risultati del concorso.

Tuttavia, ci sono alcune basi di codice a disposizione del pubblico che presentano un'implementazione completa. Uno dei migliori è Omen Fell:

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

Questo è un bot completa strategia di base che utilizza il gioco fittizio per ottimizzare la strategia per il gioco astratto. E 'un buon punto di partenza, perché è abbastanza semplice, completa, e rappresenta una buona presentazione dell'approccio gioco astratto.

Se siete interessati a sviluppare il poker AI, vorrei suggerire la lettura di tutto, da 2007 e dal gruppo del poker UA e gli studenti di Tuomas Sandholm:

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

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

ho scritto una Hold'Em AI nel mio undergrad. Non era particolarmente avanzata, ho usato una macchina Q-valore che attraversava un certo numero di stati e valori di Q aggiornati per ogni stato.

Ho trovato l'Università di progetto di intelligenza artificiale Poker di Alberta una preziosa fonte di informazioni per evitare insidie.

Come un poster sopra degli Stati, il primo passo è quello di inchiodare in un paio di regole del poker determinabili -. One-to-one di poker può essere sviluppato a livello di codice

Un trabocchetto sono caduto in non è stata la costruzione di riconfigurabilità nella fase iniziale. Per esempio essere in grado di cambiare il grado di apprendimento / di gioco.

Sarei interessato a sapere come si ottiene su di me una goccia stevekeogh mail all'indirizzo gmail.com

Giusto per aggiungere ai link di cui sopra, una delle cose più importanti da attuare sarebbe http: // it .wikipedia.org / wiki / Kelly_criterion che aiuterà a capire la dimensione ottimale delle scommesse indicate le probabilità previsti in una serie di scommesse. Con gli esseri umani ci potrebbero essere degli errori di giudizio di probabilità, ma se il vostro programma di intelligenza artificiale può sputare le alcune probabilità normalizzati attesi in base qualunque sia l'algoritmo poi questa tecnica bet-sizing che bilancia sia il rischio e la ricompensa per il giocatore vantaggio sarebbe una buona soluzione a basso costo .

Un risultato interessante che ho sentito è che se si limitano le opzioni di scommessa per piegare, controllare e all-in, è possibile scrivere una IA che vince one-to-one con probabilità almeno il 49%, e il 49,5% se è (IIRC) non di andare prima.

Non so che questo AI è più facile scrivere che uno che sa quanto puntare, ma è cibo per la mente:. Scegliere ammonta a scommettere rappresenta solo l'1,5% della probabilità di vincere

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top