Open Side Menu Go to the Top
Register
*SnG Solver* - open beta *SnG Solver* - open beta

09-27-2011 , 11:48 AM
not experienced or mathy enough to contribute in a meaningful way here ... but thanks for this ... at first glance it seems to be an exciting product... download in progress ... gl with sng solver
09-29-2011 , 03:12 PM
Thanks islander. I hope you find it useful... and I'll appreciate any feedback you might have, mathy or not. Part of the point of SnG Solver is that you dont have to already be an expert at poker math to get good analysis.


And on that note... version 0.9.6 is now available! http://www.sngsolver.com/beta.html

Mostly minor fixes and tweaks to the installer, but the last version's "beta expiration" date is tomorrow, so you're all going to have to download it anyways.
10-09-2011 , 07:59 PM
Hi guys, FYI version 0.9.7 is up. Has some improvements to the equilibrium calculations and also a few cosmetic tweaks.

Also....

There had been some discussion earlier in the thread about the way SnG Solver calculates its version of "EV Diff%" and how it differs from the way other programs (like SitNGo Wizard) work. To quickly recap, SnG Solver displays the % change relative to the individual stack, whereas other programs display the % change as a fraction of the total prize pool.

Originally, I had expressed an intention to have SnG Solver conform to the de facto standard. But when I sat down to implement this change, I realized there are some weaknesses with that method... that "EV diff%" becomes affected by values that do not actually bear on the poker decision at hand. Namely, aspects of the payout structure that are actually irrelevant can alter the calculated "EV diff%".

For example... imagine 2 tourney scenarios where we are down to 3 players... both scenarios are identical except for one thing, they have differing payout structures. One is 45-30-15-10 (%), and the other is 30-20-10-10-10-10-10 (%). Given that we are already down to 3 players, thel ratios of equity left to be payed out is the same in each scenario (3x-2x-1x), and therefore any decision we make based on equity will be the same for each tourney... yet despite this, sngwiz would report differing "EV diff%" for each, even when every other aspect of the scenario is identical**.

So, I humbly suggest that the method used by SnG Solver is preferable. Its more consistent and therefore more intuitive (no matter the situation, an "EV diff%" of 0.05% is going to be a *thin* push or fold).

And so, unless I hear a compelling reason to do otherwise, I'm not going to change SnG Solver over to the "wiz" method of EV diff%.

Discuss.



** I'm actually quite surprised that sngwiz uses this method since the way it determines its "recommended action" is to apply its "edge %" directly against the "EV diff%". If the "EV diff%" can vary based on factors that should not really affect the poker decision, then its advice is also affected by the same.
10-09-2011 , 09:50 PM
Yeah, this point was brought up on the SNGWiz forums a few years ago (sadly their forum doesn't seem to go back that far [was around 2007/2008 IIRC]). It was a 2+2 poster who pointed out the flaw so perhaps the post is duplicated somewhere in the 2+2 archives for that time.

IIRC, the proposed solution (which either never got implemented or was taken out since...) was to take out any won prizes from the pool and make a new structure, eg: 50/30/20 would become 62.5/0.375 when ITM and 100/0 when HU, etc.

Juk

EDIT: Actually the proposed solution may have been to scale down the edge appropriately - so long ago I can't remember 100% now.
10-09-2011 , 10:27 PM
The end result of that discussion is that it did not matter whether you adjust the payout structure as players were eliminated as long as the edge is set to zero. I decided not to adjust the payouts so that users could do an apples to apples comparison with the then standard SNGPT. I have yet to see a convincing argument to change.

The bottom line is it is not an error as implied by the OP. Set edge to zero and you will get the exactly same hero hand range whether you use 45/30/15/10 or 30/20/10/10/10/10/10 payouts.
10-10-2011 , 05:18 AM
I didnt mean to imply its an "error" for sngwiz to calculate EV diff% the way it does... clearly its your prerogative to define EVdiff however you want and after that, the math is the math. But it does seem an awkward choice to me... and all these caveats about nullifying the "edge" or manually re-normalizing the payouts just seem to reinforce my feelings.


But this is all neither here nor there....

I have chosen to define EV diff% as ((EVPush - EVFold) / EVFold) for SnG Solver. I do this because it gives a number that is consistent between games of differing payouts... a reason that I find convincing.

I suppose I am dooming myself to having to explain this difference ad nausium, but so be it.
10-10-2011 , 09:02 AM
Quote:
Originally Posted by sng_jason
I have chosen to define EV diff% as ((EVPush - EVFold) / EVFold) for SnG Solver. I do this because it gives a number that is consistent between games of differing payouts... a reason that I find convincing.
One thing I like about the SNGPT/SNGWiz way of doing things is how easy it is to translate the EV into $ amounts (and use those $ amounts to weigh up the relative importance of the plays and whether the extra thought involved is worth it).

If you look at a +0.1% play as "+10 cents in a $10 SNG" and know roughly what you need to make in a SNG to make a certain ROI (ie: you need ~10x more than this to break even, etc) then you can get a good idea of the relative importance this play makes towards your overall ROI.

Juk
10-10-2011 , 12:23 PM
Quote:
Originally Posted by jukofyork
One thing I like about the SNGPT/SNGWiz way of doing things is how easy it is to translate the EV into $ amounts (and use those $ amounts to weigh up the relative importance of the plays and whether the extra thought involved is worth it).

If you look at a +0.1% play as "+10 cents in a $10 SNG" and know roughly what you need to make in a SNG to make a certain ROI (ie: you need ~10x more than this to break even, etc) then you can get a good idea of the relative importance this play makes towards your overall ROI.

Juk

The units for the payouts are arbitrary, and in SnG Solver you can enter in any values you want... so you could put in the actual tourney prize values, then all the equity numbers displayed would be in $ (or Euro or Kronor or whatever). Does that do that do the trick?
10-10-2011 , 12:45 PM
Quote:
Originally Posted by sng_jason
The units for the payouts are arbitrary, and in SnG Solver you can enter in any values you want... so you could put in the actual tourney prize values, then all the equity numbers displayed would be in $ (or Euro or Kronor or whatever). Does that do that do the trick?
No, because your ((EVPush - EVFold) / EVFold) values will still be relative.

I think both have merit, but still prefer the absolute value and think in the long run it's going to cause a lot of confusion... Think about the mathematical definition of "expected value":

If I were playing a cash game then I'd still be thinking in terms of "this play is worth $X" as opposed to "this play grows my stack by Y%" and even if I didn't know about poker yet knew the definition of EV, I'd still be very confused if you displayed relative values as standard.

Also, all poker literature uses the absolute version.

Juk
10-10-2011 , 01:22 PM
What I said may have been confusing....

Anywhere SnG Solver shows the "diff %" is also displays the actual EVPush and EVFold values.... if you plug in $ for the payouts, then the EVPush/EVFold will also be in $ and you can easily see where you stand $-wise for each action. Does that give the info you'd want?

Displaying the relative % makes this the same as "ROI %".. in fact, I should probably start referring to it as such. So... you dont have to think of it as "it grew my stack by X%"... think of it is as "this push is +X% ROI".


Quote:
Originally Posted by jukofyork
...
Also, all poker literature uses the absolute version.
Are you sure about this? I dont have every poker book, but I have a few and the only example I've found (so far) of discussing EV% was in Sklansky's "Tournament Poker for Advanced Players"... In the chapter "Prize Structure Implication", he gives an example and frames EV% in the same way I do, as a change in our EV relative to our previous state.

Can you give me an example where absolute prize pool EV% is used?
10-10-2011 , 02:30 PM
All you have to do to get the ev diff% is just move the decimal over 1 spot on the difference number and make it a %.

For ex. if the SNG solvers says 356.1 - 353.6 = 2.5(0.72%)

So just move the decimal 1 spot to the left and our EV difference is .25%

However I do agree that this will be confusing for some players not familar with it and them just seeing a %. But if you understand it you just get both %s, the diff% just like WIZ but also the % it increases our stack.

EDIT: to clarify, the reason we are moving the decimal is because in my ex. the prize pool adds to a 1000 and not 100.
10-11-2011 , 06:02 PM
Hi. So does this approximate values based on assumptions of future game states, or does it go some number of steps out? Why not show some math or logic to the user (this is extremely helpful for study)?

Why don't you just give us the high level details about what it is doing? The programmers are likely to just undo the code somehow so they and figure it out anyway. The SNGers are going to have a hard time buying something if they have no clue how it works.

I don't know how calculate my ROI by hand, but I know how the ROISimulator works. I'm not asking you to show me every line as things move through, but I would like to have some idea as to what the math is doing. "Looks great!" means A LOT from posters like doubleice.
10-11-2011 , 06:49 PM
i am wondering has any one created push & fold chart by using this new software? what is the difference when compares to those one created by SNGWize?

thanks
10-11-2011 , 08:03 PM
Quote:
Originally Posted by Regret$
Hi. So does this approximate values based on assumptions of future game states, or does it go some number of steps out?
It always considers every possible outcome for *at least* one future round of play. Additional game tree depth can get added depending on a couple of factors, and focused into areas that are deemed to benefit from such. This is an area that is undergoing a lot of "tweaking" right now.


Quote:
Why not show some math or logic to the user (this is extremely helpful for study)?

Why don't you just give us the high level details about what it is doing? The programmers are likely to just undo the code somehow so they and figure it out anyway. The SNGers are going to have a hard time buying something if they have no clue how it works.
I actually thought I've pretty much explained it all.... 1) The game tree is expanded 2) leaf node are seeded with approximate equities 3) at each node "Nash" equilibrium strategies are calculated to determine node frequency (and establish reasonable opponent ranges). 4) the tree is collapsed and summed and voila! Better equities, better strategies, no "fudge factors", and no useless defaults.


I had not meant to come across as being so mysterious or secretive. Most of the time when I dont want to give out a detail its because its about something that is still subject to change. SnG Solver is meant to provide the best possible analysis, not be a test platform for a particular formula, theory, or equation. I intend it to grow and evolve... and generating lots of discussion about minutia is not productive. I would like to try to keep the focus on the "big picture."

Also, having worked on a lot of software before with very vocal, opinionated user communities (aka, Call of Duty and D&D fanboys ) , I have acquired the habit of "if a feature is not 100% complete, keep your mouth shut about it".


Quote:
I don't know how calculate my ROI by hand, but I know how the ROISimulator works. I'm not asking you to show me every line as things move through, but I would like to have some idea as to what the math is doing.
Fair enough. I also acknowledge that my webpage is pretty slim with info (and also out of date... SnG Solver has added a lot since I wrote the tutorial thats up there). I'm going to be adding a lot to it soon.

And, in the interest of keeping the discussion going, I'd really like to hear about what people think of the quality of the analysis. I really feel that if you go over to the STT or MTT forum, grab a random post about a pre-flop hand and plug it into SnG Solver, you get analysis that really tends to align with the "expert consensus"... even (and especially) those threads where sngwiz has a lot of trouble. In fact, if you find a scenario where you think SnG Solver gives bad advice, I *really* want to hear about that one.

Last edited by sng_jason; 10-11-2011 at 08:09 PM.
10-11-2011 , 08:06 PM
Quote:
Originally Posted by Mylife0115
i am wondering has any one created push & fold chart by using this new software? what is the difference when compares to those one created by SNGWize?

thanks
I am not aware of anyone having done this.

I would think a chart made by SnG Solver would compare very, very favorably to one made by another program. In fact, I would love to work out a challenge...
10-11-2011 , 09:41 PM
Quote:
Originally Posted by sng_jason
...
Understood and nice post.

Looks nice, just needs to show us what the math for the trees are and it would be totally awesome imo. Other wishlist would be adjusting ranges for future trees, and picking how many trees it goes out.

Thanks!
10-11-2011 , 11:59 PM
Quote:
Originally Posted by Regret$
Understood and nice post.
Looks nice, just needs to show us what the math for the trees are
I'm not sure I follow... which math do you mean? And do you mean show it in the app, or to explain something here?


Quote:
Other wishlist would be adjusting ranges for future trees, and picking how many trees it goes out.
Its possible there will eventually be some control over the solver "depth"... some kind of dial between speed and "accuracy". I actually had something like this in a much earlier private beta version. Ultimately, it proved to be unintuitive and confusing to most users... so I took it out. At some point I will revisit this and try to come up with a better way to implement some user control over the "solver".

As for picking the future state ranges... even if I put this in, you wouldnt/couldnt use it. Given the possibility of 3-way pots, a 6-handed game has 40 player ranges and 301 possible future game states. So, just the first future round of a 6-handed game has in the neighborhood of 12000** distinct player ranges. Catch my drift?



** (Actually less because many of the future game states of a 6 handed game are 4 or 5 handed... but still... its a lot. )
10-12-2011 , 08:44 AM
Quote:
Originally Posted by sng_jason
I'm not sure I follow... which math do you mean? And do you mean show it in the app, or to explain something here?
So, if there is some future tree that is probable, and significant on its effect of the ev of a shove, then that indicates something that should be considered when choosing to fold/shove. If we do not know the significance and probability of the future trees, then we would have to guess as to the causes.

Of course a better calculator that we do not understand these things is better than a worse calculator that doesn't calculate them at all. However, if the math is being done to provide the result, then why not show it in and 'advanced results tab' or similar, or make the showing of it optional?

Quote:
Originally Posted by sng_jason
Its possible there will eventually be some control over the solver "depth"... some kind of dial between speed and "accuracy". I actually had something like this in a much earlier private beta version. Ultimately, it proved to be unintuitive and confusing to most users... so I took it out. At some point I will revisit this and try to come up with a better way to implement some user control over the "solver".
Yes this is all true. For what it is worth, 2 years later or whatever, I really doubt more than 50% of sngwiz users use it correctly.

Quote:
Originally Posted by sng_jason
As for picking the future state ranges... even if I put this in, you wouldnt/couldnt use it. Given the possibility of 3-way pots, a 6-handed game has 40 player ranges and 301 possible future game states. So, just the first future round of a 6-handed game has in the neighborhood of 12000** distinct player ranges. Catch my drift?



** (Actually less because many of the future game states of a 6 handed game are 4 or 5 handed... but still... its a lot. )
This is also true, but one or two of the first 12-20 game states happen 20% of the time (assuming 6-10 'first tier' game states per choice of fold/call). I wouldn't so much care for adjusting the 300th game state as the 2nd and the 3rd.

Hope this all makes sense. Let me know if it doesn't I'm happy to clarify with real examples.
10-13-2011 , 03:05 AM
Quote:
Originally Posted by Regret$
So, if there is some future tree that is probable, and significant on its effect of the ev of a shove, then that indicates something that should be considered when choosing to fold/shove. If we do not know the significance and probability of the future trees, then we would have to guess as to the causes.

Of course a better calculator that we do not understand these things is better than a worse calculator that doesn't calculate them at all. However, if the math is being done to provide the result, then why not show it in and 'advanced results tab' or similar, or make the showing of it optional?
I can certainly add a page that breaks down the equity subtotals for the immediate game state... like what sngwiz has. In fact, this is on my to-do list already.

Doing the same for the future game states gets a little more problematic...

First of all I'm not so sure it would be that useful. It can be very unintuitive how the future conditions ultimately relate to the present... lots of "emergent" elements arise that are difficult for a human brain to grasp. Deep Blue made lots of seemingly inexplicable moves but, at the end of the day, Kasparaov was defeated and left talking to himself.

Yes, yes, I suppose its a bit of a stretch to compare SnG Sovler to Deep Blue... but then again, maybe not...

But I will stipulate that, sometimes, you just want to see for yourself. So, I will put this on my list too... but there are also technical issues...

The core of SnG Solver is written in hand-optimized SIMD assembly. For the sake of performance, most intermediate results do not make it outside of the CPU cache. To save off the intermediates to main memory for later review would devastate execution time.

I could possibly recreate those intermediates as needed for display... but now were talking about a lot of work. I think the bang/buck ratio is pretty low on something like this... but I'll keep it in mind.

Quote:
This is also true, but one or two of the first 12-20 game states happen 20% of the time (assuming 6-10 'first tier' game states per choice of fold/call). I wouldn't so much care for adjusting the 300th game state as the 2nd and the 3rd.
Similar to the above, I understand the desire to be able to "fine tune" things. So, if I can implement it in an appropriate way, I'm willing to give it a try.

But, maybe there's a more valuable conversation to be had here. And that is talking about "what problem are you trying to solve by having this ability to tweak things?" If we get to the underlying reason for what you want to accomplish maybe there's a solution with a more universal application.

Like, maybe you're concerned that SnG Solver assumes that all players will play close to GTO on future rounds, but you know the guy in seat 4 is a total fish and you want to be able to exploit that. So then maybe we can talk about how to implement opponent models with some kind of "range tolerance factor", or something like that.

I would rather spend time on things that might benefit the overall results and not workarounds that only a handful of experts will ever get anything out of.

I hope I'm not coming across as some kind of "Negative Nancy". I really would love to have some kind of crazy "expert mode" and let people go nuts. But I am just one man, and no-one has replied to my "intern wanted" posters yet... so I have to pick my battles.
10-13-2011 , 04:38 AM
About opponent modeling...
It's a must cause with wrong assumption you get wrong results.
Problem with opponent modeling is that it must be complex.
You should probably include parameters like fear factor, bigstack passivness and that kind of things to get the real thing...
10-13-2011 , 04:23 PM
You're not coming off negative at all.

To give a practical example, classic 5bb utg situation, if there is a pwner vs if all loosepassive donks should make a big difference (the pwner denies us a walk literally >60% of the time).

On the other hand, after getting a few hands out the probability of the game state is very low so the effect is weaker. Will villains still fold vs a 3.5 bb stack? Similar implications. Obv to account for this would be very difficult due to the number of game states that would need to be changed.

Opponent modeling would be the best solution, but previous attempts at this have been dubious at best. Donotwant******don't reccomend.

I'm genuinely not trying to give you a hard time, just feedback on the tool. Looks very promising.
10-14-2011 , 05:23 AM
If you are calculating equilibrium play for every part of future tree then it would much faster with modeling opponents, not slower.

Because of not playing in equilibrium every player should have table image which changes with every action he makes, if it's bad makes future calling range from other players looser...
With about 5 parameters I think you could describe precise at least 90% of players. So, we would fill up 5 to 10 parameters about every player and your program would make a model for future hands.
With cutting and approximating unprobable trees I think you could get depth of 4 or 5 at least. But you surely know better then me.

Subconsciously I'm hoping that you won't do that cause then SnG Solver would really solve late game in SNG, and when you solve a game, in other words, you kill it
10-14-2011 , 04:32 PM
Games won't ever die. Good winning players make bad plays all the time.

I agree about equilibrium ranges as a base. I guess my thing with opponent modeling is that every attempt has failed pretty bad imo. So I think it is just better to assume GTO and adjust from there.

I have similar thoughts regarding actions changing a player's ranges. It is certainly true, but once we start making assumptions that this player will do this or that based on whatever, I think we are starting to make models where there is too much discretion and choices being made by the person who programmed the tool. No offense meant to the programmers, cause they are clearly genius and harder workers than me, but we are the poker players let us make the poker decisions.

I just want to know what the numbers are and adjust them.
10-21-2011 , 05:07 AM
I think both you guys are actually right on the money... opponent modelling is a really tough problem to get right, but I think after simulating future hands, it holds the next biggest potential benefit to arriving at "the answer" for a particular situation.

I can tell you that whatever I end up adding to SnG Solver in this area, I'll be taking very small steps.... making sure that there is real value to be added, and not just extra noise and chaos in the equations.

And on a completely different note...

Just a small warning... for the next update, there will not be an upgrade package. Everyone will have to get the "full" installer with the data. I apologize in advance for those of you with slower internet connections... I know 400mb is not small. So if you're someone who hasnt yet downloaded SnG Solver but was going to give it a try, you might hold off a bit for version 0.9.8 to save yourself having to download the big file twice.

This change is in the data is mostly for the benefit of performance... to make the data more "cache friendly".
10-23-2011 , 12:05 PM
I tried a simulation...Five players, payout 50/30/20, blinds 100/200. Every player has a stack of 5000.

I understand this isn't a reasonable situation for push/fold, but...

If Hero is UTG, I am told to push 22.3%.
***If Hero is CO, I am told to push only 3.6%???
If Hero is BTN, I am told to push 69.5%.
If Hero is SB, 56.7%.

Can the CO push possibly be right?

Next, I changed the stack sizes all to 2000.
Here are the results:
UTG: 16.1%
CO: 51.1%??
BTN: 19.6%
SB: 74.4%

Again, an anomoly in the CO? I can understand that for some unknown reason the CO may be slightly higher, but these numbers are a bit too hard for me to accept.

Are they right? What makes the latter numbers even harder to accept, is that the calling range for the BB is larger against the much tighter UTG range than the loose CO range.

      
m