Question

Je suis intéressé par la construction d'un Texas Hold « Em moteur AI en Java. Ce projet à long terme, celui dans lequel je prévois d'investir au moins deux ans. Je suis encore au collège, ne sont pas construire quoi que ce soit encore ambitieux et voulant aborder un problème qui tiendra mon intérêt à long terme. Je suis nouveau dans le domaine de l'intelligence artificielle. De mes structures de données de classe au collège, je sais que des blocs de construction de base comme BFS et DFS, retours en arrière, DP, des arbres, des graphiques, etc. J'apprends regex, pour étudier la SCJP et la SCJD et je vais prendre un peu de temps (dense ) cours de statistique.

Questions:

-Où dois-je commencer? Quels livres dois-je choisir? Quel genre de programmes AI ne jouant de poker à courir? Quel projet open source puis-je prendre une page? Toutes les bonnes ressources AI en Java? Je suis intéressé à apprendre Lisp aussi bien, est Jatha bonne?

Autres conseils

Poker AI de sont notoirement difficiles à obtenir le droit parce que les humains parient de façon imprévisible. Il est généralement divisé en deux parties.

1) Calculer les chances de votre main étant le gagnant.

2) Formuler stratégie de paris basé sur 1.

Je recommande de commencer avec beaucoup de statistiques de lecture pour une partie 1. Il semble facile à première vue, mais il est en fait très compliqué (et se tromper condamnera votre AI). Passez ensuite aux algorithmes génétiques pour une partie 2. Les stratégies de paris sont pour la plupart des algorithmes génétiques. Ils se règlent en fonction du succès et des échecs passés + une randomisation pour ne pas devenir prévisible.

J'ai écrit un moteur vidéo poker Texas Hold'em en Java

Ce code est un moteur de base pour le Texas Hold'em sans vues et d'autres

http://github.com/phstc/javapokertexasholdem

De plus, en laissant un algorithme génétique ajuster les poids de réseau de neurones qui détermine la logique de décision. Cette approche est très approprié pour le poker AI.

J'ai fait ma propre AI comme ça. Au début, j'ai créé ~ 1000 joueurs, qui ne savent pas comment jouer le jeu à tous. Sur la base de leur chance initiale pendant les mains, leur aptitude a été pondéré et nouvelle génération créé. Les nouveaux « cerveaux » jouaient mieux que la génération précédente.

Finalement, les meilleurs individus ont joué très bien.

Comme il a déjà recommandé, le livre Theory of Poker est une source d'information d'une valeur inestimable pour jouer le jeu, ainsi que pour la construction d'une IA. Vous devriez probablement acheter car il ne coûte pas tant que ça.

Université de l'Alberta groupe de resarch fait l'état de l'art au moment, mais ils ont une forte concurrence émergent de temps en temps. (Tous les bots de poker et la recherche en IA dans le domaine est public en raison de la tentation d'utiliser ses résultats au poker sur Internet, bien que ce soit interdit.)

Tout d'abord, vous devez décider quel type de poker que vous allez attaquer en premier. deux hold'em joueur est à peu près résolu, mais les meilleurs humains encore mis en place un véritable combat avec la meilleure AI est disponible. L'AI a les principaux avantages par rapport humains en ayant une mémoire sans faille illimitée des mains passées, l'analyse sans faille des modèles basés sur cette question et que ce sont des machines, ils ne basculent pas comme presque tous les humains de temps en temps.

fixe Hold'em est probablement le plus facile à craquer, vous voudrez peut-être commencer par 1-1 hold'em fixe et décider ensuite ce que vous voulez faire.

Voici quelques aspects qui changent la bonne stratégie (et votre AI):

  • Un jeu de trésorerie est différent d'un tournoi -Le nombre de joueurs prend les décisions différentes.
  • Hold'em n'est pas le seul poker. Omaha, Stud et d'autres existent et sont largement joué.
  • Fixed Limit est différent de Pot Limit, qui est différent de No Limite.
  • Pour battre le meilleur que vous devez couvrir beaucoup de choses très subtiles les meilleurs joueurs pensent quand ils jouent. Pour battre un jeu amateur à faible enjeu, aucune de ces choses comptent.

Si vous décidez d'aller pour No Limit Hold'em, vous pouvez consulter la série de trois livres Harrington sur Hold'em et un livre Non Poker Limit - Théorie et pratique . Après avoir lu pas mal de livres sur le poker, je peux dire ces livres combinés avec la théorie de Poker sont tout à fait suffisant.

Je ne sais pas quel jeu exact que vous êtes intéressé, mais l'approche typique est de créer une version abstraite beaucoup plus petite du jeu, la résolution de ce jeu plus petit, puis la cartographie des situations de jeu réel retour au jeu abstrait pour générer Conseil. La plupart des documents universitaires ignoreront les détails de ce processus en faveur de la présentation des résultats de la convergence, l'exploitation et les résultats de la concurrence.

Cependant, il y a des bases de code disponibles au public qui présentent une mise en œuvre complète. L'un des meilleurs est Fell Omen:

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

Ceci est un bot de stratégie complète de base qui utilise le jeu fictif pour optimiser la stratégie pour le jeu abstrait. Il est un bon point de départ, car il est assez simple, complet, et représente une bonne présentation de l'approche du jeu abstrait.

Si vous êtes intéressé par le développement de poker AI, je vous suggère de lire tout à partir de 2007 et du groupe de poker UA et les étudiants de Tuomas Sandholm:

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

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

J'ai écrit une Hold'Em AI dans mon étudiant de premier cycle. Il n'a pas été particulièrement avancée, je une machine Q-valeur qui a traversé un certain nombre d'états et les valeurs de Q mises à jour pour chaque état.

Je trouve l'Université du projet AI Poker Alberta une source inestimable d'informations pour éviter les pièges.

Comme une affiche ci-dessus états, la première étape consiste à clouer dans quelques règles de poker déterminables -. Un sur un poker peut être développé programatically

Un piège je suis tombé dans la construction n'a pas été en reconfigurable tôt. Par exemple être en mesure de changer la qualité de l'apprentissage / jeu.

Je serais intéressé de savoir comment vous obtenez sur moi un mail à stevekeogh gmail.com

Il suffit d'ajouter les liens ci-dessus, l'une des choses importantes à mettre en œuvre serait http: // fr .wikipedia.org / wiki / Kelly_criterion qui aidera à déterminer la taille optimale des paris étant donné les chances attendus dans une série de paris. Avec les humains il pourrait y avoir des erreurs de jugement des chances, mais si votre programme AI peut cracher les quelques chances normalisés attendus sur la base quel que soit l'algorithme alors cette technique de calibrage pari qui équilibre à la fois le risque et la récompense pour le joueur avantage serait une bonne solution pas cher .

Un résultat intéressant, je l'ai entendu est que si vous restreignez les options de pari plier, vérifier et tout, vous pouvez écrire une IA qui gagne un sur ceux avec une probabilité d'au moins 49%, et 49,5% si il est (IIRC) pas en premier.

Je ne sais pas que cette IA est plus facile d'écrire que celui qui sait combien miser, mais il est de la nourriture pour la pensée. Choisir les montants à parier ne représente que 1,5% de la probabilité de gagner

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top