状态机和行为树

    最近在思考游戏AI,看到一些文章在鼓吹状态机(fsm)已经过时,行为树才是现在和将来。目前我的水平,对这个结论无法做评判。但是从读到的文章本身,没有看到有力的证据。

    诚然,在复杂状态下,fsm的维护难度是倍增的,但行为树也面临同样问题(不要看那些半吊子文章中画的清晰的属性结构,真的复杂场景哪里有这么好看的树)。fsm的分层能缓解一部分复杂度问题,我相信行为树也是通过类似子树的方式处理,所以就是个半斤八两。

    另外,看到说行为树的判别因子有{前置条件 , 当前状态, 输入},较之fsm的{当前状态, 输入} 上下文更加完整。对于这个说法,只能说是实现的问题,和行为树/fsm一点关系都没有。

     -- 补充说一下,行为树的前置条件,在fsm中,可以表示为当前某个属性的情况(比如,血量满/太少),可以得到同样的语义:当 xxx 时,会选择yyy。

    如果把fsm和图,行为树和树(废话。。)比较一下,可以有印象:既然树是图的简化形式,行为树也像是fsm的简化版。从直观上看,fsm似乎效率还略高一点,而行为树细分了一些节点类型,概念上会更清晰一点。以上就作为本文大概的结论吧,欢迎讨论(pen)。


-----------------------------------------

python官方收集的一些FSM工程,有的很有意思

https://wiki.python.org/moin/FiniteStateMachine


转载于:https://my.oschina.net/kakablue/blog/298994

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值