首页
学习
活动
专区
工具
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

论文拾萃|多目标A*算法解决多模式多目标路径规划问题(MMOPP)

1引言 多目标决策在现实生活中有着普遍的应用。解决一个多目标最优化问题需要同时考虑多个往往会相互冲突的目标。在大多数情况下,想要同时达到每个目标的最优情况是不现实的。因此,解决多目标最优化问题的目标是找到尽可能多的、权衡各个目标的解,以此方便决策者在发现的解中做出合理的抉择。 假设我们研究的多目标优化问题可以表示如下: 最小化   其中 表示个需要同时最小化的实值函数,决策空间在函数上的映射为目标空间,记为。由此,每一个可行解就对应一个M维目标向量. 若对向量和向量,对所有的 ,有,且对若干 ,有,则称绝对

02

A星算法理解_a星算法例题

为了进行路径规划算法是不可回避的:启发式搜索算法是比较常规的一类算法就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。启发中的估价是用估价函数表示的,如:f(n) = g(n) + h(n) 。g(n)为起点到当前位置的实际路径长度,h(n)为所在位置到终点的最佳路径的估计距离。前面说每次会优先向终点方向进行移动,就是因为估价函数所导致的。h(n)=0时,意味着此时是盲目搜索,当h(n)越复杂,即约束的条件越多,耗费的时间就越多,而减少约束条件,则可能得到的并不是最优路线。在A算法中,估价函数为f(n)=g(n)+h*(n)。这里面的h*(n)的附加条件为h*(n)<=h‘(n),h’(n)为n到目标的直线最短距离,也就说A*算法中挑选的启发函数是最优的,也正是如此,所找到的路径是最短路径。

02

机器人运动规划方法综述

随着应用场景的日益复杂,机器人对旨在生成无碰撞路径(轨迹)的自主运动规划技术的需求也变得更加迫切。虽然目前已产生了大量适应于不同场景的规划算法,但如何妥善地对现有成果进行归类,并分析不同方法间的优劣异同仍是需要深入思考的问题。以此为切入点,首先,阐释运动规划的基本内涵及经典算法的关键步骤;其次,针对实时性与解路径(轨迹)品质间的矛盾,以是否考虑微分约束为标准,有层次地总结了现有的算法加速策略;最后,面向不确定性(即传感器不确定性、未来状态不确定性和环境不确定性)下的规划和智能规划提出的新需求,对运动规划领域的最新成果和发展方向进行了评述,以期为后续研究提供有益的参考。

00
领券