Expand description
Discrete-time standard model.
StandardModel is the primary model type, mirroring Julia Agents.jl
StandardABM. Each tick:
- The scheduler produces an ordered list of agent IDs.
- For each agent, the
agent_stepfunction is called with aStepContext. - Deferred actions (add/remove) are applied after each agent step.
- The
model_stepfunction is called once (if provided). - Time advances by 1.
The agents_first flag controls whether agent steps run before or after
the model step (default: agents first).
§Determinism
StandardModel is replayable for a fixed seed when all of the following are
held constant:
- the same crate version and user step code
- the same initial agents and properties
- the same scheduler semantics
- the same store-dependent ID enumeration behavior where relevant
- the same sequence of deferred insert/remove actions
In practice:
crate::scheduler::ByIdprovides the strongest built-in ordering guaranteecrate::scheduler::Fastestinherits store iteration order- random schedulers remain reproducible only if the pre-randomization ID list is deterministic
Structs§
- Standard
Model - Discrete-time agent-based model.
Traits§
- HasAgent
Ids - Trait for types that can provide a snapshot of current agent IDs.
Type Aliases§
- Agent
Step Fn - Type alias for the boxed agent step function.