Robot wars break out on poker sites
theregister.co.uk
theregister.co.uk
Having a single bot in a tournament is not bad per se, since they are easy to identify (they do not respond to player rage, they shove or call on hands that may be +EV isolated, but in tournament play are not, and they are the player who come final table sit all quiet and do not respond to deals) - the prob arises when bot networks join a single tournament and collude - especially on the double or nothing tournaments (where if you finish in the top half you get double your money, or nothing)
Stars and FTP are very agressive with combating the problem. I receive refunds all the time because of previous games that have been investigated, so it is great that other players can rely on their work (and it is good to login and find that you have extra money because they are doing their job). These sites are making a lot of money on rake but they are definitely re-investing it to protect the players. They have hired some of the best security guys in the world to work for them (I know one of them, he should do an AMA because it would be super interesting).
The last I saw the custom bots being run were buying up hand histories by the millions and using pre-flop agression and all the other factors to preform clustering. Then they clusters were used to choose a strategy.
Stars and FTP are both pretty good about finding bots. But poker bot writers are learning from game bot makers. They are pretty well protected on the client end. So as long as the bots have some variance they are really hard to spot. And a lot of the variance comes from choosing how to play the person who is betting. Though it looks like some bot writers have not been putting enough variance into their bots.
For a long time the big push was to find ways to make the input look like it came from a human. Moving the cursor to the exact middle of the button you want to push every time in <100ms is a dead give away. I don't really know if this was ever something that FTP and stars used though.
This seems intuitive, but it is actually false. The majority of "grinders" (mid-stakes players who multi-table 9-24 tables at a time for a living) use programs like autohotkey that actually do exactly this, allowing players to play with the keyboard and even console (e.g. PS3) controllers. The most popular poker sites explicitly allow those helper programs.
Poker sites can tell if the keyboard interrupt came from which usb id so that isn't really an option. Moving the mouse is much more likely not to have a way to see if the hardware caused it. Hence why it is used more often.
I know a guy who worked for an international gambling syndicate, primarily betting on horse races. According to him, they tried to get into online poker bots, but kept getting caught. It sounded like they were using groups of bots and collusion, which I think is how they were detected.
I built a framework that lets me use QtScript as a bridge from .NET to FTP, enabling me to trivially introspect and manipulate the game client. Never had time to actually hook bot logic up to it, sadly.
For the record, monitoring DLL loads is silly, because well, it only monitors DLL loads. If you load the DLL into memory yourself (essentially replicating the standard functionality), it's a non-issue, and that's not terribly hard.
Does this work with data execution prevention?
Edit: to address the separate release part, I really don't think I'd want to do that with this. It's one of the few serious barriers to entry (the object traversal magic, specifically) that makes it non-trivial to bot the hell out of FTP. While I like poker bots and all that, it's the most valuable part of what I have, by far.
The Chris Ferguson? aka "Jesus"? I don't know which time period they are referring to, but he has been one of the most recognizable, well-known tournament players of the last 10 years.
From http://en.wikipedia.org/wiki/Chris_Ferguson
> In 1994, he began playing in tournaments in California and in 1995, he entered his first World Series of Poker. Ferguson beat T. J. Cloutier at the main event of the 2000 WSOP to win the $1.5 million prize.
So he became a winner of the WSOP after first entering 5 years previously. In what way is that "very little tournament experience"? I must be missing something...
It seems that anyone able to write a poker bot is able to tell it to take breaks every now and then. This doesn't seem like a war the poker sites can win.
You can always go after those players who take breaks that are too random ;-)
http://simplecomplexity.net/catching-an-online-poker-cheater...
How would you tell the difference between a bot who plays consistently well and a human who does? It's pretty trivial to legitimately put in 10K hands per day. You think that with 250K hands in a month, a human player doesn't start to play consistently well? At that point, there will be long stretches where the players is basically on auto-pilot, a human-powered robot if you will.
This cheater had access to everyone's hole cards and could play perfectly.
The bots in the parent article don't have that access. They're limited to making the same decisions that a regular person could make while playing, they only know about their own cards and the cards on the board.
It's a lot like algorithmic traders, BTW.
http://img51.imageshack.us/img51/2848/dilberttourofaccountin...
The craziest players can sustain about 50 tables at a time. That is not an exaggeration.
(a) doesn't work when all the other players are also good poker bots. Botting lives from the simple fact that most poker players are shit. (b) also doesn't apply, for obvious reasons. So, now you are left with the (c)s. Those will leave when they find something more interesting.
Seemed to be a good idea. Well, it's probably not.
(PS: There are poker bot competitions. The bigger ones have university teams competing, the smaller ones (the ones I found via Google) usually don't get enough entrants.)
it would take your game history logs, analyze them, and let you know where your most common mistakes were based on context (i.e., ICM for SNGs)
i still think its a good idea, for various reasons, i've just moved on.
> At its heart, the Annual Computer Poker Competition aims to benefit artificial intelligence by promoting, aiding, and evaluating research in the challenging problems presented by the wide variety of poker games.
The series of articles goes into detail on how to write a successful bot - Statistics, OCR, hooking dlls, etc. There is a ton of information that lays a solid ground work for doing this yourself (if you have the time.)
Also look at Lee Rousso case against Washington state which has a law making online poker play a felony. State Supreme court ruled the law as constitutional. Now PokerStars had moved out of Washington state for the same reason.
If it was pre HR 2267 PokerStars wouldn't have done it.
http://bdp.betfair.com/index.php?option=com_content&task...
They provide the API for the following: ‘Exchange Baccarat’, ‘Exchange Blackjack’ ‘Exchange Hilo’ and ‘Exchange Poker’. From reading the site, 'Exchange' seems to mean the games are 25% faster than standard.
Haven't developed anything using their API, but it looks interesting. Also the polar opposite approach of PokerStars and FullTilt.
Poker is a game of incomplete information. The more information you possess, the better your odds are of making the right decision.
So, in the instance of 2 poker bots colluding on a table (the 4 suits are (c)lubs (d)iamonds (s)pades (h)earts):
Bot 1 has Ac5h and discards pre-flop (no money spent)
Bot 2 has KcQc and calls.
Player 3 calls
Player 4 calls
All other players discard
The flop comes up: 5c 10c 9c
At this point, Bot 2 has an excellent hand (a King-high flush), but it doesn't have the best possible hand; it's vulnerable to a higher flush due to the Ace. However, the because bot 1 & 2 have colluded, it knows with 100% certainty that it has an unbeatable hand and can play accordingly.This is a pretty weak example, but it's the easiest I could think of without assuming any knowledge of poker. Having knowledge of cards that have been in play significantly increases a player's ability to make decisions in a way that give that player an unfair advantage.
While your example is a good one, the bot actually doesn't have an unbeatable hand. Another player could have trips or 4/5 of a straight flush and hit a better hand (quads or a straight flush) on the turn/river. Or the board could pair twice and give someone a full house. Unlikely in any case, but not out of the realm of possibilities by any means.
but seriously, he means if the board is like: 2c 3c 7c Tc 4h, (not that he'd get much value from the guy with the lone Jc, though)
think of how easy squeezing is with two colluding bots.
http://en.wikipedia.org/wiki/Polaris_(poker_bot)
Hands in limit poker nearly always have a mathematically correct way to play; if a program executes the correct play every time and isn't figured out as a bot the program stands a pretty good chance of being profitable.
Most human players don't have the advantage of being able to memorize the correct action for every scenario, a well written bot has an absolute advantage with regards to the math involved.
Additionally, a poker bot remembers every hand it's ever played, as well as every hand it's ever seen played - there has been poker software available for many years that will analyze other player's play for weaknesses which can be trivially exploited. I would assume diligent poker bot creators know about this type of thing and are taking advantage of that as well.
I should've clarified no limit. This article is presumably talking about no limit - since that is by far the predominant game.
With all due respect, you have a poor understanding of poker if you really think there is a way to "memorize the correct action for every scenario". Poker is about interaction, spotaneity, 'feel', instinct. Mastering those things is where to get a real edge, not math - particularly in no limit. Hence my comment.
That being said, I'm fairly certain the article was not talking about no-limit. The vast majority of poker bots play limit, where there is a clear advantage from playing the mathematically correct way.
The idea that you can play winning poker with "spontaneity" and "feel" is exactly how these bots make money. I'm not going to waste my time trying to explain it to you. If you really care, spend more than 30 seconds reading up about the mechanics of limit poker.
I would suggest starting here, since it has a reasonably compact rundown of the math behind the game:
http://www.amazon.com/Theory-Poker-Professional-Player-Teach...
An objection that could be raised is that psychological factors carry more weight in no limit, especially short term psychology (recognizing when a player is on tilt), but I see no reason why a sophisticated program couldn't integrate these factors better than a human. Psychology in online poker is really just pattern analysis.