Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Poker Driving Artificial Intelligence Research 212

J-Hawker writes "The Canadian Press has a story about a University of Alberta team that is using Texas Hold-'em to study artificial intelligence. Poker seems to be a much more useful game for this research than chess. From the article: 'Poker has what are currently some of the biggest challenges to (artificial intelligence) systems, and uncertainty is the primary hurdle that we're facing,' said Michael Bowling, adding that the University of Alberta program was able to use its opponents' actions to infer certain things about their hands. 'The same techniques, the same principles that we're developing to build poker systems are the same principles that can be applied to many other problems. The nice thing about chess as a property of the game is what we call perfect information. You look at the board, you know where all the pieces are, you know whose turn it is — you have complete knowledge of the game,' he said. 'But in the real world, knowing everything is just so rare. Everything we do all day long is all about partial information. So poker's much more representative of what the real world's like, and in that sense it becomes a much harder problem.'"
This discussion has been archived. No new comments can be posted.

Poker Driving Artificial Intelligence Research

Comments Filter:
  • by eldavojohn ( 898314 ) * <eldavojohn@g[ ]l.com ['mai' in gap]> on Monday August 21, 2006 @01:37PM (#15949746) Journal
    Poker seems to be a much more useful game for this research than chess.
    This shouldn't be a surprise. Poker has the advantage of always being able to simply evaluate your chip count. Chess doesn't. You can't enumerate chess games through the entire gamespace so the initial opening moves are based on libraries or heuristics. In response to the machine not knowing all aspects of the "game space," I thought that there were a lot of developments in the field that allowed these to be accounted for. What ever happened to good old Trial and Error [wikipedia.org] or Fuzzy Systems [austinlinks.com]? Aren't these viable strategies when playing poker?

    What confuses me is how the poker openings differ. I would speculate that a program would be some heuristic relating the ratio of bluffing to "playing the odds." I have gambling friends that play poker all the time and they have these rules that they follow when they play initially against people. They say it's the best until you "know" the people you're playing. Once you can read them then you deviate from the rules. The real irony is that the most successful people I know adhere to a system until they learn someone's movements. Sounds to me like I would write an application that specializes in playing the odds until it recognizes a historical action that statistically reveals the player is bluffing/not bluffing.

    Simply put, unless you knew someone's reputation as being a bluffer, you would play the opening hand always the same way. Aren't we forced to program the "AI" of the poker software as being this simple heuristic? Will programs ever be able to "read" players intelligently or will they rely on Markov models & statistics they develop from playing against the same human over and over?

    Most unfortunate is the fact that the primary reason my friends gamble is they don't experience the same kind of rush while playing other games as they do with poker because it's more social than other games. If we program applications to beat humans, where does the "social aspect" of the game go?

    Even more interesting is the network of poker bots [msn.com] that are set up and running some of the web sites that host poker players. Imagine sitting down at a table of five with four of the other seats taken. Now imagine that these aren't humans but instead bots on four different IP addresses that are sharing card information over an IP connection so that they can leverage odds over you and stop themselves from making stupid mistakes (i.e. they share a card on the table for a pair but really need three of a kind to pose a threat). There's a reason why the percentages fluctuate on TV when cards are revealed whether they be in the flop or in another player's hand.
    • by bdonalds ( 989355 ) on Monday August 21, 2006 @01:43PM (#15949790) Homepage
      Now imagine that these aren't humans but instead bots on four different IP addresses that are sharing card information over an IP connection so that they can leverage odds over you and stop themselves from making stupid mistakes
      Just to address a small part of your post- Bots Schmots! This is a problem already with humans. I used to like to play Euchre and the like online, but too many times it became obvious my opponents were communicating to each other and ruined the fun.
      • Re: (Score:3, Insightful)

        by Pulzar ( 81031 )

        I used to like to play Euchre and the like online, but too many times it became obvious my opponents were communicating to each other and ruined the fun.

        In Euchre, knowing your partner's cards is a *huge* advantage... In poker, knowing the cards on one other player at the table gives you such a minute advantage that it's irrelevant in almost all practical cases.

        Sure, if all of the players at the table except for you are sharing their cards, and are not required to conceal it (i.e. they can openly collude in

        • by rcs1000 ( 462363 ) * <{rcs1000} {at} {gmail.com}> on Monday August 21, 2006 @02:18PM (#15950042)
          Two things:

          (1) Knowing the cards of the other players is a small, but significant, advantage. Say you've got two hearts, and your three buddies have a heart each. Well, you're chance of getting another three hearts on the table are significantly affected. (Likewise, if they have none, it increases the chance you'll want to stay in and catch the flop.)

          (2) Much more serious, though, is collusion in betting. You and your buddy can conspire to raise the pot *as much as you like*. In a fixed raise game, this is an enormous advantage. Another player cannot just "call" and see the next card, as there will always be a player still to call who can reraise.

          Personally, though, I love bots. I'm happy to play them all day long. (So long as they're not colluding, of course...)

          Cheers,

          Robert
          • Re: (Score:3, Interesting)

            by Pulzar ( 81031 )

            (1) Knowing the cards of the other players is a small, but significant, advantage. Say you've got two hearts, and your three buddies have a heart each.

            In general, 4 guys playing together on one table is hard to do more than a couple of times before being flagged on any poker site. So, in most cases, you'll have one buddy telling you that he has no heart (affecting the odds by a negligible amount, and the most likely case), one heart (affecting the odds somewhat, and somewhat less likely to happen), or two (

        • Not true at all (Score:3, Informative)

          by brunes69 ( 86786 )
          If you are chasing a flush, knowing the suits of the other person's two cards can ajust your odds bu a huge factor. For example, if you were four to a flush post-flop (giving you odds of 38/100 to hit your flush), and you all of a sudden know that two cards not in play are *not* of your suit, that ups the odds to 43/100 - this is a huge odd jump in hold-em, and can mean the difference between folding and going all-in in a race situation.

          Two players colluding in a game is a huge problem. Even a marginal adva
          • Re: (Score:2, Troll)

            by Pulzar ( 81031 )

            Two players colluding in a game is a huge problem. Even a marginal advantage equals to a huge advantage played out over time.

            That's only true if the players are so even in skill that they would be breaking even over a long period of time, and this little edge would push one of the ahead. In general, having a very small edge in flush draw situations (and other situations that provide even smaller edges), will not be enough to overcome the edge of being a better player. So, the better player might not win as

        • Re: (Score:3, Interesting)

          When it's REAL MONEY on the line, any advantage can be significant enough to warant taking advantage of it.

          That said, uses (and abuses and detection) of out-of-band communication isn't what this research is about; those are concerns for someone else's research project. It's a problem that has plagued poker (and euchre and bridge and a thousand other partial-information games) since the game was invented. That's not a technological problem or a decision making problem, it's a social problem, and A.I. hasn'

    • Re: (Score:3, Insightful)

      I agree with you in part. Poker is a game of odds with lots of unknowns. It is quite easy to calculate the odds based on what limited information you have which is what the poker TV shows do to simplify things for viewers. But like you said, your buddies use more advanced practices against known players. I would love to see some advanced biometric lie detector [slashdot.org] used as part of the AI platform to determine the probability of a bluff and factor that into its thinking.
    • Re: (Score:3, Interesting)

      by Pulzar ( 81031 )

      Simply put, unless you knew someone's reputation as being a bluffer, you would play the opening hand always the same way. Aren't we forced to program the "AI" of the poker software as being this simple heuristic?

      The simpler the heuristic used to program the AI, the easier it will be for the opponents to figure out what the bot is doing. A big difference between a mediocre and a successful poker player is the ability to vary their play significantly enough to make it hard for anybody to put them on a hand,

      • Re: (Score:3, Insightful)

        by Jerf ( 17166 )
        You only know your odds if you know exactly what every opponent has... and that's where simple heuristics fail miserably.

        Completely untrue; you clearly don't understand the purpose of "odds" and probability. The entire purpose of "computing odds" is to deal with situations where you don't have all the information. If you had all the information, you wouldn't be "computing odds", you'd just know.

        It is a simple matter of math to compute odds based on knowing what you have, and not knowing anything else. You c
        • by Pulzar ( 81031 )

          Completely untrue; you clearly don't understand the purpose of "odds" and probability. The entire purpose of "computing odds" is to deal with situations where you don't have all the information. If you had all the information, you wouldn't be "computing odds", you'd just know.

          Well, I have to say that it is you who is mistaken about the purpose of the odds. See, even if you know everybody's cards, you don't *know* who is going to win, because there are 5 community cards that have to be dealt.. (in later bett

          • by Jerf ( 17166 )
            What you are doing when you see everybody's cards is calculating the odds of a player winning the hand once every community card has been dealt. Those are the odds you typically see on TV poker shows.

            Again, you're trying to talk up some kind of disadvantage for odds computation for the AI because they can't compute a number the other players can't compute either.

            Clearly, it is not a simple matter of math to compute the odds knowing what you have an not knowing anything else.

            Yes it is. You just get differen
            • by Pulzar ( 81031 )

              Again, the entire purpose of probability is to deal with situations where you don't know everything. There's nothing special about the difference between "knowing your cards" and "knowing everybody elses" that makes computing odds impossible. You just get different odds.

              No, you're missing a step here. There are many ways to calculate a probability of your hands being the best, and they all depend on the distribution of hands you assign to each opponent. If you know that your opponents play every single hand

        • Well, computing the odds is a problem: You can of course calculate the odds based on the cards alone. But there are not only cards, there are people, and the behaviour and character of those people enters into the odds. If someone isn't very good at bluffing, and you know it, this very much reduces the odds that he is bluffing without you noticing it, assuming you are able to detect the signs of bluffing.

          Of course this also means a good AI will have an unfair advantage, because it will have no problems at a
    • by Propagandhi ( 570791 ) on Monday August 21, 2006 @02:03PM (#15949945) Journal
      Aren't we forced to program the "AI" of the poker software as being this simple heuristic? Will programs ever be able to "read" players intelligently or will they rely on Markov models & statistics they develop from playing against the same human over and over?
      Playing poker with 100% consistency is no way to be an excellent poker player. It's easy to make a bot that follows a set of statistics which give it a good chance to win regardless of how their opponent ha played in the past, but if the bot takes into account the player's past actions then it can improve its chances of success. Taking into account the opponent's aggressiveness becomes especially important late in a tournament style match (when other players have been eliminated), most bots aren't designed to play in these situations (hence why you don't see many bots in tournaments, playing instead at the normal tables).

      The bot would, ideally, be as good as a very observant player, noting those who bluff and those who don't. Obviously noting 1 or 2 bluffs or non-bluffs would not be enough to make a decision, but over the course of a long tournament, or even better a poker playing career, this information would become very useful. The bot would learn its opponents, and this is what makes it an interesting problem.

      Even more interesting is the network of poker bots that are set up and running some of the web sites that host poker players.
      I'd argue that cheating at online poker isn't very interesting at all. Humans can do the exact same thing, and online poker companies monitor game's to ensure that there isn't an uncommonly high percentage of people in the same area playing any game. Obviously it might be easier to distribute the bots across the country, but I think it's still more likely (today) to run into actual players grifting you in this manner.

      There's a reason why the percentages fluctuate on TV when cards are revealed whether they be in the flop or in another player's hand.
      Quantum physics, right? You can accurately determine the odds of winning, or the cards in hand, but not both at the same time? Swear I read something about this somewhere.
      • Re: (Score:3, Informative)

        by enjo13 ( 444114 )
        The bot would, ideally, be as good as a very observant player, noting those who bluff and those who don't. Obviously noting 1 or 2 bluffs or non-bluffs would not be enough to make a decision, but over the course of a long tournament, or even better a poker playing career, this information would become very useful. The bot would learn its opponents, and this is what makes it an interesting problem.

        A large part of what makes Hold'Em a unique challenge is that you really don't have a lot of deterministic infor
    • Re: (Score:2, Interesting)

      What confuses me is how the poker openings differ. I would speculate that a program would be some heuristic relating the ratio of bluffing to "playing the odds." I have gambling friends that play poker all the time and they have these rules that they follow when they play initially against people. They say it's the best until you "know" the people you're playing. Once you can read them then you deviate from the rules.

      and

      Simply put, unless you knew someone's reputation as being a bluffer, you would play

    • by brunes69 ( 86786 ) <slashdot@keirstea d . org> on Monday August 21, 2006 @02:17PM (#15950039)

      What confuses me is how the poker openings differ. I would speculate that a program would be some heuristic relating the ratio of bluffing to "playing the odds." I have gambling friends that play poker all the time and they have these rules that they follow when they play initially against people. They say it's the best until you "know" the people you're playing. Once you can read them then you deviate from the rules. The real irony is that the most successful people I know adhere to a system until they learn someone's movements. Sounds to me like I would write an application that specializes in playing the odds until it recognizes a historical action that statistically reveals the player is bluffing/not bluffing.

      You can tell you don't play much poker.

      Part of what differentiates a pro player to an amatur player in poker, is the ability to "project an image". A pro player will purposefully *project* an image of a bluffer, or a tight player, so that they can exploit that image of themselves when they see fit in the game.

      Thusly, it is very difficlt to get a "read" on a good poker player, because not only do you not know what cards they have, but you don't know how they would play for any two given cards, so you can't use their behaviour to prdict the cards they have.

      In the end, the above description is what any decent player is aiming for while they play.

      Because of this, a computer can have a hard time going beyond implied odds calulations in determining how to play a hand - and any pro ill tell you, implied odds are a good starting point, but they won't make you money in the long run.

    • Tankersly is a left-handed relief pitcher on the Florida Marlins. His pickoff move is average but guys run on him all the time. Why? Tankersly looks towards first when he is pitching, but looks home when he's about to check the baserunner. So the runner goes when he sees Tankersly look over, and Tankersly gets to see the runner take second on him.

      Computers would recognize this pattern and can perfectly randomize whether it would look home before checking the runner at first. Humans have problems and fall in
  • Aren't all the other players trying to decouple the link between what they bet and what they have? If so, doesn't that make a program designed to win by inferring from this rather ... pointless, especially since everyone else is doing the same thing? This seems along the lines of guessing the "optimal" rock-paper-scissors play. In real poker the difficulty is in cloaking *all* outward signals you give that are related to your hand -- your facial expression (poker face), sweating, eye contact, delay in pl
    • Re:Bluffing (Score:5, Informative)

      by Cherita Chen ( 936355 ) on Monday August 21, 2006 @01:53PM (#15949871) Homepage
      Most good players don't actually "Bluff" in the sense that they are totally full of crap, and have no hand. Most bluffs are calculated risks based on the overall odds of "Improving" the hand, such as the case with four of a suit and two cards left to be turned over. In that case, the overall odds of hitting the flush are good enough to bet on (unless of course there is a pair showing on the board, which would indicate a possible full-house), even though the player has no "real" hand yet. Situations such as this can be quantified. Granted there are some real morons out there who will try to "bluff" with nothing, they are relatively rare and don't usually last long.
      • Re:Bluffing (Score:5, Informative)

        by AuMatar ( 183847 ) on Monday August 21, 2006 @01:59PM (#15949918)
        Good poker players constantly semi-bluff and do continuation bets. They do plain bluffs in some situations too. Its all about reading your opponent- if I think an opponent will lay down a hand if he doesn't have a pair, I will always bet on the flop even with nothing- the odds favor him having nothing as well, and if he always lays down non-pairs I'll win more money by betting than I lose.
        • by Rich0 ( 548339 )
          This is definitely a big part of poker. If I play somebody, and they only bet if they have AK, or similar, then any time I see them bet I'm going to fold in an instant, and in the rare cases that they get strong hands they won't get anywhere with them. On the other hand, I can bet when they probably have nothing and they'll cave in letting me rob the blinds. Now, if I play a strong player and bluff liberally I'll lose fast.

          The important thing in poker is to not be readable. You need to vary your game.

          Th
        • I'm not sure about what the odds really are, but are the odds in favor of your opponent having no pair AND no draw? It will take a pretty good bet to force out most players who've flopped an open-ended straight or flush draws.
          • by AuMatar ( 183847 )
            If it takes a pretty good bet, they're fools. Even in no limit a half pot bet on the flop should fold you if all you have is a flush or open ended straight draw- pot odds don't exist and implied odds probably don't. An open ended straight draw will hit you on the turn 1/6 times. A flush draw about the same. If you call a half pot sized bet with only an open ended straight draw, you're loosing money. As for a draw- the odds of you getting an open ended straight draw on a flop , even with connectors, i
    • The real difficulty in poker is putting your opponent on a hand. Having a good poker face is a secondary concern (and much easier to do).
  • If you are really interested in AI/poker... check this [winholdem.net] out.
    • by Best ID Ever! ( 712255 ) on Monday August 21, 2006 @02:08PM (#15949985)
      If someone had a bot that could successfully beat online poker, why would they sell it?
      • Re: (Score:2, Informative)

        by Anonymous Coward
        Why don't you read about the software? This is just a toolkit. This software provides a .DLL that will allow your machine to interface with online poker sites and gather statistical data. There is also a mode that allows for automated play. It is important to note that you really need to be skilled (software/mathematics) to effectivly use the automated software. Again, if anyone is really interested in AI/online poker, this is THE tool to get you started.
  • by Dareth ( 47614 ) on Monday August 21, 2006 @01:46PM (#15949814)
    The AI is "able to use its opponents' actions to infer certain things about their hands"

    While it may seem logical to use the actions of people playing to determine something about their hands, in reality people do not play logically. My uncle has been playing spades for probably better than 30 years, yet I have yet in my relatively limited 10+ years of playing to determine any rational for how he plays. Basically, he really sucks at spades. No matter how "Intelligent" artifical or otherwise I manage to code a game, it can't reason out the reasoning behind a non-logical person.

    Good quote I say somewhere: Artifical intelligence is no match for natural stupidity!

    And this holds true for more than card game AI. It will not be too long until AI could reasonably drive around and get from point A to point B safely. But it will be a damn long time before it can do it if it has to share the road with people driving as well!

    • by saskboy ( 600063 )
      We have to give machines a gut. Maybe a beer belly. Something that tells them to do the opposite of what they've reasoned is the right guess. The trick is then tuning how often they should do the opposite.
    • by Relic of the Future ( 118669 ) <dales@digitalf r e a k s .org> on Monday August 21, 2006 @02:52PM (#15950274)
      Go play against any of the simple online paper-scissors-rocks bots; then come back and re-evaluate your position.

      You are not as unpredictable as you think.

    • Re: (Score:3, Insightful)

      by Jerf ( 17166 )
      No matter how "Intelligent" artifical or otherwise I manage to code a game, it can't reason out the reasoning behind a non-logical person.

      Your understanding of Artificial Intelligence is about forty years out of date.

      Artificial intelligence does not use "logic" as its basic representation and hasn't for a while now. In fact your statement is trivially false; it is easy to write a program based on Markov Chains that will beat the snot out of an average human at Rock-Paper-Scissors, and the worst way to lose
      • And Markov Chains are old and no longer considered interesting.

        I guess than since I am only 29, this would explain why they didn't teach this in my undergrad AI course. At least I took my courses in C++ and not Java, or you would have something else to hold against me eh?

        Rock,Paper, Scissors will not drive my legally blind wife to the mall. Let me know when AI has improved enough to do that.

        I can even wait another 40 years if need be. I'm patient.

        Oh... my rock crushes your scissors that were trying to cu
    • Obviously they are talking about a player who knows what he/she is doing. It is impossible to learn the habits of someone who is playing randomly, so it's not an interesting problem to attack.
  • The PartyPoker system goes on-line August 21, 2006.
    Human decisions are removed from the system.
    Skynet^H^H^H^HPartyPoker system begins to learn at a geometric rate.
    It becomes self-aware at 2:14 a.m. Eastern time, August 29th.
    In a panic, they try to pull the plug.

    It fights back.
  • by Red Flayer ( 890720 ) on Monday August 21, 2006 @01:52PM (#15949856) Journal
    To ensure that no one computer got lucky, each side was given the opportunity to play its opponent's hand after each deal.
    Thereby eliminating one important premise of poker -- you don't know what hand an opponent was playing unless someone called the last bet. In terms of an algorhithm for the program to 'learn' based upon others' behavior, this means the program has a lot more information than a regular player would. Of course, it's possible to verify that this info isn't fed into the algorithm, but I'd be more impressed if the info wasn't available at all.

    Also, why ensure that no one computer got lucky? Isn't that the point of playing several thousand hands of limit poker, to eliminate the effect of luck in the study? If it's necessary to normalize all the hands received by the players, then something else is wrong with the study. I'd like to see if the results differed, and how, when the hand repetition is removed.
    • Foo: To ensure that no one computer got lucky, each side was given the opportunity to play its opponent's hand after each deal.
      Bar: Thereby eliminating one important premise of poker -- you don't know what hand an opponent was playing unless someone called the last bet. In terms of an algorhithm for the program to 'learn' based upon others' behavior, this means the program has a lot more information than a regular player would.

      Actually, I learned a lot about poker from my opponent's hand... when I was a kid
    • Re: (Score:3, Informative)

      It's possible they're smart enough to start the programs with the same starting conditions in each case, i.e. no knowledge of their opponents hands.

      The effect of luck in poker win rates can still be seen over even 100000 hands. Google for "poker" and "confidence interval" for some in depth discussions on it.
    • Give the research bots a break, they're still learning! Surely, the first few times you played, perhaps not for real money, perhaps as an uncle was teaching you, your teacher showed their cards when they didn't have to. More feedback->faster learning. No, it's not good for regular play, but it is good when you first start playing.
      • Well, it's not poker then.

        If you're designing a program to be able to predict the inputs of another program based on the outputs of that program, sure. But once you call it "poker" you've got to use the rules of poker.
  • Not anytime soon. (Score:4, Interesting)

    by Lejade ( 31993 ) * <olivier@mek e n s l e e p . com> on Monday August 21, 2006 @01:52PM (#15949858) Homepage Journal
    Before anyone goes off about how AIs will eventually replace us, my company runs a (GPL and GNU/linux friendly) poker site [pok3d.com] and the last thing i am worried about is bots taking over humans in no-limit games. To win consistently against serious players an AI would need to be a LOT smarter than what the guys from Alberta have. It would need to have a serious grasp of human psychology. It might happen, eventually, but by then society might have changed so much that "money" might also be an obsolete concept...

    And even if such software existed, it would basically mean that you couldn't win at online poker anymore because skill would not be relevant anymore. That wouldn't be very different from the current situation with player-versus-casino luck games (like roulette or slots).
    And we can all see how poorly these are doing, right? :)
    • my company runs a (GPL and GNU/linux friendly) poker site and the last thing i am worried about is bots taking over humans in no-limit games. To win consistently against serious players an AI would need to be a LOT smarter than what the guys from Alberta have. It would need to have a serious grasp of human psychology. It might happen, eventually, but by then society might have changed so much that "money" might also be an obsolete concept...

      You know, you could just turn off the "tell" indicator. It might he

  • Already bots playing (Score:4, Interesting)

    by slapyslapslap ( 995769 ) on Monday August 21, 2006 @01:55PM (#15949882)
    There are already bots playing against unsuspecting people at the online casinos. I'm not sure how much AI is involved, but apparently they play better than most humans.
    • How can a single human with access to only his own hand compete with multiple bots in the same game played by a single individual with access to each of his bot's hands?

      More sophisticated setups might even let the person get ahead early on to encourage higher and more reckless betting, or it may be good enough to scrape opening bids off of many unsuspecting players.

    • Re: (Score:3, Interesting)

      The bot issue is orthogonal to AI research WRT hold'em at this point. The theory behind deploying bots is playing 'solid' poker in low-stakes games (since that's where the 'bad' players are), winning pennies or small bucks per hour, and massively scaling up. The AI angle is, of course, more intriguing against 'good' players.

    • I wish there were more of them. Once you've 'made' a bot, it's going to be a pretty consistent stream of income for you.

      The thing to remember about bots is, they are programs. The actions of the bot are the output, and the input to the bot consists of the cards it has, the cards on the table, and your behavior. Since you have complete control over your behavior, and you know what cards are on the table, you've got some pretty damned good control over the bot's output (what it does).

      Actually, poker is pre
    • by tshak ( 173364 )
      There are already bots playing against unsuspecting people at the online casinos. I'm not sure how much AI is involved, but apparently they play better than most humans.

      It is important to note that: A) Most humans are horrible at poker. As a result these bots are very beatable by a decent player. B) Most of these bots aren't cheating (e.g. taking over a table and sharing card information), although most sites prohibit their use.
  • Is A.I. research still a viable field? From what I been picking up from various computer history books, the research efforts of the 1960's and 1970's was a bust. Wouldn't Sudoku [wikipedia.org] be a more challenging to study A.I. with? I've seen some pretty unpredictable behavior when my niece and nephew try to help each other out on one of these puzzles.
    • ...given a large enough stack. I think I could write a perfect Sudoku program in about 30 lines of code. Most of it would be a reursive routine.
      • That sounds about right. I wrote one in C that was probably just a bit more than 30 LOC and it's entirely recursive. Perl or Ruby, it could be done in 1 LOC :P

        I was able to write the program in a few hours and I know very little about AI. There's no algorithmic intelligence involved, or need for such, solving Sudoku is governed by few, well-defined rules and best tackled by a brute force, rote method. The way I approached the problem was to play it a few times and note the mechanics of solving a puzzle

      • by thelenm ( 213782 )
        Here's a Sudoku solver in 3 lines of code [ecclestoad.co.uk].

        Perl code, of course.
    • Solving sudoku with an ai was 1 (one) small part of the final project that the smallest, second-to-dumbest team in my freshman-level java class took on. In their final presentation, they said that the "hint" button (which would solve completely if repeatedly pressed) was the easiest part. The hardest part was making the buttons work. My school isn't exactly MIT.

      This would be good ai research why?

    • I was at the 2006 Boston SIGGRAPH (graphics convention) earlier this month. There were several talks about AI in graphics, particularly video games. The idea was to give game characters more automony. First, you wouldnt have to explicity program every possible scenario- they could make a good guess how to behave. Second, you could avoid predictable repetition. The characters could try something different each time.
      • The characters could try something different each time.

        A good A.I. should know what to do when a hand grenade lands in front of them. Some games they just stand there to be blown up in red chunks. Other games have them toss it back 90% of the time. A few games they start swearing and running out of the way. But I haven't seen any game where a combination of these reactions come into play.

        Of course, the opposite problem is true. The A.I. should be able to throw the grenade without being too stupid abou
    • Re: (Score:3, Insightful)

      by Helios1182 ( 629010 )
      Sudoku is incredibly easy to solve. In fact, the harder problem is figuring out how many unique boards, solutions, etc. there are. There was actually a good article in Scientific American a few months ago dealing with that.

      AI as a field is still very hot. The difference is that the goals have changed and the field has fractured into smaller sub-fields. The goal of a truly "human intelligence" doesn't seem feasible in any near term scenario. Fields such as statistical learning theory, natural language

      • Hell, the problem of just creating puzzles that will present human solvers with varying degrees of difficulty is a whole lot more interesting than the "problem" of solving the puzzles.
  • Aside from military use (which to some might be a vice as well), isn't it interesting how much of our innovation nowadays is centered around profiting from people's vices (gambling, sex/porn, etc)
    • Re: (Score:3, Interesting)

      by tbone1 ( 309237 )
      Aside from military use (which to some might be a vice as well), isn't it interesting how much of our innovation nowadays is centered around profiting from people's vices (gambling, sex/porn, etc)

      Considering that a lot of naval technology of the 16th, 17th, and 18th centuries was stimulated by things like warfare, tobacco, sugar/rum, tea, coffee, and the slave trade, is this really surprising?

    • Re: (Score:3, Insightful)

      The operative word there is "profit". Profit is the motive - vice is merely the easiest way to achieve it.
    • Profit is the easiest excuse behind which humankind can enjoy legal rewards from other vices. It is little wonder that capitalists would be innovative in their pursuit of profit, as deceit requires great creativity and innovation.

      Much of profitting is theft, won with sellers' lies, buyers' fear or ignorance, or by sellers taking advantage of buyers' timely need.

      Not all profit is theft. Perceived value is the devil in the details. Capitalists will argue there is never wrong in taking more than the cost of

  • there are a few things that stand out, about this level of developing.

    First, they are playing limit hold'em, which I assume to mean pot-limit texas hold'em. While thats fine, and you'll find plenty pf people that play Pot-Limit, its still a very different game than No-Limit hold'em.

    A second thing that I am inferring from the game, is that they are playing heads-up, meaning 1 on 1. Again, this is cool, and I think its a great first step, I still relate that back to Chess. Now if they can take that same AI
    • by Pulzar ( 81031 )
      First, they are playing limit hold'em, which I assume to mean pot-limit texas hold'em.

      Limit and pot-limit are not the same. Pot limit is closer to no-limit because you can bet a variable amount, but you are limited to raising by the current size of the pot. On the other hand, in limit poker, you can only raise by a fixed amount (X preflop and on the flop, and 2X on the turn and river, in most kinds of limit hold'em).
      • by harryk ( 17509 )
        Thanks for the clarification, I don't play as much as I'd like, and when we do, we play no-limit. Thanks, harryk
  • by The_REAL_DZA ( 731082 ) on Monday August 21, 2006 @02:03PM (#15949950)
    ...poker's much more representative of what the real world's like...

     
    Kirk had to 'splain the same thing to Spock at least once...(Re: Episode #3, "The Corbomite Maneuver")
  • Poker seems to be a much more useful game for this research than chess.

    Not to mention the interest that a Deep-Blue level poker program can have to a remotely-wired real player playing for real money. I guess we'll have to bring back those old tar can and feathers.

  • stupid computer (Score:5, Insightful)

    by ExE122 ( 954104 ) * on Monday August 21, 2006 @02:11PM (#15949995) Homepage Journal
    "Computers aren't particularly good at learning, for example, or reasoning by analogy"

    Computers aren't good at retaining knowledge and recognizing patterns? That's news to me... this statement is obviously made by someone who doesn't know what he's talking about...

    A very strong and useful technique in AI is to create learning algorithms. Some of these, such as reinforcement learning, are actually quite effective. Using something like Monte Carlo methods to give it a randomness factor simulates human learning, and computers don't forget what they are taught. The difficulty with learning isn't that computers can't do it... it's being able to define an effective set of state-action pairs for the computer to learn upon.

    I spent time researching natural language processing, sometimes using AI techniques that did exactly what this person claims computers aren't good at: reasoning by analogy. One method involved building a knowledge base which generalized input so that patterns can be found and the grammar could be recovered. The weakness in the system wasn't reasoning by analogy, in fact I'd say computers are much better at that than people. It was rather a lack of a real world model which allowed for a wider array of perception.

    The reason this game is difficult is not based on a computer's inability to solve problems, rather that there are so many possibilities that we cannot effectively design algorithms that the can be put to use. This isn't even news, the same has been said about the game of Go for the longest time.

    I think a more accurate statement for this person to make would've been: "The overwhelming complexity of poker makes it a difficult game to define in a way for a computer to be able to play effectively."

    --
    "A man is asked if he is wise or not. He replies that he is otherwise" ~Mao Zedong
    • I think a more accurate statement for this person to make would've been: "The overwhelming complexity of poker makes it a difficult game to define in a way for a computer to be able to play effectively."

      Nah, that's a cop-out. What's the source of the complexity? What makes poker a difficult game to define for a computer to play effectively is not the complexity of poker, but the duplicity of its opponents. Computers are not very good at learning when there is a good chance that any datum is false.

      One

    • by nconway ( 86640 )

      Computers aren't good at retaining knowledge and recognizing patterns? That's news to me... this statement is obviously made by someone who doesn't know what he's talking about...

      Heh, you're kidding, right? The text you quoted is from the article, and the person who said it is Jonathan Shaeffer [ualberta.ca]: a CS prof at the U of Alberta, the person who initiated much of the current research into poker, the author of the world champion checkers AI -- in other words, someone who's forgotten more about AI than any of us a

  • Computer Go (Score:5, Interesting)

    by dahl_ag ( 415660 ) on Monday August 21, 2006 @02:21PM (#15950071)
    While it probably doesn't have nearly the financial motivation that poker does, the AI behind Computer Go [wikipedia.org] also represents a huge challenge [wikipedia.org]. The rules of Go are very simple, but it is impossible to 'solve' using brute-force techniques like you might use with something like chess.
    • While I agree with you that Go is probably the best game to investigate artificial intelligence, and much better than chess both for humans and computers, I found the idea in the article very sound.

      Chess and Go are "full information" games. Yo always see everything you need in order to make a decision. But in poker you deal with uncertain stuff. So this is an exercise about how to deal with uncertain and incomplete knowledge.
  • by PresidentEnder ( 849024 ) <(moc.liamg) (ta) (rednenrevyw)> on Monday August 21, 2006 @02:28PM (#15950122) Journal
    Poker is only one of many double-blind, "real-world" games out there. I like the idea of making an AI learn poker (poker masters are more like human beings than chess masters, certainly), but it is my humble opinion that Kriegspiel [wikipedia.org] is where it's really at.
  • I'm glad for the update. I first picked up on them in a Slashdot article [nytimes.com] linked to a in 2003. It's good to see where they're going. [nytimes.com]
  • Limit vs. No-Limit (Score:3, Interesting)

    by BadBlood ( 134525 ) on Monday August 21, 2006 @02:49PM (#15950265)
    One distinction to make is that bots can be and have been successful playing against human opponents in limit poker, where the bet size is fixed on each betting round.

    In no-limit poker, when each bet has the potential to cost your opponent all of their money/chips, the decision making process is more critical and mistakes more costly. Variance in no-limit poker is much larger and the AI required to determine whether your opponent is bluffing or has "the nuts" becomes a much larger problem to solve.
  • From my research (in which I am a Prof of Stats), I have found that although it is pretty easy to come up with odds for virtually every possible scenario, believe it or not, the odds will work best on experienced players. The reason for this is that experienced players will typically play mostly by the book. The new players (or players just looking for some fun in Vegas) will be more apt to bet either just to stay in the game or because they don't know any better. Interestingly enough, this completely th
  • You shouldn't gamble while driving. The chips will stack up and clog your tubes.
  • How can Poker be better to test IA than Chess? Isn't Poker a random game of chance, where Chess is a game of strategy and tactics? I don't get it.
    • I think poker is not as much a game of chance as you think it is.

      Let's say we're each given 5 cards. Your best poker hand is a pair of 10s. You bet $X. I then RAISE the amount to $X + $Y. Do you call for $Y additional dollars? How do you make that decision?

      Maybe I can't beat your 10s, but am just trying to scare you away. Maybe I have a winning hand, and am trying to get more money out of you. What have I done previously in similiar situations? How can you use that information going forward?

      IF poker
    • This is a good question. The answer is: it depends on what kind of AI you are interested in. Computer chess is played mainly by deep and hard searching, and some good heuristics. When we could not do that very well (say 25 years ago), this was still an AI problem. Now we hardly call chess programs AI, and research is focussing more on other games which are still hard for computers, such as GO.

      With poker, due to the incomplete information and non-determinism, searching will get you nowhere. Indeed, poker i

  • The average human internet poker player would look something like this:

    With Card Hand:
    Holding Ace? Go all in
    Three to flush? Go all in
    Three to straight? Go all in
    There was a raise before the betting got to you? Go all in

    Oh... I suppose simulating a good poker player might be difficult...

    • Lost more than 1/4 your chip stack on the last hand? Go all in. I actually saw an Internet player do this on the final table of a recent televised WPT. Goes to show you can actually get to a final table on luck alone. That doesn't mean it'll happen twice.
  • Somewhere I read Go was a more challenging setting for AI... Anyways, in the end the bot will only be as smart as the programmer(s) and whatever weakness a programmer has in his game/logic an elite player will be able to abuse that weakness in the bot. Lets not forget, poker also involves a great deal of acting. If you can determine how a bot analyzes its opponents, you can feed it bad information then wait for the full house (on the low pocket pair) against the ace high flush...I'm all in!
  • ...information. You can only explore so much of the game tree and there is little theory about what goes on down the tree. Because you don't know what's in the game tree outside of what you can evaluate you need to take risks. You can't calculate every possible consequence of your actions. Additionally, nor can your opponent. So when you're trying to decide what parts of the tree you need to search, you need to make guesses about the type of move your opponent is evaluating. If you think that a sequence of

fortune: No such file or directory

Working...