The short version
The optimizer is trying to answer one question for every choice you face:
if I take this option, how many points should I expect to end with?
That average is what shows up as the expected score next to each option.
It cannot check every possible future — there are far too many — so it
mixes careful math with smart guessing, and it gets more careful the closer
you are to the end of the game.
Imagining what the deck might give you
When you swap champions, the replacements come from whatever is still left
in the pool. If there are only a few ways that draw can go, the model checks
every one of them. If there are thousands, it checks a large random sample
instead and averages those.
The same situation always gets the same advice, and options are compared
against the same imagined futures so the ranking stays fair.
Some parts do not need guessing
Round-3 bonus squads score in a simple, predictable way: each champion
adds a fixed amount. That means the model can calculate the average bonus
from a random draw with straight arithmetic — no simulation required.
When the three bonus offers are still unknown, it also accounts for the
fact that you will get three random squads and keep the best one, without
having to list every possible trio.
Later rounds get more attention
Round 3 is the last decision, so the model looks hardest here: it
tries the different swap counts, checks which champions to throw away, and
folds in those exact bonus averages.
Rounds 1 and 2 also have to think about what comes later. For that,
the model uses a quicker estimate of “what is this position worth when
round 3 arrives?” — good enough to compare options, without solving the
whole rest of the game from scratch every time.
How it picks what to swap
There are often many ways to discard champions. Instead of fully scoring
all of them, the model first does a quick pass to throw out the weak ones,
then looks more carefully at the best few, and finally double-checks the
winner on a fresh set of imagined draws. That keeps the answer fast and
avoids getting overly optimistic about a noisy estimate.
Bonus squads you cannot finish yet
In round 1, a bonus that you do not currently qualify for can still be
the right pick if later draws and swaps can chase it. When the three offers
are known, the model credits that chase potential instead of only scoring
what you have on the board right now.
How to read the numbers
The expected scores are averages, not guarantees. Round 3 is the most
precise; earlier rounds trade a bit of exactness for speed. Small wiggles in
the absolute numbers are normal — what matters most is which option ranks
highest.
What is being estimated
Every recommendation is an estimate of expected final score: the average
points you would finish with if you took that option and then played optimally
afterward, averaged over every random draw the remaining champion pool could
still produce.
The full game tree is far too large to expand exactly. The model therefore
uses exact math wherever the structure allows it, Monte Carlo sampling where
the draw space is huge, and tighter approximations only in early-round lookahead
where exact rollouts are intractable.
Draws: exact when small, sampled when large
Swapping k champions means drawing a uniform random k-set from the
remaining pool. If the number of combinations fits under a budget, every
combination is enumerated and averaged — that contribution is exact. Otherwise
the model draws a fixed number of Monte Carlo samples and averages those.
Sampling is seeded from the game state, so the same situation always produces
the same advice. Competing options are also judged against shared draw streams
(common random numbers), which keeps rankings stable even when absolute EV
numbers still carry a little sampling noise.
In round 2, small sample budgets use a balanced sampler: the pool is
shuffled and dealt into disjoint groups so each champion appears about equally
often. That reduces the chance that a few high-value cards dominate a tiny sample.
Closed-form pieces (no sampling error)
Round-3 bonus squads are linear: each champion contributes a fixed number of
points to each squad. Under a random draw, the expected bonus for a chosen squad
is therefore arithmetic — keep what you already hold, then add
k × (average pool value for that squad). No simulation is needed for
that term.
When the three offered bonus squads are still unknown, the game draws 3 of 12
uniformly and you pick the best. That is an order-statistics problem. If the
twelve squad values are sorted best to worst, the probability that the
i-th best ends up as your pick is C(11−i, 2) / C(12, 3). The model
evaluates all twelve once and takes that weighted sum, instead of enumerating all
220 possible offer sets.
Round 3: near-exact last decision
Round 3 is the final choice, so it gets the heaviest budget. For each swap
count k, the model considers every possible discard set, averages base score
(plus any held round-1 bonus) over enumerated or heavily sampled replacement
draws, and adds the closed-form round-3 bonus expectation.
When the three offered squads are known, it simply picks the squad-and-discard
pair with the highest EV. When they are not yet known, it folds in the
best-of-3 order-statistic expectation above.
Continuation value for earlier rounds
Rounds 1 and 2 need a cheap estimate of “what is this position worth once
round 3 arrives?” That is the continuation value: end immediately, or try
swap counts 1–5 with a pruned set of discard candidates and a small number of
draw samples, plus the exact expected best-of-3 linear bonus.
Discard candidates are chosen by expendability — champions whose removal
hurts the current hand value least — so the continuation search stays fast while
still covering the swaps that matter. The estimate is cached per hand/pool/bonus
state within a request, and draw samples are tied to that state so two strategies
that reach the same position get the same continuation number.
Round 2: prune, refine, then verify
Round 2 options involve gaining champions and (for several options) choosing
a discard set after the gain is known. Enumerating every discard against deep
rollouts would be too slow, so the model uses three stages:
Prune. A cheap proxy — tiny-sample expected base score plus expected
best-of-3 bonus — ranks every exactly-k discard set.
Refine. Only the top few survivors get continuation-value rollouts on a
fresh shared draw stream.
Verify. The selected discard is re-estimated on an independent holdout
sample. That avoids reporting the maximum of several noisy estimates (optimistic
selection bias) and is what appears as the option’s EV.
Gain-2 (no swap) is simpler: sample balanced pairs from the pool and average
continuation value after each pair is added.
Round 1: ranking swaps vs chasing a bonus
Before the three round-1 bonus offers are known, the model only needs to
rank swap counts. A faster myopic growth estimate is enough there: sample
draws and future round-2 growth, then score base points plus expected round-3
bonus. Any systematic bias hits every option similarly, so relative ranking stays
reliable.
Once specific bonus squads are offered, myopic scoring would undervalue
squads you do not yet qualify for — because later rounds will actively chase the
bonus you pick. The recommendation path therefore switches to
chase-aware valuation: the same shared round-2 growth samples are scored
under each offered bonus via continuation value, which chooses future discards
knowing which bonus is held. Squads that become reachable through good draws are
credited for that chase potential.
What the numbers mean
Displayed EVs are estimates of average final score under the sampling budgets
above. Round 3 is closest to exact; rounds 1–2 intentionally trade some absolute
precision for speed. Absolute values can shift slightly with different sample
seeds, but shared streams and holdout verification are there so the
ranking — which option is best — stays the decision that matters.