RocketSolver

Solver Configuration

Learn how to configure the solver.

Before you start solving, you might want to adjust the relevant settings. These settings instruct the solver on how it should approach the solving process.

Abstractions

Abstraction is a technique utilized by RocketSolver to reduce the complexity of the game, making it solvable. RocketSolver groups hands into clusters (sometimes also called buckets) and treats all hands within a cluster as strategically identical. For instance, it might group a non-made hand with a gutshot together with another hand that has similar characteristics.

Abstraction settings

Abstraction settings determine the size of abstraction for each street. Larger abstractions retain more strategic detail but require more memory and extend solving times. The initial street is always solved without any abstraction to ensure the highest accuracy.

For postflop solutions, a “Perfect” option is available, indicating that no abstractions should be applied to a street, preserving the most detail in the strategy.

Choosing the right abstraction size might be intimidating at first, but don’t worry – you can’t really go wrong. As a rule of thumb, if you need a faster solve, prefer smaller abstraction sizes. If you want to trade solving time for some additional accuracy, you can benefit from selecting a larger abstraction size. Prioritize increasing the abstraction size for earlier streets first. For example, for a preflop solution, it is more beneficial to select a 1000-200-200 set of abstractions than 200-200-1000.

EV

EV settings

If you wish for RocketSolver to collect EV (Expected Value) data for every hand during the solving process, you should enable EV saving. This can be done on a by-street basis.

It is recommended to save EV data only for the initial street unless otherwise required. Doing so can significantly reduce memory requirements and accelerate the solving process.

Rake settings

Rake settings

Flat drop settings

If your game is raked, make sure to enter rake data.

RocketSolver supports both pot-percentage rake and the “flat drop” rake structure. Both types of rake can be used simultaneously, with the flat drop rake applied first.

The flat drop can be used to simulate the jackpot rake taken in some poker rooms.

The rake cap and the flat drop value should use the same units as stacks and blinds.

Starting the calculation

Changes made to the abstraction and EV saving settings influence how much memory will be needed to solve your tree.

Required memory

You can see the required memory estimation together with total memory available in the bottom right corner. For postflop solutions, you will need to enter the initial board cards and player ranges to see these numbers.

If you don’t have sufficient memory to solve your tree, you can try the following:

If you have sufficient memory, click the “Start” button, and after the solver initializes, you can switch to the Strategy tab to observe the strategy converge in real-time.

When to stop the solver

The solver never stops an ongoing calculation on its own. This is because determining objective strategy convergence metrics, such as exploitability (or Nash distance), for large multiway trees is computationally infeasible. Therefore, there is no straightforward way for the solver to determine when the results are sufficiently accurate. The solver will continue optimizing the strategy indefinitely until it is manually stopped by the user.

You can estimate strategy convergence using any of the following two approaches, or a combination of them:

A paused calculation can always be resumed later, unless the progress was discarded by clicking the “Unload” button. You can also continue solving from a previously saved solution file.


Now you should have the necessary information to build your first solution and successfully solve it with RocketSolver. Tutorial chapters on more advanced use cases and some of the other RocketSolver features are coming in the near future!

Tree Building
© 2024, RocketSolver. All rights reserved.