News

PioSOLVER on DeucesCracked November 16, 2015 09:23

PioSOLVER on DeucesCracked

We are happy to notice that PioSOLVER is getting more popular every day. It's becoming an essential tool in pro players' arsenal.
Today we are recommending another interesting PioSOLVER video this time published by Deuces Cracked. CLICK to see the video.
The author goes over how to set up a sample hand choosing an option with many bet sizes. After that he follows with more in depth strategic considerations.

Make sure to check out the video and the whole DeucesCracked site!

Choosing a subset of flops to represent the whole game November 5, 2015 23:52

There are 22100 possible flops in Holdem out of which 1755 are strategically different. This is quite a big number which makes attempts to approximate preflop EV for chosen spots as well as upcoming preflop solving quite a difficult task. One needs a few terabytes of RAM to fit even very simple games (assuming full postflop play) and using a disc storage slows things down very significantly.

It's no surprise then that players and programmers are attracted to the idea of simplifying the game a bit. One of the natural ideas is to reduce the number of flops from 1755 to something more manageable hoping that the preflop results stays approximately the same. First publicly known attempt to do that was described by Will Tipton, here:
CLICK for 2p2 discussion about subset of flops

Tipton's method was based on first creating conditions a good subset must satisfy and then finding the minimum size subset which satisfies all them. Example conditions are a frequency of every card appearing, a frequency of any given pair being a top pair etc.

While this method makes sense and was improved upon by others since the original publications we have chosen a bit different road. Our method is based on defining some metrics which a good subset must satisfy and then running a solver of sorts to find the best subsets of N elements which scores the best on the metric. The metrics used are equtity (against full range, against 50% of the range, against AA etc.) as well as EVs from all 1755 sets which we got access to thanks to several of our users who run high volume analysis before (see credits at the bottom of this post).

The algorithm starts from a random set and "evolves" at every iteration. We have used a random walk approach - at every step the subset is mutated in some ways and if the improvement is found that new subset becomes a new current one - rinse and repeat. The real EV results we got were divided into a training set and a testing set to avoid a situation where the same data is used for both training and testing.

We tried many metrics trying to determine the best one. Interestingly it seems a mix of EV and EQ performs better than other even if we grade the set using EV only.

The results we got are quite promising. To measure how good a subset of flops is we have used least square measure, that is a sum of squares of EV differences for every possible hand. That method punishes big deviations which is what we want. We got big improvements over Tipton's method (which contains 103 flops). Tipton's subset is performing on par with our 25 element subsets and signficantly worse than 50+ element subsets.

Without further ado let's go to the benchmarks. You can find comparison of our subsets to the real results (ones calculated on all 1755 flops) below. We are presenting 5 subsets we've developed: 25 element one, 49 element one, 75 element one, 95 element one as well as 184 element one. Additionally original Tipton's subset is added to the comparison.

  1. Equity against full range
  2. IP players in 3-bet pot, BTNvsBB; 100bb
  3. IP player in single raised pot, BTNvsBB 6max, 100bb
  4. OOP player in 3-bet pot, BTNvsBB 100bb
  5. OOP player in single raised pot, BTNvsBB 6max, 100bb
  6. IP player in single raised pot, SBvsBB 6max, 100bb
  7. OOP player in single raised pot, SBvsBB 6max, 100bb

It seems that 184 element subset performs really well but the smaller one should offer very good accuracy when the goal is get preflop EV, adjust, repeat.
We've uploaded more benchmarks, HERE. 

As to the subsets themselves: (you can just copy-paste them into the script generation window)

  1. 25 flop subset
  2. 49 flop subset
  3. 74 flop subset
  4. 95 flop subset
  5. 184 flop subset

We hope making those subset available will make estimating preflop EVs faster and more productive process. We hope those subsets can also be used to obtain preflop solutions once the preflop solver is available. Preliminary tests look very promising.

Have fun!

*The testing data was provided by our very helpful users, among others:
-Selcouth
-Ilya "SM0LK0" Smolko

 

UPDATE: Since posting this blog entry we have improved on the process and let it run on our server for much longer. The flop subsets included in preflop_subsets folder in PioSolver installation perform much better than those from the article and include larger variety of sizes from 3 to 362 flops.


Videos! October 27, 2015 21:19

Hello,

We are happy to say more and more people use PioSOLVER and it's becoming a primary tool for a professional poker player. With more users come more feature requests and more demand for tutorials/learning material. Today we are catching up a bit on this front.

First, make sure to check out our quick start video which goes over major functionality of the solver and should be enough to get you started:

 

 Today we also added a first video made by Aze Gallo. This is a bit more advanced analysis where the author tries to get a bit deeper into reasons of why optimal play is the way it is. Check it out:

 

 For people not yet up to speed with new things in 1.6 version, there is a feature overview video:

 

Node locking functionality attracts a lot of attention but the interface maybe is not the simplest one to get used to. Here is a tutorial with a simple example:

 

Some frequently asked questions are answered in another video. We're hoping this format is a bit easier to follow than a written FAQ (make sure to check the video description for quick links to questions):

 

There is also more PioSOLVER related material popping out on the net, often without any input from us. It's always interesting to see how the program is used, we can say a lot of common usage patterns weren't predicted by the authors.
Make sure to check the discussion on Run It Once, specifically videos by Tyler Forrester and Steve Paul.

We are hoping those makes getting started with the program as well as using a bit more advanced features easier. Let us know what you think and what kind of material you would like to see in the future!

 


PioSOLVER 1.6 October 11, 2015 20:01

We are pleased to announce PioSOLVER 1.6. It brings many improvements mainly in the graphical interface layer but also some on the solver side.

There is a short youtube video about new functionality and usual list of new things below.

Non-exhaustive list of changes:

  1. Overall line frequency is now shown when browsing the tree. SEE GIF
  2. Multi flop aggregation reports now include EVs for all preflop hands, preflop orders as well as equity realization.
  3. It's now possible to copy-paste preflop orders to the range selector; 2 more orders are also included in the distribution. SEE GIF
  4. Script generation got new options: generate n random flops, make micro saves, scripts are also generated in a way that re-running them in case of a crash doesn't repeat the calculations for already done trees (see the point number 5) SEE GIF
  5. skip_if_done command is added to the sovler; this makes it possible to generate scripts which don't repeat already calculated trees in case of a crash or unexpected termination of an executing script.
  6. There is now a new tool for creating preflop charts - you can use it to work on your ranges or to create a nice preflop chart to print. SEE GIF
  7. It's now possible to insert cap per street as well as eliminate donk bets on turn/river in limit tree building
  8. When the solver stops it now produces a reason for the stoppage as well.
  9. Range arithmetic - it's now possible to add/subtract as well take a min or max of ranges in the range selector.
  10. The viewer layout is fixed for 125% scaling and should now display correctly on small laptops and very high resolution screens which use Windows scaling option.
  11. It's now possible to copy the whole node info which might be useful when making a reports for given spot. SEE GIF
  12. Force bet now works with multiple sizings.
  13. The scroll now changes weights in a range selector for easier input of weighted ranges. SEE GIF
  14. EV is now weighted by matchups not weights.
  15. It's possible to insert both timeout and desired accuracy in a tree building tab.
  16. It's now possible to select/show all hand with at least one spade/heart/diamond/club. Like THIS

Features implemented on a solver side (some of them not yet available from PioViewer)

  1. Combo locking - it's now possible to lock only specific combos instead of the whole node. For example you can lock a strategy for AA/KK but leave rest of the node unlocked. See "combo_lock_node" command in the solver's documentation.
  2. Solving pure preflop games - the solver is now able to both build and solve pure preflop games (games which assume check-down from the flop). Those for now use very simple tree building interface and solve in less than a second to almost perfect accuracy.
  3. set_accuracy now accepts both chips (default) and fraction of the pot input (see set_accuracy in the solver documentation)
  4. There is now stdoutredi_append command which appends instead of overwriting the output file.

List of interesting fixes (ones which may influence a way you use the solver):

  1.  calc_eq_pp now produces full results similar to calc_ev_pp
  2.  calc_eq_node now produces a correct total
  3. If weighted ev is selected it also applies to strategy+ev view.
  4. Total frequencies (of actions) in aggregation reports are now weighted by matchups
  5. River saves are now fixed.

 The schedule is a bit unusual. Edge version users already get the update shipped. Pro and basic versions will start rolling probably Wednesday morning due to slight technical problem we have.
As usual to get the update it's enough to click "check for updates" in our updater or use your download link directly. Have fun!