如何解决一致启发式的证明意味着条件可容许
我试图证明一致的启发式意味着可接受的条件
我读过的证据之一here:
-
让h(n)成为节点n的启发式值,并让c(n,n + 1)成为从节点n到节点n + 1的成本。
-
我们假设h(ng)= 0; ng是目标节点。
-
非正式地,我们希望从目标节点回溯,这表明如果我们从h(ng)= 0的可允许节点开始,则根据一致性规则,其父节点将是可允许的,并且模式继续。 / p>
-
考虑某个节点n并假设在n处的启发式值是可接受的。
-
我们希望其父节点(例如n-1)也可以被一致性定义所接受。
-
通过一致性,我们得到了:
h(n-1)-h(n)
-
c(n-1,n)是从n-1到n的实际路径成本。
-
因为我们知道h(n)是可容许的,所以我们知道h(n)必须小于或等于从n到ng的路径成本。
-
因此,h(n-1)
-
由于h(n)小于或等于从(n到ng)的路径成本,所以h(n-1)
我的问题是:在第7步中: c(n-1,n)是从n-1到n的实际路径成本,他们如何确定c(n-1,n )是实际路径吗?因为从这个假设出发,它们是指实际路径中成本最低的路径?
在同一参考文献中,他们还提供了正式证据:
-
假设我们有一些一致的启发式h。还要假设h(ng)= 0,其中ng是目标节点。
-
通过一致性定义,图中所有节点n的h(n)
-
我们想证明对于所有n,h(n)
-
基本情况:我们开始将ng-1视为ng表示目标状态的任何路径的节点:
h(ng-1)
-
由于ng是最佳目标状态,因此假设h(ng)= h *(ng)
-
因此,我们可以将以上内容重写为:
h(ng-1)
-
并给出了
c(ng-1,ng)+ h *(ng)= h *(ng-1) 我们可以看到 h(ng-1)
-
归纳假设:假设对于某个任意节点(位于距目标路径上),ng-k大于h(ng-k)
-
归纳步骤:看看是否总是这种情况,我们考虑ng-k-1th:
h(ng-k-1)<=c(ng-k-1,ng-k)+h(ng-k)
- 从基本情况来看,我们知道:
h(ng-k-1)<=c(ng-k-1,ng-k)+h(ng-k)<= c(ng-k-1,ng-k)+h*(ng-k)
h(ng-k-1)<=c(ng-k-1,ng-k)+h*(ng-k)
- 我们再次知道:
h(ng-k-1,ng-k)+h*(ng-k)=h*(ng-k-1)
so we can see :
h(ng-k-1)<=h*(ng-k-1)
对于第8步和第12步,同样是一个问题,为什么要考虑:c(该节点,下一个节点)+ h *(下一个节点)= h *(该节点)?
解决方法
我能够证明:
c(ng-1,ng)+ h *(ng)= h *(ng-1)我们可以说h(ng-1)
如果c(ng-1,ng)不是从ng-1到目标的最佳路径,那么我们假设从ng-1到ng'-1到g的另一路径是最佳路径,因此:
ng-1-> ng'-1-> g是最佳路径
因为h是一致的:
h(ng'-1)
h(ng-1)
h(ng-1)
对于节点数量更多的任何最佳路径也是正确的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。