Artificial Intelligence in Poker
Markian Hlynka writes "The University of Alberta's research into Poker AI is featured in this New York Times article. There is also detailed discussion of the game of Poker, and the 'new breed' of players who have honed their abilities online. See the U of A's poker project for more information."
Poker is not a card game, it's a people game (aka don't play the cards, play the people). It's all about bluffing and reading other people's bluffs. I'm baffled that people even bother playing poker on the internet. Even with webcams the game wouldn't be the same at all.
Daniel
Carpe Diem
I say we help him beta test not only his program, but also help him stress-test his web server.
Now, they also say the machine has to be able to bluff, but the trick was to get it to do it the right amount, and at the right time postionally. Reading the opponent isn't as important as seeing the right situation in the cards.
You RTFA:
Peter Muller, a friend of Mr. Rao's who has played against the same bot, said the approximations in the game-theory model left a weakness and limited the bot's chances to do more than break even. Game-theory models usually assume that every player uses the best possible strategy, something that rarely if ever happens with humans.
"An optimal game theoretic strategy might ensure that you don't lose, but it won't be effective at exploiting an opponent's weaknesses," Mr. Muller said. "The best players learn how to exploit predictability, but don't do it often enough so that the opponents catch on."
In other words, it's easy to bluff a computer; you just play strongly and it'll assume you have a good hand and probably fold to you. Unless it's got a good hand, in which case you're screwed. Or if it has adoptive modelling that remembers how often you bluff, then you're REALLY screwed. Generally, though, it sounds like the Alberta AI just plays tightly, using "classes" of hands to avoid getting confused by the billions of possible hands, which does limit losses, but doesn't generally win big.
Limit Hold 'Em is a game of patterns. There are a lot of variables to take into account--position, pot odds, expected value, number of bets/raises already in, your cards, and many many more. You make playing decisions based on all of these variables. For example, in late position with few callers you can consider playing cards that you would fold in early position. Then there's bluffing and semi-bluffing.
Look at "Positively Fifth Street" by James McManus. He talks a little bit about the Alberta project and the rationale behind it.
I have never been any good at poker... in high school, playing nickel-ante poker, I lost about $25 to just one of my friends. Typically, after about 15 minutes of play, everyone was playing with "my" money.
But recently, I spent some quality time with a hand-held poker game, and played the "hundreds or thousands" of games as described in the article. Not enough to become an expert, but I did come up with a technique to make my 100 credits last longer.
I hacked away as much complexity as I could. The heart of my method is to forget about the effect of getting two cards you need. The chances of getting two specific cards is something like 1/52 * 1/52 = 1/2704 -- too small to care about. So the entire method is about the next card.
Of course, I put it online: How To Lose Less At Video Poker. At the risk of slashdotting my own server, I'm curious if anyone can find any obvious flaws in the method.
I found this Java-based tutorial that purports to generate the "optimum payout" -- it often disagrees with me, presumably because it's trying for big payouts. My method doesn't promise profit, only smaller losses.
An important disclaimer: I've never used my method with any non-trivial amount of actual cash. Here in Texas, there are video poker machines in every Quickie Mart, but I just don't see the appeal. Now, if they would put in a Pac-Man machine...
Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
Okay, I know this is a lil' off topic, but as one of the (presumably) many slashdot readers who play poker...has anyone found an online poker room that you can play for real $$$ where I don't need to download some windowsware to play?
I've toyed around with the java-based yahoo rooms (which last I checked, didn't have a real $$$ option). All of the big name poker rooms that I've seen through friends require a windows based client. I've been dying to give it a try.
I'd also be interested in anything anyone wants to post under this thread about poker room security. Are there many malicous online poker room opponents out there? I've seen a few cases where someone was about to sweep in a hold'em hand, holding the nuts(*), only to be booted off the game at the last second...any thoughts?
(*) Attn Trolls: This is an actual poker term.
While poker is an interest game to tackle, I think I'd have to agree with others here that it is more of a people game and hard to a machine to understand the nuances of "bluffing" and other things that we silly humans do.
What I'd really like to see is computer AI able of playing the Japanese/Chinese board game called Go at advanced levels.
As it is right now, the best Go AI is only at intermediate levels it terms of skill. Here is a URL comparing Chess to Go...
http://www.villagenet.com/users/bradleym/Compare.h tml
"To confine our attention to terrestrial matters would be to limit the human spirit." -Stephen Hawking
No, it's not a troll. :-)
But a few years ago, checkers was solved as a mathematical problem. There is a computer program that can play a perfect game of checkers, all the time. That project was headed by Jonathan Schaeffer, one of the people involved in this Poker AI project.
Just a footnote, to let you all know that this group has some serious history in gaming AI.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
Make up bull$#!t details. They have no right to the information you provide, so you have no obligation to tell them the truth. (*)
..... A compromise would be to make up one bogus account and share it widely.
Women living alone are supposed never to reveal their sex to anybody who doesn't need to know it. Suppose some cyberstalker was tapping internet connections at random till he found one that belonged to a woman - and then began stalking her and eventually raped her?
It is actually illegal anyway to target advertisements based on a person's answers. For instance, let's suppose the advertisers want to sell shoes to women and video games to men, so they show you an advert for a pair of shoes or a video game depending on what sex you said you were. But they've just violated the Sex Discrimination Act 1976. A woman has a right to see video game adverts and a man has a right to see shoe adverts.
Anyway, nobody has any right to know what is between my legs unless they are proposing marriage.
(*) This of course does not address the real issues
The first ever complex program I wrote was, in fact, an attempt to make an intelligent poker player. It was written in BASIC for an IBM with an 8086 processor and about 7-feet long when printed out. It made ASCII representations of the cards and I had my own random number generator that used the time the program started as the "seed" value. It had an independent routine for "bluffing" and made it's more rational decisions based upon what I was to eventually learn was a pretty decent implementation of "fuzzy logic". ...problem is, it played lousy poker...and I could never figure out why. At least it followed the rules though.
A goal is a dream with a deadline