ÍP
← All work
RLPlanningModel-based

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.

Ongoing PhD research

A live RMCTS search by the trained model on a 10-job, 5-machine scheduling instance: the tree of imagined states drawn left to right, the prior and posterior over root actions, and the root inspector

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

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.

3 of 4FJSP sizes where search beats DANIEL greedy, a published deep-RL baseline
−2.6%mean makespan gap to DANIEL greedy over the four sizes (lower is better)
42% → 53%Morpha win rate on the dynamic-card decks (C2), prior → search

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.

Prior (no search)Search (800 simulations)

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:

20 × 10 mean makespan against simulations per move. Search levels off by about 800 simulations, so the remaining gap is in the learned value function and model, not the search budget.
The numbers (mean makespan)
SizePriorSearchDANIEL greedyDANIEL samplingOR-ToolsSearch vs DANIEL greedy
10 × 5411.6382.9408.4366.7326.2−6.2%
20 × 5705.1663.7671.0629.9602.0−1.1%
15 × 10595.3558.0591.2521.8377.2−5.6%
20 × 10670.8625.5610.2552.6464.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.

Prior (no search)Search (800 simulations)

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)
EraDeckPriorSearch

Limits so far

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.