Counterfactual Regret Minimisation or How I won any money in Poker?
rnikhil.com
rnikhil.com
CFR is very effective, but slow and requires a lot of RAM. I had to create a smaller, abstract version of the game, solve that, and then map the result back to the actual game, so I didn’t end up with a perfect Nash equilibrium, but the solution does still play at a super-human level.
One of the interesting things about my approach is that it actually uses CFR at two separate levels: First it solves a single-deal version of the game, then it uses that solution to run CFR again on a repeated version of the game where each player accumulates points across multiple deals. (Bidding in Setback is highly score-dependent.)
I think a similar approach might be possible for Hearts, but I haven’t tried it yet. Solving Bridge with CFR may be beyond our current capability, but could also be possible in the future.
[0]: https://www.bernsrite.com/Setback
pokertracker has been around forever too, lets you keep track of how certain people to play so you can optimize strategy.
GGPoker's anti fraud detection system: https://www.natural8in.com/security-ecology-agreement
Remember this is the public stuff and they work with professional players to do a lot of behind the scene stuff to ensure a fair game.
That just looks to me like a list of rules with vague promises of “sophisticated proprietary software, trust us bro” enforcing the rules. Who knows for sure how much of that is actually implemented? We have to take the company’s word for it.
I don’t doubt some of that cheat detection exists, but some of it also seems pretty fantastic.
The “sophisticated proprietary software, trust us bro” is probably mainly used as a way to not do payouts. Online casinos are really shady.
Winning in poker is about identifying "fish". Being 0.001% better than the other bots at the table wont beat the house.
https://forumserver.twoplustwo.com/29/news-views-gossip/supe...
GG is doing not even basic modeling of theoretically possible vs actual win rates to identify outliers (cheaters..)
I'd say that the assertion that these "named pro-players" are doing anything to ensure a game seems like utter PR fluff nonsense, esp given they have 0 credentials / skills in data science / analysis etc.
I know for a fact that GG has a GTO detection algorithm. If you play too close to GTO/optimal strategy they investigate. Lot of RTA folks got caught this way.
Jason Koon and Fedor Holz are part of the team which manually reviews statistical anomalies. Its stupid to think they dont know about the data side of Poker. Moreover, a ton of Poker players end up becoming traders and data scientists. There is a lot of skill overlap.
I agree that some of the stuff is PR nonsense but to dismiss their entire anti fraud operation is just stupid. They are literally the best in the world at this.
The tough part is not implementing the bot or replicating the research(Noam Brown mentions in the linked AMA that it just cost couple hundred dollars for its training). The hard part is the infra for cheating. Setting up multiple accounts on the website (bypassing KYC checks) and getting reliable cashouts (poker sites do a ton of AML checks). Its easier to do it in lower stakes but the cost of running the bot will eat up the win rate. On the flip side, the chances of you getting caught are very high when you play high stakes.
However I haven't found any complete ready-to-play implementations. There are a few simple implementations of CFR on github, but that's a long way from a complete poker bot.
On a side note, he also wrote about his story of building the first productized solver here:
https://medium.com/@olegostroumov/worlds-first-poker-solver-...
I'm still surprised by the difference with the chess world where all the strong engines are free and open-source. Maybe poker is less attractive to developers, or maybe poker devs are simply more inclined to make money (which I completely understand!)
FWIW, this is a fairly recent thing in chess (within the last decade). Before 2015 or so closed source commercial engines were better than open source options.
I am currently thinking about how to also measure mistakes which involve the player's distribution of choices when the best play is a mixed strategy. One possibility is to keep track of the player's distribution over time. This would probably require too large of a sample size, so one possibility would be to merge similar situations in the game tree when assessing this kind of mistake. Another possibility is to have the player somehow actually choose a mixed strategy when making a decision.
I played very successfully from 2005-2009, and I tried a couple of times post-2011 - it was just devoid of the total idiots that would feed you money.