首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

A星算法说明「建议收藏」

因为最近要写一个毕业设计,有用到自动寻路的功能,因为我要在一个机器里跑算法然后控制机器人自动按照路线到达目的地,所以用Python等解释型语言或Unity等游戏引擎写这个算法都不太合适,我使用的机器要尽可能不在里面安装大型的库。所以我就用C++实现了一个A*算法。因为实现了之后觉得这个算法比较有意思,就又写了一个GUI程序,可以选择显示过程,即以可视化查看算法寻路的过程。   我写的A*算法在能找到最优路线的前提下,支持斜方位移动(可以选择是否允许斜方位移动),支持设置道路拥堵情况(默认所有位置路况为1,如果设置大于1,则表示拥堵,数值越大则越拥堵,如果设置小于1,则表示比默认路况更为畅通,数值越小则越通畅,如果设置为0表示异常畅通,即通过此道路代价为0,如果设置为负数表示 + ∞ +\infty +∞,即无法通行),支持选择是否使用优先队列,支持读取和保存地图,在GUI程序里支持显示寻找路线的动画。

01

A*寻路初探(转载)

译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。 这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了--b)。 原文链接:http://www.gamedev.net/reference/articles/article2003.asp以下是翻译的正文。(由于本人使用ultraedit编辑,所以没有对原文中的各种链接加以处理(除了图表),也是为了避免未经许可链接的嫌疑,有兴趣的读者可以参考原文。

01
领券