2018/5/20更新:项目代码已上传到Github,点击此处可跳转。
========分割线===========
现在已经是2016年。算法课的大作业我选了五子棋,在没做出来之前,出于习惯先在知乎上搜寻下有木有什么好的思路和实现方法,于是便找到了这篇帖子。惊异于三楼的文刀秋二大一时候便做出了一个那么厉害的五子棋,回去默默搜寻资料也做了一个简易版的出来,技术手段主要包括:
* 博弈树
* alpha-beta剪枝
* 加入启发式搜索
* 每层选取最有可能出现的10种可能
* 增量式的评分算法
* 置换表
在
如何设计一个还可以的五子棋AI
中我作了详细的介绍
在做了这几个优化之后搜索做到了7层。对弈了一下文刀秋二大一时候做的五子棋的hard级别:
其实这并不说明我的算法是更优,可能对于2014年来说,cpu的运算能力还没有现在强,所以当时文刀秋二也没有把搜索层数设置的很高。事实上这个简易版的五子棋还可以打赢csdn上小有名气的gobang,见下图:
这只是一个非常简易版本的五子棋,界面也很丑,有什么不妥之处,希望大家指点出来。