2.4 奥卡姆剃刀
为何形式简单的计算机代码,只要强大到厄巴纳算法那种级别,就能带给我们一个理想的世界,让人们可以治愈疾病、预测天气,以及创造几乎能够以假乱真的虚拟环境?为了回答这个问题,我们需要回到14世纪的早期。
奥卡姆的威廉还是一名青年时就加入了英国的方济各会。和许多14世纪的宗教团体一样,方济各会的总部设在牛津,它为牛津大学的在校生提供了住所。威廉是一名主修神学的牛津学生,尽管没有毕业,他后来还是成了中世纪最主要的思想家之一,对物理学、神学、逻辑学和哲学都作出了巨大贡献。他最著名的思想是奥卡姆剃刀法则,即主张最简单的解释通常是最好的解释。“剃刀”一词比喻我们可以把一个理论中纠缠复杂的部分像胡子一样“剃除”,只留下最简单的解释。这一思想贯穿文艺复兴时代一直延续到今天,引领着一代又一代人的科学和哲学思潮。
17世纪法国哲学家勒内·笛卡儿通晓奥卡姆剃刀法则。他怀疑一切,甚至对周围世界的存在性提出质疑。笛卡儿最为著名的哲学命题是Cogito ergo sum,即“我思故我在”。在他的著作《方法论》中,笛卡尔摒弃了一切前提假设,仅从他能通过思考意识到自己这一点,得出了“笛卡尔是存在的”这一结论。那么笛卡尔如何解释他感受到的复杂世界呢?万物是否有可能只存在于笛卡尔的意识中?笛卡儿不赞同这种想法,因为有另一种更简单和更合理的解释,那就是其他人和他一样,大家共同生活在一个可以认知和理解的物质世界之中。
我被“我思故我在”这几个字迷住了,我确信它是真理,证据只有一条,那就是我清楚地看到,存在是一个事物能够思辨的必要前提。我甚至可以论断,一般地讲,一切我们能清晰明确地在脑中显现的事物都是真实的。然而值得注意的问题是,很难恰当地分辨哪些物体是我们能够明确地想象的。
笛卡儿,《方法论》,第四部分
和笛卡儿同时代的约翰内斯·开普勒通过观测行星运动,归纳出了一系列描述它们运动路线和速度的定律。至于为什么行星运动符合这些定律,开普勒无法给出一个简单的解释。
艾萨克·牛顿将奥卡姆剃刀法则运用到物理世界。他著名的运动定律以非常简单的方式,表述了物体如何相互作用:
- 如果不给物体施加任何力,静止的物体会保持静止,运动的物体速度保持不变;
- 施加于物体上的力将产生一个与其大小成正比的固定加速度;
- 一个物体给另一个物体施加力,则施力物体也会受到来自受力物体的大小相等、方向相反的力。
通过把运动定律和他对引力的简单描述相结合,牛顿展示了如何从天体的运动推导出开普勒定律。简单的表述可以具有强大的解释能力。
几个世纪后,阿尔伯特·爱因斯坦和其他科学家从理论上提出:对于运动速度接近光速的物体,牛顿的简单运动定律是不成立的。后来的一些实验基本证明爱因斯坦是对的。他的名言是:“把所有事都变得尽可能简单,而不可过于简单。”这并不意味着牛顿错了,恰恰相反,他的模型是对我们所认知的世界的一个很好的近似。甚至在今天,对于包括驾驶汽车,以及高中大部分科学实验在内的一些简单场合,牛顿定律仍然非常适用。
对于非常小的粒子,甚至爱因斯坦的理论也不再成立,它们所服从的法则被称为量子力学。当代物理学家试图找到一种能融合爱因斯坦的广义相对论和量子力学的理论,即所谓的“大统一理论”。
简单的模型永远无法反映世界全部的复杂性,但它们通常可以很接近这个目标。为某些情形找到一种简单的解释,就能对未来发生的类似情形做出很好的预测。近年来我们看到这个原理在计算机科学世界得到了充分的体现。
今天我可以手写一张支票,用手机拍张支票的照片,然后通过互联网存入支票。银行的软件通过照片就能识别交易金额和账号,即使支票是手写的也没关系。如果没有疑议,银行职员甚至都不用亲自去看这张支票。
识别位于支票底部的账号比较容易,组成账号的数字符合固定的格式,这是特意为方便计算机识别而设计的。
但是支票上的金额是手写的“30美元”。每个人写字的方式都不一样,计算机如何能判别这张支票的金额呢?
图2-1 支票
这个问题不简单。不信你看数字2有多少种写法。
图2-2 各种手写的数字2
计算机科学的一个分支——机器学习就是处理这类问题的。首先用大量的数据训练一个算法,在这个例子里,数据就是人们写数字2和其他数字的样例。算法会建立一个相对简单的模型,然后尝试用这个模型正确区分各种手写的数字。训练得好的算法能对新的数字进行正确的分类,即使是对训练期之后写出的数字也不例外。
过去20年,计算机科学家在机器学习领域取得了长足的进步,研究出了通过检查几千到几百万样例,计算出将数据分类的正确方式。除了识别支票之外,许多照片处理程序还可以根据人脸来对照片排序,效果还过得去。Amazon、Netflix和Pandora等公司能为顾客推荐图书、电影和音乐,根据的是顾客之前购买过的商品,以及观影和听歌的模式。语音识别和语言翻译虽然不能做到和真人一样,但会让你大致了解写的或说的是什么。垃圾邮件识别工具屏蔽了人们不想要的几乎所有信息。到2020年,所有的汽车有望能够自动驾驶。
这类技术所能做到的差不多就是这些了,未来取得的进步最终将越变越小。这是否意味着奥卡姆剃刀不再锋利,宝刀已老?
倒也未必。奥卡姆剃刀法则说的是最简单的解释问题的方法就是最好的方法,但它并没有告诉你如何找到那个最简表述。如今的机器学习技术只能使用简单的数据表述方式,通常会把数据的多种特征用相对直接的方式加以合并。如何找到最简表述,即找到任意形式的程序中最短小而有效的数据分类程序,是一个困难的问题,一个NP问题。
如果能使用快速解决所有NP问题的厄巴纳算法,找到最简单的数据分类程序就变成了一道简单的编程练习。我们需要做的只是把海量数据交给算法,然后看着它完成剩下的工作。这样一来,我们几乎能了解所有的事物。
我们已经看到了厄巴纳算法帮助人类治愈了很多疾病,并且改变了美国的棒球运动。接下来让我们回到未来,看看它是如何改变艺术的。