1
我一直在阅读有关A *的完整性和我的理解,它必须是完整的,如果它有一个有限的分支因子,但为什么一定要还完成后,每个边的权大于0?完整性的A *搜索
我一直在阅读有关A *的完整性和我的理解,它必须是完整的,如果它有一个有限的分支因子,但为什么一定要还完成后,每个边的权大于0?完整性的A *搜索
这不是真的,如果图形具有有限的支化因子和每个边缘的重量大于零,那么A *终止。
例如,考虑顶点0
,1
,2
,3
,图表......和一个顶点*
。让i
和i+1
之间的边缘的权重为1/2^i和让0
和*
之间的边缘的权重是2。让启发式是0,所以A *退化成Dijkstra算法。
然后A *不会找到(在有限时间内)从0
到*
路径 - 这将探讨由于从0
到n
的距离沿自然数的路径总是小于2。所以尽管此图具有有限的分支因子和正边权重,A *未找到解决方案。
定理的正确的说法是:“如果有图有一个有限的分支因子和所有的权重比一些ε> 0,则A *是完整的更大。”证明很简单:如果从开始到结束的路径具有权重d,那么在最坏的情况下,所有顶点距离< = d都会在末端节点之前访问。但最多可以有很多,因为从起始节点到每个节点的路径最多可以由d /ε顶点组成。
因为如果你有负权,你不能永远保证你的最佳路径。您的路径可能会延伸通过这些负向加权分支。或者更糟糕的是,可能会出现一个负权重循环,您的算法将永远循环。 –
我认为你在这个定理的转录中犯了两个错误。 “如果分支因子有限且所有权重都大于ε> 0,则A *是完整的。”你用“或”替代了“和”,并用“正”代替了“大于某些ε> 0”。看到我的答案为什么你对这个定理的陈述是错误的。 –