Evolving a map of what a swarm can do
Each particle below follows the same local rule: keep heading, align with neighbors, attract or repel, add noise. Nine parameters set the rule. An ordinary optimizer returns the one parameter set that maximizes one score. The evolutionary search on this page instead fills a grid of behaviors and keeps, for every cell, the most stable rule it has found. Everything runs live in your browser.
Search
Evaluations 0 of 5,000
Cells reached 0 of 144
Mean stability n/a
Best objective n/a
Speed 0 simulations per second
Behavior grid
stability 0.701.00
not reached yet
A swarm
particles 0
alignment φ 0
milling m 0
clustering Γ 0
- Pick a rule already stored in the grid.
- Mutate its nine parameters a little.
- Simulate the swarm that the new rule produces.
- Measure its behavior to find its cell.
- Keep it if the cell is empty or it is more stable than the occupant.
Cells reached over time
Run one strategy, then switch to another to compare. Earlier runs stay on the chart as dashed lines.
The rule on display
Drag a slider to change the rule and watch the swarm respond.
parent value before mutation
What the full-scale study reports
- With 64,000 evaluations per archive, the alignment and milling grid fills 140 of 144 cells and the alignment and clustering grid fills all 144.
- The four cells that stay empty combine very high alignment with very high milling. The authors treat this as evidence that such states are not reached within the tested bounds, and not as a proof that they are impossible.
- At matched small budgets, a 160-evaluation quality-diversity run found a higher milling objective than a 144-evaluation Differential Evolution run (0.373 versus 0.123). Differential Evolution was slightly ahead on clustering (0.601 versus 0.543).
- Mills depend on walls. Re-optimized under periodic boundaries, the median milling objective drops from 0.40 to 0.10.
How this page differs from the paper
- Trajectories are 120 steps and each rule is scored on a single seed, so a cell can hold a rule that scored well once by chance. The paper validates representatives over 20 seeds and longer runs.
- The hard core is a large finite repulsion plus one overlap-correction pass per step.
- Behaviors beyond the axis range (milling above 0.5, clustering above 8) are placed in the outermost row. Hover a cell to see the measured values.
- Budgets here are a few thousand evaluations. Coverage numbers on this page should not be compared with the paper’s.
- The “single objective” strategy is DE/rand/1/bin with a population of 16. All three strategies log every simulated rule into the same grid, so “cells reached” is counted the same way for each.