使用蒙特卡洛树搜索算法算法来设计棋类游戏的做法具体是怎样

点格棋博弈中UCT算法的研究与实现--《安徽大学》2016年硕士论文
点格棋博弈中UCT算法的研究与实现
【摘要】:2016年3月谷歌AlphaGo击败世界围棋冠军李世石九段,使人工智能、机器博弈再次成为大众焦点。人工智能是计算机科学的重要研究方向,主要研究用机器来模拟和执行人脑的智力功能,开发相关的理论和技术,从而达到让机器可以能像人一样进行学习、思考、判断等各种脑力活动的目标。机器博弈因使用计算机解决博弈问题而得名,它将博弈思想和计算机科学相融合,希望计算机能像人一样做出理性决策。机器博弈作为人工智能极具挑战的分支之一,一直以来都被誉为人工智能的“果蝇”,机器博弈的研究对于人工智能的发展具有积极的推动作用。机器博弈在国外的发展较早,并取得了一定的成就;在国内的发展还比较缓慢,以棋类为载体是目前研究机器博弈的主要方法。点格棋是法国数学家爱德华·卢卡斯在1891年提出的二人纸笔游戏。点格棋博弈系统主要由知识表示、着法生成、搜索算法和估值函数四部分组成,其中搜索算法是核心。搜索算法根据当前局面生成一颗一定深度的博弈树,对博弈树进行向下搜索,传统的点格棋博弈系统所采用的搜索算法多为α-β剪枝算法,采用α-β剪枝算法存在搜索深度浅、浪费时间等问题。另一方面α-β剪枝算法必须有一个估值函数对棋盘的优劣进行评估。目前常采用的估值方法当棋盘中不存在安全边的时候会比较准确,但是如果棋盘中含有安全边,估值会由于安全边占领的顺序不同而存在误差,所以点格棋博弈系统的估值函数设计相对较难。UCT算法是蒙特卡洛算法的一种延伸算法,根据大数定理以多次模拟的方式实现对博弈树中节点的价值评估,同时将UCB算法应用到博弈树搜索上,通过UCB算法选择进行评估的节点,引导博弈树向更好的方向生长,有利于更快的获得最优解。UCT算法根据大量模拟棋局的结果以概率的方法进行盘面优劣的判断,预估节点的好坏,优先选择表现好的节点。这种方法解决了点格棋目前存在的盘面评估问题。将UCT算法应用到点格棋博弈,最后通过实验证明采用UCT算法的点格棋博弈系统博弈水平高于α-β剪枝算法。根据点格棋博弈过程中棋盘会存在许多价值相同的边即等价边,这些边选择其中任意一条边进行搜索,与对这些全部进行搜索产生的结果相同,在进行博弈树搜索时只需要对其中一条边进行搜索,据此提出基于等价边裁剪的UCT算法在UCT算法拓展节点阶段进行等价边裁剪。最后通过实验证明改进算法能够减少博弈树搜索时搜索节点的数量,大幅度提高UCT算法的博弈水平。在UCT算法模拟棋局阶段,为提高模拟棋局结束后收益值计算的准确性,在原有计算方法的基础上提出了基于修正值的收益值计算方法,不仅对模拟棋局胜负进行了区分,还对胜负的程度进行了量化,使收益值更加的精确;其次,为提高模拟棋局的次数,实现了基于多核CPU的UCT算法的并行化,充分利用了多核CPU的计算性能,提高棋局的模拟数量。综合以上两点改进提出基于修正收益值的并行UCT算法,通过实验证明基于修正收益值的并行UCT算法可以提高博弈树搜索深度和模拟棋局数量,使UCT算法的博弈水平更高。本文的创新点如下:1.在认真分析点格棋博弈中经常使用的搜索算法后,发现UCT算法相对于传统的α-β剪枝算法有着时间和空间方面的优势,将UCT算法运用到点格棋博弈中。2.提出基于等价边裁剪的UCT算法:给出等价边的定义,在拓展之前进行等价边裁剪,减少博弈树的搜索空间,提高博弈水平。3.提出基于修正收益值的并行UCT算法,包括两个方面改进:第一,提出基于修正值的收益值计算方法,对胜负程度进行区分、量化,提高收益值准确性;第二,为充分利用了计算机性能,提高模拟棋局次数,实现了UCT算法的并行化。
【学位授予单位】:安徽大学【学位级别】:硕士【学位授予年份】:2016【分类号】:TP18
欢迎:、、)
支持CAJ、PDF文件格式
【相似文献】
中国期刊全文数据库
苏黔;;[J];电气时代;1986年02期
;[J];;年期
中国重要报纸全文数据库
王石川;[N];东莞日报;2014年
中国硕士学位论文全文数据库
刘洋;[D];安徽大学;2016年
刘慧慧;[D];北京服装学院;2012年
&快捷付款方式
&订购知网充值卡
400-819-9993 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
基于棋牌类组合规则的游戏人工智能的设计与实现
下载积分:1000
内容提示:基于棋牌类组合规则的游戏人工智能的设计与实现
文档格式:PDF|
浏览次数:111|
上传日期: 04:45:15|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1000 积分
下载此文档
该用户还上传了这些文档
基于棋牌类组合规则的游戏人工智能的设计与实现
关注微信公众号超越蒙特卡洛树搜索 北大新算法评估围棋模型_棋牌_新浪竞技风暴_新浪网
超越蒙特卡洛树搜索 北大新算法评估围棋模型
长期评估的循环模型
  (来源:机器之心)
  在五月底与柯洁等人的系列对局之后,人工智能围棋大师 AlphaGo 已经功成名就,金盆洗手了,参阅《现场报道 | AlphaGo 被授职业九段,DeepMind 将公开其所有版本细节》;但这并不意味着计算机围棋研究已经走到了尽头。近日,北京大学的一组研究团队宣称在计算机围棋研究上取得了另一个方向的研究成果。
  和 AlphaGo 等目前领先的围棋程序不同,北京大学 Wang Jinzhuo、王文敏、王荣刚、高文等人提出的新方法没有使用蒙特卡洛树搜索,而是使用了由深度交替网络(DANN)和长期评估(LTE)组成的系统。而且研究者还通过实验表明该系统的棋力也强于目前大多数基于蒙特卡洛树搜索的方法。
  并不完美的蒙特卡洛树搜索
  围棋是一种古老的智力游戏,规则简单,但变化复杂。由于棋局变化的可能性是海量的,在大多数情况下,我们很难对棋盘上的落子位置构建价值函数。此前,大多数计算机围棋程序都着重于模拟未来棋局可能的变化,从而选择最佳落子位置。在这种思路下,蒙特卡洛树搜索(MCTS)(Gelly & Silver 2011)是最为流行的方法,它构建了一个广泛而深入的搜索树来模拟和评估每个落子位置的价值。利用这种方法构建的围棋程序已经获得了很大成功。
  AlphaGo 结合了监督学习与强化学习的优势。通过训练形成一个策略网络,将棋盘上的局势作为输入信息,并对有所可行的落子位置形成一个概率分布。然后,训练一个价值网络对自我对弈进行预测,以-1(对手的绝对胜利)到 1(AlphaGo 的绝对胜利)的标准,预测所有可行落子位置的结果。AlphaGo 将这两种网络整合进基于概率的蒙特卡罗树搜索(MCTS)中,实现了它真正的优势。
  然而,蒙特卡洛树搜索的方法并不是完美的,性能不平衡是这种方法的主要限制。人们发现,利用蒙特卡洛树方法构建的围棋程序在对杀、劫争和关子时时常会出现错误的选择。人们将这些缺陷归于两种原因:1。 剪枝搜索是基于先验知识的动作,距离完美的计算还相去甚远;2。 由于围棋的棋盘是广阔的,对于大部分可能性的计算是无用的。此外,蒙特卡洛树的叶子输出难以得到精确评估。
  而最重要的是,MCTS 的方法和人类棋手并不相同,因为人类并不会对每一个可能的点位进行粗暴的模拟。相反,人类在落子时会首先通过特征分析选择几个可能的点位,并通过评估这些点位从中选择一个最优的下法。
  随着近年来深度学习在图像识别等领域的兴起,研究人员开始引入深度学习的方法来构建新一代围棋程序。与视觉信号相比(如 224x224 像素的图片),围棋棋盘的尺寸更小(19x19),而各点的相对位置十分重要,这与围棋牵一发而动全身的理念相类似。另一方面,现有的 DCNN 通常通过堆叠更多的卷积层以利用低级特征的高阶编码来进行推理,层数的增加不仅使参数负担增加,也无法嵌入局部特征及其演化。
  基于上述讨论,北京大学的研究者们提出了由两个主要部分构成的新型计算机围棋系统。
  论文:超越蒙特卡洛树搜索:使用深度交替网络和长期评估下围棋(Beyond Monte Carlo Tree Search: Playing Go with Deep Alternative Neural Network and Long-Term Evaluation)
  论文链接:https://arxiv.org/abs/
  在计算机围棋领域,蒙特卡洛树搜索(MCTS)是一种极其流行的方法,其可以通过在一个宽阔且深度的搜索树中进行巨量的模拟来确定每一步动作。但是,人类专家是通过模式分析和精心的评估来选择大多数的动作,而非对未来数百万次互动进行暴力搜索来完成。在这篇论文中,我们提出了一种可以像专家一样思考和下棋的计算机围棋系统。我们的系统由两部分组成。
  第一部分是一个全新的深度交替神经网络(DANN/deep alternative neural network),用于生成下一步的候选项。和已有的深度卷积神经网络(DCNN)相比,DANN 会在每个卷积层后插入一个循环层,以一种交替的方式将它们堆叠在一起。我们表明这样的设置可以保留更多局部特征及其演化的背景信息(context),这有助于做出走子预测。
  第二部分是一个长期评估(LTE/long-term evaluation)模块,用于提供对候选项的可靠评估,而不仅仅是来自走子预测器的单个概率。这与人类专家下棋的本质是一致的,因为他们可以预见未来数十步并对候选项给出一个准确的评估。在我们的系统中,对于每个候选项,LTE 会在局部变化确定了之后计算未来几次交互的累积奖励。
  结合来自这两个部分的指标,我们的系统可以确定下一步的最优选择。为了更加全面的实验,我们引入了一个新的职业围棋数据集(PGD),其包含了 253233 局职业对弈记录。在 GoGoD 和 PGD 数据集上的实验表明,相对于 DCNN,DANN 可以显著提升走子预测的表现。当结合了 LTE 后,我们的系统的表现优于大多数基于 MCTS 的相关方法和开放引擎。
  图 1:研究人员提出使用深度交替神经网络(DANN)和长期评估(LTE)的计算机围棋系统。给定一个局面,该系统可通过 DANN 生成多个候选项——DANN 在职业对弈记录上学习过。LTE 会对这些候选项进行进一步的分析,考虑了未来回报后确定最终的动作。
  深度交替神经网络
  深度交替神经网络以当前的棋盘情况作为输入,生成可能的未来变化分布。研究人员将 19x19 的棋盘视为带有不同通道的 19x19 像素图片,每个通道的编码承载一种棋盘信息。
  表 1。 用于 DANN 的输入特征通道
  图 2:DANN(右)和 DCNN(左)的比较。
  长期评估模块
  DANN 给出了下一步的可能性分布,而长期评估模块则进一步加强了模型的性能,因为仅预测下一步会限制低层神经网络的信息获取。此外,在激烈的局面和对杀情况下,很多情况会让系统难以评估。当局部变化得到解决后,我们需要准确的判断。此前已有一些研究将游戏视为视觉环境下人工智能代理面临的连续决策过程。在这里,研究人员使用了类似的理念,通过计算未来可能交互行动的累积奖励来评估下一步的位置。结合此前的概率评估,系统得到了下一步可能的分数,并确定最终的落子位置。
  图 3:用于长期评估的循环模型
  表 3:新系统和之前的成果(开源引擎)之间的胜率比较
  研究人员使用了一些开源的围棋程序对新方法和基准方法进行了测试。所有对战程序都被调至了最高难度,每步的 rollout 数量固定。在实验中,新的方法与 GnuGo 3.8 level 10、MoGo、Pachi 11.99(带有模式文件)以及 Fuego 1.1 等方法进行了比较。在每类对战中,共进行三组 100 场的对弈。上表显示了对战的胜率,所有比赛均采用中国围棋规则。结果显示,新的方法在大多数情况下占据优势,但性能略低于田渊栋等人 2016 年在 Facebook 的研究。
  作者表示,未来的研究方向包括进一步改进 DANN 的结构以更好预测未来步骤,更可靠的 LTE 应用等。此外,来自计算机视觉领域的残差网络也有可能帮助 DANN 获得性能提升。在长期评估方面,围棋知识可为下一步棋的选位提供更有效的估计。&
相关阅读:
加载中,请稍候...
加载中,请稍候...蒙特卡洛方法是什么方法?是做什么的?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
蒙特卡洛方法是什么方法?是做什么的?
&  马上就要2015年下半年CMA资格考试了。&  再次感谢您的提问,更多财会问题欢迎提交给高顿企业知道。    高顿祝您生活愉快,通过运行大量模拟来推导出可能性最大的结果。&&&/c/gaodunzhidao" href="http://zhidao.&&&&&nbsp,取得好成绩.&  一种分析方法,利用不确定变量的随机数值;&nbsp同学你好,很高兴为您解答!  蒙特卡洛方法&nbsp,在这里祝大家好好考试,每个人都超常发挥
网络财经教育领导品牌
主营:财经证书、财会网课、商学院、财务培训
活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂活动和粘合剂
出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃出,山高月小,鸢飞鱼跃
为您推荐:
其他类似问题
蒙特卡洛的相关知识
等待您来回答}

我要回帖

更多关于 蒙特卡洛模拟算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信