设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
gugeren的博客  
有则写之,无则空之  
https://blog.creaders.net/u/5804/ > 复制 > 收藏本页
网络日志正文
浅谈蒙特卡洛树搜索(MCTS) 2016-03-20 00:33:13


浅谈蒙特卡洛树搜索(MCTS)

1] 围棋软件AlphaGo的3个主要系统

最近打败世界围棋手李世石的围棋软件AlphaGo主要由以下3个系统组成:

1. 策略网络(Policy Network):落子选择机制,它着眼于每一步弈棋的下法。

2. 估值网络(Value Network):局面评估机制,它注重于对全局形势的判断。

3. 蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS):实现围棋这样超高复杂博弈机制的一种随机算法。

前两个系统容易理解。蒙特卡洛树搜索则有些让人不好理解。本想看到内行的介绍文章,但这类文章一直没有出现。故不揣冒昧,先写一篇,以抛砖引玉。

2] 什么是搜索树和树搜索?

由于棋类活动的每一步一般可以有好几种走法,因此可以把这个思考过程描述成一棵“树”的形状,术语就称为“搜索树” [search tree],见图:

而发现这棵“树”中的每一步好棋,就称为“树搜索”(tree searching)。

简单的棋类,如“井字棋”、“五子棋”,可以把所有能走的全部棋步都找出来,然后把对手的回应棋步也全都找出来,然后找出第3步、第4步、……,并对每步都进行评估,这样就形成了比较正确的走法。这是人们下棋时思考的过程。想得越深、越广,就越容易赢棋。

电脑软件模仿人类下棋,也是采用这种方法;只是它把每个棋步都评分成数值,比较这些数值的大小。数值越大的棋步表明赢的希望越大,就成为软件走棋的依据。

但是对于中国象棋、国际象棋和围棋来说,这棵“树”就太大,根也太深了,写出这样算法的软件就比较难。

特别是围棋,由于它的棋盘上有361个点之多,因此把这些棋步全部找出来,是不现实的。

由此就引入了蒙特卡洛搜索。

3] 蒙特卡洛搜索树及其原理

蒙特卡洛树搜索,简单地说,就是只在全部可以走的棋步“树”中,随机地选取若干棋步,从中挑选出最好的那步棋走。等对方回应的棋步走出后,再继续随机地选取相应的棋步,重复这样的过程;而不是找出所有可能的棋步。

因为摩纳哥(Monaco)的蒙特卡洛是世界有名的赌城之一,而这样的搜索有些像赌博那样碰运气,因此得名。

有人举了一个生动的例子来描述蒙特卡洛搜索树。

在一个密封的筐里有100个苹果,人们每次拿出1个苹果,目的是从筐中挑出最大的苹果来。

人们最先想到的做法就是:随机拿出1个苹果,再随机拿出另1个苹果与它相比,从中挑出较大的那个苹果来;然后再从筐中拿出第3个苹果,把它与那个大的苹果相比,挑出大的那个……。这样重复以上的过程。

人们每次挑出的苹果都至少不比上次的小。拿出的苹果越多,就能找到越大的苹果。但是除非人们挑选完所有的100个苹果,他们无法肯定挑出了筐里最大的苹果,但是却能保证能挑出已经拿出来的苹果中最大的那个。

这个挑苹果的算法,就是蒙特卡罗树的算法:尽量选出好的,但不能保证是最好的。

由于蒙特卡洛树搜索仅随机选取了某几个棋步进行比较,因此,它走出的棋步也并非是最佳的棋步,但是却是比较好的棋步。对AlphaGo来说,至少是可以取胜的棋步;最坏的情形,大概是能保证它不会输的棋步。

具体反映到AlphaGo上,这就是为什么它有时会走出一些“弱手”而让9段高手们看不起的原因。但是高手们不了解的是,软件走出的那些“弱”的棋步其实并非不会取胜,只是为了减少计算,它可能选择了当时棋手们看来只是第二好、第三好,甚至第n好的棋步;只要保证它能赢棋,一步的好坏对它来说是无所谓的。

这也解释了为什么AlphaGo仅在几个月前赢了2段棋手,而在几个月后却能以4:1赢了9段棋手李世石(第4盘中,李世石也只能说是险胜)。实际上,软件是根据对手的棋步来相应地走棋的。对手弱,它选择的棋步就会弱,而不是像人类棋手那样,根据自己的水平走出自己的最好走法。遇到9段高手,它也是如此。这显示出它“遇强则强,遇弱则弱”的特点。

蒙特卡洛算法由数学家乌拉姆(Stanisław M. Ulam,1909-1984)最早提出,再经科学天才冯·诺伊曼(John von Neumann,1903-1957)发展和完善。

乌拉姆曾利用这个蒙特卡罗方法计算裂变材料的中子扩散问题。

4] 题外话

因为AlphaGo是人写的,因此它肯定有弱点。就是说,它并非不可战胜的。

AlphaGo软件的估值网络,据报道可达13层之多;就是说,它可以看到13步棋步那么远。

而在开局阶段,由于AlphaGo软件采用的蒙特卡洛树搜索的那棵“树”太大,因此可能会牺牲掉一些搜索的深度,而达不到13层之多,以此来保证有足够的搜索的广度。

由此可以看出,AlphaGo的开局是比较弱的。其实这也是所有棋类对弈软件的普遍弱点。有关资料显示,AlphaGo这个“软弱的”开局阶段大概持续20手左右,以后随着棋盘上的棋子越来越多,它的棋力也会越来越强。

因此,人类棋手需要在开局阶段尽量找到能占优势的棋步,而不能寄希望在中盘甚至收官阶段来打败它;或者想把局面弄复杂些来打败软件。

从资料来看,平常的比赛时,AlphaGo经常打开一个5x5个局部棋盘的窗口;就是说,它一般能把这25个格子里的变化都研究得透透的了。这个水平,估计人类9段棋手是做不到的;他们可以根据经验来大致评估双方的棋势,而不能把每个点(目)的各种情况都算透了。

棋类对弈软件的全局观较差

有人可能会说,这次AlphaGo与李世石的比赛中,感到软件的全局观是不错的。其原因可能是,据说李的棋,局部计算较好,全局上面则较差。对比之下,反而是软件更强些。

想想也能明白,毕竟整个棋盘的全局的计算量巨大,而局部的计算量则较小。

棋类对弈软件没有主动进攻意识

棋类对弈软件主要根据对手的走法找出相应的棋步来应对。它们普遍缺乏主动地在某个局部挑起战争的意识。尤其在前段棋局时是如此。这也是由于主动挑战需要的计算量太大,应付局面则需要的计算量小多了。

作为软件的人类对手,就要利用软件的这个弱点,主动挑起战争。

这也是李世石感到软件在执黑时弱、执白时强的原因:先手时它不知道走什么好;而应战时则比较好走。

多展开几个局部的战争。让软件不知道应该把主要精力放在哪儿。

电脑软件大多是“一根筋”思路。它可以把事情计算得很深层,但是不善于应付多局面的事务。要至少展开2个以上的局部战争。

参考连接

https://www.zhihu.com/question/20254139

http://songshuhui.net/archives/94410


浏览(3896) (0) 评论(5)
发表评论
文章评论
作者:芨芨草 留言时间:2016-03-28 20:20:55
<p><span style="font-family: 宋体;">对弈软件是人写的,而人总是会犯错误,所以软件也不是十全十美的。但如果软件有自我学习能力,能够把发现的错误及时弥补,不再发生类似的错误,这个软件就会越来越强大。只要不拔电源,人类就战胜不了它了。</span></p><p><span style="font-family: 宋体; font-size: 14px;">江铸久说,随便放几个弃子,就能把软件搞糊涂了。首先,这是不公平对弈,也是不尊重自己。另外,如果软件能够自己规范棋盘区域,同时考虑几个区域,再权衡利弊,则在局部争夺中也可取胜。</span></p>
回复 | 0
作者:gugeren 留言时间:2016-03-21 10:09:12
谢谢究竟博的补充。
回复 | 0
作者:究竟 留言时间:2016-03-20 21:17:26
很好的简介。
开局电脑可用定式搞定。
看了一些介绍,阿狗的蒙特卡罗树搜索某些树是走到底的。
它的估值网络根据以前学习积累的经验对可能的一步给出粗估,在用蒙特卡罗搜索给出细估,最后的估值是两者的加权平均。
回复 | 0
作者:gugeren 留言时间:2016-03-20 08:19:44
谢谢道还博来访。
回复 | 0
作者:道还 留言时间:2016-03-20 06:18:04
这个帖子很能说明问题,非常感谢。

在学术论坛上回了你的帖子,又有一点感想,贴在这里。

我的理解这是个边际递减的应用,这样20-80定律中20的部分就精确确定了,有80的效应。

李世石如果完败,那是没什么可说的。但李竟然赢了一盘,说明他的“不精确”思考是覆盖了20+80。李世石赢的那一盘,正是在那不重要的80的部分。所以也可以理解。这样看来,机器人想要像人类那样思考至少在80的部分要有直觉部分。这个直觉在尽量经济的情形下如何估值,是个有趣的问题。机器思维以前我看至少与人脑差两个层次,现在看来差得可能还多。
回复 | 0
我的名片
gugeren
注册日期: 2012-01-06
访问总量: 3,059,954 次
点击查看我的个人资料
Calendar
最新发布
· 【美国时事通】当被捕杀者成为猎
· 【RRN】白帽逮捕一宾夕法尼亚州
· 【RRN】军方将清洗叛国军官
· 【RRN】FBI局长Wray被控叛国罪但
· 【美国时事通】川普胜选后,她要
· 【RRN】海军陆战队逮捕马约卡斯
· 【美国时事通】911,J6等真相将
分类目录
【DIY】
· DIY-2:修理漏水的浴缸水龙头
· DIY-1:更换煤气热水锅炉的水
【数学】
· 【圆周率π】与斐波那契数
· 趣味的数学-468
· 趣味的数学-467
· 趣味的数学-466
· 趣味的数学-465
· 趣味的数学-464
· 趣味的数学-463
· 趣味的数学-462
· 趣味的数学-461
· 趣味的数学-460
【美国大学申请】
· 又是申请大学时:申请美国大学心
· 寻找学生人均钱最多的美国高校
· 寻找有钱的美国大学
· 藤校中亚裔学生的比例
· 欢迎B咖学生的美国大学
· 美国大学招生时着重察看申请学生
· 有关申请美国大学过程的书籍和网
· 美国劳工部对2010-2020年劳动力
【杂记】
· 从李密《陈情表》说开去
· 请万维编辑注意博客中的安全问题
· 从《上甘岭》到《黄河绝恋》
· 【转】任正非:华为现在就像一架
· 录鲁迅诗以祭六四惨案卅周年
· 【摘录】中国加入世界贸易组织的
· 如何看美中电视播音员辩论直播
· 【快讯】美中播音员辩论直播
· 当今世界的前10名人口大国
· 什么是“贸易顺差”?
【股票+金融】
· 美FED于周日异常减1%利率
· 如今美国股市遍地黄金
· 浅谈“长期护理”
· 再谈中国政府抛售美国国债的后果
· 对西岸博的回应
· 中国抛售美国国债的后果
· S&P500中高利润率的股票
· 【转】对弈论阐述股市大户赢钱策
· 美国国债
· 【转】有关中国进口粮食的材料-4
【自己文章】
· 【杨】安泽的落选表明每月千刀的
· 【网站】RRN是一个什么网站?
· 【厨房】馒头为何塌陷、萎缩?
· 【书】白左写书揭2020大选舞弊
· 【论】选举作弊=一党专政
· 【趣味问题】为什么至今习近平不
· 邮寄选票的弊端
· 为什么不能选拜登为美国总统?
· 每个人的生命都金贵
· 社会主义不能救美国
【转贴好文章】
· 【美国时事通】当被捕杀者成为猎
· 【RRN】白帽逮捕一宾夕法尼亚州
· 【RRN】军方将清洗叛国军官
· 【RRN】FBI局长Wray被控叛国罪但
· 【美国时事通】川普胜选后,她要
· 【RRN】海军陆战队逮捕马约卡斯
· 【美国时事通】911,J6等真相将
· 【RRN】杰克·史密斯被判叛国罪被
· 【中国观察】弗林将军向美国共产
· 【中国观察】川普新内阁中没有蓬
存档目录
2024-11-01 - 2024-11-19
2024-10-01 - 2024-10-30
2024-09-02 - 2024-09-27
2024-08-01 - 2024-08-31
2024-07-01 - 2024-07-31
2024-06-02 - 2024-06-29
2024-05-01 - 2024-05-31
2024-04-05 - 2024-04-30
2024-03-01 - 2024-03-30
2024-02-02 - 2024-02-29
2024-01-01 - 2024-01-30
2023-12-01 - 2023-12-31
2023-11-02 - 2023-11-29
2023-10-01 - 2023-10-29
2023-09-03 - 2023-09-28
2023-08-01 - 2023-08-28
2023-07-03 - 2023-07-30
2023-06-01 - 2023-06-29
2023-05-01 - 2023-05-30
2023-04-02 - 2023-04-30
2023-03-01 - 2023-03-31
2023-02-01 - 2023-02-19
2023-01-02 - 2023-01-27
2022-12-01 - 2022-12-29
2022-11-01 - 2022-11-30
2022-10-04 - 2022-10-31
2022-09-01 - 2022-09-29
2022-08-02 - 2022-08-31
2022-07-01 - 2022-07-28
2022-06-01 - 2022-06-29
2022-05-13 - 2022-05-16
2022-04-06 - 2022-04-30
2022-03-01 - 2022-03-29
2022-02-01 - 2022-02-28
2022-01-01 - 2022-01-24
2021-12-01 - 2021-12-30
2021-11-01 - 2021-11-30
2021-10-02 - 2021-10-31
2021-09-03 - 2021-09-30
2021-08-01 - 2021-08-31
2021-07-01 - 2021-07-28
2021-06-01 - 2021-06-30
2021-05-01 - 2021-05-31
2021-04-09 - 2021-04-30
2021-03-03 - 2021-03-31
2021-02-03 - 2021-02-27
2021-01-01 - 2021-01-31
2020-12-01 - 2020-12-31
2020-11-01 - 2020-11-30
2020-10-02 - 2020-10-31
2020-09-01 - 2020-09-26
2020-08-01 - 2020-08-26
2020-07-01 - 2020-07-31
2020-06-05 - 2020-06-30
2020-05-01 - 2020-05-31
2020-04-01 - 2020-04-29
2020-03-01 - 2020-03-31
2020-02-01 - 2020-02-29
2020-01-03 - 2020-01-31
2019-12-04 - 2019-12-31
2019-11-01 - 2019-11-29
2019-10-01 - 2019-10-31
2019-09-01 - 2019-09-30
2019-08-01 - 2019-08-29
2019-07-08 - 2019-07-27
2019-06-03 - 2019-06-22
2019-05-01 - 2019-05-29
2019-04-01 - 2019-04-29
2019-03-01 - 2019-03-30
2019-02-01 - 2019-02-28
2019-01-06 - 2019-01-27
2018-11-24 - 2018-11-24
2018-08-08 - 2018-08-08
2018-07-10 - 2018-07-29
2018-06-02 - 2018-06-21
2018-05-24 - 2018-05-24
2018-04-06 - 2018-04-30
2018-03-27 - 2018-03-27
2018-02-01 - 2018-02-01
2018-01-05 - 2018-01-05
2017-12-16 - 2017-12-31
2017-11-10 - 2017-11-24
2017-10-02 - 2017-10-31
2017-07-13 - 2017-07-17
2017-06-02 - 2017-06-02
2017-05-04 - 2017-05-27
2017-04-03 - 2017-04-30
2017-03-01 - 2017-03-23
2017-02-09 - 2017-02-20
2017-01-01 - 2017-01-22
2016-12-01 - 2016-12-17
2016-11-03 - 2016-11-29
2016-10-01 - 2016-10-31
2016-09-02 - 2016-09-30
2016-08-12 - 2016-08-30
2016-06-03 - 2016-06-03
2016-05-02 - 2016-05-26
2016-04-01 - 2016-04-29
2016-03-09 - 2016-03-20
2016-02-13 - 2016-02-13
2016-01-16 - 2016-01-22
2015-12-12 - 2015-12-25
2015-11-08 - 2015-11-22
2015-10-02 - 2015-10-17
2015-09-01 - 2015-09-19
2015-08-15 - 2015-08-29
2015-07-03 - 2015-07-31
2015-06-18 - 2015-06-26
2015-05-25 - 2015-05-31
2015-03-09 - 2015-03-13
2014-12-26 - 2014-12-30
2014-06-03 - 2014-06-03
2014-05-29 - 2014-05-29
2014-03-03 - 2014-03-03
2014-02-08 - 2014-02-15
2013-12-03 - 2013-12-29
2013-11-01 - 2013-11-16
2013-10-02 - 2013-10-30
2013-08-04 - 2013-08-30
2013-07-19 - 2013-07-22
2013-06-03 - 2013-06-19
2013-04-23 - 2013-04-28
2013-03-15 - 2013-03-22
2013-02-09 - 2013-02-10
2013-01-01 - 2013-01-02
2012-12-09 - 2012-12-29
2012-10-12 - 2012-10-12
2012-09-26 - 2012-09-26
2012-07-04 - 2012-07-04
2012-06-01 - 2012-06-22
2012-05-26 - 2012-05-26
2012-04-06 - 2012-04-28
2012-03-02 - 2012-03-30
2012-02-04 - 2012-02-29
2012-01-07 - 2012-01-08
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. Creaders.NET. All Rights Reserved.