译者序
前言
作者简介
第1章 什么是行为树1
1.1 BT的发展简史与动机2
1.2 有限状态机的问题是什么?反应性和模块化的必要性3
1.3 BT的经典阐述4
1.3.1 BT执行示例8
1.3.2 带有内存的控制流节点9
1.4 从零开始为《吃豆人》创建BT13
1.5 为移动机械手机器人创建BT15
1.6 BT在机器人和人工智能中的应用18
1.6.1 自动驾驶车辆中的BT18
1.6.2 工业机器人中的BT19
1.6.3 亚马逊拾物挑战赛中的BT21
1.6.4 社交机器人JIBO中的BT22
第2章 BT如何概括和关联早期思想23
2.1 有限状态机23
2.2 分层有限状态机24
2.2.1 优点和缺点24
2.2.2 创建一个类似BT的FSM26
2.2.3 创建一个类似FSM的BT32
2.3 包容体系结构33
2.3.1 优点和缺点33
2.3.2 BT如何概括包容体系结构34
2.4 远程反应程序34
2.4.1 优点和缺点35
2.4.2 BT如何概括远程反应程序36
2.5 决策树36
2.5.1 优点和缺点36
2.5.2 BT如何概括决策树37
2.6 BT的优点和缺点38
2.6.1 优点38
2.6.2 缺点41
第3章 设计原则45
3.1 使用显式成功条件提高可读性45
3.2 使用隐式序列提高反应性46
3.3 使用决策树结构处理不同的案例47
3.4 使用序列提高安全性47
3.5 使用反向链接创建审慎型BT48
3.6 使用内存节点创建无反应的BT51
3.7 选择适当的BT粒度51
第4章 BT的扩展55
4.1 效用BT55
4.2 随机BT56
4.3 临时修改BT57
4.4 BT的其他扩展58
第5章 效率、安全性和鲁棒性分析59
5.1 BT的状态空间表示59
5.2 效率与鲁棒性62
5.3 安全性67
5.4 实例70
5.4.1 鲁棒性和效率71
5.4.2 安全74
5.4.3 更复杂的BT78
第6章 BT如何概括早期的思想81
6.1 BT如何概括决策树81
6.2 BT如何归纳包容体系结构83
6.3 BT如何概括顺序行为组合86
6.4 BT如何概括远程反应程序87
第7章 BT和自动规划91
7.1 规划和动作(PA-BT)方法92
7.1.1 算法概述95
7.1.2 算法详细说明97
7.1.3 对算法的评论99
7.1.4 算法的图形执行100
7.1.5 对现有示例执行算法103
7.1.6 反应性109
7.1.7 安全性110
7.1.8 容错性111
7.1.9 实际的复杂执行112
7.2 使用行为语言进行规划123
7.2.1 ABL 智能体124
7.2.2 ABL规划方法126
7.2.3 《星际争霸》复杂执行过程的简要结果129
7.3 比较PA-BT与ABL131
第8章 BT和机器学习133
8.1 应用于BT的遗传规划133
8.2 GP-BT方法135
8.2.1 算法概述136
8.2.2 详细的算法步骤138
8.2.3 修剪无效子树140
8.2.4 实验结果140
8.2.5 在BT中使用GP的其他方法145
8.3 将强化学习应用于BT145
8.3.1 Q-Learning总结145
8.3.2 RL-BT方法146
8.3.3 实验结果147
8.4 比较GP-BT与RL- BT149
8.5 从演示中学习并应用于BT150
第9章 随机行为树151
9.1 随机BT152
9.1.1 马尔可夫链和马尔可夫过程152
9.1.2 阐述155
9.2 将SBT转换为DTMC160
9.3 SBT的可靠性165
9.3.1 平均逗留时间165
9.3.2 平均失败时间和平均成功时间167
9.3.3 随时间推移的概率168
9.3.4 随机执行时间169
9.3.5 确定执行时间169
9.4 实例171
第10章 结束语181
参考文献183