我们身处的世界有可能本身是虚拟现实吗?
546 个回答
如果将人放到极其微观的角度 , 或许你能看到一个人半个肩膀卡到墙里的现象 , 是不是很像虚拟空间 。
但现实世界里它也存在 , 这就是 「 量子隧穿 」 。
为了能说清这个问题 , 我们先做一些假设 :
- 我们这个世界是某种计算主机虚拟出来的 , 类似黑客帝国一样 ;
- 这种计算主机有类似我们现实世界计算机的浮点运算的计算特性 。
- 一种是类似上图的模型设置问题 , 有些模型并没有检测碰撞 ;
- 还有一种则物体模型过小 , 碰撞检测精度不足 , 比如两个角色站太近 , 手持的武器就穿模到对方身体里了 。
如果从这个角度来考虑 , 对于这个问题我可以提供一个有趣的思路 。
既然已经提到了现实世界的数值精度问题 , 那么我们身处在这个黑客帝国世界里 , 怎样才能感知到世界底层正在进行的数值计算过程 , 从而还进一步能了解到其浮点运算的特性呢 ?
其实 , 我们可以从我们自己构建过的虚拟世界的创造者的角度来同理思考这个问题 。
人类构建的最多的虚拟世界是什么呢 ?
答案是 3D 游戏 , 尤其是 3D 的 MMORPG ( 网络多人角色扮演 ) 类别的游戏 。
虽然人类现在创造的 3D MMO 游戏还很简陋 , 离真正的 「 黑客帝国 」 还差很远 , 但是某些特性还是有可类比性的 。
假如我们在一个 3D 游戏中 , 要如何了解这个游戏浮点方面的特性 ?
虽然身为玩家 , 我们没办法了解游戏底层的计算过程 , 但是我们可以观察到与浮点计算有关的一些画面表现 , 比如说游戏引擎在处理模型细节方面的表现来分析运算精度方面是否有问题 。
在 3D 游戏中 , 所有的画面渲染和三维计算都是用浮点方式进行计算的 , 这种计算非常消耗系统的资源 , 所以硬件厂商为这种计算 , 专门设计了具有强大浮点计算能力的 GPU 芯片的显卡来专司这方面的计算需求 , 但是好的程序员还是会非常谨慎地优化算法 , 力求节省计算资源 , 以免造成系统的卡顿 。
在 3D 游戏中 , 有一个很重要的优化算法的地方就是游戏的空间碰撞问题 。
说白了就是 3D 物体的碰撞检测 , 简单来说 , 就是判断游戏里两个物体有没有碰撞 , 举个简单例子 :
上面是游戏世界中的两个小球 , 如何判断它们有没有碰撞呢 ?
这用初中数学知识马上就可以知道 。
计算圆心之间的距离 d 和两球半径和 r1+r2 , 如果 d<=r1+r 就说明发生了碰撞 。
三维坐标系中 , 距离 d 可以用距离公式计算 , 超简单是不 ?
但是如果有三个物体呢 , 那就麻烦一点 , 需要两两比较 , 做 3 次计算 , 四个物体自然做 6 次运算 。
但是如果有 100 个物体呢 , 那我们就需要 5000 次的计算了 , 在游戏中往往会有更多的运动物体需要计算 , 而且这些物体的形状往往是非常不规则的 , 比如墙壁 、 河流 、 树木 、 人物 、 武器等等 , 那么这些计算量就马上指数上升起来 。
这时候 , 程序员就需要运用各种算法技巧来减少运算量 , 比如四叉树 :
当然 , 就算有了这些方法 , 我们也要不能无限精度地计算距离 , 当两个物体挨得很近的时候 , 出于计算量的考虑 , 我们一般把浮点精度都控制在一定范围内 。
那么控制了计算精度以后会发生什么事情呢 ?
如果出现了碰撞检测精度不足的情况 , 往往就会出现一定的显示 BUG , 这种 BUG 就叫作 「 穿模 」 。
3D 游戏中的慢速运动下的静态穿模 BUG 主要有两种因素引起 :
这个极近距离的碰撞检测精度就和游戏的浮点特性非常相关了 , 理论上如果游戏里碰撞精度能计算到最小的像素的话 , 是不会出现这种穿模现象的 , 但是这样做的开销太大了 , 所以一般程序员也就容忍游戏出现一些这种显示上的小 BUG , 反正对玩家游戏体验影响也不太大 。
但是我们很清楚 , 这种现象出现的本质就是因为游戏引擎里碰撞算法的浮点精度不足造成的 。
那么 , 在现实世界里 , 我们能观察到类似的现象吗 ?
还真的能 , 在量子物理学里就有一个非常类似的现象—— 「 量子隧穿 」 。
所谓量子隧穿 , 就是微观粒子在非常靠近一个屏障 ( 高能位势垒 ) 的时候 , 某种情况下会凭空直接穿越屏障跑到对面去的现象 。 这种现象 , 在宏观世界 、 经典物理学体系下是绝对不可能发生的 , 但是在微观世界 、 在尺度小到一定程度的时候却会出现 。 这用传统的经典物理学是完全无法解释的 。
在正常认知里 , 一个小球想要穿过哪怕是极薄的纸 , 也不可能既不付出任何能量 , 也不弄破这张纸 。 可是在量子世界里 , 粒子就是这样诡异地越过了足够薄的障碍 。
量子物理学对此的解释也非常晦涩 。
量子物理以微观粒子的位置和能量具备不确定性来进行解释 : 量子具有一些不确定的能量涨落 , 偶尔它们可以从虚无中凭空 「 借 」 到了一些外界能量 , 然后借助这些能量就越过了墙壁 , 从而实现了凭空穿墙 。
这听起来是不是非常玄幻 ?
但是 , 这个现象的的确确真实存在 , 甚至人们已经利用该现象开发出了很多实用的高科技设备 , 比如隧道扫描电子显微镜等等 。
而这个现象的副作用则是大大影响了我们对微观世界的掌控 。 比如在微电子行业里 , 也正是因为存在量子的隧穿效应 , 才导致现在的微电子芯片技术发展到 1nm 时代就碰上了继续缩小尺寸的物理学障碍 。 芯片里阻隔电子的材料如果尺寸小到 5nm 以下 , 量子隧穿效应导致的漏电现象就不可忽视了 , 如果尺寸进一步减小 , 那么漏电问题将更加严重 , 电子会随机的穿越过薄的栅极 , 从而导致芯片的逻辑电路无法正常工作 。
而这个问题已经成为芯片技术继续发展需要克服的最大障碍了 。
这听起来像不像 3D 游戏里的细小物体的穿模 BUG , 当物体小的一定程度的时候 , 因为碰撞检测算法的浮点计算精度不足 , 所以细小物体在靠近墙壁时候 , 偶尔就会穿透到墙壁或者物件里面去一样 。
理论上 , 如果微观世界采用和宏观世界一样的碰撞算法的话 , 只要计算精度足够 , 是应该不会出现这种现象的 。
比如说 , 计算精度达到普朗克尺度 , 那么绝对就不可能出现隧穿现象了 。
而且 , 从隧穿发生的尺度来看 , 其实距离普朗克尺度还非常遥远 , 出现隧穿现象的尺度我们按 1nm= 1E-9m 算 , 而普朗克尺寸大约是 1.6E-35m , 两者竟然相差了 26 个数量级之多 !
可见 , 我们这个宇宙的计算精度有多低 !
最后 , 为了证明我们这种离谱的理解方式有效 , 我们来看一个量子隧穿中非常难以理解的问题 。
隧穿效应里面最难以解释的现象是 : 「 超光速隧穿 」 。
根据量子理论中能量时间的不确定性原理 , 量子穿越屏障的时间和屏障的能垒高度是成反比的 , 也就是说 , 屏障能量越高 , 穿越时间反而越短 , 如果这个屏障的宽度足够的话 , 那么足够高能的屏障就会导致粒子以穿越光速的速度穿过了屏障 , 这和相对论中指出的光速是宇宙最大速度就冲突了 。