The invention discloses a general computer game strategy search engine library, including: Monte Carlo tree search algorithm class contains a hash map data structure, table level thread mutex, Monte Carlo method, strategy selection method, and situation assessment method; game tree search includes state specific situation corresponding situation of Monte Carlo the total number of Monte Carlo simulation counter, corresponding situation action simulation victory total counter, node level thread mutex class instance, Monte Carlo simulation game tree of success and failure in case of search state updating method; node level thread mutex class contains thread safe, can seize the atomic variable type construction method of configuration mutex write the principles of conduct, through the methods of the class members, to achieve circular wait read / write based on shape State preemption mechanism. In the computer game system, this kind of engine has extensive applicability, high performance and great convenience.
【技术实现步骤摘要】
一种通用的计算机博弈问题策略搜索引擎类库
本专利技术涉及计算机博弈
,具体是一种通用的计算机博弈问题策略搜索引擎类库。
技术介绍
计算机博弈作为人工智能的重要发展方向之一,是对人工智能广泛、深层逻辑决策能力的一大挑战。计算机博弈树搜索算法,以基于简单深度优先搜索的极大极小值搜索为起点,已经经过了长足的发展,诞生了影响深远、应用广泛的Alpha-Beta剪枝,其各种改进版本如SSS算法、PVS算法、MTD(f)算法,以及置换表、启发表、杀手表等辅助数据结构。但是随着对基于极大极小值搜索算法的改进日趋饱和,人们开始普遍地将目光移向博弈局面评估方法的设计上。而一个好的局面评估方法,势必涉及大量博弈局面评估经验,这提高了开发优秀计算机博弈树搜索引擎的技术门槛,削弱了这类传统算法的推广能力。蒙特卡洛树搜索算法的提出为通用的计算机博弈树搜索引擎带来了希望。这类随机算法通过大量随机模拟博弈,获得博弈树中各个状态结点的模拟胜率,即局面价值,同时利用UCB1、UCB1-TUNED等平衡策略,使随机模拟博弈过程中的策略选择兼顾横向探索倾向与纵向挖掘倾向,令博弈树的展开更高效、有针对性。蒙特卡洛树搜索算法具有两个值得注意的特性:由于该类算法使用随机模拟累计胜率来描述特定局面的优劣,不再依赖任何博弈规则以外的场景相关博弈知识或经验,具有极佳的泛用性;所有随机模拟过程之间很大程度上相互独立,有竞争资源,但没有同步需求,只要调度合理,完全有可能将算法并行化。事实上,在围棋计算机博弈系统,包括著名的围棋AIAlphaGo中,并行化的蒙特卡洛树搜索算法已经得到了广泛运用,其中“更新 ...
【技术保护点】
一种通用的计算机博弈问题策略搜索引擎类库,其特征在于,包括:1)蒙特卡洛树搜索算法类:包含以局面哈希值为键,以局面对应的博弈树结点的搜索状态类实例为值的哈希映射表数据结构,表级的线程互斥锁,蒙特卡洛随机模拟方法,策略选择方法,以及局面评估方法;2)特定局面的博弈树搜索状态类:包括对应局面下蒙特卡洛模拟总数计数器,对应局面下行动方的蒙特卡洛模拟胜利总数计数器,结点级线程互斥锁类实例,蒙特卡洛模拟胜利情况下的博弈树搜索状态更新方法,蒙特卡洛模拟失败情况下的博弈树搜索状态更新方法;3)结点级的线程互斥锁类:包含线程安全的、可抢占原子变量,可配置互斥锁写行为原则的类构造方法,通过该类的成员方法,实现基于循环等待的读/写状态抢占机制。
【技术特征摘要】
1.一种通用的计算机博弈问题策略搜索引擎类库,其特征在于,包括:1)蒙特卡洛树搜索算法类:包含以局面哈希值为键,以局面对应的博弈树结点的搜索状态类实例为值的哈希映射表数据结构,表级的线程互斥锁,蒙特卡洛随机模拟方法,策略选择方法,以及局面评估方法;2)特定局面的博弈树搜索状态类:包括对应局面下蒙特卡洛模拟总数计数器,对应局面下行动方的蒙特卡洛模拟胜利总数计数器,结点级线程互斥锁类实例,蒙特卡洛模拟胜利情况下的博弈树搜索状态更新方法,蒙特卡洛模拟失败情况下的博弈树搜索状态更新方法;3)结点级的线程互斥锁类:包含线程安全的、可抢占原子变量,可配置互斥锁写行为原则的类构造方法,通过该类的成员方法,实现基于循环等待的读/写状态抢占机制。2.根据权利要求1所述的通用的计算机博弈问题策略搜索引擎类库,其特征在于,蒙特卡洛随机模拟方法,以当前结点为任务起点,以模拟博弈结束为任务终点;查询搜索状态索引表,在特定结点预热模拟未完成时,即其所有分支的模拟访问总数均不小于设定阈值前,均匀地随机挑选下一个分支局面继续迭代模拟;查询搜索状态索引表,在特定结点预热模拟已完成,即其所有分支的模拟访问总数均不小于设定阈值,按照配置的平衡策略挑选下一个分支局面继续迭代模拟。3.根据权利要求1所述的通用的计算机博弈问题策略搜索引擎类库,其特征在于,策略选择方法,通过公式min{CPU逻辑核数,参数设定的线程数},确定启动蒙特卡洛模拟线程的实际数量;查询蒙特卡洛树搜索算法类实例中的博弈树搜索状态映射表,获取当前博弈局面的直接分支的模拟胜率;对局面归属与当前局面不一致的局面的胜率进行翻转,即用模拟总数减去胜利总数,作为新的胜利总数;选择胜率最高的分支作为最佳分支;获取使当前局面进入最佳分支的策略并返回之。4.根据权利要求1所述的通用的计算机博弈问题策略搜索引擎类库,其特征在于,局面评估方法,通过公式min{CPU逻辑核数,参数设定的线程数},确定启动蒙特卡洛模拟线程的实际数量;查询蒙特卡洛...
【专利技术属性】
技术研发人员:李淑琴,张亦鹏,丁濛,孟坤,李玉璋,郑蓝舟,
申请(专利权)人:北京信息科技大学,微智娱北京科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。