7.1 进入区域:坍缩即实例化(坍缩即实例化)
(Entering the Zone - Collapse as Instantiation)

“波函数从未‘坍缩’,它只是被‘实例化’了。就像代码里的类(Class)从来不会因为你创建了一个对象(Object)而消失。薛定谔的猫不是既死又活,它是还没被初始化的数据。”
量子力学最大的谜题就是:为什么微观粒子是概率的(波),而宏观世界是确定的(粒子)? 为什么必须有人看一眼,它才确定下来?
在艾泽拉斯代码里,这不是物理悖论,这是面向对象编程(OOP)的标准流程。 本节将论证:物理学中的“坍缩”,就是计算机科学中的实例化(Instantiation)。
7.1.1 类型错误:类 vs 对象
在旧物理学里,大家把波函数和粒子当成同一种东西。这是类型错误。
-
波函数是代码(Class):
- 它描述了可能发生什么(掉率表、属性范围)。
- 它不占内存,它只是规则。
- 例如:
Creature_Tiger(一张老虎的设计图)。
-
粒子是实例(Object):
- 它是具体的、独一无二的实体。
- 它占据具体的坐标,有具体的血量。
- 例如:
Guid_10086(荆棘谷的那只特定的老虎)。
结论: 波函数与粒子是同一逻辑实体的两种不同状态。它们之间的转化(测量),就是系统执行了构造函数(Constructor)。
7.1.2 谁触发了构造函数?
既然世界本来是代码(波),为什么会变成实体(粒子)? 答案是:交互请求。
当一个电子与宏观环境(比如你的视网膜,或者暴风城的城墙)发生互动时,宏观环境——作为一个复杂的系统——向电子发出了属性查询。
- 查询:
Tiger.getPosition()(老虎在哪?) - 系统响应:
- 检测到老虎处于未实例化的叠加态(在草丛里,可能在左也可能在右)。
- 调用随机数生成器(RNG),根据概率分布抽取一个数。
- 运行构造函数:
new Tiger(x, y)。 - 分配显存:在坐标 处渲染一只老虎。
- 返回结果:你看到老虎在那儿。
在观测者看来,波函数瞬间收缩到了那一点。但在系统底层,这只是从概率表生成了具体数值。
7.1.3 JIT物理学

现代游戏引擎广泛使用**即时编译(JIT)**技术:只有当资源即将进入玩家视野时,才会被加载。
定理 7.1.1(JIT 实在性定理)
为了省资源,物理系统仅在交互界面处生成确定的实体。在没人看的地方(没加载的地图),物理实在保持在**中间代码(波函数)**状态。
这解释了为什么我们找不到隐变量(Hidden Variables)。 隐变量理论认为:老虎在被发现前,位置就已经确定了。 计算理论认为:在被发现前,老虎的位置属性根本没有被分配内存。 试图去问“被发现前在哪”,就像试图读取一个空指针(Null Pointer)。
7.1.4 薛定谔猫的面向对象解释
现在我们可以完美解决薛定谔的猫。
盒子里的猫,是一个闭包(Closure)或惰性对象。
系统记录了:State = Depend_on(Poison) -> Depend_on(Atom)。
此时,猫并没有“死”或“活”的属性,因为它还没有被求值(Evaluated)。它只是一个待执行的函数。
当你打开盒子(执行观测):
- 你触发了强制求值。
- 系统追溯因果链,扔骰子判定原子是否衰变。
- 根据结果,即时实例化出一只死猫或活猫的模型。
猫从未处于“既死又活”的状态,它只是处于**“等待加载”**的状态。
7.1.5 总结:世界是动态生成的
坍缩即实例化的观点彻底消除了量子力学的神秘感。
- 波函数是艾泽拉斯的源代码。
- 粒子是艾泽拉斯的运行实例。
- 测量是连接二者的编译器。
我们生活在一个巨大的**事件驱动(Event-Driven)**程序中。每一次观测,都是一次对宇宙代码的执行;每一个确定的瞬间,都是从概率的海洋中通过计算结晶出的岛屿。