【问题标题】:Need heuristic function for Reversi(Othello) ideasReversi(奥赛罗)想法需要启发式函数
【发布时间】:2012-10-30 03:21:17
【问题描述】:

我刚刚研究了heuristic functions,但我找不到用于反向棋(奥赛罗)的启发式函数的想法,我只需要一个好主意来对棋盘的某些状态进行分级

我想过:

  1. 计算移动次数
  2. 算盘数
  3. 并计算角落中的光盘数量并给他们更好的分数,

不知道好不好。

【问题讨论】:

    标签: heuristics reversi


    【解决方案1】:

    你可以试试。没有什么比得到答案的数据更重要了。

    假设您使用合理的软件工程实践并抽象启发式,您可以很快检查它。

    【讨论】:

    • 没有提供与回答问题相关的任何见解
    【解决方案2】:

    不,这还不够好。磁盘的数量特别无用 - 尽管游戏的目标是收集尽可能多的磁盘,但除了最后一个之外的任何移动的计数都是毫无意义的。以下是您应该考虑的其他一些事项:

    • 计算移动次数可以衡量即时移动性;在其他条件相同的情况下,您可以采取能够开辟更多其他举措的举措的情况应该受到青睐。您还需要测量潜在的移动性 - 靠近开放空间的对手磁盘的数量。
    • X 方块 - B2、B7、G2 和 G7。将你的圆盘提前放在那里几乎肯定会放弃相邻的角落,所以你的启发式应该给他们高负权重,至少在前 40 步中
    • C 方格 - A2、A7、B1、G1、H2、H7、B8 和 G8。它们让对手可以进入角落,因此它们的值应该不同于其他方格的值,至少在边上的圆盘少于 5 个时是这样

    你可以阅读一个相对简短的描述来构建一个相对强大的(在它能够击败人类新手的能力)黑白棋小程序here

    【讨论】:

    • 感谢您的想法。他们非常有帮助。
    【解决方案3】:

    一个好的黑白棋启发式函数需要捕捉位置的更多方面,包括:

    • 硬币平价
    • 移动性(可能移动的数量)
    • 弯道圈闭(弯道稳定/无法转弯且具有特殊重要性)
    • 稳定性(测量光盘不被转动)

    我已经讨论了这些方面,并在这里提供了一个很好的启发式函数的实现:http://kartikkukreja.wordpress.com/2013/03/30/heuristic-function-for-reversiothello/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 2019-06-12
      • 2021-07-06
      相关资源
      最近更新 更多