请问为什么说【光速不可超越】?请尽量说的通俗些,并原谅我的无知?

2024-11-19 阅读 103
更新于 2024年11月21日
光子,没有静止质量,所以它获得能量就可以全速飞行。这个飞行全速,就是光速。
我们尝试给光子加速,不断给光子加入能量。我们发现不管怎么塞能量进去,光子都没有以更快的速度飞行。但是光子确实携带了更多的能量,它从低能态变为了高能态。
还记得“光的波粒二象性”吗?光子具有粒子性,同时也具有波动性。我们发现为光子加速的时候,它的速度没变,但是波动性有了变化,它波动的频率更高了。
我们猜想,也许把波动频率加到最高,就会突破光速?那用实验见证吧!
我们继续实验,在高温环境中继续为高能光子注入能量,确实发现了一点不一样的东西。高能光子消失了,它超光速了吗?似乎没有。但是我们获得了一些没见过的东西,一个电子,还有另一个貌似电子,但又不大一样的东西。
我们知道电子带负电,而那个貌似电子的东西,带正电。也就是,带正电的电子。
正负电子互相接触,爆炸释放了能量,高能光子又出现了。
哪尼???什么情况???
我们尝试多次实验,实验结果高度一致!光子的频率突破极限,就会获得有静止质量的正负电子。
果然,这个世界有着一种似乎是时空壁垒的东西,能量累积试图超出时空壁垒时,就会被强制改写格式,进行空间堆叠,呈现出静止质量!
所以,无法超光速的原因或许找到了。因为世界存在时空壁垒,试图超光速的能量会被强行以质量的格式保存起来。
好家伙,这样说,够不够通俗?
为了能够清楚地说明白,我们先来设定一个前提:
我们这个世界是某种计算主机虚拟出来的,类似黑客帝国一样;
这种计算主机有类似我们现实世界计算机的浮点运算的计算特性。
如果从这个角度来考虑,对于这个问题我可以提供一个有趣的思路。
既然已经提到了现实世界的数值精度问题,那么我们身处在这个黑客帝国世界里,怎样才能感知到世界底层正在进行的数值计算过程,从而还进一步能了解到其浮点运算的特性呢?
其实,我们可以从我们自己构建过的虚拟世界的创造者的角度来同理思考这个问题。
人类构建的最多的虚拟世界是什么呢?
答案是 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 个数量级之多!
可见,我们这个宇宙的计算精度有多低!