Advertisement

AI for poker, chess

Started by November 29, 2006 06:45 AM
8 comments, last by Gagyi 17 years, 11 months ago
Hi there, i am looking into AI for my game such as poker or chess, which type of neural AI network will i need to use? are there any recommendations? thanks
I think you'd probably want to approach Chess and Poker differently. One is a game of perfect knowledge, and the other is a game of imperfect knowledge.

Most Chess programs use a Game Tree, and not neural nets. Even Chess programs that have used a neural net (or some other 'AI' technique) still use a Game Tree as well.

Will
------------------http://www.nentari.com
Advertisement
Is your game like poker or like chess? If it's like poker, it's going to be tough; look into opponent modeling and Monte Carlo simulations. If it's like chess, look into alpha-beta search and pay a lot of attention to your evaluation function.

In either case, the most important part is writing something that you can play against. Then match your program against stronger players, try to find out what your program is doing wrong, and try to fix it. Rinse, repeat.

Is making a poker AI with somekind of evolution-based stuff a good idea?
-----------------------------------"After you finish the first 90% of a project, you have to finish the other 90%." - Michael Abrashstickman.hu <=my game (please tell me your opinion about it)
Game Developer Magazine had an interesting article on Poker AI perhaps 18 months ago. It included opponent modeling.

Chess AI is an incredibly well researched topic (culminating in Deep Blue a few years back). You should be able to find tons of papers on it, by searching places like citeseer.
enum Bool { True, False, FileNotFound };
Quote: Original post by hplus0603[...]
Chess AI is an incredibly well researched topic (culminating in Deep Blue a few years back). You should be able to find tons of papers on it, by searching places like citeseer.

No, it didn't culminate with Deep Blue. There is very little evidence that this machine was the strongest even at the time it was built. And machines now are MUCH better than they were back then.

If you want to learn about chess programming, a good place to start is Bruce Moreland's tutorial.
Advertisement
Quote: Original post by Gagyi
Is making a poker AI with somekind of evolution-based stuff a good idea?


No.

Unless you stick a camera on the computer and allow the AI to analyse the face the player is making to try to guess if he is bluffing or not, poker is about following basic probabilities. Its not the AI who should learn probabilities, its the AI programmer...
Quote: Original post by arif
i am looking into AI for my game such as poker or chess, which type of neural AI network will i need to use? are there any recommendations?

Neural networks aren't used for games of that type (nor are they used for much anything else game AI related for that matter).

For poker, start with the work done at the University of Alberta's computer poker research group. That's pretty much as close to state of the art you'll get right now.

For chess, start looking into the family of tree-based competetive search algorithms known as "minimax" algorithms. The Bruce Moreland article that alvaro posted a link to is excellent.

Once you understand the basic premise of the minimax algorithm, search for "negascout" and "MTD(f)" which are improvements on the same. Then, download the source to Bob Hyatt's "Crafty" which is one of the strongest chess programs around (at least of the ones with source available). Study it.
Quote: Original post by Steadtler
poker is about following basic probabilities.


From my perspective... poker is more than just probabilities when played amongst people. It's also about influencing the perception of those estimating probabilities, usually by distoring the observations (bluffing, changing betting strategy, etc.). If you watch a poker match amongst good players, they're all typically estimating the probabilities (even if only intuitively) by evaluating the known rank of the set of possible hands they hold. Good poker players know when to deviate between risk-taking, risk-neurtral and risk-averse strategies to upset their opponents play. So poker is more about following some basic principles of game theory (which can rely on the use of probabilities). One of the difficulties in making a good artificial poker player is finding an unpredictable way to vary the computer players strategy based on what they observe of their openents play, while still ensuring a maximisation of payoff in the long run.

Cheers,

Timkin
I think you cannot easily make a software, that know, if someone is risk-taking or not. Probabilities are easy though.
And a camera and a bluff-O-meter kind of software would be fun, but unfortunately I think its almost impossible to make...
-----------------------------------"After you finish the first 90% of a project, you have to finish the other 90%." - Michael Abrashstickman.hu <=my game (please tell me your opinion about it)

This topic is closed to new replies.

Advertisement