为什么曼哈顿的启发式可以接受?

时间:2013-09-08 13:01:44

标签: algorithm a-star heuristics

在解释A *算法的this文章中,它说针对给定问题(找到有墙作为障碍的两点之间的最短距离),曼哈顿距离不可接受。见this
这是为什么?在任何情况下都会高估距离吗?如果是,何时?

1 个答案:

答案 0 :(得分:3)

这是来自aStarLibrary.bb的一个块(来自链接的链接)

;计算出它的G成本         如果Abs(a-parentXval)= 1而Abs(b-parentYVal)= 1那么             addedGCost = 14;转到对角线方块的成本
        否则
            addedGCost = 10;转到非对角线方块的成本
        万一         Gcost(a,b)= Gcost(parentXval,parentYVal)+ addedGCost

    ;Figure out its H and F costs and parent
    Hcost(openList(m)) = 10*(Abs(a - targetx) + Abs(b - targety)) ; record the H cost of the new square

从(0,0)到(1,1)的移动的启发式(Hcost)将是10 *(1 + 1)= 20.GCost(移动的成本)将此视为单个对角移动费用14.是的,这是一个高估。