我知道从未高估与目标的真实距离的启发式函数称为可接受的。我发现启发式功能在实践中做到了,但我不知道如何给出正式的证据。我怎样才能证明启发式函数是可以接受的?例如:曼哈顿距离启发式。
答案 0 :(得分:3)
如果你可以正式定义与目标的真实距离,那么你可以简单地消除一个约束,以便开发一个可接受的启发式算法。
例如: 从点(x1,y1)到点(x2,y2)的曼哈顿距离等于| x1-x2 | + | y1-y2 |。 你可以简单地删除一个术语来提出启发式算法。例如,h = | x1-x2 |。 为了证明这是一个可接受的启发式算法,你可以证明| x1-x2 |小于或等于| x1-x2 | + | y1-y2 |
...适用于所有x1,x2,y1,y2。
另一个可接受的启发式算法是直线距离,你可以证明它总是小于曼哈顿距离。
一般而言,放松约束会导致可接受的启发式。
如果您正在处理距离,直线距离将始终是一个可接受的启发式算法,因为这绝不会过高估计。
如果这回答了你的问题,请告诉我们。)