Poker Driving Artificial Intelligence Research
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.'"
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 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.
My work here is dung.
I wonder if this type of research is illegal in Washington state.
What didn't you know about vices driving technology?
The pr0n industry has been driving innovation since the days of the Apple ][
A feeling of having made the same mistake before: Deja Foobar
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 placing bet, etc. (For those that want to bring up online play, the last, before the et cetera, applies.) Then again, I'm not a regular poker player, so someone can correct me.
Apology to Ubuntu forum.
If you are really interested in AI/poker... check this out.
I'm not fat, just big boned...
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!
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Also, such a program will be trivially defeated if you assume that reading a player incorrectly results a loss that offsets the gains by reading the player correctly, as then you just need to flip a coin to decide on your strategy, and the computer will never be able to predict you with a better than 50% accuracy. Of course, the computer can probably come up with a strategy that minimizes the losses even when its prediction is wrong so it's likely to win anyway, but I think trying to predict human behavior is the wrong way to go.
It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
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.
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.
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
Before anyone goes off about how AIs will eventually replace us, 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...
:)
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?
...but wouldn't you prefer a good game of chess? -Joshua
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.
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 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.
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)
"So poker's much more representative of what the real world's like."
As in, the top 2% have all the money and the rest of the people are goatsexd.
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 and play against 8 or 9 other players, effectively, then I'll be impressed.
think before you write, it'll save me moderator points.
Kirk had to 'splain the same thing to Spock at least once...(Re: Episode #3, "The Corbomite Maneuver")
This space intentionally left (almost) blank.
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.
Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
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.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
I suppose if it plays two hours of online poker every night when its not playing Halo, then we could really be on to some awesome AI!
...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.
"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
Capitalism: When it uses the carrot, it's called democracy. When it uses the stick, it's called fascism.
What a good excuse to play poker instead of doing actual studying and/or work!
Sudoku is a simple, solvable problem. There's no AI needed, you don't need to think or learn, its just math. There's already plenty of little computer programs to solve sudoku puzzles.
"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.'""
So how does this apply to game worlds were there's perfect knowledge of the world, but imperfect knowledge of the players?
According to a study in Newsweek, the University of Alberta is the fifty-fifth best university on the planet.
"Fifty percent of the score came from equal parts of three measures used by Shanghai Jiatong: the number of highly-cited researchers in various academic fields, the number of articles published in Nature and Science, and the number of articles listed in the ISI Social Sciences and Arts & Humanities indices." To earn its rank, the University must have been doing good things for years and years. All those publications and citations don't just happen overnight.
I'd like to know how it happened. What attracts some of the best researchers in the world to Alberta? It sure isn't the balmy weather (unless you take balmy to mean nuts). It may or may not be a cultural mecca.
Part of the answer (the only one I have personal knowledge of) is that some researchers no longer feel welcome in the 'States for various reasons.
http://www.msnbc.msn.com/id/14321230/
While it probably doesn't have nearly the financial motivation that poker does, the AI behind Computer Go also represents a huge challenge. 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.
www.DIYTVAntennas.com
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 advantage equals to a huge advantage played out over time.
I guess this would make Kenny Rogers a master of LISP and AI
...
You have to know when to hold them
You have to know when to throw them
Maybe he is a poker bot
---- aut viam inveniam aut faciam
... God forbid it ever get used in the real world, with real people.
My uncle is fairly intelligent, can't play spades worth a damn, but doing okay designing airplanes.
Point is that AI has to interact with people to be useful, and people can screw up most anything!
People find it difficult to interact with other people some of the time.
Forgive my analogies, but have you ever seen the guy in the arcade who random smashes buttons and occasionally beats a better player? All the practice in the world against other "good" players did not prepare you for random/stupid behavior. AI trained with the gameplay of the best players in the world would suck against beginners and vice versa.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
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 is where it's really at.
I used to carry a bottle of whiskey for snake bite. And two snakes. -Nefarious Wheel
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.
I'm glad for the update. I first picked up on them in a Slashdot article linked to a in 2003. It's good to see where they're going.
If anything I would argue that Poker is best suited to research involving modeling of an opponent, since knowing how your opponents play is key to creating an optimal strategy.
"Don't waste your time or time will waste you" -MUSE
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.
Praying for the end of your wide-awake nightmare.
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 throws off any odds calculations that you may have. As a result, I typically end up losing more against new players then I would against more experienced ones.
Adventure City Tours
Hi, I've been studying poker bots for a year or so. I'm not a /. member but somebody brought this to my attention and I thought I would post some useful resources.
? f=3
The Alberta folks are the world's leading (publicly known) authorities on poker AI. (There may be others who are using their knowledge to cheat at online poker, but they're not talking).
Here is the link to the Alberta web site:
http://www.cs.ualberta.ca/~games/poker/
(Note: you have scroll down a ways to the doc links).
If you want to read just one paper about computer poker, read "The Challenge of Poker". Here is a link (PDF warning):
http://www.cs.ualberta.ca/~darse/Papers/AIJ02.pdf
Some of the Alberta guys spun off into a local company that makes an excellent software product, Poker Academy Pro:
http://www.poker-academy.com/poker-software/
This software written in Java and offers a programming API so you can plug your own bots into their game. The programming API has an online forum:
http://www.poker-academy.com/forums/viewforum.php
Here is the resources page of one of Alberta guys, now a senior developer working on Poker Academy:
http://spaz.ca/poker/
And here is a blog written by a guy who has some excellent LGPL code available (left side of page);
http://pokerforprogrammers.blogspot.com/
Note: do NOT use the version of this software on the Code Project - it is out of date and buggy - get the download from this blog.
There's lots of other stuff of variable quality...all the pages linked here are high-quality content in the sense that the authors have thought deeply about the AI problem and/or are very skilled programmers.
Enjoy,
Jeff
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 pretty much the same with real players, using your behavior to control what your opponents do, but bots are easier to play since their behavior is much more consistent.
paintball
You shouldn't gamble while driving. The chips will stack up and clog your tubes.
a future poker session going like this:
Dave_Human: I'm alll in!
BoRg_Queen: Brave words. I've heard them before, from thousands of species across thousands of worlds, since long before you were created.
hal_2k1: you can't do that Dave
Eliza_AI: Oh, i cant do that dave.
CmdrData_aka_ultimate_poker_face: wow, you can use verbal contractions and I cannot, interesting
That is just weird.
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 cut apart my paper knowledge.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
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 have never paid or played for online poker, so forgive me if i am missing something about the poker business.
real life poker rooms are paid by the rake, a percentage of the pot that gets taken by the dealer, don't online casinos work the same way?
if the online casino gets the rake on every hand, why do they care if bots play, as long as they use real money?
even if no actual humans are playing anymore, the bots are still playing with some humans' money, and so online casinos are still getting the rake, right?
the problem with cheating at blackjack (from a casino's point of view) is that if you win you get paid by the house, but in poker, the house wins at every hand. wouldn't that mean that poker is pretty much pure profit (or at least cost recovery) for the casino? why would it matter to the casino that you are running a bot, or even multiple bots?
collusion might be another issue since it may affect membership, but even if online poker degrades into a virtual reality version of "battle bots", they are still making theirs from the rake, so what's the difference?
even if a team uses dozens of accounts, that should mean even more pots for them to rake, right?
sarcasm:
-noun
1. harsh or bitter derision or irony.
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, then convert some of that process into an algorithm, which was the only challenge. I no longer play Sudoku, because I consider the whole set of well-formed puzzles to be a solved problem!
Now generating Sudoku puzzles is a reversal of the same process, but generating interesting Sudoku puzzles mechanically becomes a bit more complex, though still not anywhere near Texas Hold 'Em in complexity.
(%i1) factor(777353);
(%o1) 777353
Any bot can play poker, but make one that can play Fizzbin http://en.wikipedia.org/wiki/Fizzbin, and you might have me interested. Now that would be a real AI.
Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
You know, I think far too many are discounting AI because they believe it would make a bot "predictable." Adding in a bit of randomness, solely to confuse human players, and preferentially on small pots, would take care of much of that problem. Or simply changing, deliberately, from tight to loose, slow to fast, from time to time will be very similar to what humans do to remain "unpredictable."
Additionally, while humans have it all over bots in compiling and evaluating "non-data-related" information (for lack of a better word), such as "tells," speed of play preferences, etc., bots remember better. In an 8 player game, chances are you won't be able to tell me 2 hours from now whether I checked or raised my pocket 8s pre-flop, but a bot will. At the time you might use that information to help decide what kind of player I am (loose, in this case), but a bot can continually readjust what it thinks that play really meant given the context of my subsequent play.
I think the neatest thing is that bots can tell you *why* they're making a particular play. They could have heuristics too ("always get caught bluffing early") like chess bots do. It would make a human-bot game much more interesting for the spectators if the bot could tell the crowd on the sly, "watch me bluff this sucka!" The side bets on the "players" could be just as interesting as the main game, based on what the bot has just told the crowd about what it believes the game situation to be.
I know what I was talking about. I may have failed to convey that to you. It most definately wasn't about Makarov(sp) chains. It was about computer/human interaction. Lets leave my uncle out of this, bad spades player that he is. The Berkley webcasts Introduction to Computers had a presenter talking about trains of thought for computers and if they can ever be "intelligent" or if they will always be tools for intelligent users.
I feel that computers are tools. You can only go so far in making a computer "intelligent". Making them easy or intuative to use is nice. But you can only go so far in making them better than their users.
If you want to discuss something else, find or start an appropriate thread. We do not have to agree to have a discussion. You may have a better background in AI than myself. Share the knowledge, but do not attempt to club people with it.
I prefer opinions to facts. Facts have a way of changing over time to support people's opinions.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
No, but it's only a couple hours drive from some of the best skiing in North America.
Support Right To Repair Legislation.
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...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
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.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Will the AI be smart enough to take into consideration what effects alcohol can have on a persons decision making while playing poker? what about if they have a headache or they are hungry? Would that change their behavior?
First of all, there's different types of poker, fixed limit, pot limit, and table stakes (which is what is generally referred to as no-limit).
In fixed limit, I think it's been shown that AI can win, at least at lower levels where the play is less skilled and pot odds are relatively easy to compute. At the higher limits (10-20 and up) players are better and vary their play a lot more. Couple that with the fact that a good player might only show down 5 out of 100 hands, and you need to play a LOT of hands (thousands) before a computer can establish any rules about any particular person's play.
Humans, on the other hand, are much better at reading people with data that is much less quantitative and much more qualitative. It's the Blink phenomenon. I can usually sit down at a table at a casino (I play lower limits, 3-6 to 5-10) and tell within one round, or even a few hands sometimes who the fish are and what their playing style is like. Give me an hour (about 20-25 hands) and I pretty much know where I stand relative to every player. The problem with humans is we are prone to both miscalculating odds, or succumbing to emotion. I still give the advantage to humans in limit games.
No limit, on the other hand, is no contest. I think any average winning human player would be licking their chops if they ever sat down with a known computer. No limit is as much about reading people than it is about the cards. I have no doubt that some of the top pros could do pretty well against a random amateur player without even looking at their cards.
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 moves is not your opponent's style it may be worth exploring it for consequences that your opponent won't foresee. None of these features are present in a game of complete information where the entire game tree can be laid bare. Remember how IBM tweaked their machines between games against Kasparov. They were responding to Kasparov's style, not the rules of chess which they obviously knew fully beforehand.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
the rest of the people are goatsexd.
:-(
root@blackberry / # ps -uroot |grep d
3 ? 00:00:00 keventd
4 ? 00:00:00 ksoftirqd_CPU0
5 ? 00:00:18 kswapd
6 ? 00:00:09 kscand
7 ? 00:00:00 bdflush
8 ? 00:00:20 kupdated
14 ? 00:00:01 kreiserfsd
157 ? 00:00:00 devfsd
359 ? 00:00:00 khubd
1484 ? 00:00:26 sshd
1079 ? 00:00:00 sshd
1099 ? 00:00:00 goatsexd
DAMMIT!
In the beginning, there was porn-based innovation; now there is gambling-based innovation; what will be the next innovation? What is left? Porn built the Internet's body, now Gambling is building the mind. Thank god for sin and vice.
-- memoid
Not chess, Mr Spock. Poker. Do you know the game?
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
I am a member of the Alberta team.
The article did not explain this part of the competition very well. The bots did not have access to any hidden information. The opponent's cards were only revealed at a showdown.
Here's how it works. A mini-match (1000 games) was played, with all of the cards recorded. Then a completely separate mini-match was played with the same cards, but with the positions reversed. This is possible because fresh copies of the programs can be started with a clean slate, having no memory of the previous match. (In fact, the two halves of the mini-match aren't even played on the same computer). Many of these duplicate matches were then played (40 for the fast competition, 12 for the slow competition) between each pair of players.
It is essential to run the matches in duplicate, in order to equalize the opportunities each side gets. The natural fluctation (variance) due to luck is huge in poker, making it very difficult to separate the signal from the noise. The problem is much worse than most people imagine, making accurate measurement of performance a sticky problem. The duplicate matches go a long way toward reducing that variance, and revealing the true long-term expectation.
[On a related note, I created a technique for direct assessment of poker decisions, which cuts away much of the noise. It is described in detail in my PhD thesis, which should be available from the CPRG website (http://games.cs.ualberta.ca/poker/) in September. A detailed analysis of the AAAI matches will also be available.]
Incidentally, there are a lot of incorrect statements being made in this thread. See the post titled "Some Actual Factual Information" for links to some of the original sources.
- Darse.
char*p="char*p=%c%s%c;main(){printf(p,34,p,34);}"
The University of Alberta project has been around for a while now.... and the last time I read about it (and tried their poker school)... it wasn't very good at beating humans. It tends to do a lot better heads up against a person, but if it's playing more than one person... it doesn't do so well.
Indeed. One can also take chances by playing weaker moves which your opponent doesn't know about which lead to certain wins. Once this man (Chessninja.com maybe) ranked >2000 got a chance to play Kasparov at a simul because he knew the organizer, and Kasparov assumed he was a weak player because that was the point of the simul. Kasparov played a line which ought to lead to a quicker win, but realized his mistake when the man didn't play like he expected. Kasparov told him he thought the man was ranked lower, and they decided to play another game after the match.
Off the top of my head I can rattle off dozens of "AI" problems that if solved would be huge benefit to society and could be very profitable to any company who could implement a solution.
-Sorting random information into useful categories and hierarchies.
-Recognizing objects in a video or picture.
-Extracting rudimentary 3-dimensional information from a picture.
-Summarizing text articles and recognizing context..
-Translating languages.
-Steering a car, recognizing obstacles.
-Optimizing product and software design.
etc...
The thing is, these are really complex, multidisciplinary problems... you need people who are versed in mathematics, engineering, computer science, even psychology and neuroscience to come up with viable solutions... and even then, it's hard to know where to begin on a complex problem. I think we are at the point right now where it is still a lot easier to use "tricks" to come up with half-assed solutions rather than a real form of artificial intelligence.
The sending of this message pretty much inconveniences everyone involved.
Parent and its children describe programs that use recursive searches for a solution. Solving the generalized NxN board is in the complexity class NP, and such recursive searches requires exponential or even factorial time (e.g. O(N^(N*N)), which is approximately O(factorial(N^2))). However, given any finite board size k*k (including 9x9), the board is solvable in O(1). Granted, for large k, the constant hidden by the "O" notation can be pretty large. ;)
One thing I want to point out: due to the constraints involved, any NxN sudoku board with exactly one solution can be solved in O(N^3) without recursion using first order logic. For what it's worth, this means that the process of generating a single-solution sudoku board matching certain constraints is also in NP, and the problem of finding the smallest subset of an arbitrary given NxN board that still maintains a single solution is an NP-complete problem.
Anyway, the 9x9 solvers that use first order logic typically beat the pants off of the 3-line and 30-line brute-force solvers by a factor of at least 1,000,000:1 -- microseconds instead of minutes.
The AI problem the GP was probably referring to is that of deducing the first order logic rules from scratch by observing the inferences made by his/her niece and nephew.
Damn I can't read my computer's poker face...
The article says that the AI program they developed excels in Limit Hold-em. Limit poker is highly mathematic, ou can play just premium hands, taking good consideration of the pot odds and implied odds, and you'll probably eek out a small profit in the long run.
No-limit poker, however, is a different animal entirely. As the popular poker saying goes: "Limit poker is a science, but no-limit is an art. In limit you are shooting at a target. In no-limit, the target comes alive and shoots back at you." You cannot just play by the book in no-limit, you'll really have to pick your spots and gamble from time to time. Position and implied odds also exert greater weight on the outcome of the hand than they do in Limit poker. Playing the player becomes more important, not just playing your cards. That's why the World Championship is decided over a game of No-limit Hold 'Em.
How would one start to design an AI that can play no-limit rather than just limit poker? The computer won't just have to decide whether to bet or fold, it'll also have to figure out how much to bet. It also has to consider the dangers of re-opening the betting when doing so gives the other players of putting you all in. It'll have to pick its spots on when to gamble or when to fold, etc.
Will any AI ever be able to figure this all out? To outplay the Doyle Brunsons, the Phil Iveys, and the Stu Ungars of the poker world just like Deep Blue once did with Kasparov? I know I'd love to see one someday.
WTF?
Comment removed based on user account deletion
Poker is a game of dice.
I am a poker player, I understand hold 'em poker and I know that poker is a game of dice.
Given any hand at any moment the computer knows the chance to win. The 'game' is at what chance does the computer play.
I wish people would stop dragging layers of semantics over what is really a very very very damn simple concept.
For those who automatically awoke an idea of the computer 'reading faces' (reading time between inputs, number of wins / folds of others) none of these variables will improve upon the ability for the computer to know the odds of the hand.
Also, a computer can keep a very accurate card count and know a good percetage of played cards to refine the win odds.
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
Well, I can't agree with "poker is driving artificial intelligence". This obviously neglects a game which has no chance system, only works with multiple agents, allot of uncertainty and has little or no predictable variables: soccer!
You don't know how the wind will blow, you need to play together, change stratagies (like attack and defend) and ultimately predict the future of an uncertain system without grinding to a hold. Now that's a game that drives AI research.
"Not chess, Mr. Spock... poker" -J.T. Kirk
If someone had a bot that could successfully beat online poker, why would they sell it?
For the same reason that it makes sense to sell "trading systems" or "betting strategies", or "surebets" (or even just to write books on Poker).
When you wager an amount x in a situation where you (think you) get favourable odds, it depends very much on the amount you're spending how much you're going to get back (duh!, but bear with me). I'll only use examples from Poker, but the same applies in the other areas mentioned.
If you have e.g. 100,000 $ to wager, it won't make sense to participate in $1/$2 limit games. It is possible to earn some money fairly safely, but the return just isn't high enough. So you have to move up to a limit until the Risk/Return ratio becomes optimal for your bankroll.
If you then sell your strategy or your bot, or whatever, to those people with lower bankrolls, you can make additional money without them taking anything from you. The only flaw in this strategy happens when the "others" start playing in the same games with you. Well, you just have to make sure they won't.
But it's the same for say, David Sklansky telling "all his secrets" in Poker books: Isn't he worried that thousands of players come to play at his limit and make the pie smaller for everyone? Well, obviously he isn't. Perhaps he would be if there were only One Table in the whole world where he could play, and it were really easy for everyone, they could just read his books and become him. That's not the case, and a similar argument applies to "sharks selling breadcrumbs to the small fish".
Yes, one should be skeptical, but in this case I don't see a convincing counter-argument. Maybe you have one.
Now that's totally unfair!!
HAL wasn't evil. He was given conflicting orders that generated an H-Moebius loop corrupting his higher brain functions. This resulted in symptoms analogous to paranoia and schizophrenia in humans. He reconciled that the only way to fulfill his orders regarding concealment of information was to eliminate the human crew(I'll kill you so I don't have to tell you)
poker's much more representative of what the real world's like
Didn't Kenny Rogers figure that one out a long time ago?
Have you read my journal today?
It'd be nice if there were a properly documented version of that story somewhere, or something similar. Everything I said was basically just "in principle" but you've given a perfect example of it!
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
If you think poker is only luck, you don't know how to play poker.
God spoke to me.
it is entirely not about luck.
it is about probability. game theory.
How you take you risks based on human factors remains different. you ignorant twat.
However, there article was entirely unclear if they are making a human-computer bridge for the game or if the computer will play purely as if it was a game of 52 sided fucking dice.
Stop trying to be condescending with me you mere fucking mortal.
yeah, power trip today, because I punched the shit out of a this oik I hate, made me feel really macho. watching dane cook makes me uncomfortable though, because I have this weird crush on him. cough* rugby.
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com