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

joh*_*ith 6 heuristics reversi

我刚刚研究了启发式函数,但是我找不到启动函数的想法(奥赛罗),我只需要一个好主意来评分板的某些状态

我想过:

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

我不知道它是否好.

das*_*ght 7

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

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

你可以阅读在建设比较强的(在其击败人类新手能力的意义上)的黑白棋小程序所使用的策略相对较短的描述在这里.


Kar*_*eja 5

一个适用于othello / reversi的良好启发式功能需要捕获职位的更多方面,包括:

  • 硬币平价
  • 流动性(可移动的次数)
  • 角落囚禁(转角稳定/无法转弯且具有特殊重要性)
  • 稳定性(防止光盘转动的措施)

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