Solver accuracy

Every number the app presents as "the solver" rests on a solve that stopped at some accuracy. This page says which, and how to check it yourself. (For how megamaster's own engine compares to PioSolver on identical trees, see the head-to-head accuracy page.)

Accuracy targets

Accuracy is measured the way PioSolver measures it: exploitability as a fraction of the starting pot. A lower number is a tighter target.

Representative boards

You cannot solve every exact board. A library package covers a template with a weighted subset of the 1,755 canonical flops (rank pattern plus suitedness), generated to represent the full board universe with the right balance of textures; each board stands in for the boards it represents, and every aggregate — a texture bucket's frequency, a sizing cost, a leak's baseline — is weighted by that representation. The weights are in the package (boards.subset_weight) and travel with every number derived from them. The Lines map additionally shows, per baseline, how many of the report's boards fall in the bucket being compared, and what share of the report's weight that is.

Reading a package in the app

Solve › Library lists every package with its board count and engine. The report table shows each board's recorded exploitability (solved_expl) beside its rows, so a suspicious frequency can be traced to a loose solve. The trainer says in its header when a save is trimmed (frequency-graded above unsolved streets, EV-graded where the engine can answer).

Trees

Postflop trees are heads-up with the template's sizes; templates are named by pot type, positions, open size and stack (srp_bb_btn_2.5x_100bb). The template's sizes are the full menu the sizing report prices simplifications against. No preflop solver ships; preflop baselines are imported reports.