PioSOLVER 1.8 - bugfix release February 23, 2016 20:44

As it happens with new functionality a lot of problems were reported during last few days. Today we are addressing most of them:

  1. Rake wasn't stored correctly in tree configs.
  2. "Can't do that when the solver is running" error is now only appearing when you try to show EV (and not not during normal browsing). Calculating EV while the solver is running is still not allowed as that caused stability problems.
  3. Scaling issues on high DPI screens (125% Windows settings) are now fixed.
  4. The small saves didn't contain all the necessary information which caused the solver to crash if you try to run it on them (now it correctly produces an error instead)
  5. The range was shown incorrectly in some rare cases (some hands in range weren't reported). This bug also caused Range Explorer to sometimes report incorrect sum of the combos. It was purely a display error but nevertheless quite a serious one.
  6. The EV was sometimes calculated incorrectly (it showed 0.000 instead of the real value) on big long running trees; this was caused by new memory optimizations and is now fixed.

There is also a new feature: you can now use ctrl+shift+arrows to change turn cards when browsing rivers. This along with ctrl+arrows to change rivers gives you the full control over the runout without clicking back and forth through the tree. You can use it like in this GIF.

The updated UPI (text interface) documentation is also available, HERE.

After running the updater you should get PioViewer 1.8.2 and PioSolver 1.8.2

Make sure to report any other issues if they appear!

PioSOLVER 1.8 February 19, 2016 19:31

After a long wait we are pleased to announce another upgrade for PioSOLVER - 1.8 version. This release is quite a big one with many often requested features, PioViewer redesign as well as significant performance improvements.

Without further ado, here is a condensed list of new things:

It is now possible to set rake for both preflop and postflop trees. The interface allows for specifying a % charged as well as a cap. For example the most common structure on modern poker sites would be 5% rake and 3$ cap. The speed isn't affected much and you can even change the rake after the calculations are done and see how a solution calculated assuming one rake structure would fare with a different structure.

2)Runout EV comparison
This is often requested feature often referred to as "hotness". It lets you see EVs for a chosen player across all turn or river cards in a handy table so you can see which cards are good and bad for a given range at one glance.

3)Performance improvements
-post-flop solver now uses 35% to 40% less memory (depending on a tree); this makes memory requirements way less strict; it is equivalent of getting 65% extra RAM for free; for example full limit HU tree with a CAP of 4 and HU Cepheus ranges now fits under 16GB (it's 13.2GB before, it was 21GB before).
-speed improvements for big machines: the solver used to not scale very well on 16+ core machines; this is now fixed and the solver scales nearly linearly; this brings about 40% improvements on those 16+ core machines and significant one on 10-14 core ones;
-optimized preflop solving for small ranges: preflop cases where both ranges are smaller than 100% are now very significantly faster and smaller; this is useful for things like BTN open vs SB 3bet in 6max
-preflop saves are now way faster as they don't require unloading the tree (which was very slow); the saves are now basically instant (not counting time to calculate results) and the full tree is still in memory even after making a small save (so you can make a small save, a micro save and still have the whole tree to experiment with)

4)Preflop tree estimation
It is now possible to get a size estimation for a preflop tree before building it. This is available under "Estimate" button.

5)Improved layout of tree-building related tabs
Buttons with common functionality are now always visible, the tabs are grouped more logically. This clears up the interface significantly.

6)Notifications when the tree is done
You can use a system beep, a sound file or even a youtube link to play once the solver reaches required accuracy or worked for desired time.

7)More tree-building betting options:
-spread limit: you use c suffix (for example 50c) to add bets using specific amount; the same goes for raises;
-"don't 3bet" as well as "force c-bet" checkboxes for limit Holdem

8)It's now possible to browse all the post-flop play resulting from pre-flop trees.
There is a new interface allowing for flop selection even among many hundred flops. The bugs which occurred in previous version when re-calculating forgotten turns/rivers are now fixed as well.

9)A new interface for choosing saves in the same folder.
A new flop selector makes it easy to quickly select the save you want without looking through hundreds of file names.

10)It's now possible to express desired accuracy as bb/100 in addition to traditional % of the starting pot.
This is mainly useful for pre-flop cases but can also be used for post-flop ones.

11)It's now possible to select a suit to exclude when showing the results.
For example you can show all the hands without a heart or without a heart as a higher card. This is useful to see results for hands which don't make a flush draw for example.

This feature was only available using the text interface in the previous version. It is now supported from PioViewer. You can choose specific combos to be locked and let the rest of the range to be calculated by the solver.

13)All/any options in Range Explorer
When choosing categories in Range Explorer from different groups (draws and made hands) it's not possible to either OR them or AND them.

14)Key shortcuts for common actions. They include:
-ctrl+b for arbitrary solver command
-ctrl+n for node-locking
-ctr+r for Range Explorer
-ctrl+g for Range Selector
-ctrl+h for EV comparison by card (hotness)

15)Views opened in a new window can now be configured to follow tree browsing.
This way you can open windows with various views (strategy, strategy+ev, eq etc.) and have them all on display and refreshing when browsing the tree.

16)It's now possible to add per-combo stats to aggregation reports.
This often requested feature is finally available. Be careful, it makes the reports very significantly bigger.

17)Rounding preflop
Rounding feature now works for preflop trees as well. The interface is the same as before with one more street to choose.

I go over those feature in the video below:


Notable bug fixes include:
1)Trees without all-in them were impossible to build either preflop or postflop. This is now fixed.
2)Postflop browsing was buggy (the solver often collapsed trying to re-calculate missing streets on small saves). This now fixed and should work smoothly even on saves created by older versions.
3)Various bugs connected to using spaces in file names are now all fixed. We adopted Windows convention for paths including spaces (you need to enclose the path in " " if it contains a space). This is handled by the Viewer automatically.
4)Seemingly random crashes when loading trees were caused by incorrect recognition of .txt config files. This is now fixed.
5)Preflop charts no longer crash when you open several of them.
6)"Force cbet" checkboxes now work in preflop tree configurations (they only worked for postflop trees before).

There are a few changes in UPI (mainly for programmers):

-the preflop tree building interface is re-designed to allow tree estimation; the old one is now deprecated and will be removed in the next release;
-the solver can now emit some debug information; every debug line starts with # and is ignored by the viewer and should be ignored by other programs as well
-more changes will be described in the updated UPI documentation

To get the update, as usual use our updater with your personal link. Edge version is already shipped. Pro and basic ones are going to be available in coming 2 days.
Have fun!

The preflop solver December 15, 2015 02:30

Today we are releasing long anticipated preflop solver. It's now possible to solve preflop heads-up spots in Holdem. The game starting from preflop is humongous that's why we make it possible to to run the solver using subset of flops instead of all 1755 strategically different ones. That combined with heavy memory optimizations and careful selection of the preflop subsets make it possible to run many preflop spots having only 32GB of RAM and it should be very powerful already with 64GB. That is a huge progress taking into account that full preflop trees - even with very simplified postflop play measure in several and often in tens of terabytes.

We realize running 64GB trees is not enough for perfectionists out there so PioSOLVER-edge now runs on cloud instances as well as dedicated servers. You should be able to get instances with 256GB or 512GB of RAM paying reasonable price.

Not everyone has time or technical knowledge to set their own dedicated servers though. To help on this front as well we are making PioCloud available. PioCloud is a service run by one of our more dedicated users. The idea is that you could request calculations to be done and shipped to you. The pricing is going to be very competitive comparing to running it yourself on Amazon's EC2 and similar services. PioCloud will also offer full preflop packs for games like HU SNG in the near future. Check it out HERE.

You may want to ask how good solutions calculated on subset of flops are. The answer is that they are very good and almost an exact match with ones run on all 1755 flops. We've compared some solutions to some private teams who get it done on either all flops or very big subsets (like half the flops) and the differences in strategies are very small and in EVs practically non-existent.

Another good news is that preflop solver will be part of edge version of PioSOLVER. This means our edge customers get it for free and pro customers can upgrade to edge version paying little more than the difference in the price, HERE.

We've decided to just add preflop solver to edge license which means edge customers get 2 activations of fully functional postflop and preflop solver (and customers who bought the edge version before or buy it in 5 coming days are getting 3 of them).

With the new preflop solver you can:

  1. Run HU spots with standard structure (SB being in position)
  2. Run HU spots with reversed structure (SB being OOP)
  3. Run 6max spots where everyone folded to the big blind with predefined stealing range (for example BTN stealing 50% to 2.5bb, SB folding and you can solve for BB defending and BTN continuations from here)
  4. Lock nodes preflop to determine how preflop strategy would change if you know what the opponent is doing
  5. Make full tree saves (humongous) as well as preflop + flop which are reasonably small (usually less than 100mb)
  6. Browse full trees from preflop to rivers (although that is yet to be polished in PioViewer)
  7. Run postflop spots: while the new solver is slower and less precise than the current one for those, it also uses 3x less memory.

All this means that what was a task for a super computer costing tens of thousands of dollars up to now becomes a matter of PioSOLVER-edge license and not so huge electricity bill.

Make sure to watch the preflop quick start video:


Check out the edge license and upgrades to edge: HERE.

 The preflop solver is a big step towards getting to the truth in Holdem. While it was heavily tested it's still a big project with a lot of functionality. The bugs are going to surface, the feature requests will be made. Our focus will be on improving it in the coming days and weeks.

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!