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

02-29-2012 , 08:07 AM
Quote:
Originally Posted by myNameIsInga
Is it only one license? or can I if buy it, use it on more than one computer?
Right now a license key is valid on only one computer... but I'm about to change this to two computers. I realize its common for people to have a desktop and a laptop, etc...

This change will probably happen for the next update and will automatically apply to any license already issued. So if you've already purchased SnG Solver, you wont have to do anything extra to benefit from this.
SnG Solver Quote
02-29-2012 , 09:56 AM
Just downloaded the trial version of the software to try it out. Im new to stt so just trying to figure them out. Tried the following setup in your program and the results confuse me:

sb = 100, bb = 200

Payouts
1st 500
2nd 300
3rd 200

UTG 2500
BTN 2500
SB 2500
BB 5000

Your progam says that UTG should push 11.2% of hos range and BTN should push 9.8%.

As a winning cash game player this is a little strange to me. That the button should be tighter than UTG in this 4 player setup. Given that he has to "push through" one more player I would expect that UTG should be considerably tighter than BTN. Is it something specific to sng that causes this to not be the case? OR what is the explanation?

Mvh
Inga
SnG Solver Quote
02-29-2012 , 10:15 AM
Inga,

SnG Solver considers the fact that the UTG player will get hit by the blinds in the next round... making his situation slightly more "urgent". This will cause the UTG player's range to widen.
SnG Solver Quote
02-29-2012 , 10:37 AM
Ahh, that makes sense. Difference between tournaments and cash games.

Does the blind consideration then decrease with an increase in UTG stack depth?
SnG Solver Quote
02-29-2012 , 12:28 PM
Quote:
Originally Posted by myNameIsInga
Ahh, that makes sense. Difference between tournaments and cash games.
Exactly. That said, this is not an effect that you will find modeled by programs based on ICM. This is a feature of the "Predictive Simulation" algorithm used by SnG Solver.


Quote:
Does the blind consideration then decrease with an increase in UTG stack depth?
Indeed... the larger the stacks, the lower the consequence for having to pay the blinds.
SnG Solver Quote
02-29-2012 , 04:11 PM
So far Im liking the software, but there is one small thing thar annoys me. After running a simulation, in the bottom left corner the range is shown for hero. After one has clicked on, say KJ, a larger square is shown that displays some statistic. Thats a nice feature but there seems to be no way of unclicking it. Is there? The big square sort of gets in the way..
SnG Solver Quote
02-29-2012 , 04:33 PM
Quote:
Originally Posted by myNameIsInga
So far Im liking the software, but there is one small thing thar annoys me. After running a simulation, in the bottom left corner the range is shown for hero. After one has clicked on, say KJ, a larger square is shown that displays some statistic. Thats a nice feature but there seems to be no way of unclicking it. Is there? The big square sort of gets in the way..

If you click on the the graphical representation of the Hero's cards, you will bring up the "Hero hand picker" dialog. On the bottom of that dialog is a button marked "??". Clicking that button will clear the Hero's hand selection entirely.

I'm glad you're liking it so far...
SnG Solver Quote
02-29-2012 , 05:34 PM
I pasted in a handhistory from stars and your program seem to not parse it correctly. Players were sort of rotated one step. BB ended up as UTG and so on..
SnG Solver Quote
03-01-2012 , 08:04 AM
Another beginners question. I'm assuming that all the possible starting hands are ranked in a particular order. Is that rankning available to look at? Is it the Sklansky/Karlson ranking?
SnG Solver Quote
03-01-2012 , 12:26 PM
Quote:
Originally Posted by myNameIsInga
I pasted in a handhistory from stars and your program seem to not parse it correctly. Players were sort of rotated one step. BB ended up as UTG and so on..
That is indeed a bug... I should have a fix for it in the next update.

Quote:
Originally Posted by myNameIsInga
Another beginners question. I'm assuming that all the possible starting hands are ranked in a particular order. Is that rankning available to look at? Is it the Sklansky/Karlson ranking?
For all purposes *except* for the Hero's range, I do use a fixed handranking. Actually, there are 2 handrankings, one for pushes and one for calls/overcalls.

You can sorta see the order now by looking at the "Hero EV" graph and moving the cursor over it. The order of the hands in that graph reflects the handrankings used. But, now that you mention it, I'll put the handranks on website too.
SnG Solver Quote
03-01-2012 , 12:34 PM
Thanks Jason!
SnG Solver Quote
03-03-2012 , 09:53 AM
It would help if when you clicked on a hand to bring up the details (e.g. you click on J5o to bring up the EVp and EVf) you could click on the details box to close it. It's annoying that it won't close. I realize there is a work around by getting to the ?? button, but that's not efficient.
SnG Solver Quote
03-03-2012 , 02:35 PM
Quote:
Originally Posted by Sly Caveat
It would help if when you clicked on a hand to bring up the details (e.g. you click on J5o to bring up the EVp and EVf) you could click on the details box to close it. It's annoying that it won't close. I realize there is a work around by getting to the ?? button, but that's not efficient.
Sounds like a reasonable idea. I shall put it on the "to-do" list.
SnG Solver Quote
03-05-2012 , 12:43 PM
Equilibrium seems to go off in this one, here is the pic:

SnG Solver Quote
03-05-2012 , 01:03 PM
Quote:
Originally Posted by ginandbread
Equilibrium seems to go off in this one, here is the pic:
Hmm... indeed. That doesnt look right... I'll check it out.
SnG Solver Quote
03-06-2012 , 02:07 AM
Quote:
Originally Posted by sng_jason

For all purposes *except* for the Hero's range, I do use a fixed handranking. Actually, there are 2 handrankings, one for pushes and one for calls/overcalls.

You can sorta see the order now by looking at the "Hero EV" graph and moving the cursor over it. The order of the hands in that graph reflects the handrankings used. But, now that you mention it, I'll put the handranks on website too.
Has this been posted yet? I cant seem to find it. Also, what methodology did you use to determine the hand ranking? It is close to mine, but [for pushing ranges at least] seems to favor suited hands slightly more than my rankings do.



It would be very helpful to be able to modify the ranges, or at least get a little more info as to how you arrived at them [if you used the predictive simulation to test different rankings, that would be very helpful to know, as i would probably then switch to yours]. Also, when editing the ranges, it would be helpful to have a text field that lets us input the % instead of needing to use the slider.

This product has a lot of potential and I have bought several licenses for horses, but currently am hungup on the hand ranking issue
SnG Solver Quote
03-06-2012 , 02:31 PM
Picasso,

The actual handrankings used are these:

"Push" handrankings:
AA, KK, QQ, JJ, AKs, TT, AKo, AQs, 99, AQo, AJs, 88, AJo, ATs, 77, ATo, 66, A9s, 55, KQs, A8s, A9o, 44, KJs, A7s, KQo, 33, A8o, A5s, A6s, KTs, 22, A4s, QJs, A3s, KJo, A7o, A2s, QTs, JTs, K9s, A5o, A6o, KTo, T9s, J9s, Q9s, A4o, QJo, A3o, 98s, K8s, T8s, A2o, K7s, QTo, JTo, 87s, K6s, J8s, Q8s, 97s, 76s, K5s, K9o,T7s, 86s, 65s, K4s, T9o, J7s, Q6s, Q7s, 96s, K3s, J9o, 54s, Q9o, 75s, Q5s, K2s, T6s, 98o, 85s, J6s, Q4s, K8o, 64s, J5s, T8o, Q3s, 95s, K7o, 87o, 53s, J4s, J8o, K6o, Q2s, 74s, Q8o, T5s, 97o, 76o, J3s, T4s, 43s, K5o, 84s, 63s, J2s, T7o, T3s, 86o, 65o, 94s, K4o,52s, T2s, 93s, J7o, 73s, Q6o, 96o, Q7o, 92s, K3o, 54o, 42s, 75o,62s, 83s, Q5o, T6o, 82s, K2o, 32s, 85o, J6o, 64o, Q4o, 72s, J5o,95o, Q3o, 53o, J4o, 74o, Q2o, T5o, J3o, T4o, 43o, 84o, 63o, J2o,T3o, 94o, 52o, T2o, 93o, 73o, 92o, 42o, 62o, 83o, 82o, 32o, 72o,

"Call" handrankings:
AA, KK, QQ, JJ, TT, AKs, 99, AKo, AQs, AJs, AQo, 88, ATs,AJo, ATo, 77, A9s, KQs, A8s, 66, A9o, KJs, A7s, KQo, KTs, A8o,55, A6s, KJo, A5s, A7o, QJs, A4s, KTo, K9s, 44, A3s, QTs, A2s,A6o, A5o, QJo, K8s, 33, A4o, K9o, JTs, K7s, A3o, Q9s, QTo, A2o,K6s, 22, K5s, K8o, J9s, Q8s, JTo, K4s, K7o, Q9o, T9s, K3s, Q7s,J8s, K2s, K6o, Q6s, T8s, K5o, J9o, Q8o, Q5s, J7s, 98s, K4o, Q4s,T9o, Q3s, K3o, T7s, J8o, Q7o, Q2s, 87s, 97s, J6s, K2o, Q6o, J5s,T6s, T8o, J4s, 76s, Q5o, 86s, 96s, 98o, J7o, J3s, 65s, Q4o, J2s,75s, T5s, 54s, T7o, Q3o, 85s, T4s, 95s, 87o, 97o, J6o, Q2o, T3s,64s, J5o, 74s, T2s, 53s, T6o, 84s, 76o, 94s, J4o, 86o, 96o, 43s,93s, 63s, J3o, 92s, 65o, 73s, 52s, J2o, 83s, 75o, T5o, 54o, 82s,85o, 42s, 95o, T4o, 62s, 32s, 64o, T3o, 72s, 74o, 53o, T2o, 84o,94o, 43o, 93o, 63o, 92o, 73o, 52o, 83o, 82o, 42o, 62o, 32o, 72o,

I did not develop these rankings and, to be honest, I'm not entirely certain where I got them. They likely came out of somebody's U of Alberta thesis paper about finding Nash equilibrium in NL hold'em or some such thing (or possibly the "Mathematics of Poker"... as I write this I do not have my copy with me). I settled on them long ago while experimenting with poker programming and well before I had any concept of "SnG Solver".

The most important criteria for SnG Solver with respect to handrankings is that the matchup EVs are as continuous as possible over a wide variety of situations. This helps keep the math stable when trying to find range equilibria. To this end, these handrankings seem reasonable and have worked pretty well.

In retrospect, I suspect just using Sklansky-Karlson might have worked just as well and having a single ranking would have saved me a lot of programming work vs using separate push/call rankings. Oh well.

So while these suit the purposes of SnG Solver, I have no basis to try to tell you that they're better than any other handranking. But I can tell you that other than for very specific situations, trying to find the "best" handranking is sort of like trying to find the best snowflake... any victory will be fleeting and you'll go crazy in the process.

At the moment, it is not practical to have user customizable handranks... but it has always been my intention to ultimately support completely unrestricted ranges. I have a plan for this, but I am probably not going to get to it anytime soon. On this note, the tentative roadmap for SnG Solver looks something like this:

1.0.x <= bug fixing, better HH support, UI tweaks, performance improvements, etc...
1.1 <= Top-secret, mind-blowing new feature
1.2 <= unrestricted ranges


Anyways, I hope that helped clear things up. I really appreciate the patronage and GL to you and your horses!
SnG Solver Quote
03-07-2012 , 05:53 PM
Quote:
I did not develop these rankings and, to be honest, I'm not entirely certain where I got them.
I generated these rankings for the holdemresources calculator.
SnG Solver Quote
03-07-2012 , 05:58 PM
Quote:
Originally Posted by plexiq
I generated these rankings for the holdemresources calculator.
lol... well there you go. Did you publish these in a paper? I've been lookin through my "library" and cant figure out where I got them...
SnG Solver Quote
03-07-2012 , 06:34 PM
Nah, not in a paper. But they were published on pokerstrategy forums and in some FAQ pdf.
SnG Solver Quote
03-08-2012 , 09:23 AM
New version is up: 1.0.6. Go get it!

Quite a few goodies in this update...
  • Improved threading efficiency/concurrency... this equals a pretty significant performance improvement... anywhere from 20-60% reduction in solve time depending on the game setup and your particular hardware configuration. Systems with 4 or more CPU cores will benefit the most.
  • You can now type in a villains range% into an edit box on the range picker dialog.
  • Fixed some HH import issues: incorrect seating order on PokerStars HHs, and crashes on iPoker HH import.
  • Support for the weird rules on Merge sites when 2 players bust in the same hand. This can be enabled from the Options dialog on the "Rules" page.
  • Sometimes if there was an "odd" chip in a tied pot, it would get assigned to the wrong player. This is fixed... although a 1 chip difference usually doesnt affect the results much.
  • CPU/GPU system information is displayed on the About dialog
  • Some small UI tweaks and other things that probably no one will notice...

This update also includes the foundation for GPU processing support. And about GPU processing, there is some good news and there is some bad news...

The good news is that the potential for increased performance is tremendous... you could easily see a 10x+ speed up for the solves, depending on your particular CPU/GPU combination.

The bad news is that GPU support will be limited to nVidia chipsets only. I have nothing personal/political against ATI's stuff, but I feel the way they have chosen to implement GPGPU programming (via OpenCL) is simply inappropriate for a commercial application. This is a real bummer because they certainly make a lot of good (and popular) hardware.

You can see if your GPU will be supported by SnG Solver by checking the "System Information" area on the "About SnG Solver" dialog".

"CUDA devices" shows the number of devices in your system capable of GPGPU processing. "CUDA compute level" is the version of those devices. SnG Solver will require a CUDA compute level of 2.0 or higher. This is covered by most nVidia devices sold in the last 2 years... all the 400 and 500 series cards.

("CUDA" is the name of nVidia's GPGPU system, FYI)


And there you have it. Go nuts.
SnG Solver Quote
03-08-2012 , 04:03 PM
Could you go a bit more indepth as to why you won't use OpenCL? It's pretty awesome and both sides support =[
SnG Solver Quote
03-08-2012 , 06:13 PM
Quote:
Originally Posted by TomoDaK
Could you go a bit more indepth as to why you won't use OpenCL? It's pretty awesome and both sides support =[
The problem is that the way OpenCL achieves its platform independence is by implementing a "just-in-time" compiler in the driver. This means that you must essentially distribute the GPU program source code along with the application. As you can imagine, thats not something most commercial developers are keen to do...

There are ways to compile a binary from OpenCL ahead of time and distribute that instead, but on the ATI platform, this ends up being a complicated array of device specs without a guarantee of binary compatibility across hardware variations. And that means a lot of extra development and support work.

The nice thing about nVidia/CUDA is that there is a strong guarantee of binary compatibility across an entire generation of hardware. There's even a degree of forward compatibility in their system. With a single binary, I can cover the entire nVidia product line since 2010 (even the mobile stuff) and possibly even their future 600-series stuff thats only now being released.

In other words, ATI/OpenCL is just too much work for a small operation like mine to deal with at this time.

I'll definitely keep an eye out for a way to make it happen... if something changes, or maybe I've overlooked something. But for now, its just not practical.
SnG Solver Quote
03-08-2012 , 09:11 PM
I've just found and corrected the equilibrium glitch that ginandbread pointed out a few posts ago.

You can get this fix by re-downloading and running the 1.0.6 upgrade installer. I didnt change the version number, but the build # will be 1001 instead of the original 978. You can find the build # on the "About SnG Solver" dialog.
SnG Solver Quote
03-13-2012 , 06:36 AM
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
SnG Solver Quote

      
m