AI与游戏——吃豆人(4)方法综述

本文概述了游戏中常用的AI算法,包括有限状态机、行为树、树查找算法(如Alpha-Beta和蒙特卡洛搜索树)、演化计算、监督学习、增强学习和无监督学习。介绍了如何将游戏状态和动作转化为数字以供计算,并强调了效用函数在决策过程中的重要性。此外,文章详细解释了行为树的概念及其在游戏如《光环2》和《生化奇兵》中的应用,并以吃豆人为例展示了如何使用行为树来控制角色寻找豆子的行为。实验结果显示,虽然在特定情况下行为树方法未显著提高得分,但其提供了更细粒度的控制,为后续的算法优化奠定了基础。
摘要由CSDN通过智能技术生成

这一部分先提一下一些基本的目前广泛用于游戏中的AI算法。这里最好现有点机器学习相关知识,不然可能会不知所云。后面提到具体算法我会尽量列出一些参考文献,例子也继续在吃豆人上面举例。

目前主流方法主要有,专门的行为表达方法例如有限状态机,行为树,和一些基于单元的AI。
有限状态机FSM不用多说,就是一个状态在某种条件下为迁移至另一种状态,这些状态和条件都是之前预设好的,下图是FSM在吃豆人的一个例子,FSM后面就不再说了,其他的算法在后面会继续提到。树查找算法指的是搜索行为函数的空间,然后见了可能动作顺序的树,常见的有Alpha-Beta和蒙特卡洛搜索树。演化计算指的是基于群体的全局最优求解,例如遗传算法,演化策略,粒子群最佳化演算法。监督学习指的是学习已有的数据集模型,数据集是有一些数据实例与相应的目标值组成,最常见的是神经网络。增强学习则主要是解决动作序列与奖励与惩罚的关系,不同于监督学习的值。无监督学习也是需要数据集,只不过数据集不再需要目标值,常见的有k均值,层次聚类等。还有一些其他的典型算法如TD-learning(时间差学习法)及其一个注明特例Q-learning。目前,神经演化算法和带有人工神经网络的TD学习是最受欢迎的AI算法。
有限状态机

那么如何在游戏中使用这些算法呢,首先要做的就是表述。没错,就是要将当前的游戏状态以及要执行的动作表达成数字才能用这些算法进行计算,例如FSM就是用图表示,行为树是用树来表示。这也是游戏AI第一步也是最难得一步之一。好的表述也可以带来很好的实验与实践效果,游戏AI特征的质量的问题也是需要注重解决的问题。

这里在介绍一个东西,效用(Unity),Unity是一个度量,通常可以被看做是一个函数,用于帮助算法去决定好的路线。为了达到这个目的,效用函数采集查找并收集空间中“有好处”的信息,对当时的情景进行大致的评估。例如,在象棋对局中,如果走的这一步会是“将”面临危险那么这一步的unity函数就会为0,而如果下一步可以让对面的“将”处于危险,那么这时的unity函数就会很大。所以unity函数的作用就是要最大化利益,最小化风险与错误。这些类似于增强学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值