Questions tagged «a-star»

11
Dijkstra的算法和A-Star相比如何?
我一直在研究Mario AI竞赛中的成员正在做的事情,其中​​有些人利用A *(A星)路径算法构建了一些非常简洁的Mario机器人。 (Mario A * Bot在行动中的视频) 我的问题是,A-Star与Dijkstra相比如何?看着它们,它们看起来很相似。 为什么有人会使用另一个?尤其是在游戏中使用路径时?


9
大型图形的A *算法,对缓存快捷方式有何想法?
我正在OpenStreetMap地图上编写快递/后勤仿真,并且已经意识到,如下图所示的基本A *算法对于大型地图(例如大伦敦)来说不够快。 绿色节点对应于放置在开放集/优先级队列中的节点,由于数量巨大(整个地图大约为1-2百万),因此需要5秒钟左右的时间才能找到所描绘的路线。不幸的是,每条路线100ms大约是我的绝对极限。 当前,节点既存储在邻接表中,又存储在空间100x100 2D数组中。 我正在寻找可以权衡预处理时间,空间以及必要时优化路线以加快查询速度的方法。根据探查器,用于启发式成本的直线Haversine公式是最昂贵的函数-我已尽我所能优化了基本A *。 例如,我在考虑,如果我从2D数组的每个象限中选择一个任意的节点X并在每个象限之间运行A *,我可以将路由存储到磁盘以进行后续仿真。查询时,我只能在象限中​​运行A *搜索,以在预先计算的路径和X之间进行搜索。 是否有我上面描述的更完善的版本,或者也许是我应该采用的其他方法。非常感谢! 为了记录在案,以下是一些基准测试结果,用于任意加权启发式成本并计算10对随机选取的节点之间的路径: Weight // AvgDist% // Time (ms) 1 1 1461.2 1.05 1 1327.2 1.1 1 900.7 1.2 1.019658848 196.4 1.3 1.027619169 53.6 1.4 1.044714394 33.6 1.5 1.063963413 25.5 1.6 1.071694171 24.1 1.7 1.084093229 24.3 1.8 1.092208509 22 1.9 1.109188175 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.