对于黑白棋(奥赛罗)的想法需要启发式功能

时间:2012-11-09 19:02:36

标签: heuristics reversi

我刚刚研究了heuristic functions但是我找不到关于逆转(奥赛罗)的启发式功能的想法,我只是需要一个好主意来评估董事会的某些状态

我想到了:

  1. 计算移动次数
  2. 计算光盘数量
  3. 并计算角落中的光盘数量并给予他们更好的分数,
  4. 我不知道它是否好。

3 个答案:

答案 0 :(得分:7)

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

  • 计算移动次数可以衡量立即移动性;其他一切都是平等的,你可以采取行动,开辟更多其他举措的情况应该受到青睐。您还需要测量潜在的移动性 - 开放空间旁边的对手磁盘数量。
  • X平方 - B2,B7,G2和G7。尽早将磁盘放在那里几乎肯定会泄露相邻的角落,所以你的启发式应该给它们很高的负重,至少在前40次移动中
  • C square-A2,A7,B1,G1,H2,H7,B8和G8。它们为对手提供了对角落的访问权限,因此它们的值应该与其他方块的值不同,至少在边缘少于五个磁盘时

您可以阅读相对较短的描述,该策略用于构建相对较强的(在击败人类新手的能力意义上)逆转小程序here

答案 1 :(得分:4)

othello / reversi的良好启发式功能需要捕获更多方面的位置,包括:

  • 硬币平价
  • 流动性(可能的移动次数)
  • 角落圈养(角落稳定/不能转动且具有特殊重要性)
  • 稳定性(光盘无法转动的措施)

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

答案 2 :(得分:-4)

你可以尝试一下。没有什么比得到答案的数据了。

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