Expand description
Scheduler trait and built-in implementations.
Schedulers control the order in which agents are activated each step.
The built-in schedulers mirror Julia Agents.jl Schedulers.*:
| Rust type | Julia equivalent | Behavior |
|---|---|---|
Fastest | Schedulers.fastest | Iteration order (no sorting) |
ById | Schedulers.ByID | Sorted ascending by agent ID |
Randomly | Schedulers.Randomly | Shuffled randomly each step |
ByProperty | Schedulers.ByProperty | Sorted by a user-defined key (greatest first) |
PartiallyRandom | Schedulers.Partially | Random subset with a given probability |
§Determinism notes
Deterministic replay depends on both the scheduler and the order of agent IDs collected from the store.
ByIdimposes an explicit deterministic order.Fastestis deterministic only if the underlying store iteration order is deterministic.RandomlyandPartiallyRandomare reproducible for a fixed RNG seed only when the pre-randomization ID collection order is itself deterministic.ByPropertyis reproducible when the selected key is deterministic and either ties do not occur or the source ID order is deterministic.
Structs§
- ById
- ID-ordered scheduler - returns agents sorted ascending by
AgentId. - ByProperty
- Property-sorted scheduler - activates agents sorted by a user-defined key.
- Fastest
- Fastest scheduler - returns agents in store iteration order.
- Partially
Random - Partial random scheduler - activates a random subset of agents each step.
- Randomly
- Random scheduler - shuffles agent IDs each step using the model’s RNG.
Traits§
- Scheduler
- Trait for agent activation schedulers.