有人可以给我一个不一致的可接受启发式的例子吗?

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) = 0h(n) &lt;= cost(n, c) + h(c),其中节点 c 是节点 c 的子节点。所以在你的情况下

h(A) <= 1 + h(C)
h(C) <= 3 + h(G) = 3

如果您想要不一致,并且因为h(C) &lt;= 3 的可接受性条件,那么您应该拥有h(A) &gt; 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】:

如果你指定一个递减的启发式函数的最优解路径的深度(但试图不违反高估的可接受性条件),那么结果启发式是可接受的但不一致。

【讨论】:

以上是关于有人可以给我一个不一致的可接受启发式的例子吗?的主要内容,如果未能解决你的问题,请参考以下文章

曼哈顿距离如何成为可接受的启发式?

直观地理解为什么A *搜索中的最优性需要一致性?

谁能给我一个xsl中模板“模式”的例子吗?

我应该更新代码提交以与我自己的代码一致吗? (礼仪)[关闭]

一体化里的决算数据数据一致性检查确定是不提速可以写个说明吗

嘿,有人可以给我看一些关于 discord.py API 的代码吗?使用来自网站的 api