othello游戏简单实用AI的想法(又名:reversi)

Mul*_*der 2 c# artificial-intelligence game-engine

您好我在哪里可以找到有关如何为此游戏实施AI的一些信息.从来没有做过任何类型的人工智能.

寻找最佳和简单方法的建议谢谢

Dat*_*ith 10

正如在几乎所有的棋盘游戏中一样,你必须(a)评估一个位置的优秀程度,以及(b)寻找导致对你有利的位置的动作.

奥赛罗与国际象棋等其他比赛略有不同,因为(a)有点困难.你不能轻易分辨哪些位置是好的,因为表格可以很快转变.但是,如果你刚刚开始,一个好的启发式是

  • 高度重视角落领域
  • 采取角落旁边的田地高度惩罚
  • 将其他边框切片值设置为高于剩余切片
  • 尽量减少对手可以做出的动作次数

对于(b),您可以使用标准游戏树搜索算法,如MinimaxAlpha-Beta Pruning.有许多不同的可供选择.

编写Logistello的迈克尔·布罗(Michael Buro)曾撰写过几篇关于这一主题的精彩论文.为了说明一个位置有多好,他将板上的模式(每个等级,每个文件,所有对角线形成模式)与之前由程序学习的数据库中的模式进行比较.为了搜索理想的结果,他使用了一种名为Multi-Prob Cut的搜索算法.

可能有用的链接: