先日の FSM / ステートパターン のエントリで扱った例を behavior tree で実装しようと考えていましたが、 behavior treeで扱うには、その例が簡単すぎたみたい。
なので、 behavior tree の簡単なまとめだけを記載しておきます。
決定木( decision tree )と異なり、 Sequence(AND)やSelector(OR)等の多様なノードがある点で、 behavior tree の方が多機能ですね。
unreal engineでは、behavior tree のguiなエディタがあるみたいですけど、 同様の問題はprologでも解けそうですね。
参考url
www.slideshare.net
代表的なノード
サンプル
behavior tree の長所/短所
- ◯ 状態管理は複雑になってもFSMより管理が簡単
- ◯ 全体像を見渡せる
- × 全てのノードを探索する場合があり、CPU負荷:高