Matt, this is great stuff, I hope you continue this series of posts. This topic loosely breaks into two domains--the technical details of programming and running the bot and the theory that drives the bot's AI. Personally I think there's already been a lot written about the former, so I'm more interested in the latter. Would love to know how went about developing the bot's decision algorithm.
An interesting juxtaposition against the series being written at Coding the Wheel.
Both are very clear about the difficulties involved - my suspicion is they push the "eating glass" type analogies primarily so that they don't appear to be encouraging further development. After all, the challenges involved appear to be what motivates them (and many Hackers) in the first place.
Once you’ve agreed on a time period and a way to count the results, how can you be sure that the results weren’t a product of luck and variance instead of skill?
That should only matter if your motivation for developing a poker bot was to develop a program that could demonstrate "skill" rather than one that could produce the highest profits (such as if you were a computer scientist). If you wanted to produce the highest profits, then your metric for comparing implementations would be net profit over the long run.
It is okay to come up with some set of metrics to attempt to measure "skill" in the short term while developing your algorithm, perhaps, but that's when you're in "computer scientist" mode. Ultimately skill is irrelevant if your goal is to make a profit over time, and if it were not, I suspect you would not be working on such a project in the first place.
Net profit is a factor of many things that have nothing to do with the bot. How good of a system you have for getting new accounts/ip addresses, how well you can funnel money from one dummy account back to you, how well you avoid detection, etc.
Still, you can easily determine the mathematical certainty for a given win rate and sample size.
People like to think that if you can build a winning bot you can easily run it on a dozen computers and rake in millions of dollars. In reality, the logistics of running such an operation are prohibitively difficult--at least if you want to stay within the bounds of the law.
Yeah, I've gone through much of the rest of the process before between bonus abusing casinos, running a rakeback site, and my own poker play.
Once upon a time Party Poker offered a guaranteed 10% APR on all balances up to $10k, paid out monthly given a certain relatively small level of pay. I imagine their multiple account detection process back then was relatively crude compared to what Stars has now, but it caused me some pain. And I know Full Tilt is very good at it now.
Honestly I didn't even bother trying setting up multiple accounts.
The money was a nice, but it really wasn't the primary goal. Plus, in order to maximize profits I would have had to tread in a lot of murky waters that I didn't want to be near.
For example, say you have a roommate run the bot. How do you get the profits from his poker account into your bank account? Not as easy as it might seem.
But since online poker winnings are technically illegal in the US, doesn't that invalidate any legal standing over them, similar to how gambling debts are unenforceable?
Online poker winnings are not illegal in the US. Playing online poker (or any form of gambling other than sports betting) is provably illegal only in a few states.
But in those states, perhaps. I never had to pay an attorney to review that :)
Net profit is a factor of many things that have nothing to do with the bot. How good of a system you have for getting new accounts/ip addresses, how well you can funnel money from one dummy account back to you, how well you avoid detection, etc.
Those are ancillary factors that have an effect on net profit. They are not metrics. Taking the story from the post, if my "friends and family" were asking me about the "success" of a poker bot, I'd still point to net profit as the best metric with which to define success (unless you're doing it for CS/math reasons).
It's a bit like if I'm a professional, regular poker player and family members ask me how I'm doing. I'd tell them how much money I've won (or lost), not the intricate details of how I play.
Well, I was a professional poker player for over 5 years, and you're wrong. I looked at it the way he did in his article. We all do. You probably wouldn't tell your dad that stuff only because he likely wouldn't understand, but it would be at the front of your mind.
We're obsessed with the performance metric, big bets per hour for live players, big bets per 100 hands (BB/100) for online. Standard deviations, results ranges, levels of certainty. You obsess about that stuff or you end up broke. (Of course, you may do both.)
In fact if you read online poker forums, hands and win rates are rarely ever discussed with dollar values because they aren't very relevant. They're almost always given in terms of big bets, and most if not all online hand converters (which take a hand history from a poker site and print it out in an easy to read format for posting on forums) convert to that automatically.
The absolute dollar amounts are only useful for getting a very rough estimate of the level of competition given no other information.
> I'd tell them how much money I've won (or lost), not the intricate details of how I play.
If only my poker pro friends were as considerate.
Seriously though, in the long run the money is the metric. Holding your own against great players won't pay the bills. Finding weak players at decent stakes is where it is at and as such this is part of the game.
This misses the point. The signal-to-noise ratio of poker is relatively low, especially when you're dealing with win rates that are only slightly above zero (as is normally the case with poker bots). A hypothetical player whose "true" winrate is -0.5 BB/100 could easily play 30,000 hands and win more than 100BB, due to randomness. So you need a vast number of hands to determine if you're actually employing a winning strategy.
Great observation. I assume you mean because of the Screen Shot button on the bot software. I had to do that because when I tried taking screen shots of the few CAPTCHAs I saw, I wasn't able to paste it into MS Paint, so I built my own screen shot procedure. Not sure how they did it.