$100,000 Poker Bot Tournament
Costa Galanis writes "The LA Times is reporting that a poker tournament will be held where engineers will be able to pit their automatic poker-playing programs against each other in a tournament similar to the upcoming World Series of Poker main event, with a 100,000 dollar cash prize for the winning program. The article mentions how the recent rise in popularity of poker has encouraged many to try and create the poker equivalent of chess' Big Blue, the chess playing computer program that defeated the world's top chess player in a widely publicized event, and also talks about how many engineers also are trying to make bots that are good enough to play and beat human players for money in online casinos."
Everyone knows that the house always wins in the end.
I for one welcome our new poker playing robot overlords...
GENERATION 667: The first time you see this, copy it into your sig on any forum and add 1 to the generation
Any poker player will tell you bluffing is where it's at. Without bluffing you play the odds and it just becomes a simple game of chance. The bluffing algorithms are were the interesting work will be.
I'm going to submit a modded version of Eliza. It will win by confusing the other bots into submission! :) :P
A friend of mine at MIT already found a simple mathmatical algorithm for winning at Texus holdum in partypoker.com. I'm not sure if he's using it because I haven't talked to him in a long time, but apparently the people at the $10 tables suck enough that you can just play very conservatively without altering your style of play at all and win.
"Cause the bot always wins. You play long enough, never change the stakes, the bot takes you. Unless, when that perfect hand comes along, you bet big, and then you take the bot." - Danny Ocean
Microsoft Poker on Windows 3.1. Just make a huge bet and all the computers Fold :P
1. Let openents Place you their bets.
2. Place a stupidly huge bet.
3. They fold.
4. Profit!
Automation - The Car Company Tycoon Game
The chess machine is Deep Blue. It was created by IBM (AKA Big Blue).
Whilst its not actually explicitly against most online poker sites terms and conditions, I forsee this contributing to the problem of bot users on poker sites. As it is at the moment they are considered a problem amongst the low level players. Suppose a really good AI is invented. Whilst we wont know we are playing against a bot it will be making 100% correct decisions without the user having to do anything. Leave a few of them running over night and some people are going to get absolutely fleeced... by artificial intelligence. I dont approve.
Perhaps the winning program could be reconfigured to create business plans?
There are no karma whores, only moderation johns
Whenever my poker bot goes "all in", my mudd bot somehow gets the idea that it's time to start slaying all of the other players.
I think what is required here is clear and concise rules on what kind of weaponry the bots get to wield.
Also, I don't think bots should get to wear sunglasses.
Quid festinatio swallonis est aetherfuga inonusti?
Africus aut Europaeus?
Have you ever played poker?
Have you ever watched poker on TV? Did you notice that the same few people seem to be at the final table a disproportional percentage of the time. It's because although the cards themselves are random, the game is not. Every bet and every action is a subtle piece of a conversation about your perceived strength of your own hand versus your perceived strengths of your opponents.
There's a lot of skill. It's not simply high card wins. The really good poker players willoften win without the best hands, because they know when their opponents are weak and will be willing to give up on a pot.
So, yeah, a poker bot could replicate this.
--
RumorsDaily
Anyone who thinks the best poker stategies are dictated by statistics has no idea how to play poker. That won't make much of a poker playing strategy. The trick is representing stength and guessing what kind of hand your opponent has despite what they are representing.
Against real players the primary way of determining this is through the unconscious betting patterns almost every player has. Bots with some AI could do well at this. Bots against other bots is potentially an even more difficult problem.
What I fail to see is why anyone who had a well functioning bot would enter this kind of contest. There is far more money to be made without getting yourself the undue notoriety of this sort of success.
mafia poker. what does the house get when there are two houses?
I can see the commentary now:
And program one, dubbed guido, pulls into the lead as program 4, dubbed vinnie, goes all in on a lousy full house.
Madden esque voice: I still say that somehow they have found a way to pull binary cards from their sleeve's.
Gruden esque voice: What they are doing is a standard bit swap in the packet back to the dealer server tricking it into thinking it didn't really know what it dealt to the player client in question. It's a rather common method of attack.
In poker, the cards are shuffled after every round.
What would a computer program do with $100,000? Build a cluster to run itself on?
Tired of free iPod sigs? Subscribe to my blacklist
The challenge in poker is learning how your opponent plays and knowing when they're bluffing, along with not giving away too much yourself, and being able to bluff well. Chess might take more mathmatical and/or logic skills, but Poker takes a lot more skill when it comes to intangibles and the subtle differences in your opponents' skills. This makes for a much much tougher programming challenge.
If bot A simply bets what it should based on the chance of the cards it is holding, another smarter bot (bot B) will do the same thing [b]and[/b] figure out what bot Ais doing, which will give bot B a big advantage, and over time, a win.
My sig is blank, I typed this by hand.
Don't let the posters who say "just enumerate all possibilities" fool you.
The hardest part of playing poker is "reading" your opponents' hands -- learning how they tend to play, and inferring what cards they are likely to hold, whether they are bluffing or slow-playing, etc.
It may be easy to read a poker bot's style of play, but reading good human players is extremely difficult. So even if a certain bot crushes the competition in this tournament, it may not do so well against humans.
I heard that no-limit is much harder for a computer than limit poker. A player must calculate percentages with limit poker, and bluffing is obviously limited, thereby reducing the "human intuition" aspect and increasing the simple number crunching aspect. If the AI poker tournament is no-limit it will make things very interesting.
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
As someone else pointed out, the main key to how successful bots will become in poker is the algorithms that conclude if a hand is "bet worthy". Obviously probability is easy for a bot to calculate; my high school students calculate card hand odds in my statistics class for homework. You can go even further by calculating rudimentary risk-reward odds to determine if the potential cash payoff for this current pot, combined with the probability you have for making your hand, combined with the probability the flop gives your opponents better hands than your own, etc.
The key, clearly, is the way your program "behaves" in response to opponent betting. You could code a program that only plays based on the probability of achieving a winning hand in a statistical sense. (IE, if my pocket has a 75% chance of becoming a hand that will beat 65% of all possible hands, then play it regardless) That wouldn't obviously play that well, since the bot won't consider opponent betting. However, if your bot regards opponent betting, it will easily become susceptible to power bluffing if the algorithm doesn't guard against it. (Hence, you have routines like poorly written cell phone games where you just have to come out of the blocks betting like mad and you'll 90% of the time bluff the bot out of the hand)
I wouldn't be surprised if some of the more ingenious bots would be a medley of pure probability, observed opponent behavior (for trend matching with a fixed opponent), and a database of "real life" situations. If I were to design a bot for poker, and had the resources, I'd be sorely tempted to first host an online poker website and take a ton of samples from actual, online play. You have the advantage (right now, at least) of being able to record everyone's exact hands (at every stage of the hand) as well as everyone's betting. You could distill that into a form of database where you could try and match a bot's hand to a pre-existing condition case, and determine, along with your other ranking criteria, what a human player once did with that same hand, and whether that player won or not.
Londovir I could see bots taking over after awhile, but it's going to take some time...and even then, it should be entertaining to watch programmers trying to tweak their bot to beat another bot, sometimes without even knowing they are going up against another bot.
Londovir
Does anyone know how to enter this contest? Is registration closed yet? Do they have a website? It all sounds very interesting, but the article itself provides no helpful links :-/
"someone mod him -1 redundant, (read post 2)"
Read post 2? Try reading any other Slashdot article. It was redundant years ago. They're taking over Slashdot! "I, for one, welcome our overused-as-an-SNL-skit overlords."
"Derp de derp."
One approach to this is to assume that the other players are markov processes with unknown internal states (sorry for the PDF) . Gathering enough data (and probing the opponents with various betting strategies) helps estimate the internal patterns of the opponents. Humans are terrible at creating random patterns needed for perfect playing strategies. This approach can be used, for example, to create a hard-to-beat paper-rock-scissors game that quickly found the non-random patterns in human players.
Two wrongs don't make a right, but three lefts do.
I did a little bit of work recently at UofA with the poker group.
p ublications.html
Poker is a hard problem. The game tree is huge for even heads up limit (~ 10^18 leaf nodes). Ring games (3-10 players) are intractable via any game theoretic methods. The only feasible possibilities are searching parts of the game tree through intelligent sampling methods, and perhaps abstracting the game down a bit.
Work has focused on both solving abstracted versions of the game and exploiting opponent weaknesses. A publication concerning most recent methods involving bayesian best response will be available soon at the following link:
http://www.cs.ualberta.ca/~finnegan/publications/
Just in case any one was wondering, calculating your raw chances of winning, dubbed "7 card roll out strength" is no problem at all once you harness the versatility of the gnu poker-eval library located on sourceforge.
"Recursive bipartite matching"- try it!
There's been a lot of postings about this tournament being bunk due to a lot of misconceptions about the game of poker. As a successful poker player of quite a few years and also a geek, I do believe I have an informed opinion here when I say that A) poker is profitable B) poker bots can and have been created C) the effort to code a high level poker bot is incredibly, incredibly difficult.
A team at the University of Alberta has been working on with a poker research group that has been researching and coding poker bots for years. One look at their page should tell you that there is definitely some high level thinking and analysis required to develop a poker bot. More importantly, is that fact that they *have* delivered a bot called Poki Poker that has an impressive record at beating human opponents in 1 vs 1 heads-up matches. Brian Alspach, Professor Emeritus of Mathematics and Statistics at Simon Fraser University has also contributed numerous publications to the field, giving credence to the fact that there is a genuine science behind creating an AI that can play good poker.
So, before anyone else spouts off about poker being a game of chance or poker bots being mindless hundred line pieces of code, please do your research. A lot of people have worked very hard on this subject to simply have it dismissed as beneath them. Just ask yourself this: If you could create a poker bot so easily, one that could generate at the very least, a poker bot that made $2/hr playing the low limit games, what would stop you from launching thousands of these bots upon the online world? Because unlike a human, you can replicate a bot innumerable times, which in this case would be the equivalent of finding the goose that lays golden eggs. If you understand this, you may begin to understand why there is so much interest in the creation of poker bots..
I wonder if this will encourage programmers to actually intentionally obfuscate their code.
Case in point, one thing that some people think is worth doing in the first few rounds of poker is to intentionally lose or call as many hands as you can, just to determine your opponents' betting methods and/or tells. Could something similar be done with programs? For instance, measuring the number of clock ticks that an opponent takes to analyze a given hand. If identical flops show up in subsequent rounds, and identical intervals lead to identical bets, is it possible that you've figured out how your opponent likes to bet? Furthermore, would it be worthwhile to throw in an empty do() while loop of random length in order to throw off such attempts? But how about betting patterns themselves?
This is one thing I've always thought was missing in creating AI. It's not so much about coming up with "perfect" AI because so long as it follows a set pattern, it'll never be perfect. If it's consistent, either you'll figure out how to beat it, or you'll give up in frustration because you know you can never beat it. But create multiple different AIs that follow basic tactics, and then mix them up, there's the challenge.
The Tournament will begin at 9:00 AM, and the grand prize will be presented at 9:03 AM.
And likewise, any poker player who thinks poker is only about representing false strength and putting your opponent on a hand has no idea how to play poker. The real trick is a balanced approach. The best poker players are great at both reading hands and psychological warfare, but you had also better believe they know exactly what odds the pot is offering and whether finishing a draw is a positive or negative play.
If you disagree, you're more than welcome to join our weekly game.
The point of bluffing is to convince the other players that you ARE bluffing when you've actually got a good hand. Then you can milk them for all they've got. If you're bluffing a low hand, you should be prepared to lose. In fact, you should be expecting it.
There's a 'rule' in texas hold'em: If the other players are playing loose, you play tight. If the other players are playing tight, you find another table. Some games really can't be bluffed.
And I want to clear this up: an indivual game is still a game of chance. A bunch of games in aggregate have some theory to use.
Can you be Even More Awesome?!
I am also an ulumni of the U of A. More specifically I did my research in the games department, although not specifically on poker. I was sort of suprised the article never mentioned Darse Billings who is one of the main people behind poker agents at the U of A.
Here is a relevant link: http://www.cs.ualberta.ca/~games/poker/
>>There is a valid point that Chess is a better game than Poker in society. I am speaking neutral not leaning toward Poker or Chess cause I hate them both anyways.
>>The game of Poker will never be open to all audiences. It is a game aimed at RICH adults, limiting the potential audience. I am not saying you and your college buddies can't get together and play free poker. But schools would never encourage the game like Chess. There is a real scientific aspect to Chess that Poker does not have.
Yeah, that explains why there are SO many chess tournaments held as fund raisers for churches, non-profits and school activities compared to poker tournaments (rolls eyes). Chess is aimed at the richest of the rich -- the people who can afford the tutors to make it to an elite level. I can go buy Super System vols 1 and 2 for $60 and be ahead of the game in poker.
Let me rephrase this -- i'm a good poker player and an average chess player -- I don't study chess at all but I know the strategy enough to beat the tar out of someone who doesn't really play. If you sat me down heads up against, lets say Chris Ferguson, in 100 matches of texas hold 'em, I win 20. Even though he's one of the top players in the world. I sit down across from Kasparov + co. in 100 chess matches I don't have a prayer of even drawing one game.
So which game do you think is more likely to draw an audience? Sorry, I'd write more but I can't wait to catch ESPN's presentation of the world series of chess.....
sig--we don't need no goddamn sig
The game of Poker will never be open to all audiences. It is a game aimed at RICH adults, limiting the potential audience
Huh? It's not like the only games have $10,000 buyins.
There is a real scientific aspect to Chess that Poker does not have.
Absolutely wrong. Poker is a textbook example of game theory, and because of imperfect information, it's arguably more strategically complex than chess. In chess, "all" you have to do is look ahead N moves and pick the best one. Sure, it gets complicated because you need to have a good way of evaluating positions and pruning moves that you know are bad, but at the core it's just a static decision tree. In poker you have to consider what your opponent has, what he thinks you have, what he thinks you think he has, etc, etc.
Poker is strictly about winning money.
Poker is about winning chips. Those chips are often converted to money, but don't have to be.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
> Poker is just getting random cards and betting on them
No, poker is mostly about figuring out what your opponent is thinking, without letting him know what you're thinking, while he's busy trying to figure out what you're thinking, without showing you what he's thinking. The cards are just the medium, the subject you're both thinking various things about.
Now, poker could *devolve* into what you describe if all (or all but one) of the players were bots. But as played between humans, it's not like that at all. Why do you think a lot of quite heavy-duty math geeks suck at it?
Cut that out, or I will ship you to Norilsk in a box.
Here's a list of the things that a poker playing robot needs to know:
1. When to hold 'em
2. When to fold 'em
3. When to walk away
4. When to run
5. Never count your money: When you're sitting at the table, there'll be time enough for counting, when the dealings done.
Most of the posters are missing the whole essence of poker. Poker is a non-cooperative multiway game of incomplete information. The whole point of the game is to create a mixing strategy(which bluffing is a part of) that gives you positive expectation over your opponents mixing strategy. A good mixing stratgey leaks little information about your hand, while at the same time adapts to exploit information leakage from your opponents. There is a question of whether there exists an optimal strategy for multiway poker(there is one for headsup), where your strategy needs not adapt to your opponents and any deviation by your opponent from the optimal strategy creates negative EV. I conject there isn't since it seems intuitively there is a different equilibrium for tight, passive game compare with loose aggressive games. Or in other words, a group of 3 players or more themselves can move the equilibrium point.
Blah Blah Tacos
"The point of bluffing is to convince the other players that you ARE bluffing when you've actually got a good hand. Then you can milk them for all they've got. If you're bluffing a low hand, you should be prepared to lose. In fact, you should be expecting it."
This is a ridiculous statement. You *might* be able to apply it to limit hold 'em, but certainly not no-limit games. The point of bluffing is to not only make it more difficult for your opponents to put you on a hand, but also (and more importantly, IMHO) to allow you to win pots when you do not have the best hand at the table. This is important in limit hold 'em and critical in no limit. If you think the point of bluffing is just to make you harder to read, I'd love to sit down with you at a table.
This tagline is umop apisdn.
A perfect strategy should be zero-sum game.
Making the bet, the bot should make a probabilistic bet around the "value" of the cards. He can bet much higher (bluff) or lower (hoping someone else will bluff) than their real value. Likewise, when calling/raising a bet, a bet is considered the result of many possible sets of cards.
To make an example:
Two pairs ->
$5 5%
$10 25%
$15 50%
$20 15%
$25 5%
On the opposing side, $15 ->
Nothing 5%
One pair 20%
Two pair 50%
Three equal 20%
Straight 5%
He will bluff exactly so often as is optimal. Likewise, he will call a bluff exactly so often as is optimal.
As an opponent:
call more often -> too many non-bluffs
call less often -> gets away with too many bluffs
bluff more often -> called too much
bluff too little -> fold too many hands
Obviously, it is quite a bit more complex than that (bet given the cards, call/raise given multiple other bets) but that is the basic idea.
Of course, this only finds the optimal strategy - i.e. one that will not lose. It is quite another thing to find a strategy to exploit opponents' sub-optimal strategy. One-on-one, it can't be beat. In a tournament (unless you play "to the bitter end" with only one bot standing, where the last round should be one-on-one) other strategies might be better for exploiting other bots and getting the most cash.
Kjella
Live today, because you never know what tomorrow brings
You need to tip your dealer, people. Not every time you drag a pot, necessarily, but if
-the pot was particularly big, or
-you won it by luck and are in a good mood
The dealer gets no part of the rake, but a wage. A kinda pitiful wage if you consider the training and experience a good dealer requires, and the kind of shit they have to put up with sometimes.
Tip. No, it does nothing to increase your chances, but neither does tipping a waiter
My turnips listen for the soft cry of your love
I agree it'd be not-hard to code a bot that made 1BB/100 by playing tight. But unless you sit this thing down at 50/100 or higher you're not making much money from it. You'd need a small army of such bots, and as parent says this would be hard to hide. The alternative would be a bot that could make 5+ BB/100 at, say 5/10 and 10/20 tables .. I suspect this would be a very advanced machine. But it is theoretically possible.
Remember that one reason Big Blue beat Kasparov is that the human's previous games were all available for analysis by the computer. It had been *programmed to *beat *Kasparov.
A computer making serious cash against an ever-changing field of unknown quantities in a casino would require actual intelligence. The strategic environment is MUCH more dynamic in poker.
My turnips listen for the soft cry of your love