EidolonZero
A MuZero-style planner whose search consults the environment only at the root. Below it, the learned model predicts everything: the next state, the reward, whether the episode ends, and which actions are legal.
A live search by the trained model (200 simulations of RMCTS) on a 10-job, 5-machine scheduling instance. Everything below the root is imagined by the model; the bars compare its prior over the first move with the search's posterior.
Why
MuZero plans with a learned model, but it still needs to know the legal actions at every node it expands. In games with large, state-dependent action spaces, such as trading-card games like Yu-Gi-Oh! or Magic, working out what is legal is most of the problem, and handing it to a rules engine sidesteps exactly what should be learned. EidolonZero learns the legal set too, so the tree can be grown entirely in imagination.
How it works
- A token world model. Each observation row (a board cell, a card, a job) becomes a token; a transformer mixes them into the state, and another steps the tokens forward under an action and predicts the reward.
- Learned legal actions. A set decoder, in the style of DETR, predicts the legal action rows of any state, real or imagined. Actions are encoded by what they are, not by a fixed ID, so actions never seen in training still get a representation.
- Grounded. A per-token decoder maps imagined states back to observations, tying the model's predictions to what the real game would show.
- Search that has to earn its say. A trust gate lets the search steer the policy and the compute budget only as far as paired search-versus-prior games justify.
One algorithm and one set of defaults run on both FJSP (flexible job-shop scheduling) and Morpha, with PUCT and a batched, budgeted variant (RMCTS) as the search.
Results
PreliminaryWork in progress and subject to change: one training seed (seed 0) of the paper runs, as of 7 November 2026. Seeds 1–2 and the ablations are still running.
One model per environment, a generalist over all of its configurations, trained with one frozen recipe and evaluated on 100 held-out instances or deals per configuration at 800 simulations. Prior is the policy network alone, with no search; search is RMCTS over the learned model.
Job-shop scheduling
One model schedules all four SD2 sizes. The chart shows each size's mean makespan relative to DANIEL greedy (the dashed line); left of it is better.
Search improves on the prior by 29 to 45 time units at every size and beats DANIEL greedy on three of them. On the largest, 20 jobs × 10 machines, it stays 2.5% behind, and more search doesn't close the gap:
The numbers (mean makespan)
| Size | Prior | Search | DANIEL greedy | DANIEL sampling | OR-Tools | Search vs DANIEL greedy |
|---|---|---|---|---|---|---|
| 10 × 5 | 411.6 | 382.9 | 408.4 | 366.7 | 326.2 | −6.2% |
| 20 × 5 | 705.1 | 663.7 | 671.0 | 629.9 | 602.0 | −1.1% |
| 15 × 10 | 595.3 | 558.0 | 591.2 | 521.8 | 377.2 | −5.6% |
| 20 × 10 | 670.8 | 625.5 | 610.2 | 552.6 | 464.2 | +2.5% |
Baselines are from the DANIEL paper's SD2 tables. 20 × 10 by simulations per move: 0 (prior) 670.8, 200 → 640.2, 800 → 625.5, 1600 → 624.8, 3200 → 625.2.
Morpha
One model covers 12 PvE decks over three eras: plain cards (C1), dynamic cards (C2) and morphing cards (C3), whose effects change as cards combine. Cards are embedded by their text, so effects that refer to other cards by name are understood.
Search matches or beats the prior on every deck, and helps most where the prior already finds some wins: +28 points on Ancient Plague, +10 on Toxic Laboratory. Decks whose winning lines are rare (Ice, Volcanic Expedition, The Sands of Time, most of C3) stay near zero: EidolonZero is good at optimising lines it has seen pay off, and weaker at discovering ones it hasn't.
The numbers (win rate, 100 deals per deck)
| Era | Deck | Prior | Search |
|---|
Limits so far
- One seed. Seeds 1–2 and the ablations (without card text, without the deviation plies, set-ζ without grid coordinates) are queued.
- Sparse rewards. Self-play needs some wins to learn from; the hardest Morpha decks produce almost none.
- Scale. On FJSP, search's relative edge shrinks as instances grow.
Run it yourself
The explorer runs the trained FJSP model in your browser: the real scheduling environment, EidolonZero's own RMCTS over its learned world model, and the tree it grows. You pick the instance and how many simulations to spend; the page tells you the download (about 50 MB, fetched only when you ask) and how long a search will take on your machine before you start it. Step through a whole schedule move by move, or let it autoplay.
Reading a search tree
The viewer shows the trees PUCT and RMCTS grow over the learned model. Node size is visit count, colour can show the search's value estimates, the model's value or reward, or how well an imagined state matches the real one, and every imagined state can be decoded and compared with the real state reached by playing the same actions. A replay slider regrows a PUCT tree one simulation at a time.