【发布时间】:2015-05-06 04:53:53
【问题描述】:
据我了解,启发式算法的可接受性是在给定的评估节点的“实际距离成本”范围内。我不得不为状态空间上的 A* 解决方案搜索设计一些启发式方法,并且使用有时可能返回负值的启发式方法获得了很多积极的效率,因此使某些节点更“接近”目标国家在边境有较高的地位。
但是,我担心这是不可接受的,但在网上找不到足够的信息来验证这一点。 I did find this one paper from the University of Texas 似乎在后来的证明之一中提到“......因为启发式函数是非负的”。谁能证实这一点?我认为这是因为返回一个负值作为您的启发式函数会使您的 g-cost 变为负数(因此会干扰 A* 的“默认”dijkstra 式行为)。
【问题讨论】:
-
你有一个启发式函数的例子吗?从表面上看,返回负值似乎表明您在过去某个时间点高估了到目标的距离,但我可能忽略了一些东西。
-
我将我的状态空间表示为单独的项目集。有一组必须以任何顺序满足的目标项目。当我继续生成新状态(在问题的约束范围内)时,我的“最佳”启发式方法会添加目标集中缺失的所有项目的权重,并减去匹配的所有项目的权重,有利于形成紧密的目标状态。如果您查看运行时产生的 H 值,大多数在开始时为正值,但后来变为负值(更多潜在目标)。然而,F 和 G 值永远不会低于零。
-
那么每条边是否代表增加了一项,其权重就是该边的成本?
-
是的,没错。
-
正如 Nikola Benes 指出的那样,反例并不是真正的反例,因为 A* 仍将返回路径 Start -> A -> B -> End。
标签: a-star heuristics state-space