Run populations of interacting agents — people moving neighbourhood, infection spreading through a network, a fleet finding equilibrium — and keep every run, every parameter and every seed so any result can be reproduced exactly.
Set the parameters, run it, checkpoint at the interesting moment — then branch and try a different policy from an identical starting point. Reset with the same seed and you get the identical run back.
Mild preferences produce sharp segregation anyway — the classic emergence result.
Stored with the run. Give it back and you get the same run, step for step.
Freeze the whole state at the interesting moment, before you intervene.
A run records its model, its parameters, its grid size and its random seed. Give those back and you get the same run again, step for step — because the random number generator is deterministic and stored with it.
a result nobody can reproduce is not a resultA simulation can be checkpointed mid-flight and restored later — so you can branch a run at the interesting moment and try several interventions from an identical starting point.
compare policies, not coincidencesRuns and their metrics land in the database like any other records — so you can query them, chart them, and join a simulated outcome directly against the real-world records it was modelling.
simulation and reality, side by sideEach is a well-known benchmark of agent-based modelling, implemented natively.
Agents who want a modest share of similar neighbours relocate when unhappy — and mild preferences produce sharp segregation anyway.
grid · the classic emergence resultAgents emit heat and move toward their preferred temperature while the field itself diffuses and cools — agents coupled through a medium.
diffusing field · indirect interactionReynolds boids on a continuous plane: cohesion, avoidance, alignment and momentum produce flocking from three local rules.
continuous space · movementSusceptible-infected-recovered spread across a network: infected nodes infect neighbours with a set probability, then recover.
network · the one that maps to YOUR graphPick a model, set the parameters and the seed. The run is registered.
Advance one tick or many. Read the field and the metrics after each one.
Freeze the whole state at the interesting moment, before you intervene.
Come back to that exact state and try a different policy from it.
The run and its metrics stay in the database, queryable alongside everything else.
Simulation usually happens somewhere else — a notebook, a modelling tool, a laptop — and the result arrives as a chart nobody can re-derive.
Here the run sits in the same store as the records it models, with the parameters and seed that produced it, so a forecast can be replayed, challenged and compared against what actually happened afterwards.
Read from the running simulator on live data.