首页 百科知识 蒙特卡洛模拟中围棋知识的应用

蒙特卡洛模拟中围棋知识的应用

时间:2024-10-01 百科知识 版权反馈
【摘要】:由于蒙特卡洛评估是个动态评估的过程,也就是说需要通过实际的在一个棋盘上下一盘棋来进行评估,如何下这盘虚拟的棋就是engine这个参数来解决的问题。Listing18.2展示了如何将知识引入到蒙特卡洛模拟过程中,在初始化UCT引擎时,我们将一个模拟引擎作为参数传递进去,这个模拟引擎的实现就关系到了在模拟过程中是否采用知识、如何采用知识。

18.2 蒙特卡洛模拟中围棋知识的应用

在Listing18.2中,Episode_Game类有两个参数,一个参数是Color类型,用来记录当前这一幕的开始一方的颜色,另一个参数则是Engine类型,也是一个引擎,这个引擎在这个评估中的作用可以说是非同小可。

由于蒙特卡洛评估是个动态评估的过程,也就是说需要通过实际的在一个棋盘上下一盘棋来进行评估,如何下这盘虚拟的棋就是engine这个参数来解决的问题。在模拟引擎的选择上,采用纯随机引擎就可以达到不错的效果,但如果引入一些简单的知识,在不对效率做很大让步的前提下可以使模拟的性能有所提升,则也是一个不错的选择。

Listing18.2展示了如何将知识引入到蒙特卡洛模拟过程中,在初始化UCT引擎时,我们将一个模拟引擎作为参数传递进去,这个模拟引擎的实现就关系到了在模拟过程中是否采用知识、如何采用知识。在此例中,Elo_Engine就是用来作为模拟引擎的,它定义很多生成器作为参数,然后根据这些生成器的重要程度作为先后顺序来调用,并且在调用生成器时也会考虑一定的概率因素,这样就保证了在使用知识的同时,不失去其随机性。其中,Generator_Engine是一个特殊的引擎,它本身并没有任何实现策略,而是需要以一个生成器作为参数,然后在该生成器生成的所有坐标中随机挑选出一个作为该引擎所产生的坐标。关于Generator,在前面章节已经有所介绍,这里使用的3个Generator中,Rescue_Generator和Nakade_Generator是规则性的,而Context_Generator则是依据模式的Elo值来生成可选点坐标的

Listing18.2 带知识的蒙特卡洛模拟引擎

img214

img215

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈