在阅读有关AI (A*)和启发式的文章时,我遇到了这样的陈述:
Heuristics are sometimes defined for search nodes instead of states,
but this increased generality is rarely useful. (Why?)谁能解释一下这是什么意思,举个例子,并回答为什么?有问题吗?
发布于 2018-04-06 19:51:40
在使用启发式算法时,您主要是使对目标状态的搜索不那么耗费。这里的语句依赖于节点和状态之间的差异。
假设你有一个游戏,你可以通过改变一个角色(e.x.sokoban)。https://en.wikipedia.org/wiki/Sokoban
要实现-star,你必须意识到你是在一个图中进行搜索,在这个图中
每个节点都是游戏的一种可能状态。
节点表示状态并保持特定函数f(x),其中
f(x)= g(x)+h(x)
h(x)是可容许的。在这里,h(x)将给出一个关于目标状态有多远的更好的方法,因为你能够基于目标(例如,)来计算距离。曼哈顿距离).Particularly您可以将曼哈顿距离应用于最近的盒子或最近的目标。
状态中的这组属性定义了启发式成本,从而使搜索不那么耗费精力。如果搜索不是基于特定游戏的状态属性进行的,那么启发式预先是没有用的。
https://stackoverflow.com/questions/49524895
复制相似问题