虽然大家今天都在用计算机,但是大部分人对它为什么能算题其实并不清楚,以至于把它想得很神奇,特别是这两年人工智能大热起来之后。
几年前人们谈起计算机时还会说它笨,甚至嘲笑Google什么都是基于机器算法的服务应付不了很多细微的场景,今天这些人来了一个180度大转弯,觉得人工智能超级聪明。
在历史上有一个现象,把一个历史人物捧上天的和把他打入地狱的是同一批人,这并非人的偏见所致,而是缺乏了解所致。
那么从业者对计算机是否十分了解呢?也不尽然。我在过去的十多年里大约面试过近千位的求职者和创业者,发现对计算机的领悟能让我从内心赞叹的人,不过50人左右,也就是5%吧。
大部分人能胜任一些工作,比如编写一些程序,或者当一些产品出了问题时能修修补补,用我们的行话说是修补漏洞(Fix Bug),但是给他们一个尚未知道解决办法的问题,让他们用计算机这个工具来解决,大部分人是做不到的,因为他们对计算机能做什么,不能做什么并不清楚。
也就是说,对计算机内在的工作逻辑不清楚。当然,今天我不是讲计算机的原理,而是通过发明计算机过程的内在逻辑,提高认知水平。
要讲清楚计算机工作的原理和它的本质特征,其实用一个很简单的工具就可以说清楚。这个工具就是中国人用了上千年的算盘。
算盘能否算作是计算机呢?可以的!
这倒不是因为我要炫耀国粹,而是硅谷的计算机博物馆的看法。如果你走进位于硅谷的、世界上最大的计算机博物馆,一进门最显眼的地方放着一个大展牌,上面写着“计算机2000年的历史”,旁边放着一把中国的算盘。
看到这个展牌的人会有一个疑问,为什么计算机的历史不是从1946年埃尼亚克(Eniac)诞生时算起,而是往前推进了两个千年纪,然后大家看到算盘就明白了。
算盘真是中国人发明的么?如果按照最早发明的时间来看,应该不是。最早的算盘(或者说类似算盘的计算工具)出现在美索不达米亚地区。接下来,到了公元前五世纪,希腊出现了和中国算盘颇为相似的铜质(或木质)计算工具,今天英文里面的算盘一词abacus便是源于古希腊文[文字:(άβακασ)]。
中国出现算盘最早可能在东汉到三国时期,比古希腊至少晚了5个世纪。不过古希腊的算盘没有被当成是计算机,而中国的却被认为如此,这又是何原因呢?
古希腊人的算盘和中国的在外观上很相似。古希腊的算盘实际上是用一些小石块帮助计算过程中的计数,但是计算的工作还是要靠心算。也就是说, 古希腊的算盘有了存储的功能,但本身并没有计算的功能,因此不是计算机。
中国的算盘从外观上看并不比古希腊的有多大改进,但是它是靠一套珠算口诀来控制算盘操作,这种口诀相当于今天控制计算机运行的指令。
真正会打算盘的人,都不是靠心算的,而只是根据背熟了的珠算口诀拨动算盘珠子而已,人所提供的不过是机械动能,而非运算能力。 计算则是算盘在口诀指令的控制下完成的机械运动,这就和图灵机所描述的机械运动相一致了。
为了便于大家理解,你不妨看一个实例。
我们都知道一句俗话“三下五除二”,这其实来自于一句珠算口诀。它是做加法时,“加上三”的一种操作指令,意思是说,加三时,可以先把算盘上半部分代表五的珠子落下来,再从下面扣除两个珠子,加三的计算就完成了。
这其实从数学上很容易解释,加上3就等于先加5再减去2。会打算盘的人,是不需要熟悉数学的,甚至不需要什么心算能力,只要背下这些口诀,操作的时候别拨错珠子,就能很快地算题。换句话说,如果猴子能背下这些口诀,它照样能打算盘。
为了验证过去的会计们心算能力未必很强,我在写《文明之光》关于计算机的一章时,专门找来两个老会计和他们比心算,我发现他们心算能力极差,甚至不如今天好一点的小学生。但是,给他们算盘,他们算题速度快得难以置信。
现在我总结一下, 有了口诀控制,或者说指令控制,算盘才能算计算机,否则,它只是一个辅助的计数工具。 接下来我问你一个问题,对于算盘这种计算机,到底是这个实物重要,还是那一套口诀重要呢?
我认为是口诀重要,没有了木头边框、里面一大堆算珠的算盘,你还可以发明其它样式的算盘,但是没有口诀,不会算数的人是无法让算盘工作的。
将这个道理延伸到今天的计算机领域,计算机的软件就相当于口诀,要远比硬件,即那个算盘实物,重要得多。今天,有些计算机就显得比其他的聪明。
比如Google的AlphaGo能下围棋,IBM的沃森能看病,它们和你家的计算机最大的差别是在于软件上。你买几台在家里,今天其实花不了多少钱,但是它们下围棋的水平和AlphaGo可就差远了。
人类发明的大部分东西,都有一个特定的功能。比如纺纱机能纺纱,汽车能行驶,电池能供电储能。但也有一些东西,它的功能取决于你如何使用它。比如一个锄头,虽然可以锄地,但是农民起义军可能会把它当成武器,农民在家可能会把它用作杠杆,做扁担,甚至是顶门的工具。
计算机属于第二类工具,它可以做很多事情,具体做什么,则看背后的人是如何操控它们了。我在很多场合讲,不用担心人工智能本身,要担心的是背后操控它的人。
一个机器学习算法,既可以帮助系统安全员发现安全漏洞,也可以被犯罪分子用来分析某个单位计算机系统的安全漏洞,并进行攻击。这是我今天要讲的第一个要点。
今天要说的第二个要点是,发明有三种。
第一种是发明一个完成特定功能的新设备、新仪器,或者新方法。 比如,你发明了电动汽车,就属于这一种。我们大部分人对发明的认知只停留在这一类。
第二种是在原有的设备基础上发明一种新的使用方法。 比如很多年前,算盘只有加减法口诀,因此它只是一个加减法器。但是后来,有人发明了乘法口诀,算盘就能做乘法了。
我们人常常注重的是第一种发明,而忽视第二种发明。关于第二种发明的重要性,我不妨给你举三个例子,你就容易理解了。
第一个例子,阿司匹林的使用。最早的时候,阿司匹林是作为镇痛、退烧药发明出来的,但是今天它的一个最大的用途是预防血栓,很多中老年人定期服用阿司匹林,这使得人类心血管疾病的死亡率下降很多。
第二个例子,“伟哥”(威而刚)这种药的主要成分是一氧化氮(在医学上的作用是内皮细胞松弛因子),它最初是被用来治疗心脏病的。
后来医生们发现,试用这种新药的心脏病患者很少按照要求在试验完毕后把多余的药交回去。进一步调查才发现,原来病人用了这种药后,男性的机能增强了,于是它今天成为了治疗男性某种疾病的药物。
更广泛地讲,今天很多药品虽然一开始是针对疾病A研制的,但后来都发现对其他疾病的治疗有帮助。比如斯坦福医学院就发现,一款原来用于治疗心脏的药,后来对治疗胃病很有效。
第三个例子,是我们计算机领域使用的GPU,即图形处理器。最早它是用于图像处理的,比如做显示卡。
但是后来计算机科学家们发现,用它搭建超级计算机,比传统的处理器CPU更有效,或者说单位能耗的计算能力更强,于是它就成为了进行海量计算的超级机的核心部件。再后来,大家发现它做人工智能中的机器学习计算非常有效,于是第一代的AlphaGo就大量使用了GPU。
了解了第二种发明,你工作时的视野就拓宽了。很多能另辟蹊径做出发明创造的人,其思路其实就是把现有的技术用好。当苹果推出iPod时,那就是中关村已经烂大街的MP3播放器的翻版,但是它同时推出了音乐下载服务,大家就说,“咦,想不到这东西还能这样玩”。
接下来简单说说第三种发明。有些发明,虽然一开始是为了某一个目的,属于第一类发明,但是后来很多人在此基础上将它进行功能性的扩张,它就成为了一个平台, 这就成为了第三种发明——平台的发明。
下面我们简单地看三个这种发明的例子:
第一个例子,Google的搜索引擎,最初它只是用于查找信息,后来变成了互联网入口。
第二个例子,Facebook的社交网站,后来成为了互联网2.0的平台,大家在上面发布各种应用软件。
第三个例子,亚马逊公司内部的应用软件接口,开始只是为了不同公司里面的团队协调工作,后来成为了云计算AWS的用户接口,并且让亚马逊在世界云计算领域执牛耳。
计算机(包括算盘),或多或少具有平台的特点。更确切地讲,通常计算机硬件的研究是进行第三类发明,做大家都能够使用的平台,而软件的研究属于第二类,在现有平台上,做更多的事情。
理解了三类发明,希望对你的工作有所启发。
明天我会继续和你介绍计算机发明的过程,以及背后的逻辑。