围棋AI之路(三)UCT,进来之后才发现是地狱

本文详细介绍了围棋AI中使用的UCT算法,读者将深入理解这一决策策略,并通过提供的代码进行实践。
摘要由CSDN通过智能技术生成

照例还是先公布代码 http://download.csdn.net/source/913373

以及编译好的可执行程序,下载地址:http://download.csdn.net/source/913515
前面介绍的UCT算法听起来很诱人,但是只有你真正去实验一下你才知道原来有这么多问题。
理论上,UCT是一个一致的算法,它可以随着模拟次数的增加而自然提高棋力,而且理论上,它还可以计算到任意深度,而且理论上,它是天然支持并行计算的。
但是,看看它华丽的外衣下面隐藏着哪些东西吧:
一、模拟速度和内存问题
目前的模拟速度是让我满意的,但是内存跟不上,9路棋盘上的5万局模拟+UCT选择,也只需要1秒多时间,10万局也就差不多3秒钟,但是,如果我想持续进行120秒的模拟,1G的内存也是不够用的。
给我的感觉这个算法需要的内存比并行运算更重要,两个CPU分别模拟5万次和1个CPU独自模拟10万次,结果是不同的。如果我有64位的内存,我觉得这个算法的前景会很可观。
随后我自己想了一种方法来在有限的内存中模拟较长的时间,就是发现内存将要用完时,把胜率不佳的子树砍掉。但是这个改动破坏了算法的一致性,我用围棋试验的结果就是,AI超喜欢把棋连成一根长棍,而且走棋过程中自我感觉良好,快终局
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值