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

09-13-2017 , 02:13 AM
Is it possible to choose multiple turn cards and node lock them with the desired strategy?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-13-2017 , 04:17 AM
Quote:
Is it possible to choose multiple turn cards and node lock them with the desired strategy?
As of right now you would need to lock them all individually which is likely more effort than it's worth.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-13-2017 , 11:33 AM
Hey, is it possible there's a bug with the subtree configuration or is this once again a side effect of only having a small tree? When I create a subtree configuration on a small tree it messes up the spr completely?

So for example I want to run a subconfiguration on this situation from a small tree



However it converts the spr to this, ranges seem to be appropriate though?



I think if I just change the spr though, I'm fine but maybe this is a bug you could fix?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-13-2017 , 03:56 PM
Hey, thank you for helping me with my last question. I was using the aggregation reports, and I was analyzing a spot where BB flats vs a button open. I wanted to see the different cbet frequencies on various flops. But once I create the aggregation report, it only shows 100% check for OOP. It doesn't show IPs cbet frequency, is there any way to get this to show?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-13-2017 , 04:07 PM
Quote:
Hey, is it possible there's a bug with the subtree configuration or is this once again a side effect of only having a small tree? When I create a subtree configuration on a small tree it messes up the spr completely?
Yes, it's a bug. It uses the config which is currently filled in instead of the one from the tree itself. It should work if you still have original config, load the tree and then click "create subtree configuration" exactly once.

Thanks for reporting, it's added to the list of important fixes to make.

Quote:
It doesn't show IPs cbet frequency, is there any way to get this to show?
Yes, the reports are run in a chosen spot. You need to go to IP decision first and then run the report so you will see it at this point. Reports only contain strategies and other data for a single spot because there are too many spots in the three to include them all. It's true that the most common usecase is to run the report in the beginning of the tree but you can choose any other decision point to do it.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 03:49 AM
Hey punter, is there any difference between the 2 different preflop subsets in each folder inside "C:\PioSOLVER\preflop_subsets" ?

Also noticed that the preflop subsets dont seem to match the ones you have up on
https://www.piosolver.com/blogs/news...the-whole-game
for 25, 49, 74, 95, and 184 flops

Lastly, do you recommend using the largest preflop subset possible for accuracy, or similar to postflop subsets, is 95 flops considered "good enough"?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 04:05 AM
Quote:
Hey punter, is there any difference between the 2 different preflop subsets in each folder inside "C:\PioSOLVER\preflop_subsets" ?
They are different as they are two the best ones we generated for a given size. There aren't any intentional difference (like one being better for some stuff than the other etc.)

Quote:
Also noticed that the preflop subsets dont seem to match the ones you have up on
https://www.piosolver.com/blogs/news...the-whole-game
for 25, 49, 74, 95, and 184 flops
Yes, we improved the process since then and generated better ones.

Quote:
Lastly, do you recommend using the largest preflop subset possible for accuracy, or similar to postflop subsets, is 95 flops considered "good enough"?
This is a judgement call. My personal view is that you don't really need more than say 74 flops but a lot of very smart people and certainly better players than me disagree with this assessment. Some think you can get away with a smaller subset, some think you need a bigger one.
One thing we can recommend though are specific subsets to use. We've run some additional benchmarks and now we are recommending those subsets:

https://pastebin.com/AtyU84qC

out of the ones we ship.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 04:35 AM
Quote:
Originally Posted by punter11235
They are different as they are two the best ones we generated for a given size. There aren't any intentional difference (like one being better for some stuff than the other etc.)



Yes, we improved the process since then and generated better ones.



This is a judgement call. My personal view is that you don't really need more than say 74 flops but a lot of very smart people and certainly better players than me disagree with this assessment. Some think you can get away with a smaller subset, some think you need a bigger one.
One thing we can recommend though are specific subsets to use. We've run some additional benchmarks and now we are recommending those subsets:

https://pastebin.com/AtyU84qC

out of the ones we ship.

Ok sounds good,

Btw, I'm planning to script a sb vs btn spot, and I'm curious if you think I would be better off using
A. ~64 subsets, with one bet size across all streets postflop, or
B. ~39 subsets, with 2 bet sizes (33%, 60%) otf in single raised pots and 3! pots, and then one bet size on all streets for 4! pots and greater? I'm unsure if not including the common 1/3 psb bet sizing otf and in 3bet pots is going to skew the results too much.

Overall however, it seems like choosing a larger subset is more important for preflop scripting & aggregation analysis than it is for postflop scripting & aggregation analysis?

Last edited by HappyLuckBox; 09-14-2017 at 04:51 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 05:47 AM
Sorry for all the questions haha, anyways, I decided to run the script at 64 subsets, with one betsize across all streets, since you mentioned in a video the bet sizing shouldnt make too big of a difference.

Now, I have the preflop solver running, but I am wondering - is there a way for me to see which flop it is currently solving? I know that with postflop scripting, it solves each flop individually (build a tree, solve for that flop, then rebuild tree for the next flop).

Hmm, Actually, I guess with preflop solver it wouldn't make much sense to solve like this, since you want to look at the entire tree of possible flops before you determine your strategy.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 09:02 AM
Quote:
Sorry for all the questions haha, anyways, I decided to run the script at 64 subsets, with one betsize across all streets, since you mentioned in a video the bet sizing shouldnt make too big of a difference.
Yes, I meant preflop solving not scripts btw. I am not sure which one you mean but I assume you meant preflop solving in your first pot as well. In this case, yes: definitely use more flops instead of more sizings postflop.

Quote:
Now, I have the preflop solver running, but I am wondering - is there a way for me to see which flop it is currently solving? I know that with postflop scripting, it solves each flop individually (build a tree, solve for that flop, then rebuild tree for the next flop).

Hmm, Actually, I guess with preflop solver it wouldn't make much sense to solve like this, since you want to look at the entire tree of possible flops before you determine your strategy.
Yes, it's goes through every flop during one full iteration. It doesn't solve them one by one.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 10:42 AM
Quote:
Originally Posted by punter11235
Yes, I meant preflop solving not scripts btw. I am not sure which one you mean but I assume you meant preflop solving in your first pot as well. In this case, yes: definitely use more flops instead of more sizings postflop.



Yes, it's goes through every flop during one full iteration. It doesn't solve them one by one.
Ok cool Is there anyway I can access the console like you did in the video? I tried opening up the 4 available ones, but it wasnt showing the 25 step solves for each level.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 02:55 PM
I'm trying the UPI interface in console mode. It seems I can't input a long text for "set_range" command, do I need to upgrade to Pro version ?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 04:04 PM
Quote:
Is there anyway I can access the console like you did in the video? I tried opening up the 4 available ones, but it wasnt showing the 25 step solves for each level.
It's recommended not to (as it's easy to close the console and therefore the whole program by accident during calculations) but if you want to go ahead with it anyway you need to enable debug mode first, the instructions are here:

https://cdn.shopify.com/s/files/1/07...68544248083387

(point 3)


Quote:
I'm trying the UPI interface in console mode. It seems I can't input a long text for "set_range" command, do I need to upgrade to Pro version ?
It's the same in all the versions. This interface is intended to be used from other programs. as things like input for set_range are very hard to input by hand. If you want to input the range manually the most likely limitation is the Windows console itself. You may try using some console substitute (like powershell or cmder) which likely don't have this limitation.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-14-2017 , 11:29 PM
Quote:
Originally Posted by punter11235
If you want to input the range manually the most likely limitation is the Windows console itself. You may try using some console substitute (like powershell or cmder) which likely don't have this limitation.
I can input the complete range text in windows console, but I can't input the same text into piosolver.exe(it does not allow me to input maybe after about 2000 bytes).
I'm just trying input the range manually before do some coding.
Any tips about input the text to PIo using C#?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-15-2017 , 02:16 AM
Quote:
I can input the complete range text in windows console, but I can't input the same text into piosolver.exe(it does not allow me to input maybe after about 2000 bytes).
I don't understand exactly how opening processes in Windows console works but there might be additional limitations there as per article here:
https://blogs.msdn.microsoft.com/old...10-00/?p=41553

This is not a Pio limitation. From what I remember you can paste long inputs in cmder for example.

Quote:
Any tips about input the text to PIo using C#?
It's like working with any other console program.
In general you need to:
-open solver's process
-redirect its standard input and output to be able to write/read from that

If you drop us an email I may be able to send you an old unsupported code snippet in C# which does the connection and sending simple commands.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-15-2017 , 09:02 AM
hi punter, i have a theory question:

I am curently solving for headsup preflop ranges the best it can posibly be done and the i intend to use those ranges for postflop solving. Am I doing something wrong in terms of exploitability? Do you have any advice regarding this approach?
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-15-2017 , 10:42 AM
Quote:
I am curently solving for headsup preflop ranges the best it can posibly be done and the i intend to use those ranges for postflop solving. Am I doing something wrong in terms of exploitability? Do you have any advice regarding this approach?
That's the recommended way of working with the preflop solver. It should give much better results than trying to solve humongous trees from scratch. This is also an approach some strong AIs take
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 01:02 AM
Hey punter, so I've had pio running for about 24 hours now, (solving a large preflop tree about 125gb size) and it seems to keep jumping back and forth (exploitability between 11 and 7), and not getting any closer to 0.25% of the pot. I'm not sure why it keeps going back and forth. Here's what I've got logged so far:


Tree loaded from D:\Piosolver\Preflop Scripts\LiveSBvsBTN.cfr
Results:
EV OOP: -30.144
EV IP: 60.144
MES OOP: -16.994
MES IP: 67.610
Exploitable for: 10.308
SOLVER: started
SOLVER:
running time: 1887.768
EV OOP: -29.880
EV IP: 59.880
MES OOP: -20.638
MES IP: 65.187
Exploitable for: 7.274
SOLVER:
running time: 3770.459
EV OOP: -29.711
EV IP: 59.711
MES OOP: -22.912
MES IP: 63.946
Exploitable for: 5.517
SOLVER:
running time: 5652.718
EV OOP: -29.599
EV IP: 59.599
MES OOP: -24.287
MES IP: 65.138
Exploitable for: 5.426
SOLVER:
running time: 7536.812
EV OOP: -29.541
EV IP: 59.541
MES OOP: -25.213
MES IP: 72.660
Exploitable for: 8.724
SOLVER:
running time: 9418.984
EV OOP: -29.496
EV IP: 59.496
MES OOP: -25.877
MES IP: 73.534
Exploitable for: 8.829
SOLVER:
running time: 11299.623
EV OOP: -29.463
EV IP: 59.463
MES OOP: -26.354
MES IP: 70.506
Exploitable for: 7.076
SOLVER:
running time: 13178.443
EV OOP: -29.438
EV IP: 59.438
MES OOP: -26.718
MES IP: 80.537
Exploitable for: 11.910
SOLVER:
running time: 15059.067
EV OOP: -29.418
EV IP: 59.418
MES OOP: -26.996
MES IP: 80.226
Exploitable for: 11.615
SOLVER:
running time: 16939.996
EV OOP: -29.399
EV IP: 59.399
MES OOP: -27.221
MES IP: 76.821
Exploitable for: 9.800
SOLVER:
running time: 18821.256
EV OOP: -29.385
EV IP: 59.385
MES OOP: -27.417
MES IP: 86.234
Exploitable for: 14.408
SOLVER:
running time: 20702.971
EV OOP: -29.372
EV IP: 59.372
MES OOP: -27.565
MES IP: 69.580
Exploitable for: 6.007
SOLVER:
running time: 22584.363
EV OOP: -29.363
EV IP: 59.363
MES OOP: -27.688
MES IP: 78.425
Exploitable for: 10.369
SOLVER:
running time: 24466.491
EV OOP: -29.356
EV IP: 59.356
MES OOP: -27.816
MES IP: 77.789
Exploitable for: 9.987
SOLVER:
running time: 26347.732
EV OOP: -29.350
EV IP: 59.350
MES OOP: -27.893
MES IP: 80.007
Exploitable for: 11.057
SOLVER:
running time: 28229.775
EV OOP: -29.346
EV IP: 59.346
MES OOP: -27.942
MES IP: 89.025
Exploitable for: 15.541
SOLVER:
running time: 30111.365
EV OOP: -29.342
EV IP: 59.342
MES OOP: -28.012
MES IP: 87.940
Exploitable for: 14.964
SOLVER:
running time: 31993.598
EV OOP: -29.336
EV IP: 59.336
MES OOP: -28.099
MES IP: 71.474
Exploitable for: 6.687
SOLVER:
running time: 33876.857
EV OOP: -29.332
EV IP: 59.332
MES OOP: -28.141
MES IP: 66.565
Exploitable for: 4.212
SOLVER:
running time: 35758.563
EV OOP: -29.330
EV IP: 59.330
MES OOP: -28.179
MES IP: 81.199
Exploitable for: 11.510
SOLVER: stopped (requested)
SOLVER: started
SOLVER:
running time: 1883.492
EV OOP: -29.327
EV IP: 59.327
MES OOP: -28.246
MES IP: 70.704
Exploitable for: 6.229
SOLVER:
running time: 3766.685
EV OOP: -29.325
EV IP: 59.325
MES OOP: -28.277
MES IP: 69.904
Exploitable for: 5.813
SOLVER:
running time: 5648.575
EV OOP: -29.324
EV IP: 59.324
MES OOP: -28.309
MES IP: 68.621
Exploitable for: 5.156
SOLVER:
running time: 7530.854
EV OOP: -29.323
EV IP: 59.323
MES OOP: -28.338
MES IP: 73.120
Exploitable for: 7.391
SOLVER:
running time: 9413.140
EV OOP: -29.323
EV IP: 59.323
MES OOP: -28.359
MES IP: 68.437
Exploitable for: 5.039
SOLVER:
running time: 11295.217
EV OOP: -29.322
EV IP: 59.322
MES OOP: -28.382
MES IP: 72.848
Exploitable for: 7.233
SOLVER:
running time: 13178.349
EV OOP: -29.322
EV IP: 59.322
MES OOP: -28.409
MES IP: 76.198
Exploitable for: 8.894
SOLVER:
running time: 15060.628
EV OOP: -29.321
EV IP: 59.322
MES OOP: -28.419
MES IP: 75.904
Exploitable for: 8.743
SOLVER:
running time: 16942.985
EV OOP: -29.321
EV IP: 59.322
MES OOP: -28.434
MES IP: 78.724
Exploitable for: 10.145
SOLVER:
running time: 18825.359
EV OOP: -29.319
EV IP: 59.320
MES OOP: -28.445
MES IP: 75.000
Exploitable for: 8.277
SOLVER:
running time: 20707.908
EV OOP: -29.321
EV IP: 59.321
MES OOP: -28.461
MES IP: 80.916
Exploitable for: 11.227
SOLVER:
running time: 22590.268
EV OOP: -29.319
EV IP: 59.320
MES OOP: -28.474
MES IP: 75.425
Exploitable for: 8.475
SOLVER: stopped (requested)
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 01:41 AM
^^
I'm thinking I need to keep running the solver, and hopefully soon it will start to converge down to .25% but I just wanted to check and see if this is normal before I resume

Update:
Ok I've just found a pretty big error, so I put in a ~51% range for pfr BTN (IP) and a 100% range for SB (OOP)
For some reason, the solver is using a 100% range for first player to act, and the 51% range for second player.

It seems to think that BTN is actually SB and SB is actually BB. Is this because I put in a value of 5 for both OOP/IP player money in the pot? (The game I play in requires $5 on the button and small blind as its a 5-5-10-20 structure)


Here's a picture of my config:
https://i.imgur.com/PLT6k3d.png

Last edited by HappyLuckBox; 09-16-2017 at 02:10 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 02:22 AM
Quote:
Hey punter, so I've had pio running for about 24 hours now, (solving a large preflop tree about 125gb size) and it seems to keep jumping back and forth (exploitability between 11 and 7), and not getting any closer to 0.25% of the pot. I'm not sure why it keeps going back and forth. Here's what I've got logged so far:
Some trees are difficult for the preflop solver. The best would be to send us the tree config (you can get it by clicking "to clipboard button" when the config is loaded: https://gyazo.com/30f953265e27ef59b6779d08ea556dec) so we can see if there is anything which makes it difficult for the solver and if there is any way to amend it.

Btw, when you are pasting very long pieces of text use code tags ([ code ] and [ /code ] without spaces inside), like here:

Code:
This is a very long text line 1
This is a very long text line 2
This is a very long text line 3
This is a very long text line 4
This is a very long text line 5
This is a very long text line 6
This is a very long text line 7
This is a very long text line 8
This is a very long text line 9
This is a very long text line 10
This is a very long text line 11
This is a very long text line 12
This is a very long text line 13
This is a very long text line 14
This is a very long text line 15
This is a very long text line 16
This is a very long text line 17
This is a very long text line 18
This is a very long text line 19
This is a very long text line 20
This is a very long text line 21
This is a very long text line 22
This is a very long text line 23
This is a very long text line 24
This is a very long text line 25
This is a very long text line 26
This is a very long text line 27
This is a very long text line 28
This is a very long text line 29
This is a very long text line 30
This is a very long text line 31
This is a very long text line 32
This is a very long text line 33
This is a very long text line 34
This is a very long text line 35
This is a very long text line 36
This is a very long text line 37
This is a very long text line 38
This is a very long text line 39
This is a very long text line 40
This is a very long text line 41
This is a very long text line 42
This is a very long text line 43
This is a very long text line 44
This is a very long text line 45
This is a very long text line 46
This is a very long text line 47
This is a very long text line 48
This is a very long text line 49
This is a very long text line 50
This is a very long text line 51
This is a very long text line 52
This is a very long text line 53
This is a very long text line 54
This is a very long text line 55
This is a very long text line 56
This is a very long text line 57
This is a very long text line 58
This is a very long text line 59
This is a very long text line 60
This is a very long text line 61
This is a very long text line 62
This is a very long text line 63
This is a very long text line 64
This is a very long text line 65
This is a very long text line 66
This is a very long text line 67
This is a very long text line 68
This is a very long text line 69
This is a very long text line 70
This is a very long text line 71
This is a very long text line 72
This is a very long text line 73
This is a very long text line 74
This is a very long text line 75
This is a very long text line 76
This is a very long text line 77
This is a very long text line 78
This is a very long text line 79
This is a very long text line 80
This is a very long text line 81
This is a very long text line 82
This is a very long text line 83
This is a very long text line 84
This is a very long text line 85
This is a very long text line 86
This is a very long text line 87
This is a very long text line 88
This is a very long text line 89
This is a very long text line 90
This is a very long text line 91
This is a very long text line 92
This is a very long text line 93
This is a very long text line 94
This is a very long text line 95
This is a very long text line 96
This is a very long text line 97
This is a very long text line 98
This is a very long text line 99
This is a very long text line 100
or paste to pastebin.com (or similar service) and link here. Pasting many rows of texts make the thread very difficult to follow.

Quote:
I'm thinking I need to keep running the solver, and hopefully soon it will start to converge down to .25% but I just wanted to check and see if this is normal before I resume
Again, it's not a very good idea to use % of the pot accuracy in the preflop solver because it's unclear what's the starting pot even is (Is it only dead money from other players and therefore sometimes 0? Is it an amount after posting blinds? Does initial raise counts in case of BTN vs BB spot?). For these reasons it's better to use bb/100 based accuracy in the preflop solver.

Usually it's enough to strive for 2bb-3bb/100. The solver usually goes lower than that if you wait long enough but unfortunately not always. It already operates on low accuracy to save memory that's why it's having problems with some configs.

Quote:
It seems to think that BTN is actually SB and SB is actually BB. Is this because I put in a value of 5 for both OOP/IP player money in the pot? (The game I play in requires $5 on the button and small blind as its a 5-5-10-20 structure)
The solver will assume OOP is first to act in this case. It's not much of a problem because you can force a check when constructing a tree to change it. You can always build pure preflop tree first (one without postflop betting) which is very fast and let's you confirm the preflop betting structure is what you want.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 03:44 AM
Ok, my apologies didnt know about the /code thing.

Anyway, I have the config saved here:

Code:
#PreflopConfiguration
#PreflopRangeOOP#1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
#PreflopRangeIP#1 1 1 1 1 1 0.5 0 0 0 0 0.5 0 0 1 0 0 0.5 0 1 1 0 0 0 0.5 1 1 1 0.25 0 0 0 0.5 0 0 0 0 0.25 0 0 0 0.5 0 0 1 0 0 0.25 0 0 0 0.5 0 1 1 0 0 0 0.25 0 0 0 0.5 1 1 1 0.25 0 0 0 0.5 0 0 0 1 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 1 0 0 0.25 0 0 0 0.5 0 0 0 1 0 1 1 0 0 0 0.25 0 0 0 0.5 0 0 0 1 1 1 1 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0.25 0.25 0.25 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0.25 1 0.25 0.25 1 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0.25 0.25 1 0.25 1 1 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0.25 0.25 0.25 1 1 1 1 0 0 0 0 0 0 0 0 0.5 0 0 0 1 0.25 0.25 0.25 1 0.25 0.25 0.25 0 0 0 0 0 0 0 0 0 0.5 0 0 0.25 1 0.25 0.25 0.25 1 0.25 0.25 1 0 0 0 0 0 0 0 0 0 0 0.5 0 0.25 0.25 1 0.25 0.25 0.25 1 0.25 1 1 0 0 0 0 0 0 0 0 0 0 0 0.5 0.25 0.25 0.25 1 0.25 0.25 0.25 1 1 1 1 0 0 0 0 0 0 0 0 0.5 0 0 0 1 0 0 0 1 0.25 0.25 0.25 1 0.5 0.5 0.5 0 0 0 0 0 0 0 0 0 0.5 0 0 0 1 0 0 0.25 1 0.25 0.25 0.5 1 0.5 0.5 1 0 0 0 0 0 0 0 0 0 0 0.5 0 0 0 1 0 0.25 0.25 1 0.25 0.5 0.5 1 0.5 1 1 0 0 0 0 0 0 0 0 0 0 0 0.5 0 0 0 1 0.25 0.25 0.25 1 0.5 0.5 0.5 1 1 1 1 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0.25 0.25 0.25 1 0.5 0.5 0.5 1 1 1 1 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0.25 1 0.25 0.25 0.5 1 0.5 0.5 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0.25 0.25 1 0.25 0.5 0.5 1 0.5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0.25 0.25 0.25 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0.25 0.25 0.25 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0.25 1 0.25 0.25 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0.25 0.25 1 0.25 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0.25 0.25 0.25 1 1 1 1 1 1 1 1 1 1 1 1 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 0.5 0 0 0 0.75 0 0 0 1 0.25 0.25 0.25 1 1 1 1 1 1 1 1 1 1 1 1 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 0.5 0 0 0 0.75 0 0 0.25 1 0.25 0.25 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 0.5 0 0 0 0.75 0 0.25 0.25 1 0.25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 0.5 0 0 0 0.75 0.25 0.25 0.25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0 0 0 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0 0 0.5 1 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0.25 0 0 0 0.25 0 0 0 0.5 0 0 0 1 0 0 0 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.5 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0.25 0.25 0.25 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0.5 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0.25 1 0.25 0.25 0.5 1 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0 0 0 1 0 0 0 1 0 0 0 1 0 0.25 0.25 1 0.25 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0.5 0 0 0 1 0 0 0 1 0 0 0 1 0.25 0.25 0.25 1 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
#BB#20
#PreflopRake.Cap#0
#PreflopRake.Fraction#0
#PreflopRake.Enabled#False
#Pot#5 5 30
#Stack#5000
#Nodes
#0.0#Raise_60
#0.0.0#Raise_240
#0.0.1#CheckCall
#0.0.2#Fold
#0.0.0.0#Raise_600
#0.0.0.1#CheckCall
#0.0.0.2#Fold
#0.0.0.0.0#Raise_1400
#0.0.0.0.1#CheckCall
#0.0.0.0.2#Fold
#0.0.0.0.0.0#Raise_5005
#0.0.0.0.0.1#CheckCall
#0.0.0.0.0.2#Fold
#0.0.0.0.0.0.0#CheckCall
#0.0.0.0.0.0.1#Fold
#FlopConfigs
#Node#0.0.1
#TreeBuilding#V2
#Range0#
#Range1#
#Board#
#Pot#150
#EffectiveStacks#4940
#AllinThreshold#80
#AddAllinOnlyIfLessThanThisTimesThePot#500
#MinimumBetsize#0
#UseUnifiedBetAfterRaise#False
#UnifiedBetAfterRaise#
#ForceIPBet#False
#ForceOOPBet#False
#Cap#4
#CapEnabled#True
#CapMode#NoLimit
#RemovedLines#
#ExtraLines#
#FlopConfig.BetSize#
#FlopConfig.RaiseSize#3x
#FlopConfig.AddAllin#False
#FlopConfig.DonkBetSize#
#TurnConfig.BetSize#60
#TurnConfig.RaiseSize#3x
#TurnConfig.AddAllin#False
#TurnConfig.DonkBetSize#
#RiverConfig.BetSize#60
#RiverConfig.RaiseSize#3x
#RiverConfig.AddAllin#False
#RiverConfig.DonkBetSize#
#FlopConfigIP.BetSize#60
#FlopConfigIP.RaiseSize#3x
#FlopConfigIP.AddAllin#False
#FlopConfigIP.Dont3bet#False
#TurnConfigIP.BetSize#60
#TurnConfigIP.RaiseSize#3x
#TurnConfigIP.AddAllin#False
#TurnConfigIP.Dont3bet#False
#RiverConfigIP.BetSize#60
#RiverConfigIP.RaiseSize#3x
#RiverConfigIP.AddAllin#False
#RiverConfigIP.Dont3bet#False
#Rake.Cap#0
#Rake.Fraction#0
#Rake.Enabled#False
#EndFlop
#Node#0.0.0.1
#TreeBuilding#V2
#Range0#
#Range1#
#Board#
#Pot#510
#EffectiveStacks#4760
#AllinThreshold#80
#AddAllinOnlyIfLessThanThisTimesThePot#500
#MinimumBetsize#0
#UseUnifiedBetAfterRaise#False
#UnifiedBetAfterRaise#
#ForceIPBet#False
#ForceOOPBet#False
#Cap#3
#CapEnabled#True
#CapMode#NoLimit
#RemovedLines#
#ExtraLines#
#FlopConfig.BetSize#55
#FlopConfig.RaiseSize#3x
#FlopConfig.AddAllin#False
#FlopConfig.DonkBetSize#
#TurnConfig.BetSize#55
#TurnConfig.RaiseSize#3x
#TurnConfig.AddAllin#False
#TurnConfig.DonkBetSize#
#RiverConfig.BetSize#55
#RiverConfig.RaiseSize#3x
#RiverConfig.AddAllin#True
#RiverConfig.DonkBetSize#
#FlopConfigIP.BetSize#55
#FlopConfigIP.RaiseSize#3x
#FlopConfigIP.AddAllin#False
#FlopConfigIP.Dont3bet#False
#TurnConfigIP.BetSize#55
#TurnConfigIP.RaiseSize#3x
#TurnConfigIP.AddAllin#False
#TurnConfigIP.Dont3bet#False
#RiverConfigIP.BetSize#55
#RiverConfigIP.RaiseSize#3x
#RiverConfigIP.AddAllin#True
#RiverConfigIP.Dont3bet#False
#Rake.Cap#0
#Rake.Fraction#0
#Rake.Enabled#False
#EndFlop
#Node#0.0.0.0.1
#TreeBuilding#V2
#Range0#
#Range1#
#Board#
#Pot#1230
#EffectiveStacks#4400
#AllinThreshold#80
#AddAllinOnlyIfLessThanThisTimesThePot#500
#MinimumBetsize#0
#UseUnifiedBetAfterRaise#False
#UnifiedBetAfterRaise#
#ForceIPBet#False
#ForceOOPBet#False
#Cap#3
#CapEnabled#True
#CapMode#NoLimit
#RemovedLines#
#ExtraLines#
#FlopConfig.BetSize#
#FlopConfig.RaiseSize#2.75x
#FlopConfig.AddAllin#False
#FlopConfig.DonkBetSize#
#TurnConfig.BetSize#45
#TurnConfig.RaiseSize#2.75x
#TurnConfig.AddAllin#True
#TurnConfig.DonkBetSize#
#RiverConfig.BetSize#45
#RiverConfig.RaiseSize#2.75x
#RiverConfig.AddAllin#True
#RiverConfig.DonkBetSize#
#FlopConfigIP.BetSize#45
#FlopConfigIP.RaiseSize#2.75x
#FlopConfigIP.AddAllin#False
#FlopConfigIP.Dont3bet#False
#TurnConfigIP.BetSize#45
#TurnConfigIP.RaiseSize#2.75x
#TurnConfigIP.AddAllin#True
#TurnConfigIP.Dont3bet#False
#RiverConfigIP.BetSize#45
#RiverConfigIP.RaiseSize#2.75x
#RiverConfigIP.AddAllin#True
#RiverConfigIP.Dont3bet#False
#Rake.Cap#0
#Rake.Fraction#0
#Rake.Enabled#False
#EndFlop
#Node#0.0.0.0.0.1
#TreeBuilding#V2
#Range0#
#Range1#
#Board#
#Pot#2830
#EffectiveStacks#3600
#AllinThreshold#67
#AddAllinOnlyIfLessThanThisTimesThePot#500
#MinimumBetsize#0
#UseUnifiedBetAfterRaise#False
#UnifiedBetAfterRaise#
#ForceIPBet#False
#ForceOOPBet#False
#Cap#2
#CapEnabled#True
#CapMode#NoLimit
#RemovedLines#
#ExtraLines#
#FlopConfig.BetSize#33
#FlopConfig.RaiseSize#2.5x
#FlopConfig.AddAllin#True
#FlopConfig.DonkBetSize#
#TurnConfig.BetSize#33
#TurnConfig.RaiseSize#2.5x
#TurnConfig.AddAllin#True
#TurnConfig.DonkBetSize#
#RiverConfig.BetSize#33
#RiverConfig.RaiseSize#2.5x
#RiverConfig.AddAllin#True
#RiverConfig.DonkBetSize#
#FlopConfigIP.BetSize#33
#FlopConfigIP.RaiseSize#2.5x
#FlopConfigIP.AddAllin#True
#FlopConfigIP.Dont3bet#False
#TurnConfigIP.BetSize#33
#TurnConfigIP.RaiseSize#2.5x
#TurnConfigIP.AddAllin#True
#TurnConfigIP.Dont3bet#False
#RiverConfigIP.BetSize#33
#RiverConfigIP.RaiseSize#2.5x
#RiverConfigIP.AddAllin#True
#RiverConfigIP.Dont3bet#False
#Rake.Cap#0
#Rake.Fraction#0
#Rake.Enabled#False
#EndFlop
So you mentioned that I can just add a check to the beginning tree, would that mess up anything in the overall results that pio outputs? I figured out that I can just set IP player money in pot = 0, in order to have it recognize IP = BTN, but this causes a bit of inaccuracy, since in my game btn has a forced 5$ blind.


I am attempting to redo the tree with a forced check and run the piosolver again using a 2 bb/100 accuracy check instead. How do I force OOP to check in the preflop config? When I add "check/call" to root it adds a limp instead.
Or am I supposed to go Root -> Limp -> Raise 60 and so on?

Thanks for the ongoing support/help

Last edited by HappyLuckBox; 09-16-2017 at 04:10 AM.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 08:33 AM
Quote:
Originally Posted by punter11235
It couldn't.

Short explanation: it's the same reason we need 1326 combos in Holdem postflop while we need only 169 preflop.

Longer explanation: you say that:



This won't help. One could use preflop ranges on the flop (that is using 16432 combos) but once any action is taken like a bet or a call then combos which are previously strategically the same are not anymore. For example in Holdem:

AKs are the same preflop and you can use them for equity calculation when the flop is dealt. Once say Js Ts 2h is dealt then AsKs, AhKh and AdKd/AcKc are different. On rainbow boards all combos in AsKs are strategically different.

Unfortunately even in simple equity calculator you need all the combos. For example in PLOCalc you can filter (and then calculate equity vs this range at any point) preflop ranges depending on what you have on the flop/turn/river. For example you can say this:

Preflop play any AAxx, double pairs, double suited connectors/1gappers.
On the flop filter: toppair+, 8+out draws.
On the turn filter 2pair+, 10+ draws

You will arrive on the river with range which is not representable using 16432 combos or anything below 270725 in case of some boards. Even hands like AsAh3c2h and AsAh3c2d are strategically different on Ks 7h 2s board (even though they are kinda similar). There is a blocker effect so As Ah 3c 2h blocks more flushes in opponent's range.

All that means that 16432 representation is only useful for preflop ranges and we in fact use that for preflop calculations (that's why saves are small when you save preflop ranges). Othe than that it's only useful on the flop at the beginning of the play. You won't be able to represent real ranges once any action is taken beyond preflop.
Not going to make out of this a discussion because I have no idea how to make such a software and therefore I don't expect any answer from you, it is just an idea:

For preflop it doesn't work but for post flop it could. Imagine one couldn't build a flop with any spade. When we consider the range OTF 7h6h2c or on 7s6s2c, the ranges are the same. As long as one gets the weighting of flop ranges right, it should work. This way you could remove all the spades from the deck (if this flop comes a runner runner spade spade and one holds AsAc or it comes runner runner diamond diamond and you hold AdAc, the blocker effect is the same) . The deck would only have 39 cards instead of 52. But if one gets the weighting on the flop to work properly , this is another question.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 09:24 AM
I agree, it doesn't work on rainbow flops.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 11:26 AM
Quote:
When I add "check/call" to root it adds a limp instead.
Or am I supposed to go Root -> Limp -> Raise 60 and so on?
It looks like a bug, I will let you know after the weekend. I need to double check this.

Quote:
This way you could remove all the spades from the deck (if this flop comes a runner runner spade spade and one holds AsAc or it comes runner runner diamond diamond and you hold AdAc, the blocker effect is the same) . The deck would only have 39 cards instead of 52. But if one gets the weighting on the flop to work properly , this is another question.
We do optimizations like that in our Holdem solver. You may try for example Qs Jh 2c and then Qs Js 2c flops. The latter will solve around 1.6x faster and will take less memory. This is of course going to be implemented in PLO as well.
PioSOLVER - postflop equilibrium solver for Holdem Quote
09-16-2017 , 04:56 PM
Quote:
Originally Posted by punter11235
It looks like a bug, I will let you know after the weekend. I need to double check this.


Ok thanks punter!

I think that forcing oop to "call/check" works ok in hunl, (where limping =to his BB). But in a multiway scenario, if its forcing sb to complete the BB, he would actually get a discount on his decision to call btn's open raise to say $60. (He only needs to call $40 more as opposed to $55 more, assuming 5-5-10-20 structure) So this likely produces innacurate results.

A bit more support for blind structures where button has a forced blind (california games ) would be great! Looking forward to hearing back from you.
PioSOLVER - postflop equilibrium solver for Holdem Quote

      
m