18-2018.08-计算机博弈大赛幻影围棋组《BetaMiao》

  • 比赛心得

网上资料少之又少,搜索到这篇文章的你可能有些头痛,关于幻影围棋我想讲讲这趟的一些经验吧。关于资料方面网上还是很多的,本人的博弈程序不太好意思说实在太菜,但是我也总结了一些原因等会可以给大家参考一下。我主要参考的论文是东北大学李洪业的一篇文章叫做幻影围棋非完美信息博弈问题的关键算法研究,毕竟是9981的棋盘,大部分人采用的搜索算法还是蒙特卡洛吧,但是这篇文章讲述了对于蒙特卡洛算法的一些优化,包括信念状态下的蒙特卡洛搜索算法等等,讲述了信念状态这一多重历史集合的概念,适合于一些非完美信息博弈的搜索,平衡探测与利用问题。

而对于评估算法,其实我找了很多种,最后其实我的想法是,每一次搜索完毕,根信念状态下的一种历史状况展开到一定层数后使用一种静态评估策略评价分数然后根据节点返回根节点,最后选择分数最高的招法作为下一步。但是如此的静态评估算法比较难找,后来我发现在前几届的程序中,他们直接采用了下完整个棋盘后评估哪方赢得次数多来返回分数,一开始我觉得是否使得搜索树过大而导致卡顿,事实证明其实还行,所以也可以作为参考。当然你也可以参照普通围棋队模拟后的棋局进行评估,应该也会有一样的效果。

蒙特卡洛真的是一种神奇的算法,我本身在参加这次比赛前一点也不会下围棋,但是它能在仅仅知道规则的情况下,为您决策出每一步直到下完。但是我不会下围棋恰恰又是我这个程序中最大的缺点,如果是一位围棋高手来对程序进行一些修改,而不仅仅依靠大量的模拟计算我觉得会是制胜的关键。因为幻影围棋并不是围棋,他的后期才是围棋,前期如何利用不完备的棋盘将自己的优势发挥到最大才能发挥出这个程序的优点,而这是我没有解决的,所以希望和我一样的小白们能够引以为戒,不要因为程序本身忘记了对于围棋的钻研。我的程序就不贴了,主要的思路就是前期,中期和后期分开模拟,然后写了一个多线程模拟的程序,因为自己也不是什么专业的计算机人才,在调度这方面简直是摸爬滚打,最后耗费了大量心血才使得程序能够完美运行,所以请谨慎使用啊QAQ。

  • 资源分享

如果您实在想要这个资源,emmm那您评论留个言好了,我看情况吧。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值