天鹅座开普勒-186F星球。
第9527号观测员正在百无聊赖地观测地球。
宇宙文明监控局主任突然出现。
9527号,你监控了地球一百年,他们所谓的人工智能发展到什么程度了?
他们在下棋上花了不少功夫。
下棋?
对,就是两个人坐在桌子前,各自拿着一个个叫棋子的东西,在一个叫做棋盘的东西上战斗。
战斗?
嗯,其实就是一场游戏,要分出输赢。用地球人的话说,游戏是知识之源,他们通过让机器下棋来发展人工智能。
地球人的思维真是奇特啊,那他们成功了吗?
似乎成功了,又似乎没成功,您有时间的话我详细说说?
别啰嗦,挑重点。
地球人特别喜欢欺骗,早在1769年,这是他们的公元纪年法,有个德国人造了一个机械的下棋的装置,被命名为“土耳其人”,因为装置后面总是站着一个土耳其装束的木头人, 对了,土耳其是他们的另外一个国家。
机械装置,能自动下棋?地球人的科技树是不是长歪了?
这个“土耳其人”成为娱乐欧洲皇室的保留节目,还被献给过一个叫做拿破仑的军事天才,欧洲的征服者。拿破仑和这个土耳其人下棋,大败而归,气得他把棋子全部都胡噜到地上。
“土耳其人”在欧洲招摇撞骗了几十年,后来被人识破,它根本就不会下棋,而是里边有个活人,并且是下棋的高手!
这些奇怪的地球人啊,这在我们星球是绝对不可能发生的事情。
到了20世纪40年代,不知道为何,地球人中突然涌现出一大批天才,不但发明了计算机,还开始思考机器能否具备人类智能这样深奥的问题。
天才?都有谁?
比如图灵,他奠定了地球上可编程计算机的基本理论,冯·诺依曼提出了一直沿用至今的计算架构,还有香农,他居然发现了信息背后的秘密,建立了信息论,幸亏他酷爱杂耍,后半辈子转向了“杂耍学”,要不然,天知道他会再折腾出什么东西来!
地球人确实很奇怪,这样的人,在我们星球,非把他的才智榨干了才让他去休息。
这些地球人天才都喜欢研究计算机下棋,图灵最可怜,虽然在1947年写了一个国际象棋的程序,但是当时的计算机时间(简称机时)很宝贵,根本轮不到他。
冯·诺依曼提出了一个叫做Minimax的两人对弈算法,对弈的过程构成一颗博弈树,树的增长是指数式的,当树很深时,树的规模会变得不可控。
所以另外一个天才麦卡锡发明了一个叫做α-β剪枝的优化方法,原始的Minimax算法是在博弈树被全部画出后再静态地计算评估函数,而α-β剪枝术则采取边画树边计算评估函数的动态方法。当评估函数的值超越给定的上界和下界时,树的搜索过程就停止,这样大大减少了树的规模。
那个玩杂耍的香农不下棋吗?
肯定下啊,这个人吧,似乎特别擅长从数学的角度来解释事情,信息论是这样,下棋也是这样。他写了一篇论文《程序实现计算机下棋》,把棋盘定义为二维数组,每个棋子都有一个对应的子程序计算棋子所有可能的走法,最后有个评估函数,这样就从数学角度给出了一个棋类游戏复杂度的评估方法。
那他们的计算机会下棋了吗?
会下了,但是水平非常次,根本赢不了地球人,于是他们人类只好让机器之间互相下,搞什么“世界计算机象棋锦标赛”,看看谁的机器水平高。
哈哈哈,可怜的地球人!
当时地球上有两个大国,美国和苏联,他们在军事、经济、科技、体育等各个领域激烈对抗,机器下棋也不例外,代表美国出战的就是麦卡锡在斯坦福开发的Kotok-McCarthy。经过4个地球月的鏖战,Kotok-McCarthy还是以1:3败给了苏联的程序。
你刚才说下了四盘棋,花了4个地球月?
是啊,那个时候地球人没有互联网,用的是一种叫做电报的东西来下棋的,这是一种机器落后的通信工具。
地球人比我们晚发展了几十万年,这么慢的通信效率,真是难以想象啊。
后来美国又开发了一个叫做CHESS的程序,在美国所向披靡,赢得了4次计算机象棋比赛。美国人信心满满,参加世界计算机象棋锦标赛,向苏联复仇,没想到又被苏联的KAISSA象棋程序给击败。不得不说,苏联在国际象棋领域是非常厉害的,棋手厉害,程序也厉害。
那美国就此认输了?
那不会,到了80年代,美国贝尔实验室的又一个天才,发明了Unix的Ken Thomson开发了Belle程序,非常厉害,是第一个取得“大师”称号的计算机棋手。
当Belle去苏联比赛,准备报仇的时候,不幸被美国美国政府在肯尼迪机场海关没收,理由是企图向苏联输送先进武器,因为里边有对苏联禁运的超大规模集成电路。
超大规模集成电路?
是啊,之前地球人写的下棋程序老是赢不了人类,除了算法实在落后之外,还有一个很大的原因是计算力硬件太差,计算力跟不上。后来在摩尔定律的关照下,硬件越来越厉害,暴力穷举的能力越来越强,终于,在1997年,IBM的“深蓝”击败了世界象棋冠军卡斯帕罗夫,他也是俄罗斯人。
地球人可真不容易啊!
是啊,深蓝”胜利之后,大家认为计算机下棋这事已经到头了,没人愿意费力不讨好,IBM也解散了“深蓝”团队。但是在神秘的东方,有一种叫做围棋的游戏,远比国际象棋复杂得多,它的搜索空间在10^170以上,比宇宙中粒子数还多,只靠评估函数和剪枝是不行的。
这对我们这里的计算机来说还是小菜一碟?地球人是怎么解决的?
地球人提出了一个叫做蒙特卡洛的办法,他们经常用计算圆的面子为例来介绍这个方法:在一个正方形里贴边画一个圆,然后随机向这个正方形里扔沙粒,扔到足够多时,开始数有多少沙粒落在圆里,用这个数字除以所扔沙粒总数再乘以正方形面积,就是圆的面积。
嗯,地球人中还真是有些天才人物!
他们在让机器下围棋的时候,也引入了蒙特卡洛算法,在概率最大的地方落子。一个叫Google的公司开发了一个叫AlphaGo的程序,使用了蒙特卡洛算法和深度学习,配合强大的算力,居然击败了人类的顶尖棋手李世石!
这么说,人类攻克了所有的棋类游戏?
不,他们其实没有攻克,我悄悄看过一眼AlphaGo,那真是一个黑盒子,地球人根本解释不清楚里边到底是什么东西,即使是拿我们星球的科技来分析也很困难。
实际上AlphaGo没有情感,没有智能,它以胜利、赢得比赛的实用主义哲学为唯一目标,而不是以追求必胜策略或最优理论的理性主义为目标。
地球人真正攻克的是跳棋,Chinook跳棋程序于1994年就战胜了当时的跳棋冠军,直到2007年,地球人才从理论上证明“只要对弈双方不犯错,最终都是和棋”。
嗯,看来这个黑盒子没多大用处!
不不,地球人现在很狂热,他们试图把黑盒子应用到人类生活的各个领域,在某些领域还取得了不错的效果,例如人脸识别。他们现在管这个东西叫人工智能!
他们开发出的人工智能怎么会这么弱呢?你把代码发给我看看!
9527号搜索出一段代码,发给主任。
地球人写得代码都这么烂吗?
不不,这是我随意找的,他们也有好代码,比如Linux。
主任在代码上扫描了一毫秒,立刻发现了问题:啊?程序中只有顺序、循环、分支这三种基本结构?
是的,在冯诺依曼架构下就是如此!
看来地球的科技树真的长歪了!
我们要不要干预一下?把我们十万年前发明的计算机原理告诉地球人?
不,我们只能观察,干预文明的进程违反了宇宙文明公约,你继续监控吧。
(完)
更多精彩,尽在码农翻身