行为树原理

  • 格式:doc
  • 大小:10.80 KB
  • 文档页数:1

行为树原理

行为树(BT)的原理是基于有限状态机(FSM)之上的,FSM把任务分解成一系列的小状态,每个状态可以视为一个动作,状态之间的转换常通过条件判断来实现。但是在更复杂的环境中,动作与状态之间的转换具有多层关系,通常会导致FSM结构复杂难以维护,而行为树正是由此而发展出来的,它是将复杂行为表达成树状结构,每个节点表达一个状态,可用于表达一种行为,每个节点之间通过判断条件来实现状态的转换,并在状态之间进行循环等功能;具体来说,行为树从根开始,分支从根向叶子分叉,从根开始,形成执行一个动作所需要的多种可能情况,其中每种不同的分枝朝向不同的方向。每个节点返回一个状态(success,failure, running),当一个节点返回failure 时,会向上回溯至上一级节点,继续搜索另一条路径,如果上一级节点没有可搜索的路径,则回溯至上上级节点,依次向上回溯,直到根节点;如果所有的节点的状态都为failure时,行为树的执行就会失败,程序将会返回failure结果。

从原理上讲,BT和FSM最大的区别在于表达。FSM以状态转换图的形式表达出转换,也注重状态到状态之间的切换,而BT则通过一棵树的形式将逻辑表达出来,注重行为之间的关系,BT非常适用于复杂的环境,相比FSM它更能快速的执行,功能也更丰富。