最近几天,AlphaGo与围棋世界冠军李世石的对弈引起了全世界的关注,已然成了历史性的事件。今天下午第四场比赛结束,由于AlphaGo程序出现bug,使得李世石获得了唯一的一次胜利。

这自然凸显出人工智能的强大,大家觉得,计算机的计算速度之快,只要遍历完所有可能的情况,自然会胜过人类。其实,这是没有真正理解围棋困难程度的表现。


AlphaGo与李世石的对局

围棋与数学

现在世界上流行的棋类之中,与数学联系得最密切的,莫过于围棋了。围棋自布局至终盘,其间的棋之死活、形势优劣和终局胜负,无一不与数字有关。请看:“对杀白多一气”,“盘面领先十目”,“转换黑损三目”,“先手官子四目”,“白胜四分之一子”。其实,围棋中涉及到数学的地方决不限于上述所举之例。连围棋的基本棋理也借助数学理论予以论证。如常用的棋理格言“金角银边草肚皮”,就是计算同样数目的棋子在角、边、腹等处所围地域的多寡来加以说明的。

远在古代,人们就已经注意到了棋局总数的问题。依照围棋规则,对弈对方总能够在有限的棋步以内弈至终局。显而易见,能够弈出的不同局面的棋避总数也必定是个有限数字。宋代学者沈括曾对这个问题进行过计算。他的计算方法是:棋盘上每一点都有黑、白、空三种可能出现的状态,那么用现代的数学方式表示便是一个点可产生 3 = 3^1('^'在本文代表次方符号,'*'代表乘号) 种局面,二点则能产生 3 * 3 = 3^2 种局面,┄┄以此类推, 19 * 19 路棋盘共 361 点可能产生的不同局面总数的 3^361 。

3^361 这个数字究竟有多大呢?具体计算一下就可以知道, 3^361 > 1.74*(10^172) ,这可是一个巨大的数字。事实上, 现在已知的宇宙范围内的原子总数不过才10^80 ,要远远小于 1.74 * (10^172) 。打个比方来说吧,假设全世界七十亿人者来下围棋,每人每天下一盘,要下完 1.74 * (10^172) 盘棋就得花上 6.8 * (10^159) 年,而现在人类所知道的宇宙的历史也不过才 200亿年 ,即 2 * (10^10) 年。由此可见,小小棋盘所能容纳的柜局真是深不可测!

如果再从着子次序来考虑,围模的变化就更加令人眩目了。在 19 * 19 路棋盘上第一手有 361 种考虑,第二手便只有 361 种考虑,依次递减。那么全部变化将达 361 * 360 * … * 2 * 1 = 361! (361!称为361的阶乘)种。

3^361与361!比起来,也只能算是小巫见大巫了。用数学方式表示一看便知:361!> 1.43 * (10^768)。两者相比,相差竟达8.21 * (10^595)倍!即使动用一台每秒钟能够列出十亿种变化的电子计算机,要列完361!种变化也得花上4.55 * (10^750)年!相当于4.55亿亿亿亿亿亿亿亿...亿年(...至少包含80个“亿”字)

遵循上面的思路,再来考虑一下定式的数量极限。定式可以说是对弈双方在角上合理的应接,这样可将定式的着子范围限定在四分之一棋盘以内,此时所考虑的点数为9 * 9 = 81。在81点上的变化总数为81!> 5.97 * (10^120)。注意到定式应当是双方合理的着法,也就是说只可能是全部变化中的极少一部分。据资料介绍,目前已创造的定式总数达数万之多,仍少于1 * (10^5)个。1 * (10^5)与5.79 * (10^120)相比科是沧海一粟。因此可以满怀信心地断言:定式的创新远远没有达到止境。

一般来说,业余棋手喜好中盘搏杀,而职业高段棋手更看重布局。精心构思出来的奇妙布局总是给人以惊心动魄的艺术感受。对角星、秀策流、二连星、三连星、中国流作为成功的布局从历史上流传下来,也许还将流传下去。但是,艺术的极境却在于创新。现仍借助数学工具对于围棋布局作一番探究。假设一局棋的前五十步棋为布局阶段,那么布局变化的总数将达 361 * 360 * … * 312 * 311 > 6.63 * (10^128) 种。为了与之比较,再来考察一下中国象棋的开局变化总数。可以假定中国象棋一局棋里的前二十步棋为开局阶段,在仍拥全部棋子的情况下,一方每步走子位置的最大可能选择范围为 111 种,由此可知象棋开局变化总数小于 111^20 < 8.01 * (10^40) 种。相比之下,围棋布局变化竟比象棋多出 8.22 * (10^87) 倍,而这给棋手提供了多么自由的广阔天地。

几百年前,日本棋界率行先废除了座子制。从数学的观点来看,此举使得围棋全局的变化尤其是布局的变化扩展了 361 * 360 * 359 * 358 > 1.67 * (10^10) 种,也就是说,仅仅去掉了事先摆上的四颗棋子,竟使棋局变化增加了一百六十七亿种之巨。可见座子制的废除实乃围棋历史上的一大飞跃。

从对策论的观点来看,围棋对弈属于有限信息对策。根据对策论的定理,黑白双方在众多的变化之中必有一种或若干种胜负结果相同的全局最佳着法。假设黑白双方都以最佳着法对弈下去直至终局,由于黑持先行之利,终局时盘面上黑将会比白方多出若干目地域。为了使对弈双方处于平等地位,在竞赛规则中就应当规定黑方贴还给白方相应的目数,这就是当今世界上各种围棋规则中都有贴目规定的理论根据。

目前各种围棋规则中的贴目数并不一致。这是因为现行规则中的贴目数中是统计意义上的。由前面的论述中可以推论得知,那些使和局不可能出现的贴目数定非合理精确的贴目数。只要无法列出天文数字般的围棋全部着法,人们也就无法从中比较而得到全局最佳着法,至少人们无法判断所得着法是否全局最佳,这样一来,合理而精确的贴目数自然也就形成了一个悬案。这个数字也许永远不会为人们知道。其实,如果有一天人们真的掌握了围棋全局最佳着法,围棋就会变得像公布了谜底的谜语一样,一下子便变索然无味了。

深蓝与AlphaGo

1997年,IBM制造的国际象棋机器“深蓝”战胜了当时的国际象棋世界冠军卡斯帕罗夫。这在人工智能历史上是一个标志性事件。但是,深蓝的软件是专门为国际象棋设计的。它评估盘面的四项标准包括子力、棋子位置、王的安全性还有布局节奏——显然,这些指标完全依赖于国际象棋本身的规则,没有任何扩展性。

它也还是非常依赖于“蛮力”的。深蓝的硬件是当年最快的下棋机器,虽然有系统帮助筛选,它每秒依然要评估20亿个可能局面。为了应对这一需求,IBM当时为它开发了定制的硬件。

其结果就是,与其说它是一个国际象棋程序,不如说是一台国际象棋机器。深蓝只能下国际象棋,学不会围棋,连简单的五子棋也学不会。相比之下,作为人类的卡斯帕罗夫能学围棋,能学五子棋,还能学画画。深蓝的技术就像一把专门为国际象棋设计的钥匙,有很大局限。可以说,深蓝与人工智能并无任何关系。

那么,AlphaGo的技术思想是什么呢?

Deepmind创建AlphaGo,是试图通过增强学习技术(Reinforcement learning)构建通用的人工智能。它的理念中包含两个实体,一个是人工智能本身,一个是它所处的环境。人工智能和环境间的关系有两种,一种是通过传感器感知数据,另外一种是通过特定动作影响环境。因为环境的复杂性,它无法获得所有的信息,因此需要不断重复感知-反应的循环,以期望能在环境中有最大收益。绝大多数哺乳动物,包括人在内都符合这套规则。

在AlphaGo之前,他们已经利用这种思想,让AI玩游戏。2015年,在《自然》杂志上发表的一篇论文,描述了如何让一个算法玩不同的Atari程序,包括了《太空侵略者》和《打砖块》等游戏。AI和人一样看游戏视频,和人一样操作游戏,从游戏小白慢慢学习,变成游戏专家。AlphaGo也基于同样的原理,模拟人学习围棋的方法,它和人一样下棋,慢慢学会如何像专家一样思考。

这种技术理念所要求的是原始的数据,因此比起那些需要输入人工整理后的数据的方法有更强的通用性。原则上AlphaGo去学个围棋,五子棋都不是问题。就是说,它最强之处是适应力和学习力。

Deepmind声称,这种技术理念很快会被运用到医疗领域,尝试解决个性化医疗的问题。而这,肯定只是第一步,是开启人类新篇章的一步。

不得不说,最近几天大家对AlphaGo与李世石对弈的关注,实际上是在见证历史!


“什么是数学”公众号的使命,就是和大家一起重新认识数学,了解数学的思想和方法。长按下方二维码,即可关注“什么是数学”公众号。

谈谈人工智能、围棋与数学相关推荐

  1. 也来谈谈人工智能的罪与罚

    也来谈谈人工智能的罪与罚 https://zhuanlan.zhihu.com/p/43557738 编辑于 2018-09-02 摘要:人工智能(A.I.)自创语言了?对,你没听错!就在最近,脸书( ...

  2. 人工智能与大学数学是“近亲”

    人工智能与大学数学是"近亲" 人工智能,作为计算机科学的一个分支,在过去的几年实现了爆炸式发展.2016年Google DeepMind的AlphaGo打败了韩国的围棋大师李世乭九 ...

  3. 2020恩智浦智能车大赛规则_2020年世界人工智能围棋大赛落幕,各路围棋AI共同论道...

    作为今年世界三大人工智能赛事之一,"福建海峡银行杯"2020年世界人工智能围棋大赛于12月3日完赛,上届冠军星阵围棋成功卫冕,采薇围棋.天狗围棋.里拉零分别夺得亚军.季军和第四名. ...

  4. 人工智能要学习哪些数学知识?

    近些年,随着人工智能的又一次崛起,越来越多的人选择加入人工智能的学习行列.在学习人工智能的时候,我们首先需要学习和掌握一定的数学知识.可能会有人问了,人工智能要学习哪些数学知识呢?大致来讲就是三大核心 ...

  5. 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数

    人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态 ...

  6. 【人工智能学习笔记】人工智能里的数学——概述

    系列文章目录 [人工智能学习笔记]人工智能里的数学--概述 [人工智能里的数学]一元函数微分学 [人工智能里的数学]线性代数基础 [人工智能里的数学]多元函数微分学 前言 与软件开发相比,人工智能领域 ...

  7. 人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型

    人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态 ...

  8. 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列

    人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态 ...

  9. 深度丨谈谈人工智能的潜力、实践意义和目前存在的障碍

    我们这个时代最重要的通用技术就是人工智能,尤其是机器学习,也就是说机器能够持续提高自己的性能,而无须人类明确解释所有这些任务要怎样完成.在过去几年的时间里,机器学习已经变得越来越高效和广泛地使用.我们 ...

最新文章

  1. 【spring】具名参数
  2. atcoder题目合集(持续更新中)
  3. python2.7安装使用thulac库时遇到的一些问题
  4. OpenGL之3D数学的向量和矩阵
  5. 8种方法解决vue创建项目报错:command failed: npm install --loglevel error
  6. 如何做好内容策划并完成一篇合格的深度文?
  7. arm-linux 交叉编译 mp4v2
  8. Spring Boot (八)MyBatis + Docker + MongoDB 4.x
  9. dubbo provider异步_Dubbo相关面试题
  10. 漫谈边缘计算(二):各怀心事的玩家
  11. fedora下做成liveOS的U盘容量变小问题
  12. 网络工程师HCNA认证学习笔记Day1
  13. android 高仿新浪微博,android 仿新浪微博开写篇
  14. 微信小程序毕业设计 就餐预约点餐小程序毕业设计
  15. dsm加密linux,要加速也要加密:群晖NAS DS918+评测
  16. 共享单车租用频次分析
  17. 了解透明数据加密 (TDE)
  18. swiper——自动轮播
  19. meo学习笔记2:函数重载(C++)
  20. mysql group top_Mysql group by 后取 top N 问题

热门文章

  1. 欠钱不还,不接电话怎么办
  2. docker安装jdk8(二)
  3. 网络广告购买方式,RTB, DSP, AdExchange扫盲知识点汇总
  4. 热评云厂商:深信服云计算15.91亿元,打造新品牌树立云地位
  5. linux搜索域怎么填,在 Mac 上输入 DNS 和搜索域设置
  6. 金山卫士开源软件之旅(二) 简单教程:如何创建一个基于金山卫士界面库的工程
  7. STM32 USB开发
  8. 0022 arduino 实例讲解 TWI arduino 的 iic 库 i2c库 arduino Wire 库 主机 读 的例子
  9. jquery分页打印
  10. source insight 4.0添加新的文件类型