如何证明我们所生活的世界是真实的
从原理上说,你不能用一个定理推导出来的结论,反证这个定理的真实性,虚拟真实世界里的人,也没法证明这个世界是真实的还是虚拟的。
然而,这世界很可能是虚拟的。人类物理学的发展,造成越来越多难以解释和理解的现象,但是用虚拟世界的观点,都很好解释。
比如最基本的问题,构成世界的时间和空间,是连续的么,还是如数字信号一般,是一段一段离散的数值?
在发展到量子物理之前,人类的世界是如此的完美而足够真实,物理的大厦已经足够完美。只有两朵乌云,挥散不去。一个是光的波动理论,另一个是黑体辐射按波长分布的问题(能量不连续,是有颗粒度的),二十世纪初的物理学家们很有信心解决这两朵乌云。
然而,从爱因斯坦的相对论开始,到普朗克一生致力于推翻的量子物理体系,却一步步摧毁了这个物理学大厦上的根基。薛定谔的猫、测不准原理、观测者因果论、超光速量子坍塌,乌云越来越多,以至于物理的天空都阴霾了。
那么,如果换个角度,这世界如果是虚拟的,站在一个创造世界的程序员的角度来思考问题,会不会有更好的解释呢?
首先是薛定谔的猫,它在没有任何观测的情况下,它处在生死各半的状态下。
程序员同学接到任务,要在虚拟世界里创建很多很多的物体,这些物体的状态是0和1随机一个数值,程序员直接随机生成了非常多个物体,它们遍布各地。很快就接到了计算系统要求扩容的提示,服务器账单快速膨胀。老板立即要求程序员解决这个问题。
经过一番思考,聪明的程序同学意识到,没有必要在世界上每个有猫的地方都提前把这个猫生成,因为这会造成大量的系统资源的浪费,可以创建一个函数F(x)=random(0,1),函数在没有确定的x(也就是输入的观察者信息)之前,并不存在是0还是1,只要它被触发,就会计算,一旦被运算,值就不能更改。
创建函数(对象)的目的,就是用最小的资源消耗构建大世界。
你进入一个新的地图之前,里面的怪是不存在的,当你进入到这个地区,系统才开始加载出来各种信息,并立即随机生成各种怪物、宝箱、掉落物品等等。
这个虚拟世界的第一个原则:不被观察的物体,就不存在实例。
第二个,是光速和超光速的问题。
首先,如何理解光速,光速是宇宙中不可超越的物理属性,任何有质量、没质量的物体,都不可以超越光速,甚至两束光相向而来,互相看对方仍然是光速,不能超越。也就是能观测的一切都不可以超越光速,但是却存在超越光速的信息传递。
这里有三个问题要解答:
1、光速怎么来的,为什么不可超越。
2、相对速度为什么仍然不可以超越光速。
3、某些信息为什么可以超光速传递。
物理学解释这三个问题用了快100年的时间,仍然不完美,那么如果从程序员的角度看一下这三个问题呢:
要创造一个世界(计算机的世界无法做到真连续的,世界是颗粒的),程序员首先根据服务器的计算能力和渲染能力,设计一个基本的参数就是最小颗粒度。颗粒度是一个方面,另一个考验运算性能的指标是刷新率,也就是最小的时间颗粒度,刷新太快性能扛不住,刷新太慢顿挫感太强。最终,(现实世界)计算下来的颗粒度是普朗克常数定义的普朗克长度和普朗克时间,分别是1.6*10负35次方米和10负43次方秒。
服务器性能不是无限的,为了避免系统过载(也有可能是数值的精度上限),程序员给这个世界设定了最底层的物理规则。在一个最小的(普朗克)时间里运行一个最高精度(普朗克)长度,就是光速。也就是说每个最小时间运行一个最小长度,是这个系统能够承载的最快速度。一个物体可以在多个时间内停留在一个长度空间内,却不能在一个单位时间内跨越多个长度单位。
有了光速的第一个设定,系统还是可能会发生过载,比如两个相对运动的光速物体,相互观测的时候会发生超光速问题,可能引起过载。
同时根据之前的原则一:不观察的物体不存在实例,不进行运算。也就是说只有当相对运动的物体需要互相观测的时候才会发生过载的问题。于是解决方案就是降低高速运行物体的刷新率,也就是增加普朗克时间的长度。通过一个简单的时间延缓公式t=t0*(1-V平方/C平方),就可以做到任何高速运行物体上的观察者,时间颗粒度足够大,达到他眼中没有任何物体可以超越光速的情况。
这里还需要理解一下客观的时间和主观时间的概念。游戏里有个客观的时间,是系统运行时间,但同时有一个主观的时间,是观察者的时间。举例子来说,用一台很卡的电脑,运行打地鼠,地鼠出现的速度远远低于你能反应的判断时间。相反的,用一台速度飞快的电脑打地鼠,地鼠在你脑海里只留下残影就不见了。客观的时间是相同的,但是慢速的电脑把时间拉长了,在观察者看来一切都变慢了。
由于一切渲染都发生在观测者眼睛里,所以只要拉长观测者的时间长度,过载就不会发生。所以不超越光速的情况,只发生在观测者所在的位置,任何物质相对于观测者不会超越光速,站在中立的角度观察两个相对运动的物体,还是会速度相加。
系统最终展现的现象就是,不存在超越光速移动的物体。
光速的问题解决了,那么超越光速的信息传递问题,这个在虚拟世界里本身就不是问题,因为函数的坍塌(f(x)代入数值求解)这个过程是不受渲染和加载速度影响的,是可以秒计算的。所以当一个耦合函数求解,代入了一个值,另一个值发生的位置不论在哪里,都是可以立即计算出来的。
虚拟世界的第二个原则:一切为了不过载,所有可观察的现象,都受到光速和光速不可超越限制。不影响系统渲染和输出连续结果的过程,可以秒计算。
第三:干涉和衍射的延迟实验
每天早上都可以做一个违反常理认知的实验:把不透光的窗帘,拉开一个小缝,对面的墙壁上,就会出现非常清晰的明暗相间的衍射条纹,用统计学的简单解释是,光子到达明亮区域的概率比较高,到达暗条纹区域的概率比较低。也就是说在一条缝隙的时候,在光亮的区域里有更多的光子到达,请记住这一点,标记一个明亮区域的位置。
这时候,在窗帘的另外一边,也拉开一个缝隙,形成双缝干涉条纹。会发现,在原来某些明亮的区域,变成了暗区。也就是说,当增加一个光源照射一个本来就明亮的区域的时候,光子反而变少了。从正常的概率来讲,就算不会变的更亮,至少不应该变暗吧?
为了解释这个问题,科学家开发了著名的干涉延迟实验。用电子代替光子,让电子分别从两个路径(模拟双缝)到达同一个观测点。在正常情况下,这个观测点是刚好收不到电子的,也就是在干涉条纹下的黑点。
在观测点放置了两个观测设备,同时观测来自两条路径上的电子,这时候是都能收到电子的,也就是正常单缝衍射的亮点。
实验1:从两个路径发射电子,单缝衍射观测设备不开,背景条纹为暗条纹,没有收到电子。
实验2:从两个路径发射电子,单缝衍射观测设备开,观测设备看到电子,背景条纹亮,也收到了电子。
当在电子发射的路径上增加了观测设备以后,电子运行的结果改变了。
用创世程序员的角度看,这里发生了两个函数,每个缝隙过来的光都是一个单独的函数,墙壁上光亮的强度结果,不取决于两个函数计算值的相加,而是在碰撞到墙壁之前,这两个函数就发生了耦合计算,最后的计算结果打在了墙上。也就是说墙上的光亮不等于f(x)+f(y),而是取决于F(x,y)。那么到底是先计算f(x)还是计算F(x,y)呢,这取决于观测者在哪里观测,如果有人看到了f(x)的过程,那就计算f(x)。如果f(x)这里没有观测,那就直接计算耦合后F(x,y)的结果。
虚拟世界第三个原则:当两个函数耦合时,如果发生了观测,则分别运算后叠加结果,如果过程没有观测,则只计算最后的耦合函数的结果,中间过程不分别计算。
把这个实验放大到宇宙到角度,问题将非常的严重:
假设地球观测点在三个黑洞形成的两个缝隙之间,观测黑洞后面的宇宙中传递过来的光子,光子行程几百万光年来到地球面前,地球刚好是在一个暗干涉条纹当中,观测是无法看到三个黑洞后面的宇宙世界的。
这时候发射两个观测卫星,卫星用若干年的时间,到达黑洞之间缝隙前能观测到缝后宇宙的位置上,由于观测的存在,光子飞行路径的函数被提前计算了,后面函数叠加,造成观测卫星和地球都将能够观测到黑洞后面的宇宙。
这造成了宇宙系统的运算将出现了重大的问题,已经飞行了几百万年的光子飞行路线需要被重新计算。因为人类观测者能看到完整的光子飞行路线
宇宙放大版实验,或许是最终证明人类是不是生活在虚拟世界的一个终极证据。
宇宙中可能本没有什么光子在飞行,只是被观测了,就会发生运算,输出一个飞行轨迹反馈给观测者。更放大说,可能世界上本没有任何物体实质,都是运算的结果反馈给意识,造成真实存在的假象。
这里引申到第四个问题,定义观测者。
用区块链的一个定义,来理解这件事:所有能够被传递下去的信息,才会被保留,都能传递都,短链分支被丢弃,长链保留。
具体的说,如果一个薛定谔的猫,被一只鸟看到了,它的函数会坍塌么?如果鸟能够将信息传递下去,成为长链,那么这个信息就被保留。在另外一个平行世界里,这个信息仍然以函数的形式存在,当另外一个人看到了这个信息,并存在脑海里,或者传递给了别人,将形成另一条比鸟看到更长的信息链,那么鸟看到的那个平行世界的信息将被丢弃。以长链保留的信息为准。
任何一件事情都可能短时间形成很多短链,但随着信息传递,短链很快会被丢弃,平行宇宙或许存在,但是并没有那么多,因为短链只能形成孤立的信息岛,只能临时保存,一旦长链形成,随时被抛弃。
是不是经常会有一些这样的经历:一个路边的自行车倒了,看到的一瞬间,明确的感觉这个景象以前见到过,一摸一样的。或者类似的经历,比如水杯倒了,伸手去接,脑海中明确的记得这件事以前发生过,但仔细想想却没有任何其他的线索。未必是事情没有发生过,可能在某一个短链里,这个事情的日志被系统抛弃了,但是人类的脑海里还有没有删除干净的残余。
这就形成了第四个原则:函数随时可能被运行,但是只保留传递链最长(被确认最多)的那一条。孤立的链上的值被抛弃。
到此为止,整个宇宙虚拟运行的程序原则基本确定了。用这些原则可以推导一些科学上难以理解的认知。
如果人类能够在5000年的文明达到用电脑虚拟部分物理逻辑的程度,那么1000年后呢,10000年后呢?宇宙看似存在几百亿年,但这只是系统运算的时间,在创建这个虚拟世界的角度,时间可能只过去了一丢丢。
那么创建虚拟世界的动机是什么呢。人类总要死去,追求死去后意识继续存在是强需求(从古代追求长生不老开始),现在的世界无法实现,那么为什么不可以在虚拟的世界里实现呢?
意识进入虚拟世界为了尽量占用资源少,只需要抛弃原来的记忆,重新开始就行了。
人类死去以后,就是回到上一层虚拟世界,再死再上一层,就如同盗梦空间的梦境一样。因为人无法通过死来验证回到上一层这个的真实性(虚拟的下一层无法验证上一层),那么摆脱死亡恐惧的欲望,就会促使虚拟世界的人类想尽办法继续向下挖下一层,以至于一层一层挖下去越来越多。
从这个角度看,不是存在于真实还是虚拟的问题,而是我们存在于第几层虚拟世界的问题,可能是几百层,也可能是第几万层。
量子隧道效应,基本粒子在极小尺度下,会发生直接穿越高能壁垒的隧道效应,类似一个(低能量的)人,偶然间从一个(高能量的)墙穿过去了。这种情况的概率在越低尺度空间,发生的越频繁。这也是芯片制造业搞到2nm以下就很难继续了,原因就是在这么小的尺寸范围内,电子穿越的概率大大增加,造成电路不稳定,出错概率过高。
为什么会有这种隧道效应呢,只要分析游戏建模里面的碰撞检测机制就明白了:在游戏引擎里,任何物体的碰撞检测包括两个要素,一个是碰撞体边界,另一个就是检测频率。也就是说一个物体高速运动过程中,它是跳越式的、一格格的运动的,当在一个检测时间周期内,发现它切入了另外一个刚体的碰撞边界范围内,系统就会把它弹出去。运动的越快,每个检测周期内跳过的格就越多。现实世界的物理规则,检测周期不能低于普朗克时间(系统的最小时间单位),格子最小不能小于一个普朗克长度(系统最小空间间隔)。
当一个物体速度足够快,在上一个碰撞检测时间还在碰撞体之外,而下一个检测时间里,就已经将自己的重心点切入到碰撞检测体靠另一侧的位置上时,碰撞检测不能判断它的切入来自哪个方向,就会直接将它弹出到重心所在的那一边,于是物体就直接穿越到碰撞的另一边去了。而且这个碰撞弹出的速度,是立即移出(可能会超越光速)。
所以速度越快、墙壁越薄(一个周期过重心点的概率高),隧道穿越的概率越大。
在科学实验中,量子遂穿和超光速遂穿都是真实存在的。
碰撞弹出是游戏制作过程中经常遇到的一类问题,而(现实)世界也出现了类似的情况。
科学界有一句话,万物没有巧合,这世界偏偏就是巧合太多。
万物皆空、唯心所致,只有佛祖看破这一切。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。