博弈与算法实现
存储李希
毕业于北京大学,曾于国家并行计算机工程技术研究中心就读并工作,现于DDN Storage公司从事分布式文件系统研发工作,主攻Lustre文件系统。开源文件系统MTFS的作者。
展开
-
并行博弈树搜索算法-第6篇 百花齐放:各种并行Alpha-Beta算法
下面开始介绍一些在Alpha-Beta算法中引入并行化的方法和算法.6.1 并行求值(Parallel Evaluation)游戏的博弈程序经常要在搜索深度和叶结点的求值复杂度之间进行平衡.一些博弈程序,使用简化的估值函数,以获得更深的搜索深度.但是花费在对叶结点的求值中的时间仍然占搜索时间的很大一部分.一个在博弈树搜索中应用并行性的思想[6]就是将求职函数设计得较为复杂,并将它划原创 2012-03-01 22:38:16 · 6125 阅读 · 1 评论 -
并行博弈树搜索算法-第5篇 人多力量大(?):并行Alpha-Beta算法
在Alpha-Beta算法的并行化的过程中,一个较为困难的问题是判断从哪里开始并行搜索,因为一个分支的搜索可能会发现并行进行的另一个搜索完全可以避免.正因为如此,Alpha-Beta算法是一个很难并行的算法.虽然仿真可能预计出设计的Alpha-Beta并行算法具有非常好的性能,但是很多仿真都是基于一些不现实的假设的基础上.在实际的实现中,以下的因素经常会导致Alpha-Beta并行算法的并行效原创 2012-02-29 00:22:46 · 3544 阅读 · 0 评论 -
并行博弈树搜索算法-第3篇 优秀的园丁:Alpha-Beta算法
3.1 Alpha-Beta算法虽然博弈树的状态是有限的,但是状态个数却非常多.假设博弈树的深度为d,每个结点有b个分支,即分支因子(branchingfactor)为b,那么使用Min-Max方法搜索这个博弈树需要搜索个结点.然而幸运的是,Min-Max方法的一些搜索是没有必要的,故此可以剪除(cut-off)那些没有必要搜索,即对搜索进行剪枝(prune).Alpha-Beta算法原创 2012-02-27 22:30:53 · 10200 阅读 · 1 评论 -
并行博弈树搜索算法-第4篇 更上一层楼:Alpha-Beta算法的改进
在Alpha-Beta算法被广泛运用后,对该算法的很多改进算法也相继被提出.这些改进算法主要在以下几个方面对Alpha-Beta算法进行改进[7]:1. 择序(ordering).在搜索博弈树时,内部结点有多个可能的移动.择序指的是搜索这些分支的顺序.择序影响着搜索叶结点的个数,使得其数目在[,]区间内变化.如果择序使得博弈树是随机的,那么所需搜索的叶结点的个数较多,如果择序使得博弈树是强有序原创 2012-02-27 22:29:21 · 11845 阅读 · 1 评论 -
并行博弈树搜索算法-第2篇 博弈过程的抽象:MinMax方法
2.1 Min-Max方法假设在博弈过程中,对抗者1总是选择使得博弈值最小的移动,那么作为对手的对抗者2则总会选择是的博弈值最大的移动,对抗者1称为min,对抗者2称为max.由于博弈双方是交替移动的,所以博弈树的结点及其父结点分属于两个对抗者中的一个,他们的种类(type)分属max和min.博弈树上的每个结点对应于一个深度(depth),叶结点的深度为0.因此,在任意的结点node,对原创 2012-02-26 21:24:15 · 10452 阅读 · 1 评论 -
并行博弈树搜索算法-第1篇 什么是博弈树搜索算法
博弈树的搜索是人工智能领域一个重要的研究课题.许多完全信息的二人零和博弈问题都可以用博弈树搜索算法解决。那么什么是二人零和博弈问题呢?有一系列的博弈问题拥有以下性质[1]:1. 有两个对抗者:对抗者1和对抗者2.2. 两个对抗者交替移动.在博弈的每一个位置,对于正在移动的参与者,都存在有限个可能的移动.3. 游戏是决定性的,即游戏中不存在随机性.4. 游戏是完全信息的,原创 2012-02-26 13:00:14 · 14016 阅读 · 0 评论 -
并行博弈树搜索算法-第7篇 另辟蹊径:其他的博弈树并行搜索算法
除了基于Alpha-Beta算法的博弈树并行搜索算法外,还有其他的博弈树搜索算法.现简要介绍如下.7.1 SSS*算法及其并行化Alpha-Beta算法是一种基于Min-Max方法的固定深度(fixed-depth)搜索算法.说它是固定深度的搜索算法,是因为对每个结点,它依序从左到右搜索其所有子结点.与Alpha-Beta算法相同的是,SSS*算法[19](或者其对称算法DUAL*)原创 2012-03-02 22:12:18 · 2905 阅读 · 0 评论