Two Plus Two Publishing LLC
Two Plus Two Publishing LLC
 

Go Back   Two Plus Two Poker Forums > >

Notices

Commercial Software Discussion of commercial gambling-related / poker software & commercial graphics modifications

Reply
 
Thread Tools Display Modes
Old 08-09-2018, 07:42 AM   #4276
GVwins1
stranger
 
Join Date: Sep 2012
Posts: 6
Re: PioSOLVER - postflop equilibrium solver for Holdem

Hi Punter,

Sorry if this has been asked before.
Im trying to run aggregated frequencies analysis over multiple files, however i always get the error message: the given board is specified with two different weights in the script.
I use the given flops and weights from the pio subsets article.
How do i solve this?
GVwins1 is offline   Reply With Quote
Old 08-09-2018, 01:09 PM   #4277
Ingenol
centurion
 
Join Date: Apr 2010
Location: DC
Posts: 148
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
Originally Posted by punter11235 View Post
For example this:
https://gyazo.com/3dd8a232bf64fd26a3c90bfcef145dce

means 0.25% of the pot. It will be converted to chips for the script purposes (the solver internally only uses accuracy in chips). Please note that we use a dot "." as decimal separator. Please don't use a comma as we use a comma to separate numbers.
Thanks--my question was specifically for writing a script. If I have a starting pot of 20 chips and I want to solve to 0.25% of the pot I would use:

Code:
set_accuracy 0.05
in my script (from 20 * 0.25 / 100 = 0.05), is that correct?
Ingenol is offline   Reply With Quote
Old 08-09-2018, 06:19 PM   #4278
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
I would like to compare the EV of multiple bet size.

- How can you see the general EV of one bet size on the flop turn and river ?

- Ex : if I use 2 bet size On the turn, and I would like to see if removing or adding one bet size change our EV, how do I proceed ?
The only way to compare is to compare at EVs at the beginning of the tree.
Comparing anywhere else is meaningless because different ranges may make it to that point.
You need to build 2 trees with options varying at one place and even if that place is on the turn or on the river the only way to evaluate value of a betsize/additional option is to compare EVs at root.

Quote:
Im trying to run aggregated frequencies analysis over multiple files, however i always get the error message: the given board is specified with two different weights in the script.
I use the given flops and weights from the pio subsets article.
It this 1.10.18 version?
If yes then please make you only have one script in your folder and only saves from that script are in that folder.

Quote:
in my script (from 20 * 0.25 / 100 = 0.05), is that correct?
Yes, to make double sure you can compare to what our script generation tool does when you input a pot of 20 and 0.25% accuracy.
punter11235 is offline   Reply With Quote
Old 08-10-2018, 10:28 AM   #4279
Ja Mata
stranger
 
Join Date: May 2018
Posts: 1
Re: PioSOLVER - postflop equilibrium solver for Holdem

One of the things I was very interested in is post-processing a played hand [to see how badly it mis-played? Or not? by either player] - OR sometimes an opponent makes such a strange play that I am perplexed on what to do (or what I should have done)

Does this make sense to build a tree specific to the play of the hand?

Set Ranges to:

OOP [My *exact* hand for example] 7d 8d as the only “range”
IP [Opponents hand] as the assumed range based on pre-flop action

Folds to BU who raises to $25 BB Three Bet to $85

Then set up the specific line for how the hand played out AND also more assumed standard plays?

I guess I would like to play the hand out both ways [actual and optimized] to see how/where the correct/incorrect play took place. Specific Betting etc.

Example:

In addition to the standard bets raises I want to see:
FLOP Bet $75, Call
TURN Check, Bet $175, Raise $440, Call
RIVER Bet $1200 Raise All-In

OR MAYBE ALSO ONLY THE ACTUAL PLAY TOO = SUPER SMALL TREE TO EVALUATE

Pio ver. 1.10.18

Last edited by Ja Mata; 08-10-2018 at 10:36 AM. Reason: Added detail
Ja Mata is offline   Reply With Quote
Old 08-11-2018, 03:03 AM   #4280
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
Does this make sense to build a tree specific to the play of the hand?
Yes, although you want to include all the reasonable options as well. That means that if your opponent checked on the flop as a preflop aggressor you still want to include both a bet and a check in the tree.

Quote:
OOP [My *exact* hand for example] 7d 8d as the only “range”
This won't work. The optimal play for both players depends on their starting range. This means you need approximation of your whole range to start with.

Quote:
Then set up the specific line for how the hand played out AND also more assumed standard plays?
Yes, you need standard plays as well.

Quote:
I guess I would like to play the hand out both ways [actual and optimized] to see how/where the correct/incorrect play took place. Specific Betting etc.
Fortunately in Pio you can see strategies for all hands in all tree branches so even if your opponent made a mistake there still going to be a decent strategy in branches where they shouldn't go in the first place. You can also see how big a mistake was by showing EVs.

Quote:
OR MAYBE ALSO ONLY THE ACTUAL PLAY TOO = SUPER SMALL TREE TO EVALUATE
Yes, it would be super small but also not useful as both players would optimize their play for only existing option which means it would be far away from real optimal play.
punter11235 is offline   Reply With Quote
Old 08-11-2018, 03:56 PM   #4281
Doc-Magic
newbie
 
Doc-Magic's Avatar
 
Join Date: Nov 2017
Posts: 17
Re: PioSOLVER - postflop equilibrium solver for Holdem

Hi,

Is it possible to convert the EV at the root to EV bb/100 ?

If it's not, how would you proceed to know if one line adds significant EV ?

Ex : I would like to compare two tree, one with one more bet size. PIO gives me 1,2 EV difference how can I significantly evalutate this result ?

Thanks
Doc-Magic is offline   Reply With Quote
Old 08-11-2018, 04:32 PM   #4282
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
Is it possible to convert the EV at the root to EV bb/100 ?
Yes, just look at chips and convert them to bb. Then multiply by 100 and you have bb/100

For example if in one tree EV for IP is 57.044 and in another 57.644, 5/10 blinds then the difference is 0.6chips/hand which is 0.06bb/hand which is 6bb/100 hands.
punter11235 is offline   Reply With Quote
Old 08-11-2018, 08:59 PM   #4283
Falcore
newbie
 
Join Date: Oct 2015
Posts: 23
Re: PioSOLVER - postflop equilibrium solver for Holdem

Hey Punter11235,

Had a question about how the Total EV and Total Equity are derived from the weights, EVs, and equities of individual hands. I want to understand the relationship between the individual hands and totals. For a given node of a tree I copied the weights, EVs, and equities to a spreadsheet. I confirmed the total number of combinations by summing the weights and comparing to Pio. I then took each individual weight and divided it by the sum of all weights to determine it's relative percentage of the range. I then multiplied this figure by the EV and the equity for the matching hand. I then summed these figures to arrive at the total EV and equities, but arrived at figures that were slightly off (for EV I got 314.72 v 313.63 in Pio, for EQ I got 59.90 v 59.54 in Pio). Is my logic correct and is the slight discrepancy just a result of using rounded weights from the copied data, or was there some error in my logic?

Thanks!
Falcore is offline   Reply With Quote
Old 08-12-2018, 03:50 AM   #4284
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
I want to understand the relationship between the individual hands and totals. For a given node of a tree I copied the weights, EVs, and equities to a spreadsheet.
Unfortunately using weights to calculate total EVs and EQs is not a correct way to do it. The reason is that there is card removal effect coming from opponent's range. If for example the opponent has a lot of top pairs on Axxxx board we have top pair less frequently in comparison to other parts of our range.

I went ahead and constructed a toy example for you:

Code:
#TreeBuilding#V2
#Range0#JJ,AK
#Range1#AJ,A4
#Board#5s Jh 4h 3d 4s
#Pot#100
#EffectiveStacks#100
#AllinThreshold#67
#AddAllinOnlyIfLessThanThisTimesThePot#500
#RiverConfig.BetSize#100
#RiverConfig.DonkBetSize#100
#RiverConfigIP.BetSize#100
(You can copy it and then go to tools->paste treebuilding config to recreate the tree).

In this tree the board is:
Jh 5s 4s 4h 3d

and our range is:
AK, JJ

opponent's range is:
AJ, A4

Let's look at our equity:
AK: 0
JJ: 100

If we use simple weights to calculate averages we would get:
(16combos * 0 + 3combos * 100) / 19combos ~= 15.7894

Now let's think about real probabilities. We could see that JJ is less likely as every time the opponent gets AJ we can only have JJ in one way. The way to calculate real probability of us having a specific hand is to count matchups and thus:

If we have AK (16 combos) the opponent can have:

1)AJ then it's 16 * 9 = 144 matchups (they have 3 aces and 3 jacks left the deck)
2)A4 then it's 16 * 6 = 96 matchups (they have 3 aces and 2 fours left in the deck)

If we have JJ (3 combos) then:
1)AJ then it's 3 * 4 = 12 matchups (they have the last jack and 4 aces left in the deck)
2)A4 then it's 3 * 8 = 24 matchups (4 aces and 2 fours left in the deck)

Overall it's 144 + 96= 240 vs 12 + 24 = 36 matchups.

Now let's calculate weighted average using those relative probabilities:
(240 * 0 + 36 * 100) / (240 + 36) ~= 13.043

and this is what the viewer shows:
https://gyazo.com/6495953ee453c75d2aa8f62218861948

This is possible to verify on a toy river example but unfortunately with wide ranges on the flop it becomes increasingly difficult to do by hand.

Last edited by punter11235; 08-12-2018 at 03:56 AM.
punter11235 is offline   Reply With Quote
Old Yesterday, 12:13 AM   #4285
Falcore
newbie
 
Join Date: Oct 2015
Posts: 23
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
Originally Posted by punter11235 View Post
Unfortunately using weights to calculate total EVs and EQs is not a correct way to do it. The reason is that there is card removal effect coming from opponent's range. If for example the opponent has a lot of top pairs on Axxxx board we have top pair less frequently in comparison to other parts of our range.

I went ahead and constructed a toy example for you:

Code:
#TreeBuilding#V2
#Range0#JJ,AK
#Range1#AJ,A4
#Board#5s Jh 4h 3d 4s
#Pot#100
#EffectiveStacks#100
#AllinThreshold#67
#AddAllinOnlyIfLessThanThisTimesThePot#500
#RiverConfig.BetSize#100
#RiverConfig.DonkBetSize#100
#RiverConfigIP.BetSize#100
(You can copy it and then go to tools->paste treebuilding config to recreate the tree).

In this tree the board is:
Jh 5s 4s 4h 3d

and our range is:
AK, JJ

opponent's range is:
AJ, A4

Let's look at our equity:
AK: 0
JJ: 100

If we use simple weights to calculate averages we would get:
(16combos * 0 + 3combos * 100) / 19combos ~= 15.7894

Now let's think about real probabilities. We could see that JJ is less likely as every time the opponent gets AJ we can only have JJ in one way. The way to calculate real probability of us having a specific hand is to count matchups and thus:

If we have AK (16 combos) the opponent can have:

1)AJ then it's 16 * 9 = 144 matchups (they have 3 aces and 3 jacks left the deck)
2)A4 then it's 16 * 6 = 96 matchups (they have 3 aces and 2 fours left in the deck)

If we have JJ (3 combos) then:
1)AJ then it's 3 * 4 = 12 matchups (they have the last jack and 4 aces left in the deck)
2)A4 then it's 3 * 8 = 24 matchups (4 aces and 2 fours left in the deck)

Overall it's 144 + 96= 240 vs 12 + 24 = 36 matchups.

Now let's calculate weighted average using those relative probabilities:
(240 * 0 + 36 * 100) / (240 + 36) ~= 13.043

and this is what the viewer shows:
https://gyazo.com/6495953ee453c75d2aa8f62218861948

This is possible to verify on a toy river example but unfortunately with wide ranges on the flop it becomes increasingly difficult to do by hand.
This was really helpful. I want to grasp this conceptually so I tried to account for card removal effects for the hands at the node. If I understood correctly, in order to replicate the total equity and EV shown in Pio for the sample, I would need to find the total probability that the other player (in my case the IP player) has one of the cards in a given combination. For example, the first hand in my sample is 4c3c-I would need to determine the likelihood that IP had been dealt either a 4c or 3c, which would render this combination impossible. At this point the math I think gets out of hand, because it seems like you'd also have to factor in card removal effects from the perspective of the IP player as well. I couldn't just, for example, sum the weights of all IP hands containing a 4c or 3c and divide that number by the sum of all weights to determine the probability that IP had one of these hands because then I'd be negating card removal effects from OOP range. Is this interpretation accurate?
Falcore is offline   Reply With Quote
Old Yesterday, 01:23 AM   #4286
lazz27
stranger
 
Join Date: Mar 2015
Posts: 1
Re: PioSOLVER - postflop equilibrium solver for Holdem

edit

no problem here, I fix it myself

Last edited by lazz27; Yesterday at 01:30 AM.
lazz27 is offline   Reply With Quote
Old Yesterday, 03:24 AM   #4287
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
I would need to find the total probability that the other player (in my case the IP player) has one of the cards in a given combination.
To find relative probability you need to count possible matchups of your hand and opponent range.

Quote:
For example, the first hand in my sample is 4c3c-I would need to determine the likelihood that IP had been dealt either a 4c or 3c, which would render this combination impossible.
Yes, you also have to remember that if the opponent has 4c3c exactly you only count it once and not twice.

Quote:
At this point the math I think gets out of hand, because it seems like you'd also have to factor in card removal effects from the perspective of the IP player as well.
No, you don't have to do that. You only need that if you want their total EV/EQ.

Quote:
I couldn't just, for example, sum the weights of all IP hands containing a 4c or 3c and divide that number by the sum of all weights to determine the probability that IP had one of these hands because then I'd be negating card removal effects from OOP range. Is this interpretation accurate?
What you need to determine matchups for one hand in your range is:

(total weight of hands in opponent's range) - (total weights of hands in opponent's range that block your hand).

Once you have that for every hand in your range you have relative probabilities. Now you need a weighted average using those probabilities to find total EV/EQ. This is doable by hand for small ranges although quite cumbersome.
punter11235 is offline   Reply With Quote
Old Yesterday, 04:18 PM   #4288
Falcore
newbie
 
Join Date: Oct 2015
Posts: 23
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
Originally Posted by punter11235 View Post
To find relative probability you need to count possible matchups of your hand and opponent range.



Yes, you also have to remember that if the opponent has 4c3c exactly you only count it once and not twice.



No, you don't have to do that. You only need that if you want their total EV/EQ.



What you need to determine matchups for one hand in your range is:

(total weight of hands in opponent's range) - (total weights of hands in opponent's range that block your hand).

Once you have that for every hand in your range you have relative probabilities. Now you need a weighted average using those probabilities to find total EV/EQ. This is doable by hand for small ranges although quite cumbersome.
Hey Punter,

I'm tried this out but am still getting a slightly different number, so I'm going to describe what I did exactly.

I performed this formula "(total weight of hands in opponent's range) - (total weights of hands in opponent's range that block your hand)" on the first hand in my sample (4c3c). The sum of all weights in the IP players range is 313.5, and the combined weight of the blockers is 13 (actual combinations below, 4c3c is counted only once):

3c2c 0
3c2d 0
3c2h 0
3c2s 0
3d3c 1
3h3c 1
3s3c 1
4c3c 1
4c2c 0
4c2d 0
4c2h 0
4c2s 0
4c3d 0
4c3h 0
4c3s 0
4d4c 1
4d3c 0
4h4c 1
4h3c 0
4s4c 1
4s3c 0
5c3c 1
5c4c 1
5d3c 0
5d4c 0
5h3c 0
5h4c 0
5s3c 0
5s4c 0
6c4c 1
6c3c 0
6d3c 0
6d4c 0
6h3c 0
6h4c 0
6s3c 0
6s4c 0
7c3c 0
7c4c 0
7d3c 0
7d4c 0
7h3c 0
7h4c 0
7s3c 0
7s4c 0
8c3c 0
8c4c 0
8d3c 0
8d4c 0
8h3c 0
8h4c 0
8s3c 0
8s4c 0
9c3c 0
9c4c 0
9d3c 0
9d4c 0
9h3c 0
9h4c 0
9s3c 0
9s4c 0
Ac3c 1
Ac4c 1
Ad3c 0
Ad4c 0
Ah3c 0
Ah4c 0
As3c 0
As4c 0
Jc3c 0
Jc4c 0
Jd3c 0
Jd4c 0
Jh3c 0
Jh4c 0
Js3c 0
Js4c 0
Kc3c 0.5
Kc4c 0.5
Kd3c 0
Kd4c 0
Kh3c 0
Kh4c 0
Ks3c 0
Ks4c 0
Qc3c 0
Qc4c 0
Qd3c 0
Qd4c 0
Qh3c 0
Qh4c 0
Qs3c 0
Qs4c 0
Tc3c 0
Tc4c 0
Td3c 0
Td4c 0
Th3c 0
Th4c 0
Ts3c 0
Ts4c 0

I subtract 13 from 313.5 to arrive at 300.5, and divide 300.5/313.5 to arrive at a card removal coefficient of 0.958532695. I multiply this number by 4c3c's raw weight of 0.018900704 to arrive at an adjusted weight of 0.018116942 for this hand. I repeat this for all other hands in the sample, the adjusted weight by the total adjusted weights to determine the percentage of OOP range represented by 4c3c (.018116942/31.8925493) to arrive at 0.000568062 or ~.056%, which I multiply by the EV of 4c3c (198.6108856) to arrive at a number that I believe should represent 4c3c relative contribution to the total EV of 0.112823278. I then repeat for all hands in sample and sum these numbers to arrive at 313.53, which I thought would match the total EV shown in Pio, but the numbers are slightly different still (Pio shows 313.63).

Do you see any glaring flaws in the logic?
Falcore is offline   Reply With Quote
Old Yesterday, 05:10 PM   #4289
punter11235
Carpal \'Tunnel
 
Join Date: Mar 2005
Location: solving poker
Posts: 7,253
Re: PioSOLVER - postflop equilibrium solver for Holdem

Quote:
I'm tried this out but am still getting a slightly different number, so I'm going to describe what I did exactly.
If you want me to verify anything I will need the tree config. It's hard to follow the numbers if I am not seeing the exact tree/ranges. Please use "copy to clipboard" button and then paste either to pastebin.com and link here or here directly using [ code ] [ /code ] tags (without spaces inside).

Quote:
I subtract 13 from 313.5 to arrive at 300.5, and divide 300.5/313.5 to arrive at a card removal coefficient of 0.958532695.
What you need to do is to use 300.5 as weight when calculating weighted average for EQ or EV.

Quote:
Do you see any glaring flaws in the logic?
One as pointed above but again: if you show me the exact tree I can verify the numbers more reliably.
punter11235 is offline   Reply With Quote

Reply
      

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Forum Jump


All times are GMT -4. The time now is 05:06 AM.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © 2008-2017, Two Plus Two Interactive
 
 
Poker Players - Streaming Live Online