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

10-04-2018 , 05:43 PM
I also want to know about the preflop subsets. I always used the ones from the website. The 25, 49, 74, 95, 184. In my piosolver folder I have the 2016 subsets. How do these compare to the ones on the website? Should I use the 2016_74 or the one on the website? How do I get the 2017 ones? Or it does not matter.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-04-2018 , 11:09 PM
I have a question about scripting. Could I have an example of a script which solves two completely different postflop trees. More precisely I want it do the following.

1. Take an unsolved postflop tree 1.cfr
2. Solve it up to specified exploitability in percentages of the pot
3. Save results to 1.cfr
4. Clear memory and do other farewell stuff
5-8. Do the same to 2.cfr

Thanks.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 03:24 AM
Quote:
If i update piosolver, will it automatically remove the preflop subsets that were less accurate from a prior version? I still have 2 subsets for each sizing so I'm not sure which subsets are accurate and which arent.
Subset folder is not automatically overwritten. The ones you get with the newest version are the newest and best ones.

Quote:
#TreeBuilding#V2
It's better to paste in [ code ] [ /code ] tags so it's not a wall of text, like this:

Code:
#TreeBuilding#V2
#Range0#AA:0.1,KK:0.1,QQ:0.1,JJ:0.1,TT:0.3,99:0.5, 88:0.5,77:0.9,66,55,44,33,22:0.9,AK:0.1,AQs:0.1,AQ o:0.5,AJs:0.5,AJo:0.8,ATs:0.8,ATo,A9,A8,A7,A6,A5,A 4,A3,A2,KQs:0.5,KQo:0.8,KJs:0.5,KJo,KTs:0.8,KTo,K9 ,K8,K7s,K6s,K5s,K4s,K3s,K2s,QJs:0.8,QJo,QTs:0.8,QT o,Q9s:0.9,Q9o,Q8,Q7s,Q6s,Q5s,Q4s,Q3s,Q2s:0.9,JTs:0 .8,JTo,J9s:0.8,J9o,J8s:0.9,J7s,J6s,J5s,J4s:0.9,J3s :0.9,T9s:0.8,T9o,T8s:0.8,T8o,T7s:0.9,T6s,T5s:0.9,9 8s:0.8,98o,97s:0.8,97o,96s:0.9,95s:0.9,87s:0.8,87o ,86s:0.8,85s:0.8,84s:0.9,76s:0.8,75s:0.8,74s:0.8,6 5s:0.8,64s:0.8,63s:0.8,54s:0.8,53s:0.8,43s:0.8
#Range1#AA,KK,QQ,JJ,TT,99,88,77,66,55,44,33,22,AK, AQ,AJ,AT,A9,A8,A7,A6,A5,A4,A3s,A3o:0.5,A2s,A2o:0.5 ,KQ,KJ,KT,K9,K8,K7s,K7o:0.3,K6s,K5s,K4s,K3s,K2s,QJ ,QT,Q9,Q8s,Q7s,Q6s,Q5s,Q4s,Q3s,Q2s:0.5,JT,J9,J8s,J 7s,J6s,J5s:0.3,J4s:0.3,T9,T8,T7s,T6s:0.3,98,97s,96 s,95s:0.3,87s,87o:0.3,86s,85s,84s:0.3,76s,75s,74s: 0.5,65s,64s,63s:0.5,54s,53s,43s
#Board#Tc 9h 2h
#Pot#55
#EffectiveStacks#975
#AllinThreshold#67
#AddAllinOnlyIfLessThanThisTimesThePot#500
#MinimumBetsize#0
#UseUnifiedBetAfterRaise#False
#UnifiedBetAfterRaise#
#UseUnifiedRaiseAfterRaise#False
#UnifiedRaiseAfterRaise#
#ForceIPBet#False
#ForceOOPBet#False
#Cap#0
#CapEnabled#False
#CapMode#NoLimit
#RemovedLines#
#ExtraLines#
#FlopConfig.BetSize#33, 50, 75
#FlopConfig.RaiseSize#3.5x
#FlopConfig.AddAllin#False
#FlopConfig.DonkBetSize#
#TurnConfig.BetSize#33, 50, 100
#TurnConfig.RaiseSize#3.5x
#TurnConfig.AddAllin#True
#TurnConfig.DonkBetSize#50
#RiverConfig.BetSize#33, 50, 100, 150
#RiverConfig.RaiseSize#3.5x
#RiverConfig.AddAllin#True
#RiverConfig.DonkBetSize#50
#FlopConfigIP.BetSize#33, 50, 75, 150
#FlopConfigIP.RaiseSize#3.5x
#FlopConfigIP.AddAllin#False
#FlopConfigIP.Dont3bet#False
#TurnConfigIP.BetSize#33, 50, 75, 150
#TurnConfigIP.RaiseSize#3.5x
#TurnConfigIP.AddAllin#True
#TurnConfigIP.Dont3bet#False
#RiverConfigIP.BetSize#33, 66, 150
#RiverConfigIP.RaiseSize#3.5x
#RiverConfigIP.AddAllin#False
#RiverConfigIP.Dont3bet#False
#Rake.Cap#0
#Rake.Fraction#0
#Rake.Enabled#False
#ICM.Enabled#False
#ICM.Stacks#
#ICM.Payouts#
Anyway, I've built your tree and I can't reproduce the problem, see:
https://gyazo.com/8de9fc9ce7246b1c884aea0fe5cfa9a2

Is it possible you have used a different config last time? Or maybe you mean another spot and not flop OOP bet?

Quote:
I also want to know about the preflop subsets. I always used the ones from the website. The 25, 49, 74, 95, 184. In my piosolver folder I have the 2016 subsets. How do these compare to the ones on the website? Should I use the 2016_74 or the one on the website? How do I get the 2017 ones? Or it does not matter.
Use the ones you get with the newest version. They are the newest and the best. We improved them a bit since the blog post on the website was published and then we filtered the huge set we used to ship to include the best subsets only.

Quote:
1. Take an unsolved postflop tree 1.cfr
2. Solve it up to specified exploitability in percentages of the pot
3. Save results to 1.cfr
4. Clear memory and do other farewell stuff
5-8. Do the same to 2.cfr
Before I answer this I would like to clarify the usecase. This would only work if 1.cfr and 2.cfr are full unsolved saves. It seems wasteful to make them (they will be huge files). There is likely a better way to do what you want but if you are sure you want that then let me know and I will write a script for you.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 06:19 AM
How can i know if pioengine is evaluating a tree (running)? I cant see any command that can help me to know it
I am connectiong to pioengine from another gui and i need to know if it is still evaluating or it has finished (time or accuracy).
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 07:18 AM
Quote:
How can i know if pioengine is evaluating a tree (running)? I cant see any command that can help me to know it
I am connectiong to pioengine from another gui and i need to know if it is still evaluating or it has finished (time or accuracy).
Pio emits regular messages about current state of the solution. If it stops it emits a message about it and the reason of stopping as well. It looks like this:

Code:
running time: 5.302
EV OOP: 104.085
EV IP: 75.915
OOP's MES: 121.445
IP's MES: 83.806
Exploitable for: 12.625
SOLVER:
running time: 10.294
EV OOP: 104.968
EV IP: 75.031
OOP's MES: 107.324
IP's MES: 76.404
Exploitable for: 1.864
SOLVER:
running time: 15.181
EV OOP: 104.986
EV IP: 75.014
OOP's MES: 105.938
IP's MES: 75.670
Exploitable for: 0.804
SOLVER: stopped (required accuracy reached)
the GUI maker should read those messages and display them. Alternatively you can look into task manager and see if Pio is still using CPU heavily.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 11:09 AM
Anybody got anymore 2990wx benchmarks?
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 12:10 PM
Quote:
Originally Posted by punter11235
Pio emits regular messages about current state of the solution. If it stops it emits a message about it and the reason of stopping as well. It looks like this:

Code:
running time: 5.302
EV OOP: 104.085
EV IP: 75.915
OOP's MES: 121.445
IP's MES: 83.806
Exploitable for: 12.625
SOLVER:
running time: 10.294
EV OOP: 104.968
EV IP: 75.031
OOP's MES: 107.324
IP's MES: 76.404
Exploitable for: 1.864
SOLVER:
running time: 15.181
EV OOP: 104.986
EV IP: 75.014
OOP's MES: 105.938
IP's MES: 75.670
Exploitable for: 0.804
SOLVER: stopped (required accuracy reached)
the GUI maker should read those messages and display them. Alternatively you can look into task manager and see if Pio is still using CPU heavily.
Thanks for your help, i cannot apply none of those
No problem about that, i will manage.

Other question regarding show_strategy, show_strategy_pp: i assume that if there are 2 lines in response to those commands, the order is bet/check o call/fold. If there are three lines the order is raise/call/fold. Am i right?

Example:show_strategy_pp returns--->Th8h: 0.846675 0.152006 0.001319
0.84 = raise, 0.15:call, 0.00 = fold
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 04:04 PM
Quote:
Originally Posted by punter11235
Pio emits regular messages about current state of the solution. If it stops it emits a message about it and the reason of stopping as well. It looks like this:

Code:
running time: 5.302
EV OOP: 104.085
EV IP: 75.915
OOP's MES: 121.445
IP's MES: 83.806
Exploitable for: 12.625
SOLVER:
running time: 10.294
EV OOP: 104.968
EV IP: 75.031
OOP's MES: 107.324
IP's MES: 76.404
Exploitable for: 1.864
SOLVER:
running time: 15.181
EV OOP: 104.986
EV IP: 75.014
OOP's MES: 105.938
IP's MES: 75.670
Exploitable for: 0.804
SOLVER: stopped (required accuracy reached)
the GUI maker should read those messages and display them. Alternatively you can look into task manager and see if Pio is still using CPU heavily.
I was trying to resolve my problem (knowing if the solver is running) and i realized that using calc_results would be a good idea. If the solver is running i get an error so it is enough to know it is running or not.

While i was searching several commands, i realized that sending command calc_eq without arguments (OOP|IP) throws an exception and kills the process and terminates the connection to solver. Maybe you want to fix it
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 05:19 PM
Quote:
I was trying to resolve my problem (knowing if the solver is running) and i realized that using calc_results would be a good idea. If the solver is running i get an error so it is enough to know it is running or not.
Yes, this is one of the ideas.

Quote:
While i was searching several commands, i realized that sending command calc_eq without arguments (OOP|IP) throws an exception and kills the process and terminates the connection to solver. Maybe you want to fix it
Yes, that's definitely an oversight. Thank you for pointing it out.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-05-2018 , 05:35 PM
Quote:
Originally Posted by punter11235
Before I answer this I would like to clarify the usecase. This would only work if 1.cfr and 2.cfr are full unsolved saves. It seems wasteful to make them (they will be huge files). There is likely a better way to do what you want but if you are sure you want that then let me know and I will write a script for you.
I just want to be able to solve bunch of different games. Like cbet spot on the turn 3bet pot and checked to the river spot SRP ect...
I don't really need to provide those games as .cfr trees. But I need to be able generate them using PIO. I'll be fine with small saves.

Thanks for your help!

PS: I play HU NLHE, so no need in ICM stuff.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-07-2018 , 09:19 AM
hi, is there a way to burn a card before lauching a simulation ?
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-08-2018 , 03:09 AM
Quote:
I just want to be able to solve bunch of different games. Like cbet spot on the turn 3bet pot and checked to the river spot SRP ect...
I don't really need to provide those games as .cfr trees. But I need to be able generate them using PIO. I'll be fine with small saves.
Then the best way is to create separate scripts for every spot (with script generation tool) and then make a master script to lunch them all. See here:
http://************/PioSkypeGuidelines

(if it gets censored by 2p2, the link is here: https://www.piosolver.com/pages/faq-videos Skype group FAQ). Then in the table of content: Scripting: How to run several scripts one after another?

This is btw one of the things we want to improve in near future so it's easier to queue tasks with different betting structures/ranges.

Quote:
hi, is there a way to burn a card before lauching a simulation ?
Right now it's not possible.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-08-2018 , 02:10 PM
In an attempt to simplify the solution for the preflop solver, I've been rounding the solution (say btn ranges vs sb 3bet) and resolving and then comparing EV.

Is the following example the accurate way to go about comparing EV (say within 1% of the pot) and in your opinion, is 1% of the pot accurate enough?

Example:

stakes are 25-50 with $50 dead money ($100 pot total preflop)
pio solves and outputs a preflop tree for SB vs BTN where oop ev is say $25, and IP ev is $75.

Unfortunately the BTN solution for 4betting, calling, folding, etc is very messy and we would like to round the strategies so that we can more easily remember. After manually rounding the strategy we resolve and find that the EV for OOP has increased by .5 to 25.5, and IP has decreased by .5 to 74.5.

The resulting loss percentage lost in EV for IP is (EVloss/Total Pot) ~ .5/100 = .5% accuracy lost.


I think sacrificing anything less than 1% accuracy, or in this case 0.5% accuracy, but being able to remember the solution is a good tradeoff, so I just want to make sure that my methodology is correct before I go about memorizing my own solutions.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-08-2018 , 04:35 PM
hi,
is there any way how to solve a specific scenario starting from turn? When I do it normally from flop PIO suggests check raise or fold for OOP most of the time facing a bet, only 5% or so for a call. In reality opponents are mostly calling though so I would like to see the GTO on turn vs the wide population range (not the GTO tiny one). Is this somehow possible? Thank you
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-09-2018 , 02:49 AM
Quote:
Is the following example the accurate way to go about comparing EV (say within 1% of the pot) and in your opinion, is 1% of the pot accurate enough?
It's better to use bb/100 when solving preflop trees because it's not clear what the starting pot is in a preflop tree.

Quote:
stakes are 25-50 with $50 dead money ($100 pot total preflop)
Wouldn't that be 25+50+50 = 125?

Quote:
Unfortunately the BTN solution for 4betting, calling, folding, etc is very messy and we would like to round the strategies so that we can more easily remember. After manually rounding the strategy we resolve and find that the EV for OOP has increased by .5 to 25.5, and IP has decreased by .5 to 74.5.
From the description it sounds correct assuming you locked the preflop range.

Quote:
I think sacrificing anything less than 1% accuracy, or in this case 0.5% accuracy, but being able to remember the solution is a good tradeoff
Maybe, on the other hand you are easier to read for your opponents as your ranges will be clearly seen in a tracker once they get enough hands. In general I don't believe in rounding solutions for practical purposes. You make live easier for yourself but also for your opponents.

Quote:
is there any way how to solve a specific scenario starting from turn?
Sure, just input 4 board cards in treebuilding tab. Turn trees are solved very fast so it's easy to experiment.

Quote:
When I do it normally from flop PIO suggests check raise or fold for OOP most of the time facing a bet
This is from my experience very rare. Can you share the whole tree config? (you can get it by clicking copy to clipboard button and either pasting to pastebin.com and linking here or pasting here directly preferably in [ code ] [ /code] tags). Maybe there is something specific in the config that makes OOP very c/r happy (for example if they don't have option to raise on the turn/river they will raise more on the flop).
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-09-2018 , 03:41 AM
force_line
I have been trying force_line command, but i cannot see any difference in the results when forcing a line.
For example-->solve a tree from flop(very low accuracy, just 60 seconds), solve the same tree forcing line check-bet-call on flop and the results are almost identical in all 3 streets
does it work?
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-09-2018 , 06:40 AM
Quote:
Originally Posted by punter11235
It's better to use bb/100 when solving preflop trees because it's not clear what the starting pot is in a preflop tree.



Wouldn't that be 25+50+50 = 125?



From the description it sounds correct assuming you locked the preflop range.



Maybe, on the other hand you are easier to read for your opponents as your ranges will be clearly seen in a tracker once they get enough hands. In general I don't believe in rounding solutions for practical purposes. You make live easier for yourself but also for your opponents.



Sure, just input 4 board cards in treebuilding tab. Turn trees are solved very fast so it's easy to experiment.



This is from my experience very rare. Can you share the whole tree config? (you can get it by clicking copy to clipboard button and either pasting to pastebin.com and linking here or pasting here directly preferably in [ code ] [ /code] tags). Maybe there is something specific in the config that makes OOP very c/r happy (for example if they don't have option to raise on the turn/river they will raise more on the flop).

OK I wasn't sure about how to fill the flop sizings...so just always leave it empty when I do turn scenarios?
Now it suggests lead for OOP for 35% on turn, in reality again OOP check in 85%+ after IP bets flop. I guess now I have to use the remove line feature? What would be the command for removing OOP turn lead?

It is a very shallow spot, dry board
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-09-2018 , 08:51 AM
Is there a way in Pio where I assign 3 betsizings for flop (eg. 33% / 50% / 70% ) and have Pio select the best 2 betsizing and only use those two sizings? I wouldnt mind if the sim became less accurate then.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-09-2018 , 04:44 PM
Can the scripting interface perform arithmetic on ranges? I want to script the equivalent of node lock > select range > range arithmetic > multiply by a number. Purpose being to calculate balanced strategies for a set of flops, then modify to reflect a deviation in genpop strategy. The script would

1. build tree
2. solve tree
3. get solved cbet range
4. recalculate cbet range
5. assign to node
6. lock node
7. solve tree
8. save

Any help on steps 3-6 appreciated.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-10-2018 , 03:03 AM
Quote:
I have been trying force_line command, but i cannot see any difference in the results when forcing a line.
You probably don't need that as add_line and remove_line cover all possible trees.
That being said, can you pm me (or email support@piosolver.com) the script you are using? I will take a look at it. It's maybe a bit too technical for public discussion here as it's rare for our customers to use solver's text API directly.

Quote:
solve the same tree forcing line check-bet-call on flop and the results are almost identical in all 3 streets
does it work?
Force line removes other betting options along the way. It's used when building a tree.

Quote:
OK I wasn't sure about how to fill the flop sizings...so just always leave it empty when I do turn scenarios?
When you do turn scenarios it doesn't matter what is filled in flop sizings. You can leave them empty to put random numbers in there.

Quote:
Now it suggests lead for OOP for 35% on turn, in reality again OOP check in 85%+ after IP bets flop. I guess now I have to use the remove line feature? What would be the command for removing OOP turn lead?
If you just skip OOP turn bet sizing the tree will be built without it so OOP will be forced to check.

Quote:
Is there a way in Pio where I assign 3 betsizings for flop (eg. 33% / 50% / 70% ) and have Pio select the best 2 betsizing and only use those two sizings? I wouldnt mind if the sim became less accurate then.
The reason it's not implemented is that there is not a known way to do that other than bruteforcing all possible pairs of sizings (33-50, 33-70, 50-70) and seeing what brings the highest EV. Alternatively we could make it so the less frequent one is cut off after a while. This is planned for the future but it's not a perfect solution.

Quote:
Can the scripting interface perform arithmetic on ranges?
It can't.

Quote:
1. build tree
2. solve tree
3. get solved cbet range
4. recalculate cbet range
5. assign to node
6. lock node
7. solve tree
8. save
You will have to do step number 4 yourself if you want to automate it (by yourself I mean you need a program that does that or you need to use our GUI and copy-paste to script). It also might be more reliable to build a new tree, lock, solve instead of locking on already solved one. This is especially true if the solution is very good and you lock big changes.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-11-2018 , 12:44 PM
https://i.gyazo.com/2541132ef0f828fd...f48ced23f6.png


I really like the idea that EV gets a gradient color from red to green, but is there a way for the program to "know when the suits color" matches the background of the box color too closely?

I realize it is subjective, but we could all probably agree, this would be hard for most of us?

Guess if it is possible that there be a specified default distance between colors being displayed vs matching background?

which
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-11-2018 , 02:41 PM
I just got Pio and I'm totally new to it besides watching videos.

When setting up the tree does pio know or care if its a 3bet pot preflop? If so how and do I enter the raise size etc?



When setting up a tree is there a way or does it matter who opened first. Sometimes OP is the blinds who called or sometimes they opened first in EP. Is this just done by the range but Pio doesn't care who opened first.

Thanks sorry for newbie questions.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-12-2018 , 02:57 AM
Quote:
I really like the idea that EV gets a gradient color from red to green, but is there a way for the program to "know when the suits color" matches the background of the box color too closely?
Not possible right now but it's a good suggestion. Right now you can edit the gradient colors as well as suit colors but there isn't any automatic way to change suit colors depending on the background.

Quote:
When setting up the tree does pio know or care if its a 3bet pot preflop? If so how and do I enter the raise size etc?
It doesn't and it doesn't matter. The only things that matter are starting ranges, stacks and pot.

Quote:
Is this just done by the range but Pio doesn't care who opened first.
Yes. Sometimes you get unexpected results like for example SB never cbetting in SBvsBB spot but that is almost always caused by either SB's range being too loose or (more often) BB range being too tight in comparison to optimal ones.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-13-2018 , 06:15 AM
I'm getting "Starting ranges are not symmetric, tree will be bigger and take longer" on Ac9d7s. It is weird, it looks like every combo is unique on this board.
PioSOLVER - postflop equilibrium solver for Holdem Quote
10-13-2018 , 06:49 AM
Quote:
I'm getting "Starting ranges are not symmetric, tree will be bigger and take longer" on Ac9d7s. It is weird, it looks like every combo is unique on this board.
Can you send us a tree config? It's probably an automatic check and a warning about the ranges and won't influence this specific board (but would influence a suited or paired one).
PioSOLVER - postflop equilibrium solver for Holdem Quote

      
m