Open Side Menu Go to the Top
Register
SnG Solver SnG Solver

03-13-2012 , 08:17 PM
Quote:
Originally Posted by nibbana
Hi jason,
really nice work you have done here, something I thought about a lot over the last 18 months or so but without the mathematical or programming know how I struggled to make my ideas into anything useful.

I came up with a number of different equity models in this period but the part I always got stuck on was how to assign ranges for the future game simulation part. Page 5 of THIS thread has some of my first thoughts on simulating a few rounds ahead.

Would you mind divulging a little how you come to the ranges for your FGS, is it based on fictitious play/ICM nash ranges or have you found some other way.

Many Thanks,
nibbana
Thanks for pointing out that thread... I just finished reading/skimming... super interesting!

And yes, what I do inside of SnG Solver is very similar to what you suggested. I solve a Nash equilibrium for any node in the game tree where I need get a frequency for a player action.

I really thought some of the posts and info in that thread was amazing. It really captured the issues of tournament chip equity calculation.

In particular, regarding player position as a factor, I think jbpatzer hit the nail on the head when he said (after simulating equity for various game setups):
Quote:
"Notice that not all equal stacks are equal! If there are two equal small stacks, the stack to act first is at a disadvantage, and vice versa for two big stacks. ICM gives equal stacks equal equity and can never capture this."

An equity model can cancel out the variable of position by introducing randomization with respect to that variable... and this works for solving for macroscopic, tournament-wide equity. But, if you are in-the-moment analyzing an individual poker hand, there is no way to Monte Carlo-away the fact that you are UTG, etc...

Also, I thought the observation on page 1 about the relationship between stack size and position is super important... that the EV of position/initiative can change polarity with respect to stack sizes. This is yet another wrinkle that should give pause to anyone trying to come up with a simple linear expression to "adjust" any of the standard ICM models.


As I think about it now, I think we should distinguish that a value for chip equity can be either macroscopic (e.g., applicable when considering an entire MTT) or tactical (applicable to in-the-moment decision making). These are really two different things, and they are not particularly interchangeable... and position is one of primary ingredients in this distinction.

So given that, we could now start binning things up...

Macroscopic TEQ models: Malmuth-Harville, Malmuth-Weitzman, Roberts (new model getting some attention recently), Ferguson's chip diffusion, etc...

Tacical TEQ models: Predictive Simulation (a la SnG Solver)


Heh, yeah, I like that. Tactical chip equity vs. Macro chip equity. I'm going to have to try to work this into the jargon of the poker community.
SnG Solver Quote
03-14-2012 , 07:56 AM
Thanks for taking the time to reply.

Quote:
Originally Posted by sng_jason
Thanks for pointing out that thread... I just finished reading/skimming... super interesting!

And yes, what I do inside of SnG Solver is very similar to what you suggested. I solve a Nash equilibrium for any node in the game tree where I need get a frequency for a player action.

I really thought some of the posts and info in that thread was amazing. It really captured the issues of tournament chip equity calculation.
Yea, jb, pzhon & muebarek confused the hell out of and enlightened me in equal measures ! Is that an ICM Nash equilibrium you use then, do you think it's worth looking at M/W or diffusion equilibria too or would the changes in results be negligible?


Quote:
Originally Posted by sng_jason
An equity model can cancel out the variable of position by introducing randomization with respect to that variable... and this works for solving for macroscopic, tournament-wide equity. But, if you are in-the-moment analyzing an individual poker hand, there is no way to Monte Carlo-away the fact that you are UTG, etc...

Also, I thought the observation on page 1 about the relationship between stack size and position is super important... that the EV of position/initiative can change polarity with respect to stack sizes. This is yet another wrinkle that should give pause to anyone trying to come up with a simple linear expression to "adjust" any of the standard ICM models.
Yea it does look to me now that the problem can only be truly solved by simulation, that we shouldn't be so worried about compute times and more about accuracy of equity estimation especially given how small the edges are nowadays.

I don't think I can stress enough how glad I am that someone has committed to a project like this, the scope for it is pretty huge imo. Have you given any thought to any of this stuff:
  • Whether a Heads Up Push/Fold FGS Nash Equilibrium would look especially different to the Push/Fold ICM Nash Equilibrium ?
  • Could Sng Solver utilise HEM in the same way as WizHUD did with Sng Wizard to allow for more efficient/accurate (perhaps automated) estimation of ranges
  • As someone already mentioned playing Equity models off against one another to see what edges are like

I could go on but I would guess you have enough to do without fielding these questions !


Quote:
Originally Posted by sng_jason
Heh, yeah, I like that. Tactical chip equity vs. Macro chip equity. I'm going to have to try to work this into the jargon of the poker community.
You may need your own section in the poker dictionary with all your acronyms and jargon
SnG Solver Quote
03-15-2012 , 04:06 AM
Hello,

I've already tried a few beta versions and those were very helpful but not practical due to no HH import. I see now that you've implemented it and would surely buy the program but I can't import hands from Ongame. Places where the importer stops:
- spaces in nicknames. Very common Ongame so it's annoying to fix all HHs manually, also my own nick has a space so I can import 0 hands without editing
- seats don't necessarily come in succession, for example the HH below with 6,8,9 returns error

Anyway another option which would be way more useful is to add HH importing from HEM hand history viewer. I then would be able to view only my marked hands in HEM. HEM stardadizes imported hands from all the rooms to the same format so you wouldn't even need to add support for all the rooms cause most SNG players use HEM (afaik). The hands would look like this:

***** Hand History for Game 522130334346 ***** (On Game)
Tourney Hand NL Texas Hold'em - Friday, March 02, 12:46:25 ET 2012
Table Table 1 221303343 (Real Money)
Seat 9 is the button
Seat 6: Timosjoek ( $4380.00 USD )
Seat 8: Rolandas M ( $2710.00 USD )
Seat 9: fgjdsq ( $410.00 USD )
Timosjoek posts ante of [$20.00 USD].
Rolandas M posts ante of [$20.00 USD].
fgjdsq posts ante of [$20.00 USD].
Timosjoek posts small blind [$100.00 USD].
Rolandas M posts big blind [$200.00 USD].
** Dealing down cards **
Dealt to Rolandas M [ Th 4s ]
fgjdsq raises [$390.00 USD]
Timosjoek folds
Rolandas M calls [$190.00 USD]
** Dealing Flop ** [ Ad, Ks, Qd ]
** Dealing Turn ** [ 7c ]
** Dealing River ** [ 5s ]
fgjdsq wins $940.00 USD from main pot
Rolandas M shows [Th, 4s ]
fgjdsq shows [Kh, 6s ]

Great work so far, keep it up.
SnG Solver Quote
03-15-2012 , 08:58 PM
Quote:
Originally Posted by nibbana
... Is that an ICM Nash equilibrium you use then, do you think it's worth looking at M/W or diffusion equilibria too or would the changes in results be negligible?
Well, the "leaf" nodes are currently initialized with M-H ICM, but as the game tree is solved, each node's equilibrium is based on progressively "refined" equity approximations. I've tried lots of ways of seeding the leaf nodes. In many cases, the difference between seed algorithms becomes negligible as the simulation depth increases. Part of the continued development for SnG Solver has been in this area... finding the effects of seeding setup and simulation depth on accuracy and performance.

Quote:
... Have you given any thought to any of this stuff:

*Whether a Heads Up Push/Fold FGS Nash Equilibrium would look especially different to the Push/Fold ICM Nash Equilibrium ?
I think when heads up, these become identical... i'm pretty sure this is mathematically true (I cant seem to think clearly about this right now)... but I do know that experimentally, the difference has been zero or nearly zero for every situation I've tested.

Quote:
*Could Sng Solver utilise HEM in the same way as WizHUD did with Sng Wizard to allow for more efficient/accurate (perhaps automated) estimation of ranges
I probably could. Opponent modelling is an interesting wrinkle in all this kind of stuff and I've got some ideas about this...

Quote:
*As someone already mentioned playing Equity models off against one another to see what edges are like
I have actually done some of this (some results are scattered around in various STT posts). I dont have a good set perfectly comparable #s, but the basic jist is this (for short-stacked, 6-max type STTs): PSM (SnG Solver) > M-H ICM > Roberts ICM > M-W ICM > chip EV. At some point, when I've got a complete set of data with high confidence levels, I'll publish some detailed results.

Quote:
I could go on but I would guess you have enough to do without fielding these questions !
No worries... I'm happy to talk about this stuff
SnG Solver Quote
03-15-2012 , 09:05 PM
Quote:
Originally Posted by Nieko
... I can't import hands from Ongame. Places where the importer stops:
- spaces in nicknames. Very common Ongame so it's annoying to fix all HHs manually, also my own nick has a space so I can import 0 hands without editing
- seats don't necessarily come in succession, for example the HH below with 6,8,9 returns error
Thanks for the info. Being in the USA I dont have easy access to lots of HHs and sometimes its hard for me to know if my parser is 100% correct. I'll check it out (I recently corrected a "names with spaces" issue for PokerStars HHs too).

Quote:
Anyway another option which would be way more useful is to add HH importing from HEM hand history viewer. ...
Sounds like a good idea. I'll look in to it. I've got HEM, so I do have access to those HHs.

Thanks for the feedback!
SnG Solver Quote
03-16-2012 , 08:32 AM
I can provide as many Ongame HHs as you need.

Also would it be very hard to implement pushing over limpers/raisers equilibria?
SnG Solver Quote
03-16-2012 , 02:27 PM
Quote:
Originally Posted by Nieko
I can provide as many Ongame HHs as you need.
Great! If you actually could send a couple to support@sngsolver.com that would help me out. The more variations I can get in my "library", the better.

Quote:
Also would it be very hard to implement pushing over limpers/raisers equilibria?
It would be hard... but implementing Predictive Simulation was very hard... and so was the EV-RMSD graph... and GPU processing...
SnG Solver Quote
03-16-2012 , 06:14 PM
Hey, having a bit of a confusing time with a spot, hope you can explain it.
It's the bubble of a 6 max sng. The btn shoves, and I'm the bb with AT.
The EQ strategy tree says villain pushes 33.3% and I call 8.7% INCL AT.

However, on the table view, having left the btn pushing the eq range of 33.3%, I can see I should only call 6.6% now and that AT is -2.42% roi. This seems really odd.
[IMG][/IMG]

I get that if i change his range it'll spit out a different calling range, but if he pushes the eq range, surely I can't do better than call EQ otherwise, how is it an equilibrium?
SnG Solver Quote
03-16-2012 , 06:54 PM
Colin252,

The calculated equilibrium ranges are an approximate Nash equilibrium. Part of what makes them approximate is that they are based on ranges that are restricted to a predefined linear handranking.

The Hero's range (reflected in the graphs and heat-map) is the best response to the specified opponent's ranges and its makeup of hands is unrestricted.

So, its kind of an apples-to-oranges thing and I realize it tends to cause some confusion, but I felt that doing things this way was a reasonable compromise between giving a little extra information (like being able to see how hands can change in value in response to different conditions) and keeping the processing fast.

In the future I plan to be able to eliminate the restriction on the equilibrium ranges which should make things a little more intuitive.
SnG Solver Quote
03-18-2012 , 07:56 AM
the -2.5% mistakes i dont get, or whatever number there is there, we are all used to th sng wiz/other calculators who show the same numbes for the same hand, I dont know the magnitude of my mistake/error in this model, please change it the same way as other calculators
SnG Solver Quote
03-19-2012 , 12:47 AM
Ok, thanks for the response. Your math for everything looks solid So I'll take your word for the discrepancy, although I would say the difference in range is kinda huge relatively speaking, and from the point of a view of sng players who've learned using wiz/holdem resources, it's pretty confusing to have the nash ranges your calc spits out to include such big calling errors. Pretty sure if I put Holdem resources nash push range into wiz it'll spit out extremely close calling ranges to the nash range. It will NEVER tell me to call a whole 24% less than the nash range as in this example. Not sure if this is something you can or want to dedicate any time to fixing but I'm sure plenty of people will find the fact that a near quarter of the nash range provided is a mistake, extremely mystifying.

As a side note, for the common payouts, changing the 6 max payout from 650/350 to 65/35 will give out numbers in the format we're used to seeing with wiz and help make an apples to apples comparison for spots where Solver and conventional "static" ICM differ.
I know you want to do things your own way, and that's cool but I also think you can't just ignore the fact that most all of your customer base will be at least former if not current Wiz users and so some small compromises on the disply of results will go a long way to convincing them of the merits of solver over wiz. Just my 2 cents worth.
Keep up the good work though sir, you're on the right track, I firmly believe this will be a great product ;-)
SnG Solver Quote
03-19-2012 , 07:26 AM
Here are some advices for user friendlyness, that I already implemented in my subprogram for solver..

As stated above, changing 650/350 to 65/35 is more intuitive cause it's closer to payout structure. To be more precise, 650/350 to X1/X2 is something I'm doing for a long time and it's definitely more intuitive. X1 and X2 are payouts for first and second place. Thing is that I memorize much easier if I can see how much is a move worth (in cents or dollars). And one more thing I'm doing is when using chipEV is that I don't put 1000 to the first place but the sum of chips, so if you put 13500 on 9man you'll get exactly how many chips is a move worth on the long run.


Sum of chips can be parsed from HH.
For payouts it would be nice if we could save a custom payout.

Great program.
SnG Solver Quote
03-19-2012 , 08:56 PM
Mecastyles,

I chose to go with a "relative" EV% display, rather than the "absolute" EV of sngwiz, because its a more consistent metric and is not erroneously affected by aspects of the payout structure. For example, when ITM, the absolute EV style does not give numbers that are comparable with the numbers calculated before the bubble burst.

In general, I dont like doing things just to be different than sngwiz, etc... but in this case, I feel like there's a good reason.


Colin252,

I'm not sure its fair to characterize the amount of difference as 24%, since you should never see that kind of difference when the ranges are wider. But that said, I do appreciate how disconcerting it can be, and I'll definitely keep working on ways to make the results more straightforward.

Now the 650/350 vs 65/35 thing is for sure something that I can deal with in the near term... I'll be switching over to "normal" 65/35 type numbers in the next update and will support decimal numbers in the payout edit fields. I wont bore you with the history behind the reason for the current way, but yeah... there no good reason for it now.


ginandbread,

Good tip about the chipEV.... and I have custom payout support on my to-do list... though I'm not sure yet when I'll get to it.


Thanks for the feedback, guys!
SnG Solver Quote
03-21-2012 , 06:23 PM
Hi jason!

Okay i don't know if i am using your software correctly (i am a complete SNG n00b), my intention is to get some estimated ranges for the first round of 235fpps hyper sng satellites. This is what i get...

http://imageshack.us/f/856/83579718.jpg


Okay my question is if i am using your soft correctly? for my specific goals? are those ranges correct? some of them seem very wide and i don't know how they are going to respond in those hyper turbos.

Mostly i am going to be playing with total strangers, and the fact that variance is so huge in these, i think i would need a huge sample size to be able to harness someones range..?

edit: how big of a mistake would it be to use this ranges?

Last edited by OhNoes!; 03-21-2012 at 06:32 PM.
SnG Solver Quote
03-21-2012 , 08:48 PM
Very interesting software jason. Really great what ur doing here.

I do have a question about ur algorithm and my apologies if this has been asked before, as i havnt really had time to read the threads on this.

How far into the future does the solver consider? Just 1 hand? 2? I ask this because im primarily a Fifty50 player and future equity considerations in these games can be huge and not only just for the following 1 or 2 hands. Having the BS and being able to dominate the bubble can often mean 5+ hands for u to take advantage of.
SnG Solver Quote
03-21-2012 , 09:55 PM
OhNoes!,

It looks like you've got everything setup correctly.

As you may know, SnG Solver calculates approximate Nash equilibrium strategies for all the players in the game as uses them as the default ranges for your opponents. But how to correctly apply and interpret the results based on equilibrium ranges can sometimes be tricky business, especially if we're talking about a hand with many opponents.

Using approx-Nash ranges for your opponents ranges is a good starting point to estimate a tough game... and using the Nash range as the starting point for your own strategy means that even if its a mistake, its probably not going to be a big mistake.

But given that your opponents are probably not playing perfect Nash equilibrium strategies (and if they are, you need to find a different game), it means that your actual best play may be very different from what the equilibrium play is.

SnG Solver can actually give you an idea of just how much your range might need to change is response to your opponents deviation from their set up ranges. Right now, this takes the form of the "EV-RMSD band" on the EV graph.

EV-RMSD stands for "Expected Value, Root-Mean-Square-Deviation"... which, for our purposes, translates into how much our best response range may change given that our opponents may not behave exactly like we think they might. This is represented by the darker green band surrounding the bright green "Hero all-in EV" line in the EV graph. Essentially, if we're not sure about our opponents ranges, our real all-in EV could be anywhere within the broader RMSD band.

From the example you gave, it means that if our opponents dont play an exact Nash equilibrium, our actual best range in this spot might be as low as 15% or as big as about 40%.

The EV-RMSD band can also help us focus our study effort about specific scenarios. Obviously if we had AA, we wouldnt need to think much about it... it wouldn't matter what our opponents ranges really are. But what about if we had JTs, or A3o, or Q8o? How certain do we need to be about our opponents ranges to be certain that we're making the right decision about those hands? When the entirety of the EV-RMSD band for a hand is either above or below the red "fold EV" line, we know that the conclusion for that hand can withstand a relatively high degree of variation in our opponents ranges. In fact, when this happens the "push/fold" advice presented in the Hero's seat on the Table View will show an exclamation mark "!". I tend to think of this to mean snapshove! or snapfold!.

I intend to feature/leverage this EV-RMSD type information more in future versions...

Anyways... I hope that helped and wasnt tl;dr
SnG Solver Quote
03-21-2012 , 10:04 PM
wayneking7,

Right now, SnG Solver considers only 1 future round. This is somewhat of an arbitrary limitation, as the Predictive Simulation algorithm can be extended to include an arbitrary number of future rounds... limited only by available processing power.

I've limited it to 1 for now for the sake of clarity and to try to keep any possible confusion about the newness of algorithm/results/software to a minimum. I've done a lot of experiments with different scenarios and different simulation depths and, as you suggest, sometimes it can make a big difference in games where there are a number of short stacks and there is a very large "bubble effect".

I have a few user-interface issues to work out, but I will be releasing a version that lets you guys "solve" games to deeper futures pretty soon....
SnG Solver Quote
03-21-2012 , 11:02 PM
Thanks a lot jason, i really appreciate you took the time to formulate such an awesome answer. Although i had to read it several times to fully grasp it

I think i understood you correctly, i am going to start off with the snap shove range, and experiment a little and see what ranges people at these games usually use, and then decide if i should open up my ranges or not.

Thanks a lot!
SnG Solver Quote
03-22-2012 , 02:29 AM
Thanks for the response Jason, love your work. Looking forward to future releases.
SnG Solver Quote
03-22-2012 , 07:40 PM
You have to understand that in some pionts, its not whats better, but what people are used to. Every single icm calculator displays the EV like sngwiz, you should at least make it an option, this alone is a reason for me to dont want to use this program so much.
SnG Solver Quote
03-23-2012 , 12:33 AM
Quote:
Originally Posted by Mecastyles
You have to understand that in some pionts, its not whats better, but what people are used to. Every single icm calculator displays the EV like sngwiz, you should at least make it an option, this alone is a reason for me to dont want to use this program so much.
The thing is, I'm not interested in perpetuating a system that I think has problems, especially when a better alternative exists... but maybe there's a way everybody can be happy... maybe a "normalized" absolute EV diff would work. The numbers would (mostly) look like what sngwiz shows, but shouldnt suffer the same wonkyness...

I'll do some maths and think about this some more and see what shakes out...
SnG Solver Quote
03-23-2012 , 01:47 AM
Yeah i don know what ur saying mecastyles. Being so use to seeing EV as an absolute its hard to get ur head around how bad/good some of the number are with the way Solver does it. But if its a better way then i guess id prefer it and get use to it
SnG Solver Quote
03-23-2012 , 02:44 AM
PokerStars Hand #77601607086: Tournament #536017369, $57.25+$2.75 USD Hold'em No Limit - Level XII (200/400) - 2012/03/21 23:40:09 ET
Table '536017369 1' 10-max Seat #5 is the button
Seat 2: FT_SBS (8570 in chips)
Seat 5: AnhThuy99 (1140 in chips)
Seat 6: gurdus$$$ (1695 in chips)
Seat 7: yonyto3593 (1455 in chips)
Seat 8: wayneking7 (1025 in chips)
Seat 9: bostero27 (1115 in chips)
FT_SBS: posts the ante 50
AnhThuy99: posts the ante 50
gurdus$$$: posts the ante 50
yonyto3593: posts the ante 50
wayneking7: posts the ante 50
bostero27: posts the ante 50
gurdus$$$: posts small blind 200
yonyto3593: posts big blind 400



Question with this hand and the equilibrium calling range of the Big Blind.

Now from holdem Resources the BBs calling range in equilibrium is 33.5% with my UTG shove range at like 14% (very similar to that from the solver when not doing a complete analysis as expected). When i do a complete analysis the solver puts my range only just higher at 15.5% and the BBs calling range at 71%! Everyone elses ranges seem to be matching up from both sides. I dont get how if my shoving range only changed my 2% from UTG how is the BB now calling 40% more if both cases are in equilibrium?






Using Holdem Resources and changing my shoving range to 15.5% only increases the BBs calling range by a few % also as i would have expected.

Something seems up here. I would have thought using Predictive sim would have increased my utg shoving range by a significant amount in this situation and when i change the BBs calling range back to 35% ish where i think it should be at in equilibrium my shoving range is more like 35% which is what i was expecting.

Last edited by wayneking7; 03-23-2012 at 02:55 AM.
SnG Solver Quote
03-23-2012 , 03:39 AM
wayneking17,

Interesting spot.... one where considering the potential consequences of the next round really makes a difference.

This seems to be a real do-or-die spot for the BB. Consider what happens if it folds around to the BB and he folds: he'll have just 1000 chips and be in the SB (so 750 behind) and has zero fold equity against you, who are now in the BB but with 1900 (1450 behind).

Obviously calling and losing sucks for the BB, but because he's got you covered and and cannot be knocked out, he'll get to see at least one more hand.

Basically, the Predictive Simulation is saying that now is the time for the BB to take a shot and call the UTG lite.

You might disagree that the BB will actually call that wide, and if you're right you'd be correct to widen your range... but as far as the equilibrium goes... the math is the math.

Whats also interesting is that the equilibrium says that the BB should call you widest of anyone else at the table, even though your push range is much narrower than anyone else (especially the CO, who should be on ATC)... why? Because if UTG folds, then now, no matter what else happens, if the BB has to fold he's still in better shape than you. Other than calling and losing, folding to UTG's push is the worst possible scenario for the BB.

BTW, I ran this spot with additional future rounds, and the results are nearly identical
SnG Solver Quote
03-23-2012 , 06:13 PM
Hi jason again, just a recommendation, it would be great if when setting villain calling/pushing range, one could also select individual cards and not the predefined range that goes with the slider.
SnG Solver Quote

      
m