1 / 11
文档名称:

机器博弈及其搜索算法的研究.doc

格式:doc   大小:44KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

机器博弈及其搜索算法的研究.doc

上传人:wz_198613 2018/9/18 文件大小:44 KB

下载得到文件列表

机器博弈及其搜索算法的研究.doc

文档介绍

文档介绍:机器博弈及其搜索算法的研究
机器博弈及其搜索算法的研究Search Engine 2009-04-09 23:36:15阅读11评论0字号:大中小
摘要机器博弈是人工智能一个传统的研究领域。本文从机器博弈的基本理论谈起,介绍了机器博弈理论和机器博弈系统的一般构成,尤其阐述了现今已存在的各种机器博弈搜索算法及其优缺点。
关键词博弈系统博弈搜索算法alpha-beta搜索最佳优先搜索
1前言机器博弈的研究广泛而深入。早在上世纪五十年代,就有人设想利用机器智能来实现机器与人的对弈。国内外许多知名学者和知名科研机构都曾经涉足这方面的研究,历经半个多世纪,到目前为止已经取得了许多惊人的成就。1997年IBM的"深蓝"战胜了国际象棋世界冠军卡斯帕罗夫,惊动了世界。除此之外,加拿大阿尔伯塔大学的奥赛罗程序Logistello和西洋跳棋程序Chinook也相继成为确定的、二人、零和、完备信息游戏世界冠军[1],而西洋双陆棋这样的存在非确定因素的棋类也有了美国卡内基梅隆大学的西洋双陆琪程序BKG这样的世界冠军[1]。对围棋、中国象棋、桥牌、***等许多种其它种类游戏博弈的研究也正在进行中。
机器博弈的核心技术是博弈搜索算法,这也是机器博弈研究的热点。本文首先介绍机器博弈的基本理论和机器博弈系统的一般构成,然后重点讲述现存的各种博弈搜索算法。
2机器博弈的基本思想机器博弈的核心思想并不复杂,实际上就是对博弈树节点的估值过程和对博弈树搜索过程的结合。[7]
在博弈的任何一个中间阶段,站在博弈双方其中一方的立场上,可以构想一个博弈树。这个博弈树的根节点是当前时刻的棋局,它的儿子节点是假设再行棋一步以后的各种棋局,孙子节点是从儿子节点的棋局再行棋一步的各种棋局,以此类推,构造整棵博弈树,直到可以分出胜负的棋局。整棵的博弈树非常庞大,且不同的棋类有所不同,分支因子大的如围棋的博弈树显然要比分支因子小的如国际象棋的博弈树要大得多。
博弈程序的任务就是对博弈树进行搜索找出当前最优的一步行棋。对博弈树进行极大极小搜索,可以达到这一目的。极大极小搜索,是因为博弈双方所要达到的目的相反,一方要寻找的利益恰是一方失去的利益,所以博弈的一方总是希望下一走是儿子节点中取值最大者,而另一方恰恰相反。这便形成了极大极小过程。
当然,程序不能也没有必要做到搜索整棵博弈树的所有节点,对于一些已经确定为不佳的走步可以将以它为根节点的子树剪掉。而且,搜索也不必真地进行到分出胜负的棋局,只需要在一定深度范围内对局面进行评价即可。只有搜索空间缩小到一定程度,搜索才可以真正的进行。当搜索进行到一定深度,用局面评价机制来评价棋局,按照极大极小的原则选出最优,向上回溯,给出这一局面的父亲节点的价值评价,然后再继续向上回溯,一直到根节点,最优走步就是这样搜索出来的。
在这个过程中,最为重要的是搜索算法,高效的搜索算法可以保证用尽量少的时间和空间损耗来达到寻找高价值的走步。但是真的想要博弈程序棋力提高,还必须有一个好的局面评价机制,即估值算法作后盾。就是说,用这个估值算法评价的局面价值必须是客观的、正确的,可以确凿的评价局面的优劣以及优劣的程度。
3机器博弈系统根据机器博弈的基本思想,可以确定一个机器博弈系统的一般构成[6]。
首先是知识表示的问题,选用一种合适的方法记录棋局。这时需要考虑在这种知识表示的数据结构之上将要进行的各种操作,知识表示应该使最经常进行的操作花费的时间和空间代价最小。
其次,根据不同的棋类的不同规则集,要有一个相应的走法产生机制。它的作用是用来产生整棵博弈树,即处于博弈树的任何一个节点位置上,应该能够运用该机制产生这个节点的所有儿子节点,也就是接下来的所有合法走步。
除了以上两个模块以外,就是博弈核心的搜索技术和与之配合的估值技术了。这四个部分相互配合运转起来,就可以实现机器博弈。
4博弈搜索博弈搜索的基本思想已经提出半个多世纪,目前广泛研究的是确定的、二人、零和、完备信息的博弈搜索。也就是说,没有随机因素的博弈在两个人之间进行,在任何一个时刻,一方失去的利益即为另一方得到的利益,不会出现"双赢"的局面,而且在任何时刻,博弈的双方都明确的知道每一个棋子是否存在和存在于哪里。
二人、零和、完备信息的博弈搜索理论已经很系统。极大极小算法是所有搜索算法的基础。在这个基础上,目前在这一领域的算法主要有两类,一类是作为主流的深度优先的alpha-beta搜索及其系列增强算法,另一类是最佳优先的系列算法[2]。
(Minimax Algorithm)
始终站在博弈一方的立场上给棋局估值,有利于这一方的棋局给予一个较高的价值分数,不利于这一方(有利于另一方)的给予一个较低的价值分数,双方优劣不明显的局面给予一个中间价