2017-04-10 86 views
1

我一直在阅读有关A *的完整性和我的理解,它必须是完整的,如果它有一个有限的分支因子,但为什么一定要还完成后,每个边的权大于0?完整性的A *搜索

+0

因为如果你有负权,你不能永远保证你的最佳路径。您的路径可能会延伸通过这些负向加权分支。或者更糟糕的是,可能会出现一个负权重循环,您的算法将永远循环。 –

+0

我认为你在这个定理的转录中犯了两个错误。 “如果分支因子有限且所有权重都大于ε> 0,则A *是完整的。”你用“或”替代了“和”,并用“正”代替了“大于某些ε> 0”。看到我的答案为什么你对这个定理的陈述是错误的。 –

回答

0

这不是真的,如果图形具有有限的支化因子和每个边缘的重量大于零,那么A *终止。

例如,考虑顶点0123,图表......和一个顶点*。让ii+1之间的边缘的权重为1/2^i和让0*之间的边缘的权重是2。让启发式是0,所以A *退化成Dijkstra算法。

然后A *不会找到(在有限时间内)从0*路径 - 这将探讨由于从0n的距离沿自然数的路径总是小于2。所以尽管此图具有有限的分支因子和正边权重,A *未找到解决方案。

定理的正确的说法是:“如果有图有一个有限的分支因子和所有的权重比一些ε> 0,则A *是完整的更大。”证明很简单:如果从开始到结束的路径具有权重d,那么在最坏的情况下,所有顶点距离< = d都会在末端节点之前访问。但最多可以有很多,因为从起始节点到每个节点的路径最多可以由d /ε顶点组成。