对于井字游戏,我的讲师提出了一种可接受的启发式(意味着它从未高估距离),用于下一步井字游戏中O玩家的移动,如下所示:
O的可能线数 - X的可能线数
我想知道为什么这个启发式是可接受的?
对于井字游戏,我的讲师提出了一种可接受的启发式(意味着它从未高估距离),用于下一步井字游戏中O玩家的移动,如下所示:
O的可能线数 - X的可能线数
我想知道为什么这个启发式是可接受的?
O..
XOX
OX.
那么到目标的距离为(3-1)=2
实际到目标的距离为1(赢得了'O')
2 > 1,因此它高估了。
或者我错过了什么?
O
执棋的局面。 - Bernhard BarkerO
的胜利,而行数并不是获胜的衡量标准,只是一种不错的策略(比如一个玩家沿着边跑,他会赢但永远不会有最多的线)。 - Bernhard Barker来自维基百科:
如果启发式函数从不高估到达目标的成本,则称其为可接受的
这基本上意味着当您使用启发式函数时,仅当实际到达目标的成本保证高于或等于估计成本时,该启发式函数才是可接受的。一个很好的例子是A*路径查找算法的启发式函数。对于该算法,通常使用估计直接连接到目标的距离的启发式。如果您使用高估距离的启发式,则可能无法找到最短可能的路径。
<= 0
。很多资料似乎都说它应该等于0。 - Bernhard Barkerif (at goal) 0 else {what you wrote}
,以使=0
的情况成立。但我们所说的目标是什么?是让O
赢?还是让X
赢?或者两者都可以?请看下面我的回答,了解为什么这可能不可行。 - Bernhard Barker