Open Side Menu Go to the Top
Register
How is GTO range generated? How is GTO range generated?

06-26-2021 , 02:35 PM
Hi Guys,

I'm struggling with the question above. I've used a couple MTT&Cash GTO charts but I don't quite know how they are generated. The only thing I know is they are balanced and cannot be exploited if we strictly follow them. I watched some monkersolver videos online but they just taught people how to use it instead of explaining the logic behind. If an explanation can be provided I will highly appreciate!

Also, let's say we have a standard online 8-max MTT 50 bb HJ vs MP Range with 12.5% ante. I have two versions from two reliable sources, but I can still see there are slight differences such as one chooses JKs as a 3bet candidate with 50% freq, and the other one just flat. Why are their differences if they are samely optimal? is it coz the softwares they used are different? Does it mean if I want to be balanced I have to follow&study one chart as a whole instead of looking at one spot like JKs? But what's the point of we, as human being, cannot strictly follow GTO chart in real-time play?

Thank you very much!
How is GTO range generated? Quote
06-26-2021 , 02:44 PM
basically a simulation where every player tries to exploit each other while minimising how much they get exploited over thousands of iterations
How is GTO range generated? Quote
06-26-2021 , 02:53 PM
Are you specifically referencing raise first in charts or what exactly?

Basically it's taking the game tree, simplifying it by only allowing certain actions/sizings, and then running it iteratively over a flop subset (another abstraction to decrease the size of the game tree), and then attempting to maximize EV for all participants... Whatever is highest EV will be played accordingly.

If the settings and abstractions are exactly the same, then the only way the outputs would be different is if the exploitability/accuracy of the solve is different.

I don't have monkersolver, but for example with PIO edge you can create preflop ranges in heads up scenarios. For example, I could set up a tree to determine SB vs BB ranges given certain criteria. For 6max NLH, typical situation might be

Starting stacks 100bb, set up parameters for rake/ip and oop invested money and dead money (antes/blinds)

SB -> raise 3bb/fold -> BB call/raise to 9bb/fold -> SB fold to 3b/call 6bb/4b to 24bb -> BB call 4b/BB jam/BB fold

Each call node would then be ran with some postflop parameters which would need to be selected... If you've ever used a solver before it'd be similar to this--> just allowing sizings/raise sizes etc. though each of these settings would likely be kept very simple to again decrease the size of the game tree.

This entire scenario would be then ran over a flop subset of a various size... Flop subsets basically created to have a small number of possible flops to hopefully represent the game tree as best as possible... Specific flops and with specific weightings... For example there are 1755 possible flops, but you might run this type of preflop solve over a flop subset of only 20 flops, or 60 flops, or 120, etc. (look up kuba flop subsets for more information). More flops = presumably more accurate results (a better representation of the game tree).

Given these restrictions/settings it would presumably run some type of iterative process where it attempts to maximize EV (which in essence is all GTO is). How it goes about that iterative process/attempt to maximize EV I'm not really sure how that works.

Hope that helps though, I'm sure some of my verbiage here isn't 100% correct, but it should at least give you a better idea.
How is GTO range generated? Quote
06-26-2021 , 09:29 PM
The actual method that is used to generate the ranges is called Counterfactual Regret. It was popularized recently and PIO and Monker both use a variant of it. You can look it up, and check it out. It's actually not too hard to write a simple solver for, say, AKQ game using CFR on your own if you want to try it.
How is GTO range generated? Quote
06-27-2021 , 08:01 AM
Thats incredibly helpful! Thank you very much! Now I have a much better sense of how it works
How is GTO range generated? Quote
06-27-2021 , 08:02 AM
Quote:
Originally Posted by silverware
The actual method that is used to generate the ranges is called Counterfactual Regret. It was popularized recently and PIO and Monker both use a variant of it. You can look it up, and check it out. It's actually not too hard to write a simple solver for, say, AKQ game using CFR on your own if you want to try it.
Yes I look it over and seems like solvers all follow this method to some extent.
How is GTO range generated? Quote
07-03-2021 , 12:25 AM
I had a question of which way solvers work and where the ranges from pre-flop charts come from. Question being do solvers use pruned decision trees for actual play or just estimate equities if the hand went to showdown? I believe the answer is the former, pruned decision trees of actual play.

The question gets more obvious if you take a ridiculous example. Imagine a game where any time hero flops a hand with greater than 50% equity, the computer automatically folds their hand.

If solvers calculate using actual play on later streets, then the pre-flop charts would effectively turn in to fold every hand because the game is so awful hero can almost never win.

If solvers calculate using equities if the hand went to showdown, the pre-flop charts for this awful game would be exactly the same as for regular NLHE.

So just double-checking it's the actual play one.
How is GTO range generated? Quote
07-03-2021 , 12:57 AM
Solvers calculate ALL branches/streets of the game tree simultaneously, assuming everyone plays optimally. There is no pruning, it simply calculates whatever sizes you give it.

You can lock one player's strategy to play badly, like in your example

Quote:
Imagine a game where any time hero flops a hand with greater than 50% equity, the computer automatically folds
But then the solver will assume it plays perfectly everywhere except that exact spot.
How is GTO range generated? Quote
07-03-2021 , 09:24 AM
Preflop solver plays later streets.
In terms of the most used commercially available preflop solvers, they heavily abstract the game having things like hand class buckets, board texture buckets...
How is GTO range generated? Quote

      
m