【问题标题】:Does an evaluation function for a chess game consider all pieces on the board?国际象棋游戏的评估函数是否考虑了棋盘上的所有棋子?
【发布时间】:2018-08-24 22:13:35
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您之前没有访问过chessprogramming.wikispaces.com,您可以在那里找到很多信息。 (可能太多了:-)。
  • 我不编写这类程序,但我会假设评估方法可以根据您的需要和需要简单或复杂。我想非常好的程序会评估所有职位,更好的程序将允许灵活的评估深度......
  • 我不确定这是否是一个真正的编程问题......

标签: java chess minimax evaluation-function


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2015-05-02
    相关资源
    最近更新 更多