0

我希望这是一个容易回答的问题,但我对国际象棋游戏的评估函数如何工作感到有些困惑。我正在使用一个极小极大算法来评估叶节点处的棋盘,同时考虑材料、方块表、移动性等。极小极大算法(不是负极大)的评估函数是否考虑了棋盘上的每一块,无论是黑色还是白色,都可以计算棋盘值,还是只查看 minimser(黑色)或 maximiser(白色)的部分。

例如,当调用 evaluate_board() 方法时,我是对黑色和白色的材质进行求和,还是只是轮到哪一边?

如果这令人困惑,我深表歉意,但我对此并不陌生。即使是一点点的澄清也将不胜感激。谢谢你。

4

1 回答 1

1

一个职位的评估可以考虑任何事情。如果您使用极小极大值,您可能希望负分对白人有利,对黑人有利——或类似的东西。所以如果你只用材料来评估,你可以把每一个白色的块都算作 ,把每块-N黑色的块算作+N。起始位置为 0。

请记住,即使进行了修剪,即使只进行几层(深度),极小极大也可能需要很长时间。因此,评估方法越便宜或越快越好。简单的材料优势恕我直言是您需要的唯一评估。

当然,国际象棋维基有一篇关于国际象棋引擎评估部分的详尽文章:https ://chessprogramming.wikispaces.com/Evaluation

于 2018-03-17T22:00:01.690 回答