有人可以给我一个不一致的可接受启发式的例子吗?
Posted
技术标签:
【中文标题】有人可以给我一个不一致的可接受启发式的例子吗?【英文标题】:Can someone give me an example of admissible heuristic that is not consistent? 【发布时间】:2015-12-30 14:16:53 【问题描述】:在这个图中:
假设 h(C)=1 如果f(A)=g(A)+h(A)=0+4=4,并且f(C)=g(C)+h(C)=1+1=2 那么 f(C) 不大于或等于 f(A) 因此,这个例子是一致的和可接受的,但是请
【问题讨论】:
Consistent and Admissible Heuristics的可能重复 您的启发式示例不可接受吗?它从不高估实际成本。4 = h(A) <= real cost from A to G = 4
,1 = h(C) <= real cost from C to G = 3
@svs 是的,你是对的,我的错。
但又因为f(A) > f(C)
你的示例启发式方法不一致。那么你的启发式h(A)=4, h(C)=1, h(G)=0
是可接受的并且不一致 - 正是你正在寻找的:)
【参考方案1】:
Admissibility
如果您希望您的启发式算法被接受,那么您应该为每个节点 n
设置 h(n) <=h*(n)
,其中 h*
是目标的实际成本。在您的情况下,您想要:
h(A) <= 4
h(C) <= 3
h(G) <= 0
Consistency
如果您希望启发式算法保持一致,那么您应该拥有 h(G) = 0
和 h(n) <= cost(n, c) + h(c)
,其中节点 c
是节点 c
的子节点。所以在你的情况下
h(A) <= 1 + h(C)
h(C) <= 3 + h(G) = 3
如果您想要不一致,并且因为h(C) <= 3
的可接受性条件,那么您应该拥有h(A) > 1 + h(C)
。所以任何满足的heristics:
h(A) > 1 + h(C)
h(C) <= 3
h(G) = 0
可接受且不一致。你给了
h(A) = 4
h(C) = 1
h(G) = 0
这是一个有效的候选人。
【讨论】:
非常感谢!!我真的很感激,现在我清楚了! :) @user3880907 不客气,我很乐意为您提供帮助 :) 很抱歉这么晚才提出这个问题,但是在启发式可接受和不一致的条件列表中,不应该包括 h(A) 【参考方案2】:如果你指定一个递减的启发式函数的最优解路径的深度(但试图不违反高估的可接受性条件),那么结果启发式是可接受的但不一致。
【讨论】:
以上是关于有人可以给我一个不一致的可接受启发式的例子吗?的主要内容,如果未能解决你的问题,请参考以下文章