用Python编写一个国际象棋AI程序
最近我用Python做了一个国际象棋程序并把代码发布在AI 部分总述AI在做出决策前经过三个不同的步骤。首先,他找到所有规则允许的棋步。虽然树的大小随深度指数增长,但是树的深度可以是任意的。假设每次决策有平均20个可选的棋步,那深度为1对应20棋步,深度为2对应400棋步,深度为3对应8000棋步。最后,它遍历这个树,采取x步后结果最佳的那个棋步,x是我们选择的树的深度。后面的文章为了简单起见,我会假设树深为2。生成棋步树棋步树是这个AI的核心。构成这个树的类是MoveNode.py文件中的MoveNode。他的初始化方法如下:。第三个属性是parent,所以通过它可以知道上一层有哪些MoveNode。pointAdvantage属性是AI用来决定这一棋步是好是坏用的。#If the depth is divisible by 2, it's a move for the AI's side, so return max
用户评论