寻路算法

这部分相当不完整。

一般的图搜索算法可用于寻路。许多算法教科书描述了不使用启发式算法的图搜索算法(广度优先搜索、深度优先搜索、Dijkstra 算法)。阅读它们可能有助于理解 A*,它是 Dijkstra 的变体。许多 AI 教科书将介绍使用启发式算法的图搜索算法(最佳优先搜索,A*)。

对于非图搜索算法,请参阅John Lonningdal 的网页(通过 Wayback Machine,因为他的网站已停止运行)。

要查看 A* 是最优的证明,请参阅最小成本路径的启发式确定的正式基础

要了解有关找到路径后的单位移动的更多信息,请参阅 Pottinger 关于单位移动群组移动的文章。同样强烈推荐 Craig Reynold 的关于转向植绒的页面。Geoff Howland 有一篇关于单位运动的很棒的文章

基于网格的寻路竞赛结果论文(替代链接)描述了在未加权网格上运行的 A* 优化:收缩层次结构、子目标图、跳跃点搜索、可见性图、压缩路径数据库等。

Patrick Lester 有一个页面描述了一个两级探路者分层规划 A* (HPA*) 可以将网格表示转换为简化图。

基于间隙的寻路用可以通过那里的对象的大小来注释图形。如果您希望小型单位能够通过一个区域而大型单位被阻挡,这将非常有用。

有一篇有趣的论文描述了如何找到最简单的路径而不是最短的路径。

这个 StackOverflow 问题包括 A* 的许多变体的摘要。

Triangulation A*使用三角形将多边形障碍物表示转换为导航网格,Triangulation Reduction A* 通过删除节点来简化生成的寻路图。

以下是我尚未归类的其他一些论文:

实时启发式搜索通过附加数据增强 A* 和其他算法,以加快寻路速度。

边缘搜索一次查看大量节点(边缘或边界)。它们大大降低了处理每个节点的成本。A* 一次对一个节点进行排序(从集合中插入和删除,或两者都进行),批量排序更快。但更快的根本不是排序。在边缘搜索正在处理的节点批次中,不需要对它们进行排序。缺点是必须处理更多节点,有时不止一次。但是,如果您可以使处理它们的成本非常低,那么处理大量节点就可以了。

收缩层次结构(长篇论文)可以通过添加快捷边来更快地找到路径。相关工作部分也是很好的读物,它总结了地标、弧形标志、交通节点、高速公路层次结构和其他方法的 A* 改进。

弧标志(自我注意:此处需要更好的链接)限制在主寻路循环中扩展的边集。首先将世界划分为多个区域,然后预先计算哪些边是通往每个区域的最短路径的一部分。与其查看邻居的所有边,不如只查看作为到达目标所在区域的最短路径的一部分的边。Steve Rabin 将这种方法称为“目标边界”。

偏置成本寻路改变了其他单位将要移动的区域的移动成本,以便后续路径避免与这些单位发生碰撞。

Parallel Ripple Search 专为多核寻路而设计,没有 A* 的排序瓶颈。

Corridor Maps是一种构建寻路图的方法,可以大大减少节点的数量,尤其是在有很多走廊的地图中。

学习实时 A*在探索地图时更新启发式。优先学习实时 A*优先搜索有利于学习更多的领域。

IDA* 使用六角网格比使用方形网格(!)运行得更快

压缩路径数据库测试网格上所有对最短路径(Floyd-Warshall 或 Johnson 算法)的压缩效果。如果您使用网格并且地图没有变化,则适用;我怀疑您最好先减小图形大小。

概率路线图 (PRM)从多边形障碍图构建寻路图。

(0)

相关推荐

  • 图像分割

    什么是图像分割? (1)图像分割的主要目标是将图像划分为与其中含有真实世界的物体或区域有强相关性的组成部分 (2)分割方法可以归类如下:阈值化.基于边缘.基于区域 (3)每个区域可以用其封闭的边界来表 ...

  • Python算法分为哪几类?常见分类!

    了解过Python的人,应该都听说过Python算法,但对其种类及定义却不是很清楚,那么你知道什么是算法吗?Python算法有哪几类呢?我们通过这篇文章来了解一下. 什么是算法? 算法是指解题方案的准 ...

  • 游戏脚本小地图精确寻路算法源码编写

    A*算法总结(Summary of the A* Method) Ok ,现在你已经看完了整个的介绍,现在我们把所有步骤放在一起: 1.         把起点加入 open list . 2.    ...

  • 2021年民间借贷利息最新算法!

    济南中院 05-07 阅读 关注 来源:杭法观微

  • R语言社区主题检测算法应用案例

    原文链接:http://tecdat.cn/?p=5658 使用R检测相关主题的社区 创建主题网络 我通过分析抽象文本和共同作者社交网络来研究社会科学.计算机和信息学方面的出版物. 我遇到的一个问题是 ...

  • 【总结】有三AI视觉算法工程师成长指导手册不更新了?不,换视频更新了!

    早期的粉丝们想必还记得我们之前发布的400多页的视觉算法工程师成长指导手册,光是在咱们公众号后台就有超过5000的下载量,已经有段时间没有更新了,因此有小伙伴问我们是不是不更新了,答案是会更新!而且这 ...

  • 《C++ Primer》笔记 第10章 泛型算法

    迭代器令算法不依赖于容器,但算法依赖于元素类型的操作. 算法永远不会执行容器的操作.算法永远不会改变底层容器的大小. accumulate定义在头文件numeric中,接受三个参数,前两个指出需要求和 ...

  • 真正的高手,都是“反算法型”的人!

    真正的高手,都是“反算法型”的人!

  • 【软件工具】深度学习论文,如何画出漂亮的算法结构图?这个项目轻松帮你搞定

    AI研习图书馆,发现不一样的精彩世界 ML visual-开源绘图项目 一.引言 随着人工智能技术的蓬勃发展,进入深度学习领域做科研的学者越来越多,深度学习研究呈现出百家争鸣.百花齐花的大好形势.众所 ...

  • PLC最全编程算法,收藏备用!

    蓝字   '电气达人"  PLC最全编程算法 PLC编程算法(1): PLC中无非就是三大量:开关量.模拟量.脉冲量.搞清楚三者之间的关系,你就能熟练的掌握PLC了. 1. 开关量也称逻辑量 ...

  • 老一辈遗留:民间八字最准算法!

    流年全都用支通干起十神看年月日时胎身命吉凶 人和事一但落空亡,本来该发生的现象就会没有,只有填实的时候,相应的人或事才会体现出来,要注意的是空亡只有天干才能填实 凡男命,日干的论六亲时都以日干论. 凡 ...