【问题标题】:Static Evaluation Function for Checkers跳棋的静态评估函数
【发布时间】:2010-04-30 10:13:07
【问题描述】:

我正在尝试为我正在开发的跳棋游戏编写评估函数,但我找不到正确的文档。 我在网上阅读了几篇文档,描述了编写或让计算机找到它的不同技术(使用遗传算法或贝叶斯学习),但对于像我这样的新手来说,它们太复杂了。 所有文件都提到了 A.L.Samuel 的“使用跳棋游戏进行机器学习的一些研究”,但我还没有动手 :(。我只阅读了后续文章“使用跳棋游戏进行机器学习的一些研究 -II " 并在那里找到了一些很好的信息,但它没有解释 eval 参数的含义(我想我没有整篇文章)。

【问题讨论】:

  • OP 正在询问如何为跳棋编写静态评估函数。如标题所示。

标签: artificial-intelligence


【解决方案1】:

我会从非常简单的事情开始:物质差异。这等于:(我的棋子数量)-(对手棋子的数量)。然后,您可以添加更多特征并开始加权它们,例如“暴露的棋子数”、“受保护的棋子数”,或者可能是“棋盘中间控制的棋子数”等等。与领域专家(即西洋跳棋玩家)交谈和/或查阅西洋跳棋书籍,看看哪些方法会奏效。

【讨论】:

    【解决方案2】:

    世界上最好的 Checkers AI 不会输,虽然我找不到关于它如何工作的具体数据,但这些属性用于确定排名(每个属性都附加了一些权重)

    “线性手工评估函数考虑了棋盘的几个特征,包括棋子数、对子数、被困对子、转身、失控棋子(被王的路径畅通)和其他次要因素。”--维基百科

    有关 Ai 的更多信息,请访问 https://en.wikipedia.org/wiki/Chinook_(draughts_player)

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 2020-07-24
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2015-02-25
      相关资源
      最近更新 更多