“人狗”围棋大战背后的数学花絮
关注微信:DuoDaaMath 每天获得更多数学趣文
作者,Math001 ,哆嗒数学网网主。
这几天,李世石和Google AlphaGo的人机大战成为了最热门的话题。最终,AlphaGo在5番大战中以4:1战胜了人类代表李世石九段,电脑第一次在围棋这个古老游戏上战胜人脑,这绝对是谷歌在人工智能业界,乃至全球科技界树立的新的里程碑。
为什么?让我们来回顾历史吧!1997年,在IBM“深蓝”战胜国际象棋世界冠军卡斯帕罗夫之后,《时代》杂志提出了一项新的挑战:“让计算机与人类下围棋吧,它获胜的机会很小。计算机要在围棋上战胜人类,还要再过一百年,甚至更长的时间”。然而,2016年,人类的科学家们就让电脑就做到了,还不到20年。
因为AlphaGo的读音,人们亲切的把它唤作“阿法狗”,昵称“狗狗”。“狗狗”的胜利一开始就有人不服气,在这些人中,最有代表性的一定是暂时为世界围棋第一人的柯洁(用暂时是因为柯洁说要谦虚)。
不过,我们哆嗒数学网最关心当然是和数学相关的花絮啦,这里我们从一些关键词出发,和大家盘点一二。
第一组关键词:复杂度、状态机、策略
如果你是撸啊撸(LOL)的玩家,那么你一定会困惑,开一把人机至于搞得那么高大上吗?是的,要知道围棋能开这把人机是多么的不易,因为要让电脑下的围棋水平和人类高手相当困难。困难的原因就在于围棋太复杂,以至于要处理围棋对弈的算法的复杂度极大,尤其是时间复杂度。
我们从围棋棋盘的状态来简单估计一下围棋的复杂程度。围棋的棋盘是横竖都是19条直线的网格构成,这个网格一共有19×19=361可以落子的交叉点。每个交叉点有黑子、白子以及空格三总可能,那么围棋的有的状态数就是3的361次方,即约1.7×10^173种状态(x^y表示x的y次方)。
然而,了解围棋规则的人知道,在一个合法状态的围棋棋盘上是不会有“无气”的子的。上述穷举状态中很多都是不合法的,而合法状态的数量是多少却一直是个难题,知道今年年初才被普林斯顿的研究人员计算出来,结果约为2.1×10^151,仅是前面一万亿亿分之一。虽然数量减少不少,但依旧很多——比科学家测算的全宇宙的粒子个数2.2×10^79还多得多。
我们下一盘棋,无非就是从开局到终局,这些状态相互切换的排列组合。切换是依据围棋规则,以及试图取胜的策略进行的。这些状态切换的过程形成一套庞大体系与机制,这个就是状态机。这个复杂状态机决定了围棋的复杂程度。
第二组关键词:算法、蒙特卡洛树搜索、神经网络算法、深度学习
计算机永远是通过算法来执行一件具体的事情的。“狗狗”的要和李世石对弈,也是如此。构建“狗狗”对弈算法的主要结构是两个,一个是蒙特卡洛树搜索,一个是神经网络算法。
每个围棋盘面都有一个“最优走法”,对应于对弈双方都采用完美不失误走法的情况下该盘面的最终结果。但是前面一件说过,因为状态机的复杂性的原因,这几乎是不可能完成的任务。于是退而求其次,既然无法得到最优走法,有没有可能加入随机因素对整个可能性空间进行某种采样,然后通过统计估值算概率的方法逼近这个最优走法呢?人们对这个问题的思考在2006年终于取得了突破性进展,提出了一种称为蒙特卡洛树搜索的动态评估方法。
而真正让“狗狗”变得强大的,是后面的神经网络算法,这个算法让“狗狗”有了自学习能力。“狗狗”下棋会利用两个网络,“价值网络”和“策略网络”。利用“价值网络”去计算局面,用“策略网络”去选择如何下子。“狗狗”不同于一般的超级计算机,它可以像人一样学习,通过自己和自己的对弈,分析棋谱,并不断进步。和之前对弈程序不同的是,“狗狗”不仅仅是单纯的计算,所以计算力是无法估量的。
蒙特卡洛树搜索、神经网络以及每天数以百万计的自我对弈,让“狗狗”有了自我“深度学习的能力”。
第三组关键词:人工智能、大数据、计算机科学家、数学家
我们前面提到过,“狗狗”因为神经网络算法而产生了能力上的质变。但实际上,神经网络在几十年前就有了,而直到最近几年他的强大才逐渐体现出来。这是因为他们需要大量的“训练”去发现策略中的被数学量化后的价值。对早期研究者来说,想要获得不错效果的最小量训练都远远超过计算能力和能提供的数据的大小。最近几年,“大数据”技术的兴起,使得大量“训练”成为可能。神经网络算法的价值就是通过“大数据”技术来高效训练,而重新凸显出来的。
这其实是一个新兴且高大上的领域——人工智能领域。但我们其实在很多地方已经在享受他们带来的便利了——打开外卖软件,它会把你最爱吃的菜摆在你面前,当你搜索打错字的时候,搜索引擎也会问你是不是想搜索的是另外一个东西。而这个领域里,两种职业的人最为活跃——计算机科学家和数学家。
2014年在韩国举办的数学家大会就有一个专题关于围棋讨论会。那个时候,最好的围棋软件也不是一般业余棋手的对手。数学家、计算机科学家、棋手们在大会期间各抒己见,纷纷发表对如何提高电脑下围棋水平的看法。
不久之后,百度公司宣布,他们旗下的科学家研发的Bingo系统利用一些能让系统自我学习的手段轻松战胜业余有段位的棋手(这里也为说百度公司不做这个研究的不实消息辟谣)。这其实是一个突破,虽然离战胜顶尖高手还很远。
包括中国、美国、英国、日本、韩国等国家的数学家、计算机科学家都在电脑下围棋的研究中付出过努力,科技是不断迭代中前行的,“狗狗”也不完全是突然蹦出来的。
第四组关键词:奖金、STEM、数学教育
本次比赛,谷歌公司提供了100万美元的奖金。如果李世石获胜,奖金将给予李世石本人。如果“狗狗”获胜,奖金将赠予联合国儿童基金以及与STEM教育和围棋有关的团体。
STEM,是科学,Science、技术,Technology、工程Engineer、数学,Mathematics,四个单词首字母拼在一起的缩写。现在“狗狗”赢了,也就是说这笔奖金有一部分将提供给数学教育,一些学数学或者教数学的人群将因此受益。这对数学学科的发展和数学人才的培养总是有好处的。可以理解谷歌这样做的用意。一方面,“狗狗”是因为这些人才的智慧才取得成功的;另一方面,这些学科的发展和人才的培养,会催生出更多新技术,那时候“狗狗”在今天所做的一切,就只是历史故事了。
所以,我们感谢谷歌公司,当然也要感谢李世石,感谢围棋这门古老的游戏。
关注微信:DuoDaaMath 每天获得更多数学趣文
评论已关闭