首先声明,这是一篇有些深度的文章,需要你只字不差的阅读,甚至有可能要求您进行必要程度的思考。这篇文章的主体内容是万维钢老师的《精英日课》中对《柏拉图和技术呆子》这本书解读的中心思想。所以在此再次感谢万维钢老师,能够做出这么开脑洞的解读。好,下面我们进入正题。
不知道你在平时没有什么事情的时候,有没有想过这个类似的问题:即如果我的计算机足够强大,那我是不是可以模拟宇宙中的所有事情,这个事情会不会发生我都可以模拟出来。举个例子,比如彩票开奖,只要我的计算机足够强大,我可以把每个小球在运动时的状态都保存下来,然后进行特别精细化的模拟,这样我是不是就可以预测彩票的开奖结果,真的可以吗?也就是说,到底有没有一台足够强大的计算机,能够模拟彩票开奖的所有过程,也就是小球运动的所有轨迹。
计算机的本质
要回答这个问题,首先必须回答的就是计算机到底是一个什么东西。在此要先进行声明,我们文中所有的计算机,泛指图灵机(详细解释见链接)。而对于我们现在正在使用的计算机,本质上我们可以从两个层面来进行解读。首先,我们的计算机本质上是一个开关网络,即计算机的核心(CPU)是由十几亿个半导体晶体管组成的开关网络。这就导致计算机的本身会受到三个方面的限制:
第一个:要求算法必须是“数字化”的。即计算机处理的算法,输入的数据必须是有理数,因为说白了,你也不可能输入一个无理数。比如我让你计算园的周长,要输入PI。那PI你肯定要截取一个精读,你只要截取了,就已经是一个有理数了。
第二个:算法必须是一步一步的。说白了,就是计算机处理算法的过程不是连续的,每一步就是每一步,没有中间状态。这是因为计算机的地城就是一个开往网络,这种开关网络,要么是开,要么是关,不会有中间状态。
第三个:计算机处理的程序或者是算法,本质上都是0和1组成的数字串,而这些数字串即使再大,也是可数的,也就是说,程序虽然有无限多,但是程序的个数其实是可数的。
明白了上面三点,我们再来说计算机的第二个本质:计算机本质上也是一个处理信息的机器。那我们的世界是不是计算机模拟的,其实就可以用这个问题来代替了,即:真实世界的所有信息都可以用计算机模拟吗?
到底什么是信息
如果你是一个IT从业人员,这个基本认知您应该知道,不管我们和计算机做怎样的交互,我们输入给计算机的,最终都会转化成数字,也就是说,我们输入的信息其实都是数字,那真实世界的数字有什么特点呢?这就涉及到我们中学所学的数学知识了。
我们中学所学习的各种数,大致可以分为:
自然数,即0,1,2,3,......
整数,就是自然数加上负的自然数:......-3,-2,-1,0,1,2,3.......
有理数,则包含了分数和小数,其实所有的有理数都可以写成两个整数相除:1/2,1/3,4/3......
实数,实数是由有理数和无理数组成的,无理数就是无限不循环小数,比如:PI和根号2。
如果您中学的数学还没有忘记,您应该已经看出来了,上面的数的种类都有一个共同的特点:即自然数、整数、有理数,以及实数都是无限多的。但是实数和其他三类数是有一个很大的不同的,即:自然数、整数,以及有理数都是可数的,而实数是不可数的。
那什么叫可数呢?可数的意思就是所有的数字都可以按照一定的规律数出来,也就是建立了一个一一对应的关系,比如:0↔0,1↔-1,-1↔2,2↔3,-2↔4,3↔5,-3↔6......(整数和自然数的一一对应关系)在数学上,这就叫可数。有理数其实也是可数的,因为所有的有理数本质上都可以写成两个整数相除的结果,所以有理数也是可以和自然数一一对应的。
在数学届早已证明,无理数是不可数的,也就是说实数的世界是不可数的,即实数是不能和自然数一一对应的。而上面的内容我们已经说过,计算机的本质决定,它只能处理可数的信息,因为计算机只能处理有理数,而不能处理无理数。那我们所生存的世界,是实数的世界吗?真实的世界里,真的有无理数吗?
数字宇宙假说
文章写到这里,我相信您大致应该明白了这个道理:因为计算机的本质是一个开关网络,所以计算机只能处理可数的信息,而如果真实的世界中有不可数的信息,那计算机就不能真正模拟我们所生存的世界。那我们所生存的世界,从数学上来看,到底有没有无理数呢?
从数学来看,我们的真实世界,存不存在无理数的关键是:我们的世界是不是连续的。就像文章的开篇讲的那个例子,即如果我们的世界是连续的,时间和空间是无限可分的,那彩票开奖小球的运动轨迹就是连续的,那我们的世界必然存在无理数,而如果我们的世界不是连续的,也就是说,小球的运动轨迹不是连续的,小球的每次运动都是一步一步的(哪怕这一步非常非常小),即空间和时间必须是有一个分辨率的——当然它的分辨率非常非常高,但是是有限的,那这个世界就不会存在无理数。数字宇宙假说其实就是:相信我们所生存的世界是有一个分辨率的,即没有无理数。
如果我们的宇宙真的是数字宇宙,它在本质上就可以用计算机编码,就可以用计算机进行模拟。
那我们的宇宙是不是数字宇宙呢?现在根本就没有证据证明这件事情,但是科学家们已经在做努力了。现在费米实验室有个装置叫“Holometer”,这个装置使用和引力波的LIGO装置类似的原理,通过激光干涉来测量距离的变化,从而判断我们的空间是不是有一个不能再分的、最小的尺度。也就是说,如果有一天早上你醒来,你就听说费米实验室发现我们的这个宇宙是有极限尺度的,那将是一个无比重大的新闻:
说明空间不是连续变化的——说明这个世界完全是由有理数组成的——也就说明我们的宇宙极有可能是生活在计算机的模拟之中的。
文章写到这里,我的脑洞也帮您开的差不多了。因为文章的深度比较大,所以有可能我没有真正的讲清楚(当然我希望自己说清楚了)。如果您真的对这个脑洞感兴趣,您可以转弯去订阅万维钢老师的专栏《精英日课》。
我是徐建航,这是我写的第29篇文章,欢迎你加入007社群,七天写一篇,一起写七年,七年之后一起去南极。