AI决策算法 之 GOAP (一)
来源:互联网 发布:美国网络言论自由吗 编辑:程序博客网 时间:2024/05/01 22:13
http://blog.csdn.net/lovethrain/article/details/67632033
本系列文章内容部分参考自:http://gamerboom.com/archives/83622
什么是GOAP?
引用原文的一句话 : 目标导向型行动计划(简称GOAP)是一种能够轻松呈现给你的代理选择的AI系统,也是帮助你可以无需维持一个庞大且复杂的有限状态机而做出明智的决策的机器。
用处:
以前我们经常使用FSM有限状态机来实现AI系统,但是当一个游戏的AI行为非常庞大的时候,那么有限状态机的代码是很庞大的,且大部分代码重用性非常低。
在这时也许有人会用行为树来开发AI系统,但是行为树是依赖设计者的固定架构的,很不灵活,做的选择不一定是最优选择,而且每次都要经过大量的逻辑判断,性能消耗严重。
这时候使用GOAP是合适的,它会根据目标在环境中决策出最优的路线,从而达到看起来相对智能的AI,且代码的分层相对清晰,可读性高,重用性高。
怎么实现?
四个主要类:
Agent: 代理, 主体,负责连接各个类,主要逻辑在这里运行
Action: 动作, 可以被执行的动作,比如:拿东西,丢东西
Planer:决策者, 通过各个类来决策出最优的路线供Agent使用
IGoap: 数据提供者,提供给Agent目标和反馈是否成功失败等等
除了上述类之外还需要一个简单的FSM有限状态机来辅助。
我们在后面一一实现它们。
阅读全文
0 0
- AI决策算法 之 GOAP (一)
- AI决策算法 之 GOAP (二)
- AI决策算法 之 GOAP (三)
- 游戏AI--决策(1)
- 象棋AI算法(一)
- AI算法基础补完之隐马尔科夫模型(HMM)(一)
- 围棋AI之路(一)理论
- AI学习之路(一)
- 马尔可夫决策过程(一)
- 贝叶斯决策理论(一)
- 决策数之C4.5算法
- 《决策与解决问题》一书之简介
- 游戏中的AI编程(一) 遗传算法简介
- 斗地主AI算法实现 一(拆牌)
- 斗地主AI算法实现 一(拆牌)
- 五子棋AI算法-之开篇
- Unity人工智能学习—确定性AI算法之追踪算法一
- Unity人工智能学习—确定性AI算法之追踪算法一
- 国内好的镜像地址
- uml-网上收集的资料
- JavaSE 实际应用
- 聊聊高并发系统之队列术
- listener
- AI决策算法 之 GOAP (一)
- 多线程使用linux时间函数的方法
- RecyclerView加载headView和footView,添加头尾布局
- linux 源码安装GIT客户端
- Android ContentProvider简单使用
- VS远程调试
- 每日一个linux命令(8):vim命令
- python笔记
- ios-OAuth授权和SSO授权