AI与游戏——吃豆人(5)树搜索算法(上)

本文介绍了树搜索算法在游戏AI中的应用,特别是针对吃豆人游戏。文章提到了盲目搜索(包括深度优先搜索和广度优先搜索)在游戏中的低效率,然后重点讲解了最优优先搜索,尤其是A* 算法,它不仅用于寻路,还可以评估游戏全局状态以制定最优策略。A* 算法通过结合距离目标的评价函数和代价函数来指导搜索,有望在吃豆人游戏中实现最佳操作选择。
摘要由CSDN通过智能技术生成

查找搜索类算法可以说是被提及最多的人工智能方法,绝大多数AI问题都可以被看成一个搜索查找问题,也就是找到最好的方案,路径,模型等。搜索算法因此也最常在一些AI算法的核心部分看到,很多AI的书籍也都是从搜索算法开始的。

下面讲的查找算法是树搜索算法,或者说去建立一个搜索树,根节点表示开始搜索的状态,分支代表动作,结点代表状态。因为对于一个状态往往可以执行多种动作,而每个动作又可以进入一个新的状态。另外搜索树跟之前的行为树是大不一样的,搜索树的各个分支是没有先后顺序的,行为树则是事先安排好顺序,属于硬编码范围。树搜索算法主要有以下几种。

盲目搜索(Uninformed Search)
所谓的盲目搜索就是没有目标信息的最单纯的搜索,这在数据结构中也都学过,有深度优先搜索,广度优先搜索,这都并不属于AI的范畴。这种搜索方法在游戏中一般效率很低,但是在很多先进的算法中,盲目搜索也是组成算法的一部分。盲目搜索用于吃豆人这种游戏都会太大也太复杂了,这里也就不再细说了。

最优优先搜索(Best-first Search)
在BFS中,结点的扩展则依据一些关于目标的先验知识。通常,距离目标比较近的结点会优先展开。最知名的BFS算法是A* 算法。A* 算法最常用于游戏中的寻路(星际争霸,魔兽争霸,起源等游戏都使用了A* 算法),之前也有一篇将A* 算法用于吃豆人寻路的。A* 算法如何寻路这里不说了,网上有很多帖子大家可以自行查阅。

这里要说的是A* 算法其实还可以用来搜索游戏状态,也就是说,BFS可以用于拟定计划而不只是寻路。不同之处在于这里考虑的是全局状

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值