AB
AiBoss站
百科

什么是行为树(Behavior Trees)?——一种组织自主智能体任务切换的结构化方法

行为树(Behavior Trees,BT)是一种用于组织自主智能体(如机器人或计算机游戏中的虚拟实体)在不同任务之间切换的结构化方法。arXiv 论文《Behavior Trees in Robotics and AI: An Introduction》将其描述为构建兼具模块化与反应性的复杂系统的有效方式,并系统讨论了它与更早的任务切换结构的继承关系、设计原则以及形式化分析工具。

行为树(Behavior Trees,BT)是一种用来组织自主智能体(autonomous agent)在不同任务之间如何切换的结构化方法,这里的智能体可以是机器人,也可以是计算机游戏中的虚拟实体。按照 arXiv 论文《Behavior Trees in Robotics and AI: An Introduction》的表述,它要解决的核心问题是:如何把大量彼此关联的行为组织成一个既模块化(modular)又反应性(reactive)的复杂系统,使系统在运行中能够根据环境反馈及时改变正在执行的任务,而不必把控制逻辑写成难以维护的一整块。

为什么重要

在行为树被系统化整理之前,自主智能体的任务切换通常依赖更早的一类切换结构,例如有限状态机(finite state machine)式的组织方式。这类做法在行为数量较少时直观易懂,但随着行为种类增加,状态与状态之间的转移关系会迅速膨胀,修改一个行为往往牵动多处转移,模块之间的边界变得模糊。

该论文指出,行为树之所以从计算机游戏编程扩散到人工智能与机器人学的多个分支,正是因为它能高效地构造复杂系统,并且同时具备模块化与反应性这两个性质。模块化意味着单个行为可以被独立替换或复用;反应性意味着系统能够对环境变化作出及时响应。论文进一步说明,行为树与更早的切换结构之间存在关联,并在许多情况下对后者构成推广(generalize),这一关系被用作后续设计原则的基础。

对自主系统而言,安全性、鲁棒性与效率都是重要性质。论文据此提出了一套工具,借助行为树的状态空间描述(state space description)对这些性质进行形式化分析,并用这些分析工具把「行为树如何推广更早方法」这一说法形式化地表述出来。

工作机制

行为树的基本做法是把整体行为组织成一棵由节点构成的树,控制流从根节点向下传递,叶节点对应具体的动作或条件判断,内部节点负责调度其子节点的执行顺序与返回结果。论文对行为树的介绍围绕以下几个层面展开:

  • 任务切换的结构化:行为树并不描述「系统当前处于哪个状态」,而是描述「在当前条件下应当尝试哪个行为」,任务之间的切换由树的遍历过程自然产生。
  • 与早期结构的对照:论文先把行为树与更早的切换结构放在一起比较,说明二者如何对应,以及在哪些情形下行为树是后者的推广,从而为设计原则提供统一的基础。
  • 设计原则:在上述对照的基础上,论文给出一组高效且易用的设计原则,用于指导行为树的构造,使安全性、鲁棒性与效率等性质更容易被保证。
  • 形式化分析:论文引入行为树的状态空间描述,用这套描述来形式化地分析上述性质,并形式化地刻画行为树对早期方法的推广关系。
  • 规划与学习中的使用:论文还展示了行为树在自动规划(automated planning)与机器学习(machine learning)中的用法。
  • 随机行为树:论文最后给出扩展工具,用于刻画随机行为树(Stochastic BTs)的行为,其中动作的结果由概率描述;这些工具可以计算成功概率与完成时间。

需要说明的是,上述内容是这篇论文自身的组织方式与主张,并不等同于整个领域已经形成的一致结论。

典型例子

论文在摘要中给出的典型应用场景有两类:一是机器人,二是计算机游戏中的虚拟实体。论文描述的扩散路径是:行为树从计算机游戏编程出发,进入人工智能与机器人学的多个分支。论文还以自动规划与机器学习作为行为树的具体使用场景加以展示,并把随机行为树作为处理动作结果不确定情形的一类扩展。

在文献形态上,该材料对应的是一本导论性著作,刊载于 Chapman & Hall/CRC 人工智能与机器人学系列(2018 年),报告编号为 ISBN 9781138593732,作者为 Michele Colledanchise 与 Petter Ögren。它面向的是希望了解行为树基本概念、设计原则与分析工具的读者,而非某一具体机器人产品的实现文档。

边界与常见误解

第一,行为树不是「万能的规划器」。论文把行为树定位为组织任务切换的结构,同时另行讨论它在自动规划与机器学习中的使用,这两者是不同的层次,不能混为一谈。

第二,模块化与反应性是论文对行为树性质的描述,属于该论文的论述,不应被理解为对所有实现、所有应用场景都成立的普遍保证。实际系统是否具备这些性质,取决于具体的行为树如何设计。

第三,安全性、鲁棒性与效率的形式化分析依赖论文提出的状态空间描述这一前提;离开这套描述,相关结论并不自动成立。

第四,动作结果不确定的情形需要额外的工具处理。论文专门为随机行为树给出扩展工具,说明在结果由概率描述时,成功概率与完成时间需要单独计算,而不能直接沿用确定性情形下的直觉。

第五,行为树与更早的切换结构并非简单的替代关系。论文的表述是行为树在许多情况下推广了早期结构,这一关系本身需要借助论文给出的分析工具来形式化说明。

参考资料