在以前的编写过程当中,翻阅过不少资料,每次看到一个使人振奋的思想我都会实践一下以印证它的实际效果,因此个人程序到如今已经有几十个版本了,在这过程当中主要参考了如下网站(论文或源码),在此一并表示感谢:算法
http://www.xqbase.com (包括象棋巫师源码)编程
PC游戏编程(人机博弈) 王小春多线程
五子棋机器博弈系统评估函数的设计 张明亮 ,吴俊 ,李凡长 函数
A REVIEW OF GAME-TREE PRUNING† T.A. Marsland Computing Science Department, University of Alberta,EDMONTON,Canada T6G 2H1
学习
博弈树置换表启发式算法研究 焦尚彬,刘丁
测试
固然,还有不少其余资料我也翻看过,但雷同不少,不一一赘述。其中有些文章抄袭的嫌疑很大,例现在天我下载了两篇关于”威胁空间搜索“的文章,看了以后汗颜,由于我设计的AI从去年开始就不使用历史表,而是采用”冲棋点“表,居然是与”威胁空间搜索“雷同的,前人果真伟大;更使人汗颜的是,其中一篇为”Go-Moku and Threat-Space Search“,而另外一篇内容与前一篇雷同,枉我看英文那么费劲的说!虽然这两篇都没有新的技术但仍是罗列到这里(后一篇不提了,除了PDF上的日期我也无从考证到底谁先谁后。况且后一篇仍是硕士学位论文,省得惹一身骚)。下面对整个AI的加以说明:网站
1、AI的基本结构spa
局面表示.net
招法生成器线程
局面评价
剪裁函数
2、启发算法
迭代加深与内部迭代加深
置换表
主要变例搜索
VCF/VCT搜索
开局库
PV与杀手启发
3、多线程
多线程PVS搜索
这个AI是针对无禁手规则的,而且使用的基本思想就是”冲棋点“搜索,即前文提到的”威胁空间搜索“。接下来的一段时间里,我会完善这些标题(无禁手规则一节除外)。
http://download.csdn.net/detail/zcsor/6360829
当前版本存在一个BUG:未统计冲1,致使走法生成器在开局时可能返回无走法(下在边角上的时候),表现为下在角上AI思考崩溃或返回AI胜利。已修复但未更新当前上传文件。由于后面还有一个应用于走法生成器的启发算法一块儿更新。
更新版本:
修复了冲1的BUG。
修改了VCT走法生成器。
添加开局库搜索对搜索时间的影响。
下载地址:
http://download.csdn.net/detail/zcsor/6379795
发现部分状况下VCT忽略守方进攻BUG。正在测试中,暂不发下载。