RocketSolver

Tree Building

Introduction to tree building in RocketSolver.

Tree building is the most challenging yet most crucial component of creating accurate solutions. A poorly built tree may fail to represent the game you’re solving accurately, and an unnecessarily large tree can cause the strategy to take much longer to converge. It’s important to strike a balance between tree complexity and practicality.

Bet sizing blocks

Default bet sizing blocks

These panels are called bet sizing blocks. They contain bet sizings that will be added to the tree once you press the “Apply bet sizes” button. Each block is divided into horizontal lines representing bet levels. You can add or remove bet levels by clicking the + or - buttons at the bottom. The last bet level always features a “plus” suffix, indicating that its bet sizes will be applied to any raises that occur after it.

There are special bet levels that can be added by clicking the gear icon in the bottom. These special bet levels allow you to specify bet sizings for iso-raises, squezes and donks.

To add a bet sizing, click the + button next to a bet level title, enter the desired bet sizing, and then click the button again or press Enter. Below is a list of all available bet sizing options:

On preflop, incremental bet sizings are available – a special syntax that allows for conveniently accounting for limpers or cold callers when adding preflop raises. For example, entering 2.5bb+ as RFI will automatically increase the final 2-bet size by 1bb for each limper. Using 3x+ as a 3-bet can save you from having to specify the squeeze size manually. A long form is supported as well if you prefer to use a different increment, for example, 9bb + 2.5bb.

Filters

You can have an arbitrary number of bet sizing blocks at the same time, which can be very useful if you need to apply different bet sizes conditionally. To add another bet sizing block, click the “Add preflop” or “Add postflop” button.

A common scenario is that on preflop, we want players out of position (OOP) to use larger raise sizes than players in position (IP). To achieve this, we can create two preflop blocks: one for IP bet sizings and another for OOP bet sizings.

In the same menu you can also select specific player positions that a bet sizing block should be applied to. Similarly, for postflop blocks you can select just some of the streets to apply bet sizings to. There are also additional filters available in the gear icon menu.

In the same menu, you can also select specific player positions to which a bet sizing block should be applied. Similarly, for postflop blocks, you can choose to apply bet sizings to only certain streets. Additional filters are available in the gear icon menu, allowing for more precise customization based on various conditions.

Additional settings

There are additional settings that influence how the tree will be populated with bets when you click the “Apply bet sizes” button. These options can be found in the Settings tab. Some of the most important ones are:

Preflop cold calls

Preflop cold calls

Having too many cold calls can significantly increase the size of the tree, making it impossible or impractical to solve. By default, cold calls are disabled for all players except the Big Blind (BB). If you want to add additional cold calls, for example, versus a Raise First In (RFI), make sure to check the relevant positions in the cold call filter table. Note that you must do this before applying bet sizes, as changing these settings won’t automatically modify the tree.

All-in threshold

All-in threshold

Actions can be automatically converted to all-ins if they exceed a certain portion of a player’s stack. Experimenting with lower threshold values can help reduce the tree size, making the solution potentially faster to solve.

Consecutive calls limit

Max number of calls

The “Max number of calls” setting allows you to limit the number of consecutive calls. Calls that close the action are always permitted and will be added to the tree regardless of this setting’s value.

The “Max number of limps” functions similarly. However, this setting is considered only when creating a new preflop solution that includes limps. These two settings can greatly reduce the size of large multiplayer trees, making them many times smaller.

Applying bet sizes

When you’re finished selecting bet sizings, you can click the “Apply bet sizes” button, and the game tree will be populated with bets and raises from all bet sizing blocks. If a bet sizing cannot legally be added to a spot, it will be automatically converted to the nearest legal bet sizing.

It’s recommended to verify that the result matches your expectations by navigating the game tree before proceeding to solve. If you’re not satisfied with the outcome, you can reverse the most recent population with the “Undo” button. Note that you can only undo the most recent population.

Manual tree editing

You can manually edit the game tree by right-clicking on a node in the tree view on the left. This action will bring up a context menu that allows you to remove the selected node or add a specific action to it.

For instance, to add a limp for the SB, right-click the parent node (in this case, BU Fold) and select the “Add Call” option. If you have already applied bet sizes to the tree, remember to add them to the newly added action as well. Bet sizes can be applied to just a single node and its subtree through the same context menu.

General recommendations


Now that you have a game tree, we can proceed to solving it. We will cover solver configuration options in the next chapter.

Creating a Solution Solver Configuration
© 2024, RocketSolver. All rights reserved.