【五子棋AI】一、AI概述 .

为了写一个棋力比较强的AI,至今大约学习了一年多,在这一年里我翻阅了大量的网站、论文、源码。最初的打算是写一个象棋的AI,后来发“http://xqbase.com”有很多资料和开源的“象眼”、“象棋巫师”,于是改变了自己的初衷——当时给我的感觉,象棋巫师已经很不错了,当然现在也是这样。所以,如果参照它的源码去写,无非是做了一件VC2VB的代码转换,有太多东西可以依托时往往难以给自己更多的思考空间。于是翻阅了一些资料,决定写一个五子棋的AI,虽然也有很多开源代码,但是我所看见的没有一个可以和“象棋巫师”的开源代码相比。于是从一年多以前,我开始参考“象棋巫师”来写我的五子棋AI,直到几个月前,我才对其中涉及的诸多技术有了较深的理解。现在我的五子棋AI(命名为“清月连珠”)还在修改过程中,但是棋力已经相当可观。(如果你有兴趣可以去下载这个软件,虽然它还不完善)

        在之前的编写过程中,翻阅过很多资料,每次看到一个令人振奋的思想我都会实践一下以印证它的实际效果,所以我的程序到现在已经有几十个版本了,在这过程中主要参考了以下网站(论文或源码),在此一并表示感谢:

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的加以说明:


一、AI的基本结构

        局面表示

        招法生成器

        局面评价

        剪裁函数

二、启发算法

        迭代加深与内部迭代加深

        置换表

        主要变例搜索

        VCF/VCT搜索

        开局库

        PV与杀手启发

三、多线程

        多线程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。正在测试中,暂不发下载。

http://blog.csdn.net/zcsor/article/category/1670249

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值