Open Side Menu Go to the Top
Register
PioSOLVER - postflop equilibrium solver for Holdem PioSOLVER - postflop equilibrium solver for Holdem

09-27-2017 , 06:56 PM
Quote:
Originally Posted by punter11235
I am not 100% sure I understand what you are doing exactly but I am assuming this:

1)build tree
2)solve it to good accuracy
3)node-lock
4)continue solving

Sadly this won't work well because the solver remembers it was already far into solving and internal "step" variable got quite low.
Better way is to do this:

1)build tree
2)node-lock (without solving)
3)solve



I really have no idea why that happens tbh. Stop waits for the iteration to stop which may take a while but then your CPU usage would be very high.



Most likely it's an issue with Windows memory allocator. It's a good idea to restart Pio between very big trees.



Wait, what happens if you just let it running?
Basically it's a bad idea to node-lock on already solved tree and continue from there. You should node-lock on a fresh tree and only then solve.

Please let me know if it's not what you meant.
Thanks! I was doing it the first way you described, that's definitely what is slowing it down because when I restart PIO fresh again it runs fast. I'll try node-locking after I click build this time and report back. This should fix it.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-27-2017 , 09:51 PM
Hello Punter, I'm a new PioSolver owner and I'd like to ask you a question about scripts.

I saw some videos and tried to read a bit about it and I just ran my first script (it's running right now).

From what I saw I can generate lot of flops on the same script but I'd like to do this:

Generate a script on one or more flops with given ranges, let it run.
Then I'd like to do another script with different ranges and stack sizes, but I can't run it because now Piosolver is telling me I'm out of RAM since the other script is running.

Is there a way to queue the scripts? I'd like to make more than one script and let them run during nights, is there some option to queue them or another solution to my question?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-27-2017 , 10:24 PM
Another question (sorry I can't edit previous post).
I have 3x raise sizes IP and OOP on the flop.
I just ran a solution, the bet is 20, the first raise is correct (60) but the reraise is 140, and then 300. How do I adjust the 3bet size on the flop?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 02:17 AM
Quote:
Is there a way to queue the scripts? I'd like to make more than one script and let them run during nights, is there some option to queue them or another solution to my question?
Yes, see this post:
https://forumserver.twoplustwo.com/s...postcount=3028

and this one:
https://forumserver.twoplustwo.com/s...postcount=3033

alternatively you could make a batch file containing many scripts, this is a good idea if you solve really big trees and you experience slowdown between freeing/rebuilding a new tree. That shouldn't happen with postflop trees though (unless they're really humongous). Let me know if you need help with that as well.

Quote:
I just ran a solution, the bet is 20, the first raise is correct (60) but the reraise is 140, and then 300. How do I adjust the 3bet size on the flop?
This is technically correct way. The raise is 3x of previous bet/raise, so first it's 20 then 60. Raise to 60 is a call of 20 and then bet 40 more so the next raise should be 40x3 = 120 more hence 20 + 120 = 140. Another reason we implemented it that way is that 3bet to a lower amount seems to be more realistic.

The way to add a raise of a different size is to use "add_line" field. Let's try this example:

-starting pot 100
-bet 50 on the flop from OOP, raises 3x from both
-total bet sizes are: 50, 150, 350, you want it to be 50, 150, 450.

instead of doing this:
https://gyazo.com/e6344b5a67edfed04a6bac77dfffd936

You would do this:
https://gyazo.com/f7d98a21e86d8dad5e05b5574c6eb71b

Notice the part at the bottom in "Add extra lines" field:
bet, raise, raise 300c

"c" suffix means "that much more" so you are adding this exact raise size in this exact line.

We hoped to include good defaults and most practical options in the tree building form but for cases where you want to modify sizes or add custom options there are Add lines and Remove lines fields. It's possible to construct every possible tree structure using those. It's easy to make a mistake with those so it's a good idea to browse a tree for a while after building it but before solving it to verify the betting structure is what you want without letting a long calculation run.

There is a bit more about those options, here:
https://www.youtube.com/watch?v=zLGpcZavxeQ (point 1)

Last edited by punter11235; 09-28-2017 at 02:23 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 05:23 AM
Quote:
Originally Posted by punter11235
Yeah, ok it's slow because:

1)loading from disc is slow
2)building the tree itself isn't the fastest process
3)unloading previous tree is very slow because we are using default Windows memory allocator which is god-awful slow

3) is especially painful if those are big trees.
In general it's way better idea to do small saves, reports on flop/turn are going to be very fast then. On rivers they will be slow but apparently they are too slow loading from full saves as well.

This is sadly something unlikely to change. While we can make 3) much faster with custom allocator which will likely happen at some point reading from disks is always going to be slow and building trees (from scratch or from saves) is likely to stay single threaded.


Hmmm sounds like a reason to get 3 Samsung 960 pro 1tb and put them in raid0 ehhhh? LOL haha thanks for the explanation punter. Actually I don't think its the hdd read speed, its likely the loading and unloading of trees? Eh whatever I can live with it.


I do have another question though, and perhaps this is one you have answered already in the past, but how does piosolver determine when/why it is good to cbet 1/3 psb over say 2/3 psb? I'm analyzing a sb vs btn 3bet pot situation, where sb has the option to cbet 1/3 or 2/3, and trying to recognize a pattern or a reason, but it seems to be kind of all over the place.

Short of memorizing the most optimal cbet size for tons of different flops, i was hoping more for a guideline or rule of thumb I can use in game.


So far, the best pattern I can deduce is, bet smaller when villian is more likely to raise your cbet, bet larger when he is less likely to raise. But then I see it likes to bet small on flops like AA5ss.

So i think to myself, Ok, maybe it likes betting less when villiain's range is inelastic. (this makes the most intuitive sense)

But then I see it likes betting large on 422r.

422r is generally a flop that BTN will be inelastic i feel? But perhaps not against an optimal opponent who would float wide? Haha yeah just trying to make sense of why and when it likes small vs big cbet sizes.

Last edited by HappyLuckBox; 09-28-2017 at 05:30 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 05:36 AM
Quote:
its likely the loading and unloading of trees? Eh whatever I can live with it.
Yes, mainly unloading. It can be sped up but it's not a small task.

Quote:
I do have another question though, and perhaps this is one you have answered already in the past, but how does piosolver determine when/why it is good to cbet 1/3 psb over say 2/3 psb? I'm analyzing a sb vs btn 3bet pot situation, where sb has the option to cbet 1/3 or 2/3, and trying to recognize a pattern or a reason, but it seems to be kind of all over the place.
The thing is that Pio doesn't have any understanding of the game beyond the rules. At every step it adjust the strategy in the direction of the highest EV, repeats it hundred of times and arrives at very good equilibrium approximation. It doesn't know "why" 1/3 or 2/3 is chosen more often. It's just the result of many adjustments in the direction of highest EV from both sides.

Understanding (recognizing patterns) is a human concept which helps with making sense of huge amount of data. It's a very hard problem to program a computer to have understanding but luckily it's not needed when solving poker

Quote:
So far, the best pattern I can deduce is, bet smaller when villian is more likely to raise your cbet, bet larger when he is less likely to raise.
At this point there are a lot of people who have seen way more solutions than me so it's the best idea to look for fellow players/Pio users to exchange insights. From what I remember it generally prefers betting smaller on dry boards and bigger on wet ones although even that you should try verifying instead of trusting me.
Another thing is that small bet is more likely if it can bet the whole range (or close to it) which in general is possible on flops which hit the raiser's range better, like Axx or Kxx. Again, please verify
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 08:38 AM
Thank you Punter Very clear and fast answers.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 08:48 AM
Quote:
Originally Posted by punter11235
We hope you like the tool. It's still early in the release. We appreciate any feedback/suggestions. As it's a still small user group we spend more time talking to users (both emails and Skype) so if you would like to be more engaged in the feedback/suggestions department drop us an email and I will give you skype contact.
Thank you. That would be good.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 09:50 AM
nvm

Last edited by Rebellz; 09-28-2017 at 10:02 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 04:29 PM
Quote:
nvm
I've seen the question was about scripts before you edited it out. I hope it worked at the end.
In general it's a good idea to experiment with very simple scripts first, like ones only containing one line:

echo "hello from script1.txt!"

so you can test without waiting for the solutoins
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-28-2017 , 05:00 PM
Hello, could you please give me any advice how can I implement PIO gto solutions on turns/rivers into my play?

The thing is I have done a script with 184 flops. With aggregated analysis I can realize or even memorize my flop strat. But if I do aggr. analysis on later streets it becomes too vast and I am confused.

Any help would be welcome.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-29-2017 , 01:20 AM
I'm planning on getting a new desktop for piosolver and other stuff. What should I be looking for in a cpu, GHz or amount of cores? For example here's a bunch of different cpus and the ones with 8cores vary a lot in cost even though the GHz is quite similar.



What should I be looking for in a cpu?

Apart from a good cpu, I really only need RAM then for pio, right?

edit. I checked Intel cpus from that website and an 8-core 3.6GHz costs a lot more than an AMD cpu with the same properties. And in general Intel seems more expensive. Is there any practical difference between them? I thought for piosolver it's just cores x GHz?

Last edited by Calm Down; 09-29-2017 at 01:44 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-29-2017 , 04:15 AM
Quote:
Hello, could you please give me any advice how can I implement PIO gto solutions on turns/rivers into my play?
It's hard to say what's the best method to learn from those is. I am not an active player anymore so it's not the best idea to take advice from me on this either.
I feel it's the best to look for patterns, especially in what the composition of ranges for various actions is (what the solver double barrel with, what it defends, what it checkraises with, how it defends against a bet after the turn goes check/check etc.). I know some people who get very good intuition for it over some time and can guess solver's preferences pretty well.

Quote:
What should I be looking for in a cpu?

Apart from a good cpu, I really only need RAM then for pio, right?
You need RAM to build bigger trees, CPU to solve them faster.

Quote:
I checked Intel cpus from that website and an 8-core 3.6GHz costs a lot more than an AMD cpu with the same properties
AMD CPUs are much better deal, as simple as that.

Quote:
I thought for piosolver it's just cores x GHz?
This is true for CPUs of the same (or similar generation). Traditionally Intel cores were much faster than AMD cores (even clocked at the same frequency) but it's no longer the case. These days Ryzen/ThreadRipper cores are about as fast as Haswell ones and maybe 10% slower than the newest Intel cores (assuming the same clock frequency).
Again, it goes for Ryzen/ThreadRipper only. FX series and Opteron are very slow and you should definitely avoid them.

The only real choice is either new gen AMD CPU or older Intel ones if you can get them on discount prices. New gen Intel CPUs offer terrible performance/price ratio.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-30-2017 , 12:39 PM
Is the speed faster if I use micro saves?
micro saves >> small saves >> full saves?
Or is just about tree size?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-30-2017 , 03:06 PM
Quote:
Is the speed faster if I use micro saves?
micro saves >> small saves >> full saves?
Or is just about tree size?
It doesn't influence solving speed. Saving and loading is faster in case of small saves.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-01-2017 , 12:18 AM
In Pio we can use aggregation reports to calculate average frequencies like how often we should Cbet. We use flop sets for this.

Now I wonder, is the quality of a flop set aggregation report dependent on the game? As in, are the Pio flop sets designed only to give good Hold'em results and will be useless for PLO, or can they be used for any flop game?

Not your area, but it would be interesting if we could use Pio flop sets to compute aggregation reports with MonkerSolver (manually, since there is no aggregation report feature). At the moment, I can't think of any other way to approximate PLO averages like we can with Pio. Would MonkerSolver simulations over Pio flop sets give meaningful aggregation reports? If yes, would the weights be meaningful, or would it be best to just do an unweighted average?

Last edited by ZenFish; 10-01-2017 at 12:23 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-01-2017 , 04:10 AM
Quote:
Now I wonder, is the quality of a flop set aggregation report dependent on the game?
We don't know (yet). Our suspicion is that they are going to be decent for PLO as well.

Quote:
At the moment, I can't think of any other way to approximate PLO averages like we can with Pio.
Well, yeah until we have the public PLO solver

Quote:
Would MonkerSolver simulations over Pio flop sets give meaningful aggregation reports?
We don't know because:

1)We are not sure if those flop sets are good for PLO
2)We don't know if Monker Solver gives reasonable approximations of the game.

Quote:
If yes, would the weights be meaningful, or would it be best to just do an unweighted average?
Definitely use the same weights.

You won't be able to calculate those averages from the EVs alone btw as this will not include card removal effect. You need real frequencies as well for that.
This is an important point, not just a nitpick. Imagine having two flop subset:

As 7h 2c: 1
As 6h 2c: 1

You are trying to calculate average for 77. It's very important for the final result that you flop A72 2x less frequently than A62 when holding 77 and that is even not including card removal effect from opponent's range (which is going to have a weaker but still significant effect).

Last edited by punter11235; 10-01-2017 at 04:18 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-01-2017 , 07:07 AM
Quote:
Originally Posted by punter11235
You won't be able to calculate those averages from the EVs alone btw as this will not include card removal effect. You need real frequencies as well for that.
This is an important point, not just a nitpick. Imagine having two flop subset:

As 7h 2c: 1
As 6h 2c: 1

You are trying to calculate average for 77. It's very important for the final result that you flop A72 2x less frequently than A62 when holding 77 and that is even not including card removal effect from opponent's range (which is going to have a weaker but still significant effect).
To make sure I understand the implications of what you're saying:

Let's say I just want average frequencies for various actions in PLO. For example, I want to estimate optimal average cbet% for BTN vs BB in single-raised pot. I choose a set of 30 flops and solve them in MonkerSolver for this formation (using pre flop ranges that I've gotten from a previous pre flop simulation). I compile my list of 30 CBet frequencies and take the weighted average.

Should this in your opinion give a decent approximation to the average optimal CBet% for that scenario? (assuming that the flop sets will work decently for PLO and that MonkerSolver produces accurate output).

Last edited by ZenFish; 10-01-2017 at 07:14 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-01-2017 , 07:21 AM
Quote:
I compile my list of 30 CBet frequencies and take the weighted average.
You need to weigh by matchups here, not just weights of flops (as A72 vs A62 example makes clear).
I have no opinion if it's going to work well or not. My intuition is that the subsets are going to be at least decent for PLO but it's as good a guess as anybody's.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-01-2017 , 06:50 PM
hey guys can anyone help me.. if you run a script and then load the saved file, all the paramaters are all mixed up in that box, even though the output seems to be correct.. anyone have a fix for this ? or know what I'm talking about ?
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-02-2017 , 03:09 AM
Quote:
hey guys can anyone help me.. if you run a script and then load the saved file, all the paramaters are all mixed up in that box, even though the output seems to be correct.. anyone have a fix for this ? or know what I'm talking about ?
Currently tree configs are saved in a script file and the viewer looks for them when loading trees. The problem arises when there are more .txt files with configs in the same folder as the viewer may have trouble guessing which script corresponds to which save.

The solution is to always use a fresh folder for script saves and to make sure there is only one script in there.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-02-2017 , 06:29 AM
Having an issue with piosolver preflop avx tree estimated size. Seems like everytime I estimate, say 100 flops, it will say it will take 90 gb of space. After building the tree, it always ends up taking about 15-20% more than the estimate states, so in the example above it ended up taking 110gb or so.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-02-2017 , 09:14 AM
Quote:
Having an issue with piosolver preflop avx tree estimated size. Seems like everytime I estimate, say 100 flops, it will say it will take 90 gb of space. After building the tree, it always ends up taking about 15-20% more than the estimate states, so in the example above it ended up taking 110gb or so.
Yeah, it's not 100% precise. Maybe it's going to improve a bit but exact estimation is impossible because memory allocator is not 100% efficient (and it's impossible to say how many gaps there are going to be beforehand).
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-02-2017 , 08:21 PM
Is there a max exploit tool button thing in Piosolver like there is in CREV?

---

If not, and if we want to node lock a spot for villain given our assumptions of his tendencies won't the EV's of certain hands in our range be different if we just hit the solver again?
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-03-2017 , 02:18 AM
Quote:
Is there a max exploit tool button thing in Piosolver like there is in CREV?
Tbh I have no idea how CREV works. You can either calculate EV of max exploit.
There used to be an option to set strategy of one player to max exploit as well but it got broken in 1.9. Only recently we started getting questions about it so it will be fixed in 1.10 (already works in dev).
The reason it wasn't very important is that setting max exploit on nearly GTO solutoin makes little sense as very small difference in EV (resulting from minimal inaccuracies of the solution) result in 100%-0% strategies.

Quote:
If not, and if we want to node lock a spot for villain given our assumptions of his tendencies won't the EV's of certain hands in our range be different if we just hit the solver again?
If you node-lock and then solve then you will get both players playing optimally assuming they have to follow decisions in locked nodes.

On the other hand if you node-lock on solved trees and don't solve then you will get villain's strategy which is a combination of:

1)respecting what you locked
2)playing optimally afterwards but assuming they didn't do 1)

This is something which is not very practical because no one tries to play like that.

That being said there are some uses for setting strategies to max exploit so we are adding it back in 1.10
PioSOLVER - postflop equilibrium solver for Holdem Quote

      
m