Terminology
Agent
|
swarm individual
- has specific parameter values, e.g. position and force
- has specific behaviors and can act on these
|
Swarm
|
collective of agents / collective entity
- contains agents
- can be treated as an agent itself *
- has a list of swarm parameters
- has a list of agent parameters, common to all contained agents
- has a list of swarm behaviors
- has a list of agent behaviors, shared by all of its agents
- can randomize the values of its agent or swarm parameters
- can add and remove agent(s) at runtime (not recommended though)
- can be scheduled to set the value of its parameters using the ISO event system
|
Parameter
| numeric state of an agent
- this refers to both the parameter type (e.g. "force") as well as the individual parameter value (e.g. "0.75").
- any parameter names and value ranges can be defined, even social/emotional parameters or character traits
- All agents of a swarm have the same list of parameter types - but of course with individual parameter values
- Parameter knows to which agent it belongs
|
Behavior
| cause and effect relation between parameters (both intra- and inter-agent)
- knows three types of parameters:
- input parameters (cause)
- internal parameters
- output parameters (effect)
- the internal parameters are not always used. They're mostly used as parameter memory or for temporary calculations
- input/output parameter types are stored in a parameter string (e.g. "force acceleration curiousness"; delimited by spaces)
- Behavior knows to which agent it belongs
- has a set of spaces
- 15 predefined behaviors: Acceleration, Alignment, Mirror, Wrap, Repulsion, Cohesion, Copy, Damping, Evasion, Grid Average, Dist. Field Follow, Randomize, Reset, Spiral, Spline Follow.
|
Space
| Parameter space for interaction
- has n dimensions (e.g. three for position)
- has n parameters which share most commonly the same parameter type
- can be accessed by behaviors to write to or to read from
- can calculate an agents neighborhood relative to the specific parameter type (e.g. what's the closest neighbor or what other agents have the most similar social parameter values)
- more?
|
* The swarm class inherits from the agent class and extends it by forwarding certain instructions to its contained agents.
|