Skip to content

Behavior Tree

Eric Steen edited this page Jun 3, 2020 · 14 revisions

Behavior Trees are increasingly used in place of finite state machines (FSM's) and other AI control architectures due to improved properties of modularity, flexibility, reusability, and efficiency of implementation. They enable design/development scalability and efficiency and are a unique combination of state space representation and reasoning (action-selection decision-scheme, where the user can customize the logic for traversal and lifecycle management).

Behavior Tree Resources

STANDARD DECISION SCHEMES

PRIORITIZED-LIST

march down a prioritized list of the children. The first one that can run, does, but higher-priority siblings can always interrupt the winner on subsequent ticks.

SEQUENTIAL

run each of the children in order, skipping those that are not currently relevant (and never revisiting it). When we reach the end of the list, the parent behavior is finished.

SEQUENTIAL-LOOPING

same as above, but when we reach the end of the list, we start again.

PROBABILISTIC

a random choice is made from among the relevant children. (Markovian Framework?)

ONE-OFF

pick in a random or prioritized way but never repeat the same choice.