Rendered at 21:16:55 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
ryanto 24 hours ago [-]
Wow, this is amazing, great read too. I have a few "test spots" I like to use with solvers and yours nailed them.
>A more modern approach instead “re-solves” each spot to a limited search depth and uses a neural network as an approximation function at the depth cutoff.
This sounds very interesting, I'd love to hear more about it. A few years ago a wrote a solver that worked by reducing the entire game tree. It was slow, and couldn't do preflop. It sounds like these re-solves allow preflop solves with needing a massive tree?
mncalc7 1 days ago [-]
You should check out https://jax-js.com/. It has parity with quite a large surface area of Jax, and compiles natively in the browser to wasm and webGPU, entirely written in JS.
patrickhulin 23 hours ago [-]
Oh, this is neat! I knew posting something that claimed a library didn't exist would inevitably surface one :)
7373737373 2 hours ago [-]
Is it possible to have a website compute as efficiently and utilize the system it runs on as completely as a native application can? Or do browsers introduce limits?
osti 2 hours ago [-]
Do you have any numbers on the solve quality? Exploitability numbers etc.
noname123 24 hours ago [-]
QQ for all the pro players out there, for 6 or 9-ring poker, can solvers really solve every scenario - or there is simply too many permutations.
The other question I have is how do human players adapt to GTO play now? Like in other games, humans have adapted to novel strategies - I'm curious for poker whether there's ways to exploit GTO solvers (ie, if you put your opponent bot on the GTO range and chase the fat tails). And is the poker community's fair play detection algorithm good enough to catch players who use solvers like chess community - or it's easy to evade by making a few deviations. Much thanks!
ryanto 24 hours ago [-]
- for 6 and 9 handed, yes they can solve any 2 player scenario you give it. you solve to some expected loss (like 1%), so it's not a perfect solve. you can solve lower, but it takes longer. in theory there are multiway hands that are unsolvable.
- human players adapt to GTO by leaving the game. you are not beating a solver. solvers by their very design are unexploitable.
- sites can catch players that use solvers if they care to. in my experience there are sites that care and others that dont, depends on the market. regs know who is cheating.
fierycatnet 24 hours ago [-]
Not a pro player but I do well enough recreationally in local clubs when I play. GTO in my experience is really not a threat. Most players dont play GTO and against bad players GTO is not a factor. I've played with solvers before but I see no value for my current stakes. Nor do I feel that GTO is important. Perhaps in computer simulations but... its all theoretical and just fun and games. You'd need to play HU against Phil Galfond if you want GTO to be useful but how many players will be challenged like that?
comrh 23 hours ago [-]
I also play recreationally and pretty much agree. The average person at $1/2 or $2/5 is playing on mostly emotion no where near GTO. I think it does have some benefit in how you think about the game, how to mix in bluffs, expected value, but it's not really GTO math specific and more general ideas.
bugufu8f83 22 hours ago [-]
>QQ for all the pro players out there, for 6 or 9-ring poker, can solvers really solve every scenario - or there is simply too many permutations.
Solvers can only solve using restricted game trees. Generally only heads-up pots, for one--multiway solvers exist but they are cumbersome and there's no guarantee that their algorithms converge to any kind of optimal play. And within the heads-up game tree, you still need to restrict the size of the game tree with a limited number of bet sizes. Not really a big deal, but in theory a perfect poker player would have a continuous range of bet sizes available for them to use (eg 1bb, 1.5bb, 2bb, 2.5bb, etc), not just a few discrete ones.
>The other question I have is how do human players adapt to GTO play now? Like in other games, humans have adapted to novel strategies - I'm curious for poker whether there's ways to exploit GTO solvers (ie, if you put your opponent bot on the GTO range and chase the fat tails).
You can't really exploit GTO solvers. But a human player can't play a GTO strategy, it's simply impossible. People can get reasonably good at playing a few of the most common nodes in a low-exploitability way, but beyond that, nobody is placing a perfectly balanced strategy. It's just impossible. The strategies are way too complicated.
>And is the poker community's fair play detection algorithm good enough to catch players who use solvers like chess community - or it's easy to evade by making a few deviations.
The strongest fair play detector right now, at least at high stakes, is the players themselves. Precisely because playing a GTO strategy is impossible, if someone starts playing too perfectly, other regs will notice. And the high stakes community is pretty small too so everyone knows everyone else, or at least knows who knows them or whatever. Those two things combined mean that there's a lot of self-policing.
Also, playing a GTO strategy isn't necessarily always desirable. Equilibrium strategies are fundamentally defensive. A solver will defend at the perfect frequency against a river bet: folding just enough to make you indifferent when bluffing, so that "always bluffing" and "never bluffing" have the same EV (this is technically oversimplified but whatever). But this approach doesn't make the maximum amount of money. To win the maximum, you want to just always fold if your opponent isn't bluffing enough and always call if they're bluffing too much. Of course this opens the door for you to be counter-exploited (if you always fold, they can start bluffing all the time, and vice versa) which is why the solver lands on the goldilocks equilibrium.
In other words, a GTO strategy does not punish frequency mistakes, and Hold 'em is a game of frequencies. Of course a GTO strategy will still win money, because people don't just make frequency mistakes, they also make just straight EV mistakes. So there is certainly some risk of being cheated, sure.
Another thing that disincentivizes cheating a bit is that you have to be extremely consistent with it. In chess, using an engine in just one or two critical spots could be enough to swing a game completely. In poker, because of the imperfect information & randomness, the wins and losses are distributed far more evenly across time. It's not enough to just check a solver a couple times a session if you're bleeding money in the other hands.
Anyway, all of these are real issues, but the bigger issues facing online poker are all just related to game availability and quality: poker sites charging way too much rake, fewer recreational players willing to lose a lot of money online over time, a gazillion legal/regulatory issues that make it hard for people (both professionals and recreational players) to even play online in many places in the world.
dismalaf 23 hours ago [-]
> The other question I have is how do human players adapt to GTO play now?
By playing PLO. Seriously, at high stakes live cash games, no one's playing NLHE. Everyone's playing PLO or short deck. More possibilities, bigger pots, bigger swings, much harder to solve.
At low stakes, NLHE is dead compared to how it used to be.
squibonpig 12 hours ago [-]
Oh yo sick I've been thinking about making a solver too with them being so overpriced. Will be super fun to mess with this.
logicallee 3 hours ago [-]
This thread seems like a good thread to ask in:
In the poker subreddits the rake question comes up from time to time, and with the low cost and high quality of inference I have been considering making rake-free poker. The model is a small monthly subscription like $4.99/month for low stakes $9.99/month for mid stakes, one account per player, 20 tables max.
This actually would make a lot of marginally losing spots into winners, and there are a lot of coin flips where after rake both players lose. So if you keep coin flipping, you just lose over time. (But you don't want to fold and give up your equity for free either.)
The thing that gives me pause is that a lot of people cheat using solvers during hands, bots, or collusion.
Is there anything I could do at a practical level to keep the game fair? (no tools, no bots, no collusion.)
bluecalm 42 minutes ago [-]
With any kind of gambling site your major cost will be credit cards chargebacks and other fraud.
>>Is there anything I could do at a practical level to keep the game fair? (no tools, no bots, no collusion.)
You can try catching unsophisticated cheaters. It will be expensive. There isn't anything you can do about sophisticated dedicated cheaters.
logicallee 26 minutes ago [-]
Thanks, that's good to know.
bluecalm 1 days ago [-]
>>A more modern approach instead “re-solves” each spot to a limited search depth and uses a neural network as an approximation function at the depth cutoff. Both tabular (e.g. Piosolver) and neural (e.g. GTOWizard) commercial solvers are available.
PioSOLVER doesn't use any abstractions or cutoff functions. It just solves the whole game without any simplifications other than allowed bet sizes.
The cost is rather large RAM requirements. The advantages is that it's very precise and produces exact results for every hand (it doesn't bundle them).
keeganpoppen 23 hours ago [-]
"LLMs are just fancy autocomplete" xD
archerx 16 hours ago [-]
It autocompleted the PyTorch library into webGPU…
1 days ago [-]
beepbooptheory 1 days ago [-]
Man was really excited for some poker-themed computer science blogging like back in the day but really I guess shoulda known huh :/.
>A more modern approach instead “re-solves” each spot to a limited search depth and uses a neural network as an approximation function at the depth cutoff.
This sounds very interesting, I'd love to hear more about it. A few years ago a wrote a solver that worked by reducing the entire game tree. It was slow, and couldn't do preflop. It sounds like these re-solves allow preflop solves with needing a massive tree?
The other question I have is how do human players adapt to GTO play now? Like in other games, humans have adapted to novel strategies - I'm curious for poker whether there's ways to exploit GTO solvers (ie, if you put your opponent bot on the GTO range and chase the fat tails). And is the poker community's fair play detection algorithm good enough to catch players who use solvers like chess community - or it's easy to evade by making a few deviations. Much thanks!
- human players adapt to GTO by leaving the game. you are not beating a solver. solvers by their very design are unexploitable.
- sites can catch players that use solvers if they care to. in my experience there are sites that care and others that dont, depends on the market. regs know who is cheating.
Solvers can only solve using restricted game trees. Generally only heads-up pots, for one--multiway solvers exist but they are cumbersome and there's no guarantee that their algorithms converge to any kind of optimal play. And within the heads-up game tree, you still need to restrict the size of the game tree with a limited number of bet sizes. Not really a big deal, but in theory a perfect poker player would have a continuous range of bet sizes available for them to use (eg 1bb, 1.5bb, 2bb, 2.5bb, etc), not just a few discrete ones.
>The other question I have is how do human players adapt to GTO play now? Like in other games, humans have adapted to novel strategies - I'm curious for poker whether there's ways to exploit GTO solvers (ie, if you put your opponent bot on the GTO range and chase the fat tails).
You can't really exploit GTO solvers. But a human player can't play a GTO strategy, it's simply impossible. People can get reasonably good at playing a few of the most common nodes in a low-exploitability way, but beyond that, nobody is placing a perfectly balanced strategy. It's just impossible. The strategies are way too complicated.
>And is the poker community's fair play detection algorithm good enough to catch players who use solvers like chess community - or it's easy to evade by making a few deviations.
The strongest fair play detector right now, at least at high stakes, is the players themselves. Precisely because playing a GTO strategy is impossible, if someone starts playing too perfectly, other regs will notice. And the high stakes community is pretty small too so everyone knows everyone else, or at least knows who knows them or whatever. Those two things combined mean that there's a lot of self-policing.
Also, playing a GTO strategy isn't necessarily always desirable. Equilibrium strategies are fundamentally defensive. A solver will defend at the perfect frequency against a river bet: folding just enough to make you indifferent when bluffing, so that "always bluffing" and "never bluffing" have the same EV (this is technically oversimplified but whatever). But this approach doesn't make the maximum amount of money. To win the maximum, you want to just always fold if your opponent isn't bluffing enough and always call if they're bluffing too much. Of course this opens the door for you to be counter-exploited (if you always fold, they can start bluffing all the time, and vice versa) which is why the solver lands on the goldilocks equilibrium.
In other words, a GTO strategy does not punish frequency mistakes, and Hold 'em is a game of frequencies. Of course a GTO strategy will still win money, because people don't just make frequency mistakes, they also make just straight EV mistakes. So there is certainly some risk of being cheated, sure.
Another thing that disincentivizes cheating a bit is that you have to be extremely consistent with it. In chess, using an engine in just one or two critical spots could be enough to swing a game completely. In poker, because of the imperfect information & randomness, the wins and losses are distributed far more evenly across time. It's not enough to just check a solver a couple times a session if you're bleeding money in the other hands.
Anyway, all of these are real issues, but the bigger issues facing online poker are all just related to game availability and quality: poker sites charging way too much rake, fewer recreational players willing to lose a lot of money online over time, a gazillion legal/regulatory issues that make it hard for people (both professionals and recreational players) to even play online in many places in the world.
By playing PLO. Seriously, at high stakes live cash games, no one's playing NLHE. Everyone's playing PLO or short deck. More possibilities, bigger pots, bigger swings, much harder to solve.
At low stakes, NLHE is dead compared to how it used to be.
In the poker subreddits the rake question comes up from time to time, and with the low cost and high quality of inference I have been considering making rake-free poker. The model is a small monthly subscription like $4.99/month for low stakes $9.99/month for mid stakes, one account per player, 20 tables max.
This actually would make a lot of marginally losing spots into winners, and there are a lot of coin flips where after rake both players lose. So if you keep coin flipping, you just lose over time. (But you don't want to fold and give up your equity for free either.)
The thing that gives me pause is that a lot of people cheat using solvers during hands, bots, or collusion.
Is there anything I could do at a practical level to keep the game fair? (no tools, no bots, no collusion.)
>>Is there anything I could do at a practical level to keep the game fair? (no tools, no bots, no collusion.)
You can try catching unsophisticated cheaters. It will be expensive. There isn't anything you can do about sophisticated dedicated cheaters.
PioSOLVER doesn't use any abstractions or cutoff functions. It just solves the whole game without any simplifications other than allowed bet sizes. The cost is rather large RAM requirements. The advantages is that it's very precise and produces exact results for every hand (it doesn't bundle them).