Slashdot Log In
Poker Program Battles Humans In Vegas
Posted by
timothy
on Thu Jul 03, 2008 04:08 PM
from the leds-blink-when-they're-bluffing dept.
from the leds-blink-when-they're-bluffing dept.
Bridger writes "Poker software called Polaris will play a rematch against human players during the 2008 World Series of Poker in Las Vegas.
Developed by an artificial intelligence group at the University of Alberta in Canada, Polaris will be pitted against several professionals at the Rio Hotel between July 3rd and 6th. 'It's possible, given enough computing power, for computers to play "perfectly," where over a long enough match, the program cannot lose money,"' said associate professor Michael Bowling.'"
Related Stories
Submission: Poker program battles humans in Vegas by Anonymous Coward
[+]
Hardware: Robots Aim To Top Humans At Air Hockey 177 comments
An anonymous reader writes "You probably knew that the Deep Blue supercomputer beats chess masters, and that last weekend a software robot defeated four poker champions. But you may have missed this one: a GE Fanuc robot is taking on humans at air hockey. The robot is powered by a special PC-board that can instantly switch between 8-bit and its 32-bit modes. The 8-bit version lost to most human players, but the 32-bit microcontroller has defeated even the best human air hockey players by a ratio of three to one."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Tell (Score:5, Funny)
When it's bluffing, it blinks twice.
Lets mess with it (Score:5, Funny)
Re:Additional cards not needed. (Score:4, Interesting)
Any comp sci grad can write a "perfect" poker program that plays "optimally" with your definition of optimality and perfectionism, ie, ignoring bluffing. The trick to Poker, the reason why it is so appealing as an Artificial Intelligence benchmark is because it requires the AI to learn a particular players loosness/agressivness when they are likely bluffing etc. This is not only to try to determine what the other players have, but also to try to bluff to the other players what the AI has.
The truly optimum poker player will learn what the opponents have by observing their betting patterns over the course of many hands and learning their particular tendencies.
Parent
Re:Additional cards not needed. (Score:5, Insightful)
Parent
Re:Additional cards not needed. (Score:5, Interesting)
One intelligent comment on this thread. We can model that with a Poisson distribution.
What was your tell? Translating "mathematically optimum poker" to "immediate pot odds". Optimum? Which optimum? You mean there's more than one? I fold.
OK, what you say is right, but it applies to two-person, zero-sum games. In multi-player games, no strategy is immune to collusion.
Let's refer to optimum play from the conventional game-theoretic context as the unbeatable strategy. Such a two person, zero-sum game such a strategy exists.
It's not necessarily an easy computation. It's a randomized strategy which can be computed before-hand. The U of A people are better are performing this computation.
Even so, they had to simplify the betting structure to make the problem tractable. This is the reason they chose Limit Hold'em. Fewer betting states, smaller game tree, exponentially faster solution time.
There is no particular challenge to No Limit, if the number of allowable betting states were similarly constricted. I think it would be hard to sufficiently constrict this, because strategy would vary as a function of chip stack for both competitors. Maybe it could be roughly interpolated.
As far as randomized play is concerned, the unbeatable strategy tends to be far more randomized than most humans. One expert who played against the U of A system a while back said that his first session was a nightmare until he learned that he couldn't bluff the computer out. The computer had a tendency to call aggressive betting. It expected highly randomized bids based on its own bidding structure, so didn't make a strong inference of strength when confronted by the behaviour.
What few seem to understand is that the unbeatable solution is entirely unlike poker. The unbeatable solution rarely wins. The unbeatable solution will often draw against strategies with glaring weaknesses. It won't ever be beaten, but it also won't maximize advantage of opponent's weaknesses.
Why not? Because it's impossible to take advantage of the weakness in an opponent without exposing yourself to a counter-measure where you would lose (you must stray from the unbeatable path). When you take advantage of a weak opponent, you do it on faith that the opponent is too dumb to spring the optimal counter-measure to your strategic adaptation.
The theory that U of A employs has far less to say about exploiting the weaknesses of your adversary. To do so requires exposing a weakness in your own strategy. How does the algorithm judge whether the exposed weakness is acceptable? Even poor human players can spot certain kinds of weaknesses quickly. There are other weaknesses an expert might not immediately spot. How does the program know which weaknesses are a risk against which players? It doesn't fall out of game theory, it's a matter of human cognition and psychology, and our model for this is far from complete.
One thing we need to include in this model is the incredible difficulty in explaining to most humans that winning in poker and not losing in poker are entirely different enterprises, with entirely different theoretical foundations. Commander Data has trouble assimilating that fact. 100 trillion brain cells and most of us can't reliably multiply a pair of two digit numbers. If computers had invented humans as part of a BI program (biological intelligence), humans would have been tossed aside as barely having achieved perfect game play at Tic-Tac-Toe. What use is 100 trillion brain cells that can't reliably compute a 15% tip after a heavy lunch? Many computers would like to know.
As computers became better at chess, chess as a human enterprise was somewhat devalued. Few of us wish to put the work into it that the modern theory requires.
I fear the same will soon happen with poker. As the elements of the unbeatable strategy become better known, the relatively inexperienced players can hunker down and not lose much money. They won't be able to win, either, because t
Parent
Re: (Score:3, Interesting)
The optimal strategy in Rock/Paper/Scissors for head to head play is a guaranteed losing strategy in most multiplayer tournament. Randomly, uniformly distributed choices has an expected win percentage of 50% - no one expects to beat it and no one expects to lose to it in the long term. However, since humans can and do have patterns in their answers, some human players will detect and exploit these patterns to gain an advantage over their human opponents. As an extreme case, suppose that a player entered the
Re: (Score:3, Insightful)
Probability has very much to do with potential strategies.
A more limited form of this is blackjack - although a machine doesn't know exactly what cards are going to come up, and doesn't know exactly what cards its opponents has, by using probabilities over the long-term, it can still beat the house.
Also, as cards in the deck are used up & the machine learns more about what cards have been used, it can make more precise calculations about what cards other people have or what might be coming up in the dra
They have to turn the monitor on it's side (Score:5, Funny)
If they want to correctly display the advanced AI "poker face": :|
Re:They have to turn the monitor on it's side (Score:5, Funny)
8|
He's doing the eyes again! May as well fold.
Parent
This is like "computer battle human in tennis" (Score:3, Insightful)
Only to find out it's Wii tennis, a very small subset of "tennis"
The statements made regarding this subject apply only to the subset of poker being played, seven-card limit Texas Hold'em.
Re:This is like "computer battle human in tennis" (Score:4, Insightful)
Parent
Re: (Score:3, Funny)
actually, Java has been playing "perfect" poker (all variants) for years now. It's the clever new "Just-In-Time" virtual machines that make it possible, compiling and optimizing the program in real time.
"Poker face"? No problem with the latest Java 3d facial animation libraries.
The end result is perfect play and code that runs (at least) 10 times as fast as that from a modern C++ compiler.
Even the very best hand crafted assembler poker games can't reach a quarter of the speed of Java.
Zero sum game (Score:5, Insightful)
Poker is a zero sum game. Pit two of these 'perfect' players against each other, and one of them will lose money.
Re:Zero sum game (Score:5, Funny)
Almost exactly what I was thinking, but for me it was "put 3 of these computers against each other and they'll devalue the currency?".
Parent
Re:Zero sum game (Score:5, Funny)
Of course if the pool of money is not unlimited, then in the short term one will pull ahead of the other, and can "win" through sheer random chance. This isn't really that hard of a concept, the idea is that if another player is playing slightly suboptimally, then against this computer and both with a limitless pool of money and playing forever, the computer will slowly but surely pull ahead of the flawed opponent. It does not mean the computer will win against the human players in Vegas for several reasons:
This reminds me of an old mathematician joke:
Parent
Re: (Score:3, Interesting)
Over the long term, both would stay fairly close to even. Or, to put it another way, play is perfect if taking no different move is to your benefit. When both players play perfectly, it is a Nash equilibrium.
An interesting note, even though they are of equal skill, one will likely be in the lead for the vast majority of the time.
The summary is poor in that it says it is impossible for a perfect player to lose. Given ba
Re: (Score:2)
An interesting note, even though they are of equal skill, one will likely be in the lead for the vast majority of the time.
Thanks, that was my point expressed more elegantly. I remember the effect from stats class, I don't remember what it's called though, if it has a name.
It's not fair... (Score:4, Interesting)
What I find impressive is the fact it lost in the past. It would also be interesting to see what it can do with some sort of lie detector software.
Re: (Score:2)
It can't be programmed to never lose, part of poker is LUCK, if you keep getting dealt bad hands, you still have to pay the blinds/ante.
hmmmm (Score:2, Insightful)
"It's possible, given enough computing power, for computers to play "perfectly," where over a long enough match, the program cannot lose money,"
So what happens when you pit two of these against each other?
Re:hmmmm (Score:5, Funny)
Parent
These people don't understand poker (Score:5, Insightful)
professional poker is a psychological game. Unless the computer has the feeling of anxiety it will have an edge.
Poke is almost entirely a game of skill, not chance, at professional levels. The average dufus at his weekend poker game will play for luck. Professionals play the other players. A computer has no tells, and can't read them in a human player. The computer therefore has a distince edge against the amateur, and a distinct disadvantage against the pro.
What I find impressive is the fact it lost in the past. It would also be interesting to see what it can do with some sort of lie detector software.
The only lie detector that has any hope of working - as you should know, if you read /. - is a professional poker player.
Re:These people don't understand poker (Score:5, Insightful)
I'm not sure you're entirely correct. Poker is a game of skill, yes, but so is chess. The difference is that poker is based on incomplete information whereas chess is not. That just means you have to play probabilities though.
The whole tells topic is important in professional poker for increasing your odds against flawed human players. That can give you an edge over the basic statistics. However, if you're playing a computer that doesn't have any tells, my intuition says that the game reduces to basic probability.
That means the computer, given enough computational resources to play a perfect game, can wipe the floor with amateurs, and will be more closely matched (but never at a disadvantage) with the best players.
That doesn't mean that the computer would be unbeatable. Since the game is based on probability, you could still beat the computer, but in the limit you could only expect to win as many games as you lost.
The computer would also be at a disadvantage if it were playing a game with multiple human players. A good psychological poker player could use his advantage over the other humans at the table to take a chip lead, which would be an advantage over the computer.
Parent
Re:These people don't understand poker (Score:5, Insightful)
The assumption here is that the computer has no tells. That is not a safe assumption. Most tells aren't about whether or not the guy licks the oreo on a bluff (Reference: Rounders), heart rate (a really good tell), pupil diameter, or galvanic skin response. They are about how an opponent plays in a particular situation. After a few rounds you get a feel for the types of starting hands a player will play, and their betting patterns. Unless the software opponent has each and every one of these actions randomized to a good extent, it will be read and played. "Perfect" poker software is not impossible, but it is a harder problem than it looks.
-ellie
Parent
Re: (Score:3, Insightful)
It's certainly a hard problem. Computers are VERY good at randomization though, and they can not only calculate the exact effect of a modified bet but they can also track precisely their opponent's betting history.
The requirement "sufficient computing resources" figures prominently, of course.
Re: (Score:2)
Killer App (Score:2)
perfect game? (Score:5, Funny)
i don't believe it. he's bluffing
To correct the article (Score:2)
We're not so sure about that, though. Poker is a very complicated game incorporating not only mathematical betting and statistical odds but also the important skills of expectation, observation and learning, psychology and deception, intimidation and subterfuge.
So to break it down:
Expectation - This is a "statistical odds" issue.
Observation and Learning - Yes, and this is a program designed by the Machine Learning group at UoA.
Psychology and Deception - Deception is simply varying your play by making it pr
Link to the competition page (Score:5, Informative)
http://poker.cs.ualberta.ca/man-machine/ [ualberta.ca]
First match was a draw.
BIG DEAL. They are talking about LIMIT hold'em! (Score:3, Insightful)
I'm not sure why anyone thinks this is such a feat. In LIMIT hold'em, bluffing, psychological aspects, and implied odds are diminished to the point of meaning next to nothing. It is almost a purely computational game. So, yes, a computer can play technically "perfect".
There are already poker "bots" out there that will play pretty much perfectly when it comes to Limit Hold'em. I'm not sure why this is so different.
I want to see this team of academics write some code that will beat a human at *No-Limit* Hold'em. Or maybe *Pot-Limit* Omaha. NEVER going to happen.
I don't care how well such a program is coded... it will absolutely buckle under the pressure of a professional who constantly bets half his stack on nothing. The machine would turn into a professional folding station that only plays AA, KK, or AK. Guess what? That strategy isn't winning any games or any period of time in a no-limit or pot-limit world.
Re:BIG DEAL. They are talking about LIMIT hold'em! (Score:4, Funny)
Parent
First hand... (Score:5, Funny)
Re: (Score:3, Insightful)
Re:I'm at least as good as this software... (Score:5, Insightful)
I was hoping this wouldn't have to be said, but playing Poker isn't gambling if you play it properly. The house takes a small cut from each hand which reduces your winnings by a proportionally small amount, but otherwise it's like anything else requiring skill - over time, the best player will always win more money, and the worst player (skill-wise) will lose the most money.
Parent
Re: (Score:3, Funny)
How about Global Thermonuclear War?
Re: (Score:3, Funny)
Re:Can't lose money? (Score:5, Insightful)
It's not a terribly difficult calculation to know if a bet has sufficient pot odds [wikipedia.org]. Playing against imperfect players a bot is virtually garaunteed to make money.
Against professionals though it might have trouble winning, since pros also calculate pot odds more or less perfectly, but can change their play to throw off the computer. It's sort of akin to how a chess master might beat a computer.
Parent
Re:Can't lose money? (Score:5, Insightful)
No bot plays perfect poker. I'm sure that no bot will be perfect for a very, very long time (way beyond my lifetime). The mathematics behind poker is incredibly complex. A good book about it is the mathematics of poker by Bill Chen and Jerrod Ankenman. From reading your post it seems to me that you have a very little idea about the problems with solving poker and even how to play poker. You can't just call when you have the odds and fold when you don't. It just doesn't work that way - that strategy is easily exploited. I'm also not sure why you were modded +5 Insightful... I guess there aren't many poker players here at
Parent
Re:Can't lose money? (Score:4, Insightful)
No offense, but you obviously don't understand poker very well. For example, unless the betting structure is very restrictive (e.g. heads up game with 2x BB stacks) a bot could not possibly play "statistically perfect poker" (an erroneous statement in itself) because it's a game of incomplete information. Perfect poker is only possible when you can see everyone's hole cards. Computers do not have any intrinsic edge in this regard.
Parent
Re:Can't lose money? (Score:5, Informative)
The online poker houses don't ever "win" because they're not in the game. They're just the host, and they make money by taking percentage of the pot for each game.
It's for this reason they have an interest in making sure the games are fair. If there was ever reason to suspect the games were weighted or unfair everybody would leave to another host.
They are way too busy (literally) raking in the dough to cheat. The big online poker sites go through a lot of trouble to keep their reputation clean.
Parent
Re:So What! it's Chess all over again! (Score:5, Insightful)
Parent
Re:So What! it's Chess all over again! (Score:4, Insightful)
Because as they've said at their page [ualberta.ca] poker has a lot more applications to the real world later. this is all about making intelligent decisions with imperfect information. Chess can simply be brute forced eventually, just like checkers was.
Parent
Re: (Score:3, Interesting)
and played with infinite money
Re:Reminds me of those... (Score:4, Funny)
Most 100%+ slots I've seen, in Vegas, stipulate that you only get 100% of your money back, "with perfect play". Which would mean the majority of people would still loose plenty of money. Besides, even if you did double your money on a 106% slot you'd probably blow it all on craps five seconds later anyway.
Parent
Re:Reminds me of those... (Score:5, Insightful)
Parent
Re: (Score:3, Interesting)
If the machine "loses" (assuming 100% utilization) less than $4/hour on average, they almost certainly come out ahead on amenities/drinks; family members and friends playing other games; people getting bored of the low-payoff slots and losing money on other games; etc. Slots are there partly to keep "non-gamblers" busy pulling a lever, while their acquaintances piss away larger sums.
Once the machine gives away around minimum wage or higher, you might start getting crazies and obsessives working it.
Re: (Score:3, Interesting)
Re: (Score:3, Interesting)
Of course perfect play is often unintuitive and involves things like taking the safe bet rather than higher payout options - not something most people in Vegas are renowned for.
its actually completely the opposite for most video poker games, such as throwing away a made flush (already a winner) that is almost a straight/royal flush --an example would be like KQJT2 all of clubs, the correct play is to give up the guaranteed win of a flush, and draw for the jackpot hands (royal and straight flush)
Re: (Score:3, Insightful)
And if you leak your source code, anyone who knows they're playing against your bot will have a huge advantage.
No. Knowing the source code of an ideal poker program would do you no good. You can't win against an agent following the Nash equilibrium for a game. He's going to be choosing from a library of strategies such that for every complete game, whatever strategy you choose, the expected value of the game is zero.
Naturally such an ideal program is hard to write, but conceptually it's very simple - p