【发布时间】:2014-12-20 11:23:50
【问题描述】:
假设您使用 A* 算法,其中启发式算法可以将剩余距离高估几米。最终路径会比真正最短的路径长几公里吗?你能举一个发生这种情况的图的例子吗?它是什么样的图? 欧几里得(直线)距离会高估剩余距离的一个场景是:
- 图形顶点位于平面上的 (x, y) 坐标中,其中 x 和 y 为浮点数
- 图形的某些顶点之间存在某些浮点长度的弧。弧的长度不小于其顶点之间的欧几里得距离(但对于弯曲/非直线弧可以更大)
- 但是,在运行 A* 算法时,您使用整数运算并向下取整,而 A* 估计值向上取整(这是不合理的,但只是差异很小的一个示例):所以您将每个弧的长度四舍五入减少到整数米,然后您将 A* 估计到整数米
在给定 A* 启发式算法高估剩余距离的上限的情况下,是否有一个公式可以说明最终路径的次优性上限?
【问题讨论】:
-
是算法题,还有相关题:stackoverflow.com/questions/1012691/…
-
有趣的问题!我不知道为什么这被否决了。
-
这是一个有趣的问题,但是:(1)我看不出最终路径中的错误如何大于启发式高估距离的量,否则无论如何都会检查错误估计的路径(假设实际距离的测量是准确的),并且(2)这似乎与SO无关,可能更适合cs.stackexchange.com甚至@987654323 @.
-
cs.stackexchange.com 是 beta 版本,而 Stackoverflow 不是,Stackoverflow 有标签“算法”、“图形”、“最短路径”和“a-star”。维基百科有一些东西,但我认为它并没有说明一切:“搜索算法因此找到的路径的成本最多可以是图中成本最低路径的 ε 倍”。
标签: algorithm optimization graph shortest-path a-star