Thread: Poker AI
View Single Post
  #6  
Old 12-06-2003, 08:45 PM
PairTheBoard PairTheBoard is offline
Member
 
Join Date: Dec 2003
Posts: 46
Default Re: Poker AI - Prisoner\'s Dilema - Genetic Algorithm

I really don't know. I'm just throwing out ideas. There IS a difference between Poker and Chess. The Forte of chess programs like Deep Blue is their Vast memory of previously played "Book" openings, and their ability to compute all possible move combinations for many moves ahead. In poker it's maybe not so clear how important "Book" moves might be nor is it so clear how to compute all game theoretic future repercusions of Poker "moves". Still, I can't help but recall the widespread Human bluster and bravado years ago, about how computer programs would NEVER be able to beat the best human chess players. Although Kasparov can still make it a match with the best computer programs, the writing is pretty well on the wall for the human vs. computer chess question.

Yes, an "Expert System" trained by a world class player would seem the natural way to produce a Poker program that might imitate AI. But that may not be the only solution.

In many ways I think Poker is similiar to the Prisoner's Dilema. Two accomplises in a crime are interrogated. If neither rats on the other they both go to jail for say 1 year. If one rats on the other but the other remains mute, the rat gets say 0 time and the chump gets say 4 years. If they both rat they both get say 2 years. You can change the numbers to make it a better game if you want.

A challange was issued by Scientific American years ago for people to submit algorithms to play essentially this game against a population of other algorithms. Two algorithms from the population randomly meet. If they co-operate they both gain a little. If one co-operates and the other betrays, the deceiver wins more while the fooled loses. The alogirthms retain memory of at least the transactions they are involved in. One way of playing this game, rather than just tallying points for each algorithm, is to let the population evolve by rewarding successful algorithms by reproducing them. I believe such a "game" has many of the same dynamics as Poker. For example, there are Non-Transitive aspects to it. A does well against B and B does well against C. But C may badly beat up on A. It was somewhat suprising that out of all the complicated algorithms submitted for the contest, the ones that did the best were the simple "Tit for Tat" programs. You co-operate, I co-operate. You betray, I betray. Algorithms that tried to improve on this had a lot of trouble working well against the while population.

A very suprising later finding was that the Genetic Algorithm could be applied to this problem with considerable success. Strategic variations on the Tit for Tat were encoded into 16 bit strings. A population of such 16-bit Sring algorithms were run using Genetic crossover and mutation to search for imporved versions. The champ was then run against the human alogrithms and did considerably better than the best Tit for Tat human champs.

I suspect something like this could be done for Poker to produce a viable Poker AI program.
Reply With Quote