Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 维基百科上的加权A*_Algorithm_A Star - Fatal编程技术网

Algorithm 维基百科上的加权A*

Algorithm 维基百科上的加权A*,algorithm,a-star,Algorithm,A Star,我想我在这个维基上发现了一个问题: 我认为` 成本不超过ε倍 在加权A*算法中应 成本低于ε倍 相反 因为这里它假设ε>1。但是我不确定,我只是想听听大家对这件事的看法 提前感谢您的帮助:)我相信以“加权A*。如果ha(n)为”开头的段落是正确的,并且保证找到的路径的成本最多是eta乘以最佳路径的成本是您想要的那种保证-因为您正在寻找成本最低的路径并试图减少cpu时间,所以您正在解决次优(更高的成本)问题解决方案,但要保证成本不会太高-最多eta乘以最佳路径的成本 我确实认为本段中eta的使用与

我想我在这个维基上发现了一个问题:

我认为`

成本不超过ε倍

加权A*算法中

成本低于ε倍

相反

因为这里它假设ε>1。但是我不确定,我只是想听听大家对这件事的看法


提前感谢您的帮助:)

我相信以“加权A*。如果ha(n)为”开头的段落是正确的,并且保证找到的路径的成本最多是eta乘以最佳路径的成本是您想要的那种保证-因为您正在寻找成本最低的路径并试图减少cpu时间,所以您正在解决次优(更高的成本)问题解决方案,但要保证成本不会太高-最多eta乘以最佳路径的成本

我确实认为本段中eta的使用与上述段落中eta的使用之间存在不一致——我不知道这是否是一个错误,或者它是否源自加权a*和更一般的近似解定义之间约定的不幸差异


该段落与pdf第5页底部的注释一致,并附有粗略的证明。当加权A*认为它有一个成本为g(x)的解决方案时,所有仍在运行的节点必须至少有一个预测成本g(y)+eh(y)。为了获得最大可能的错误,假设g(y)为零,并且eh(y)=g(x)表示正确的解y,我们发现解A*认为它发现的价格是y的e倍,因为我们假设原始的h()是可接受的,因此是成本的上限。

@pnuts不是最具描述性的原因…谢谢您的帮助。。实际上,我试图证明这个结论:在选择goal_节点时,如果当前g(goal_节点)不是最优的,那么在开集(frontier)上一定有一个最优路径的节点'm',这样:g(goal_节点)+ωh(goal_节点)=g(goal_节点)+0≤ g(m)+ωh(m)w(g(m)+h(m))=g(m)+wh(m)如果w>1,当g(m)=0,这是可能的,如果m是源,或者如果从源到m的路由成本为零。你最初的评论是,也许上界应该是下界。我注意到,在一些图上,即使是糟糕的算法也可能返回正确的答案——例如,一个图的一条边连接着源和目标,而没有其他可能的边或路径。在选择goal_节点时,如果当前g(goal_节点)不是最优的,我认为最优路径必须穿过至少一个未探测的节点(因为g(goal_节点)现在保证是探测集中的最优节点)。因此,m不应该仅仅是源,因为如果它是源,那么m将在算法的第一次迭代之后被放在探索列表上。但是我认为你的观点是有意义的,如果从源到m的成本为零。但是,考虑到图的每边代价都超过了一些小的正常数ε,以保证搜索算法的完备性,这样,如果存在一个具有零代价边的无穷序列的路径,则搜索不会陷入无限循环中。因此,似乎搜索算法的图应该没有零成本边。。如果是这样的话,我认为g(m)+ωh(m)应该严格小于ω(g(m)+h(m))。