Reversi(奥赛罗)想法需要启发式函数
Posted
技术标签:
【中文标题】Reversi(奥赛罗)想法需要启发式函数【英文标题】:Need heuristic function for Reversi(Othello) ideas 【发布时间】:2012-10-30 03:21:17 【问题描述】:我刚刚研究了heuristic functions,但我找不到用于反向棋(奥赛罗)的启发式函数的想法,我只需要一个好主意来对棋盘的某些状态进行分级
我想过:
-
计算移动次数
算盘数
并计算角落中的光盘数量并给他们更好的分数,
不知道好不好。
【问题讨论】:
【参考方案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/
【讨论】:
以上是关于Reversi(奥赛罗)想法需要启发式函数的主要内容,如果未能解决你的问题,请参考以下文章