只为小站
首页
域名查询
登录
首页
开发技术
其它
精华游戏算法整理(经典)
精华游戏算法整理(经典)
上传者:
perfectpdl
|
上传时间: 2021-09-11 16:28:16
|
文件大小: 33KB
|
文件类型: RAR
算法
算法一:A*寻路初探 From GameDev.net 译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。 这 篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫 无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了-- b)。 原文链接:http://www.gamedev.net/reference/articles/article2003.asp 以下是翻译的正文。(由于本人使用ultraedit编辑,所以没有对原文中的各种链接加以处理(除了图表),也是为了避免未经许可链接的嫌疑,有兴趣的读者可以参考原文。 会者不难,A*(念作A星)算法对初学者来说的确有些难度。 这篇文章并不试图对这个话题作权威的陈述。取而代之的是,它只是描述算法的原理,使你可以在进一步的阅读中理解其他相关的资料。 最后,这篇文章没有程序细节。你尽可以用任意的计算机程序语言实现它。如你所愿,我在文章的末尾包含了一个指向例子程序的链接。 压缩包包括C++和Blitz Basic两个语言的版本,如果你只是想看看它的运行效果,里面还包含了可执行文件。 我们正在提高自己。让我们从头开始。。。 序:搜索区域 假设有人想从A点移动到一墙之隔的B点,如下图,绿色的是起点A,红色是终点B,蓝色方块是中间的墙。 [图1] 你 首先注意到,搜索区域被我们划分成了方形网格。像这样,简化搜索区域,是寻路的第一步。这一方法把搜索区域简化成了一个二维数组。数组的每一个元素是网格 的一个方块,方块被标记为可通过的和不可通过的。路径被描述为从A到B我们经过的方块的集合。一旦路径被找到,我们的人就从一个方格的中心走向另一个,直 到到达目的地。 这些中点被称为“节点”。当你阅读其他的寻路资料时,你将经常会看到人们讨论节点。为什么不把他们描述为方格呢?因为有可 能你的路径被分割成其他不是方格的结构。他们完全可以是矩形,六角形,或者其他任意形状。节点能够被放置在形状的任意位置-可以在中心,或者沿着边界,或 其他什么地方。我们使用这种系统,无论如何,因为它是最简单的。 开始搜索 正如我们处理上图网格的方法,一旦搜索区域被转化为容易处理的节点,下一步就是去引导一次找到最短路径的搜索。在A*寻路算法中,我们通过从点A开始,检查相邻方格的方式,向外扩展直到找到目标。 我们做如下操作开始搜索: 1,从点A开始,并且把它作为待处理点存入一个“开启列表”。开启列表就像一张购物清单。尽管现在列表里只有一个元素,但以后就会多起来。你的路径可能会通过它包含的方格,也可能不会。基本上,这是一个待检查方格的列表。 2,寻找起点周围所有可到达或者可通过的方格,跳过有墙,水,或其他无法通过地形的方格。也把他们加入开启列表。为所有这些方格保存点A作为“父方格”。当我们想描述路径的时候,父方格的资料是十分重要的。后面会解释它的具体用途。 3,从开启列表中删除点A,把它加入到一个“关闭列表”,列表中保存所有不需要再次检查的方格。 在这一点,你应该形成如图的结构。在图中,暗绿色方格是你起始方格的中心。它被用浅蓝色描边,以表示它被加入到关闭列表中了。所有的相邻格现在都在开启列表中,它们被用浅绿色描边。每个方格都有一个灰色指针反指他们的父方格,也就是开始的方格。 [图2] 接着,我们选择开启列表中的临近方格,大致重复前面的过程,如下。但是,哪个方格是我们要选择的呢?是那个F值最低的。 路径评分 选择路径中经过哪个方格的关键是下面这个等式: F = G + H 这里: * G = 从起点A,沿着产生的路径,移动到网格上指定方格的移动耗费。 * H = 从网格上那个方格移动到终点B的预估移动耗费。这经常被称为启发式的,可能会让你有点迷惑。这样叫的原因是因为它只是个猜测。我们没办法事先知道路径的长 度,因为路上可能存在各种障碍(墙,水,等等)。虽然本文只提供了一种计算H的方法,但是你可以在网上找到很多其他的方法。 我们的路径是通过反复遍历开启列表并且选择具有最低F值的方格来生成的。文章将对这个过程做更详细的描述。首先,我们更深入的看看如何计算这个方程。 正 如上面所说,G表示沿路径从起点到当前点的移动耗费。在这个例子里,我们令水平或者垂直移动的耗费为10,对角线方向耗费为14。我们取这些值是因为沿对 角线的距离是沿水平或垂直移动耗费的的根
文件下载
立即下载
资源详情
[{"title":"( 1 个子文件 33KB ) 精华游戏算法整理(经典)","children":[{"title":"精华游戏算法整理.doc <span style='color:#111;'> 104.50KB </span>","children":null,"spread":false}],"spread":true}]
评论信息
maomingxiaofei :
资源还不错,感谢分享
2019-05-23
sf_50 :
很给力的算法 比较实用
2014-09-30
quij2 :
没图,不好理解
2014-06-07
hbin_28 :
没图片啊,而且内容好像不全的吧。
2013-07-19
xihuanfeng :
算法还是挺有用的
2013-06-12
其他资源
提取图片纹理特征(能量、熵、惯性矩、相关性)
emd分解成多个imf分量,通过判断以后进行希尔伯特变换
javaweb网上书城系统源码
OPENMV中文参考资料
基于MATLAB的电力系统故障分析与仿真
vdbench50406.zip
数据库课程设计订单生成系统代码+数据库+实验报告
证明不等式的maple软件包bottema
kpca用于故障诊断
FNC公式破解
DSP2812全套例程源码
mingw_w64.instrset.rar
2020年量子信息技术发展与应用研究报告(2020年).pdf
fastify-webpack:基本示例。 固定+ Webpack。 HTTP2额外的:high_voltage:-源码
英语讲师思科认证网络基础 (3/11)NetEss_Instructor Materials_Chapter3.pptx
基于c语言的电子琴课程设计
web安装程序安装程序类
ecognition9.0破解版,亲测可用
直接解Yule-Walker方程法估计功率谱
删除outlook重复邮件
流水灯Protues图和程序
基于VHDL的FPGA和Nios+II实例精炼_.pdf
免责申明
【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录
购买积分
下载历史
恢复订单
相关资源标签
Actionscript
C
C#
C++
Delphi
Java
Javascript
Perl
PHP
Python
VB
Web开发
硬件开发
其它
热门下载
2019年秋招—华为硬件工程师笔试题目.pdf
csma/ca和csma/cd的matlab仿真源代码带有详细的注释
Spring相关的外文文献和翻译(毕设论文必备)
pytorch实现RNN实验.rar
基于LSTM模型的股票预测模型_python
华为结构与材料工程师-知识点总结【by詹姆斯申易登】.pdf
现代操作系统原理与实现.pdf
西安问题电缆-工程伦理案例分析.zip
狂神说Java系列笔记.rar
人体姿态检测
超大规模集成电路先进光刻理论与应用.pdf
RNN-LSTM卷积神经网络Matlab实现
ChinaMeteorologicalDataHandler.R
2019综合测评仿真.zip
BP神经网络+PID控制simulink仿真
最新下载
FlexRay通信系统协议规范V2.1修订本A.pdf
KB2990941和KB3087873
CX32L003系列.zip
机械设计手册(新编软件版2008)win7 64位兼容补丁
郑码-字根码输入法实用手册
ad5422_verilog.rar
polycom宝利通视频会议软件3.9 2018
宝利通视频pc客户端
VCS®/VCSi™ User Guide
新一代思科模拟器Cisco Packet Tracer V6.1 简体中文正式版