我一直在读关于A *的完整性,我知道如果它具有有限的分支因子必须是完整的,但是为什么当每个边权重大于0时它必须也是完整的?
答案 0 :(得分:1)
如果图形具有有限的分支因子并且每个边缘权重大于零,那么A *终止是不正确的。
例如,考虑具有顶点0
,1
,2
,3
,...和单个顶点*
的图表。让i
和i+1
之间的边的权重为1/2 ^ i,让0
和*
之间的边的权重为2.让启发式为0,所以A *退化为Dijkstra算法。
然后A *将找不到(在有限时间内)从0
到*
的路径 - 它会探索自0
到{n
之间距离的自然数的路径{1}}始终小于2.因此,尽管此图具有有限的分支因子和正边权重,但A *找不到解。
该定理的正确陈述是:“如果图形具有有限的分支因子并且所有权重都大于某些ε> 0,则A *完成。”证明是直截了当的:如果从开始到结束的路径是权重d,则在最坏的情况下,在结束节点之前访问所有顶点距离< = d。但是最多可以有多少,因为从起始节点到每个节点的路径最多可以包含d /ε顶点。