Glossary

Table of Contents:

Terminology
Predefined Behaviors

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.

Predefined Behaviors

Behavior NameFunction
AccelerationBehavior Limit linear and angular acceleration of parameter values
AlignmentBehavior Push parameters (typically velocity) towards similar values depending on the neighborhood of other parameters
BoundaryWrap Wrap parameter values when they exceed certain limits
BoundaryRepulsionBehavior Update a parameter (typically force) when other parameters values exceed certain limits
CohesionBehavior Push neighboring parameters towards similar values
DampingBehavior Push parameter towards a fixed value
EvasionBehavior Push values of neighboring parameters away from each other
GridAverageBehavior Change parameter value based on the averaged vector field values in the parameter’s neighborhood
SplineFollowBehavior Push parameter value towards and along a spline line extending through parameter space