Activation-based methods involve asking the actions if they want to run and choosing ones that do.  The only requirement for this approach is that actions implement some method for telling you if they want to run.

Binary activation

In binary-activation systems, an action either wants to run or doesn't.  In principle, one could choose randomly among the actions that want to run, but in practice, systems generally assign fixed priorities to the actions and run the highest priority action that wants to run.

The most widely used type of binary-activation system is the behavior tree.  In a behavior tree, allows actions to be selected based on their activation and relative priorities.  It also allows them to be grouped together as a sequence.

We'll return to behavior trees when we talk about reactive planning.  Behavior trees can be thought of as a parameterless version of a reactive planner.

Graded activation

In graded-activation systems, the activation of an action is a number.  The higher the number, the more the action wants to run.  So these systems score actions and choose the highest-scoring action.

Complex activation

Some systems have the actions report multiple numbers to express their activations, most commonly a vector pointing in some direction the action wants to travel.  The magnitude (length) of the vector indicates how badly it wants to move in that direction.  So a zero vector means the action doesn't want to run.  These systems typically sum the vectors of all the actions and move in that direction.

Previous: Action-selection techniques
Next: Utility systems