Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Software Games Entertainment

Poker Program Battles Humans In Vegas 312

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.'"
This discussion has been archived. No new comments can be posted.

Poker Program Battles Humans In Vegas

Comments Filter:
  • Tell (Score:5, Funny)

    by illumastorm ( 172101 ) on Thursday July 03, 2008 @05:10PM (#24050889)

    When it's bluffing, it blinks twice.

  • by TornCityVenz ( 1123185 ) on Thursday July 03, 2008 @05:12PM (#24050917) Homepage Journal
    I'd love to see one of the guys slick at handleing cards, slip a couple extra aces into the deck, or the like. Would the program adapt? Draw a laser and call him a no good sack of mostly water?
    • The Pros will still win, because the Pros have more information than the computer, if the computer is always playing optimally.

      That's what makes the Pros pros. People who play mathematically optimum poker lose, because they are ignoring the information that is important: What cards does the opponent have?

      In fact, I'd wager (hah!) that a computer playing mathematically optimum poker is at a disadvantage, as it makes it much easier for a Pro to determine what cards the computer has.

      • by vikstar ( 615372 ) on Thursday July 03, 2008 @07:24PM (#24052515) Journal

        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.

      • by JMZero ( 449047 )

        Pros may have an advantage against other humans (that they could read) but they wouldn't have any information advantage against an ideal computer player.

        You have to understand: the ideal computer would not be predictable - it wouldn't always be choosing some "optimal" move in each situation. Rather, it would choose strategies probabilistically such that there is no strategy that would win against it over many hands.

        Poker is complicated, but it can still be solved as a zero sum game [wikipedia.org] treating every possible

      • No. You are assuming that an optimal strategy would be deterministic. In fact it will be a mixed (probabilistic) strategy. The random mixing prevents the other side from determining your cards and style of play with high enough odds to beat you.

      • Re: (Score:2, Insightful)

        by edmazur ( 958154 )

        People who play mathematically optimum poker lose, because they are ignoring the information that is important: What cards does the opponent have?

        Who says they're ignoring their opponents' cards? There's more to making optimal decisions than your own cards. I think the general idea is that while you cannot know exactly what your opponent is holding, you can put them on ranges of hands with certain probabilities and then factor that into your calculations. You could say for example that your opponent has a high pocket pair with 40% probability, a drawing hand with 25%, trips with 5%, and garbage with 30%. From there, it's a relatively straight-for

      • by teh moges ( 875080 ) on Thursday July 03, 2008 @08:27PM (#24053231) Homepage
        This is a very ignorant view of what optimal play means. The standard example is Rock-Paper-Scissors (RoShamBo). If I play perfectly randomly, and I tell you that I am going to play perfectly randomly, there is exactly nothing you can do to beat me in the long run. This concept can be extended to poker (and all two player zero-sum games). For a computer to play truely optimal means that it can give you its exact strategy before the match and you still won't be able to beat it. A mathematically optimal play is still the same regardless of what the opponent has. Truely optimal play hides the true nature of the hidden cards from being able to be predicted by the opponent. If, by "mathematically optimum poker", you mean immediate pot odds, then you are right. Its easily beatable, however that is certainly not what mathematically optimal poker is. I suggest reading "The Mathematics of Poker" (http://www.amazon.com/Mathematics-Poker-Bill-Chen/dp/1886070253), it will absolutely change your mind into how mathematics can be used.
        • by epine ( 68316 ) on Friday July 04, 2008 @12:01AM (#24054899)

          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

        • Re: (Score:3, Interesting)

          by bwt ( 68845 )

          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

  • by StaticEngine ( 135635 ) on Thursday July 03, 2008 @05:12PM (#24050919) Homepage

    If they want to correctly display the advanced AI "poker face": :|

  • by D.McGuiggin ( 1317705 ) on Thursday July 03, 2008 @05:14PM (#24050959)

    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.

    • Limit hold'em? No wonder they can write a computer program to play perfectly. Let's see them do no-limit and make the same claim.
      • Re: (Score:3, Funny)

        by Anonymous Coward

        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.

        • Re: (Score:2, Funny)

          Even the very best hand crafted assembler poker games can't reach a quarter of the speed of Java.

          Speed of Java!?! Don't make me laugh. Java has, and will always be slower then assembly.

          • Well trolled, sir.

            As I'm sure you know, the language (be it assembly, Java, C, etc.) doesn't matter. What matters is how well the compiler optimizes, since everything gets turned into assembly anyway.

            By your comment and the context you are claiming that writing a program in hand-coded assembly is faster than writing the same program in Java and that this is true for all programs. That, sir, is one of the most asinine things I've ever heard. Hardly ever does even an expert assembly programmer do better th

          • by vikstar ( 615372 )

            Hehe, looking at all the posters replying to this, I guess they missed the joke. Java was slow at the beginning, but now it has spead up tremendously, sometimes even beating C++ at certain things. Parent has projected the "Java is slower than C++" that used to be so prevailent, and moved the bar up to "Java is slower than assembly"... making a joke that Java will never stop beating the languages that people say are faster than it.

        • Oh, yes, whatever. BTW, Common Lisp compilers have been able to compile code generated at run-time into native machine code for the past two decades.

          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.

          You need to take off those pink Java glasses. Unless you are truly trying to benefit from JIT optimization, e.g., by generating a genetic algorithm and

      • Don't act like limit and no-limit require different amounts of skill.. Most would go the opposite of what you're implying.

        "No-limit? Hah, go all-in when you are likely to have the best and hope it holds up, that's not skill. Let's see them make it play limit/pot-limit."
  • Zero sum game (Score:5, Insightful)

    by Hatta ( 162192 ) on Thursday July 03, 2008 @05:16PM (#24050975) Journal

    Poker is a zero sum game. Pit two of these 'perfect' players against each other, and one of them will lose money.

    • by pbhj ( 607776 ) on Thursday July 03, 2008 @05:19PM (#24051005) Homepage Journal

      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?".

    • by jandrese ( 485 ) <kensama@vt.edu> on Thursday July 03, 2008 @05:32PM (#24051203) Homepage Journal
      I think the point is that two of them facing off would end up with just as much money as they started with over the long run.

      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:
      1. The pool of money is limited (and fairly small)
      2. The playtime is finite and also fairly small
      3. Human players can walk away from the table if they get a short term advantage (quit while you are ahead), I'm guessing the computer program doesn't do that

      This reminds me of an old mathematician joke:

      One day this guy is finally fed up with his middle-class existence and decides to do something about it. He calls up his best friend, who is a mathematical genius. "Look," he says, "do you suppose you could find some way mathematically of guaranteeing winning at the race track? We could make a lot of money and retire and enjoy life." The mathematician thinks this over a bit and walks away mumbling to himself.

      A week later his friend drops by to ask the genius if he's had any success. The genius, looking a little bleary-eyed, replies, "Well, yes, actually I do have an idea, and I'm reasonably sure that it will work, but there a number of details to be figured out.

      After the second week the mathematician appears at his friend's house, looking quite a bit rumpled, and announces, "I think I've got it! I still have some of the theory to work out, but now I'm certain that I'm on the right track."

      At the end of the third week the mathematician wakes his friend by pounding on his door at three in the morning. He has dark circles under his eyes. His hair hasn't been combed for many days. He appears to be wearing the same clothes as the last time. He has several pencils sticking out from behind his ears and an almost maniacal expression on his face. "WE CAN DO IT! WE CAN DO IT!!" he shrieks. "I have discovered the perfect solution!! And it's so EASY! First, we assume that horses are perfect spheres in simple harmonic motion..."

    • Re: (Score:3, Interesting)

      Pit two of these 'perfect' players against each other, and one of them will lose money.

      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

      • by Hatta ( 162192 )

        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.

    • By well titted cocktail waitresses handing out free drinks.
  • It's not fair... (Score:4, Interesting)

    by Thelasko ( 1196535 ) on Thursday July 03, 2008 @05:16PM (#24050981) Journal
    professional poker is a psychological game. Unless the computer has the feeling of anxiety it will have an edge.

    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.
    • These are not the cards you are looking for...
      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.
    • professional poker is a psychological game. Unless the computer has the feeling of anxiety it will have an edge.

      Well some might say that at a high enough level anxiety and tells just don't come into it, and professional poker isn't psychological at all. I don't think Brunson/Greenstein/etc get many nervous twitches (and I don't think you need to get to nearly that high a level before you reach that point)

  • hmmmm (Score:2, Insightful)

    by v_1_r_u_5 ( 462399 )

    "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?

  • by taustin ( 171655 ) on Thursday July 03, 2008 @05:22PM (#24051057) Homepage Journal

    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.

    • by ceoyoyo ( 59147 ) on Thursday July 03, 2008 @05:57PM (#24051513)

      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.

      • by ElizabethGreene ( 1185405 ) on Thursday July 03, 2008 @06:14PM (#24051709)

        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.

        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

        • Re: (Score:3, Insightful)

          by ceoyoyo ( 59147 )

          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.

    • Comment removed based on user account deletion
    • Poke is almost entirely a game of skill, not chance, at professional levels.

      Come on.. no professional player will ever claim that they could ever guarantee a win against a player of lesser skill.

      It's a game of skill in the long run, but for the timeframe of individual games it's very much a game of luck, and any pro will tell you this.

      You might as well say Roulette isn't a game of chance; after all in the long run the casino is a sure winner.

  • Best application of AI ever
    • Software is actually at a disadvantage when it comes to playing poker at the professional level. A person can infer when another player has a read on her and adjust play to neutralize or take advantage of the opponent's confidence. This all becomes quite fuzzy and recursive when you try to emulate it in software. Sort of like the princess bride. "I know that you know that I know that you know that **TTL EXPIRED IN TRANSIT"

      At the cheaper blinds though a software application could easily make money. I am

    • The guy heading this thing up is Jonathan Schaeffer. He wrote the Chinook program that was the draughts(checkers to you and me) championship. So there are some heavy hitters behind this thing.

  • i don't believe it. he's bluffing

  • 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

  • by tansey ( 238786 ) on Thursday July 03, 2008 @05:35PM (#24051247) Journal

    http://poker.cs.ualberta.ca/man-machine/ [ualberta.ca]

    First match was a draw.

  • by javabandit ( 464204 ) on Thursday July 03, 2008 @06:07PM (#24051637)

    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.

    • by tommeke100 ( 755660 ) on Thursday July 03, 2008 @06:20PM (#24051777)
      AK? That's Called an Anna Kournikova...She looks good, but never wins ;-)
    • by bnenning ( 58349 )

      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.

      It's certainly harder, but I wouldn't say never. In some scenarios it might not be too hard to beat an average human, like having the AI buy in short and try to get all in preflop or on the flop.

      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.

      Maniacs wh

    • 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.

      This team of academics has written poker bots that play no limit and pot limit poker, and the bots are fairly decent at it. Doing a half stack bet frequently will most likely end up with the professional being busted out.

      The same techniques would work for pot limit omaha. The only difference being that pot limit omaha is a bit more combinatorially complex.

      LetterRip

    • by foxtrot ( 14140 )

      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 still exists a psychological aspect to a limit hold'em game, particularly at higher stakes.

      But even at a 3-6 or a 4-8 table, I find a chance for a bluff oh, about once every four or five hours. It's not a big aspect of the game, but it's

  • '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.'"

    Impossible.

    Here's why. Put four of these at the same table with no humans.

    Someone will *have* to be the loser.

    • Re: (Score:2, Funny)

      by sjhs ( 453964 ) *

      Someone will *have* to be the loser.

      You're assuming the game actually ends. But we know that computers are prone to infinite loops :-p.

  • You Bluff.

    You have been eaten by a Grue.

    You die.
  • '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.'" I don't think this statment is accurate. In poker there is no such thing as playing perfectly, you are in the end always left to chance to some extent. How could the above statement be true if it were pitted against several copies of itself? There is no way they could all play perfectly, if one is in the lead it means al
  • I play good enough Poker that I can take down money off of regulars at online poker sites(I've trained for thousands of hours), and I've toyed with programming poker bots. Even with a program that plays "perfect" Poker, it isn't guaranteed to even finish in the money. Look at this obvious situation: Poker bot gets "AA" in the beginning of the tournament, Joe Blow gets "KK", they both raise and re-raise each other until they're both all in. The pokerbot made the right play, and Joe Blow can't be faulted m
    • Make that hundreds of hours, not thousands. You know what I concluded from playing a lot of Poker? It is a waste of time even if you make money. You haven't helped the world out by doing anything. You just took the right to use more resources.
    • by Surt ( 22457 )

      Note that you specified a scenario involving all in at the beginning of the tournament, while the article specifies a perfect poker bot for limit games only.

    • Re: (Score:3, Insightful)

      by JMZero ( 449047 )

      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

  • by Hossicle ( 945360 ) on Thursday July 03, 2008 @06:49PM (#24052113)
    If I was playing a computer on the first hand I would go ALL in (and do it blind). ...program would hopefully calculate my SIZE_OF_BALLS() variable as an out of bounds condition and give up. If that didn't work at least I'd be done and could go back to drinkin' in the casino bar.
  • If the machine wins, the maker will get a military contract, then get killed by some hot terminator chick and a crazy woman named Sarah Connor.

    Wait... I've seen this before.

For God's sake, stop researching for a while and begin to think!

Working...