《黑客帝国》背后的数学:我们生活在模拟之中吗

影视, 数学, 科学

摘要

许多⼈通过书籍、漫画、电视剧和科幻电影对科学产生了浓厚的兴趣。在这些充满奇幻和好奇色彩的宝石之中,有一个震撼许多人心灵的作品——电影《黑客帝国》(The Matrix)三部曲。
《黑客帝国》是一部刻意质疑我们周围一切事物的电影。它引导观众接受笛卡尔提出的普遍怀疑论,质疑我们与他人和整个世界的关系,乃至于我们与自己的关系。
在本文中,我们将探讨《黑客帝国》电影背后的理论基础,讲述电影中描绘的真实和虚拟的世界,还会介绍支撑整个系列电影的基本数学概念。

Credits

翻译: Lythrum, Zoe, Jelly, Pawpaw | 校对: Lythrum, 剪子 | 总校: Skyler, 晓白

概述

沃卓斯基姐妹自编自导的杰作

《黑客帝国》由莉莉·沃卓斯基和拉娜·沃卓斯基自编自导,于1999年上映,是“黑客帝国”系列电影的第一部。《黑客帝国4:矩阵重启》于2021年底上映,使这个系列重焕生机。

这是一部主题深刻、内容坚实的杰作,引发了许多人的狂热崇拜,至今还在被新老影迷们谈论和解读。
电影的开场十分简单,开头几分钟内用一个简单的问题深深触动并吸引住了观众——我们周围的一切会不会都不是真实的?

电影情节围绕化名尼奥(Neo)的黑客托马斯·安德森展开。电影中存在一批臭名昭著的矩阵特工,他们时刻准备着干预并平息这个“完美”的虚拟世界中出现的任何异常情况。尼奥的行为引起了他们的注意。

尼奥过于接近“现实”,最终发现自己所处的环境是虚构的,只不过是一个已不复存在的世界的虚拟投影。尽管如此,他还是接受了真相,并开始“察觉到”其所处的母体只是残酷现实中的一部分。

主题

觉醒 命运 寻找自我 我们是谁 我们为什么在这里
《黑客帝国》系列涉及许多主题。观众可能要反复观看电影,才能清晰把握其中深意。

电影的第一个主题肯定是“觉醒”,这是一种认知,让我们开始思考“何为真,何为假”。我们可以通过科学将这个主题投射到对自然的研究上,即辨别什么是真实的,什么是虚假的。

另一个主题是命运,可以理解成一个被指定和被渴望扮演的角色。我们在此讨论的是,自己亲手创造的、想要扮演的角色和被强行指定的命运之间会存在剧烈的冲突。

寻找自我是电影中最明确的主题。主角尼奥是一个经典的英雄角色,他的旅程走向极端,并被强化到了极致。他在探求“我们是谁”的过程中做出的道德选择也十分鲜活。我们在主角和其他人物身上观察到的变化也是清晰且明确的。

推动电影叙事的主题是“⼈类与机器”,是“人与环境”这个宽泛主题衍生出的细化版本。从⼀开始,电影就清晰地描述且定义了催生母体(矩阵)的冲突,以及人与机器在情节中扮演的角色。电影的世界观十分稳固,经得起深究。

本文会讲述这样一个可以被访问和交互的虚拟空间是如何由数学中矩阵的概念衍生出来的。

我们生活在模拟之中吗

令人难以接受的是:我们的思维习惯于寻求意义和目的
我们接下来要聊的话题虽然可能有坚实的科学依据,但依旧是一个纯粹的哲学讨论,其答案也的确十分奇特。我们可能,在某种程度上,生活在模拟之中。然而不幸的是,我们并没有办法回答这样的问题。

与此同时,我们可能会被“模拟”这个词欺骗。从很早的时候起,我们就想知道自己是否活在模拟之中。但当时我们没有使用“模拟”这一概念,而是采用了“梦”这个词。

如今,我们开始思考模拟这一概念,是因为我们已经获得了真正意义上十分强大的计算能力,于是开始思考是否有“人”在这方面比我们更加强大。从科学的角度来看,我们没有办法证明这一点。但从哲学的角度出发,我们可以就此进行更多的推理,比如利用“奥卡姆剃刀原理”。

最简单的答案可以帮助我们吗?
谁知道呢。

当一个人开始沉思宇宙起源问题(科学能够描述宇宙在某一时间点之后的状态),也会开始思考诞生的原因,思考万物初始的理由。其中也包括我们亲身思考或体验过的意识问题。(笛卡尔曾说:Cogito ergo sum,即“我思故我在”)

这两个问题密切相关,我们对它们的理解和阐释却有着很强的局限性。然而现有的科学是无法解决这些问题的,科学运用的是描述和观察的手段。

科学可以帮助缩小问题的范围,但贡献也仅仅是使其边缘化,将其留存到哲学的讨论范畴内。

人类从孩童时就开始好奇发问——我们为什么会存在于世?这个问题与人类的本质紧密相关,而科学却无法给出有意义的答案,只能从生存和繁衍的角度进行解读。更令人难以接受的是:我们的思维习惯于寻求我们所有行动和存在的意义与目的。

即便如此,模拟现实的合理性问题也已经被各种思想家(包括科学家和哲学家)分析过了。
早在古代,许多人就问过类似的问题。庄子和笛卡尔是最早一批思考这类问题的哲学家。不仅仅是哲学家有这样的思考,一些人也认为我们的经历是主观的,因此容易出错,并且可能与某种虚幻的机制有关,就像电影《黑客帝国》里描述的那样。
哲学家尼克·博斯特罗姆(Nick Bostrom)以一种相当有趣的方式处理了这个问题:“你生活在计算机模拟中吗?”此处为出处链接

根据博斯特罗姆的说法,存在三种可能性,且只有一种是正确的:

1.任何文明都无法达到构建模拟所需的技术水平。
2.如果他们能,他们会决定不这样做。
3.我们处于他人创建的模拟中。

根据博斯特罗姆的说法,如果我们能创建一个模拟,那么我们肯定会在模拟中成为自己。

许多科学家对此进行了研究,试图与其他科学家和哲学家讨论这个问题的合理性。

而正如我们已经说过的,这个问题不能从科学的角度来研究,只有哲学才能给出答案。
对于是否为模拟中的一部分这个假设,我们没有具体的理由判断其是否正确。然而,一些科学家试图提出一些想法,例如通过分析自然法则中的中断和异常来寻找答案。

这个假设是不可证伪的。我们无法证明它是假的或真的,因此不可能以任何方式对待、确认或反驳它。

但是,如果我们有更多关于意识这一概念的信息呢?
对此,我需要再次强调,科学可以通过边缘化某些问题来对解答做出贡献,除此之外也无能为力。我们可能会发问:模拟中的实验真的能提供有用的数据吗?数学和逻辑推理会把我们引向荒谬吗?
毫无疑问,这些都是十分吸引人的问题。但如果我们真的生活在模拟之中,那么我们最终能找到自身存在的理由吗?或者说,我们的想法、欲望和需求都是被计划好的?

这些想法如何与现实的非确定性本质相吻合?迄今为止,支持或不支持模拟理论都是没有确切依据的。尽管如此,我们仍然可以了解一些相关话题,例如意识的本质、无法生成真正的随机数、循环问题……事实上,即使假设我们生活在模拟世界之中,我们仍然无法回答关于生命、宇宙和其他一切相关的基本问题。

数学与矩阵

矩阵(Matrix)一词来源于拉丁语 意为“怀孕的动物”或“子宫”
Matrix一词来自拉丁语,意为“怀孕的动物”。这涉及到母性和母子之间的联系,并最终延伸到“子宫”这一概念。在科学中,Matrix(指事物发展的环境)也是一个非常重要的元素,是一种包含其他对象的结构。从这个角度,Matrix与其拉丁语词源之间的联系就很明显了。

电影《黑客帝国》有一个大圈结构(即母体)。在这之中,人类被连接上能量转换器,他们在意识上与母体(矩阵)软件相连,并生活在虚拟现实中,即存在于模拟世界。

在这篇文章中,我们会讨论《黑客帝国》与数学之间可能存在的联系,探索一些有趣且引人入胜的更深层次的意义。

未来和马尔科夫链

如果我们精通数据分析 我们能探知未来吗
在数学上,矩阵由数字的行和列组成。它们彼此可以相加,有时还可以相乘。你可能认为自己从未与矩阵打过交道,也从来没有必要了解它,但它比你想象的更加常见。比方说,电脑显示器实际上就是通过矩阵来操作的。

《黑客帝国》三部曲利用矩阵来阐释“自由意志与宿命”这一争论。生活在母体(矩阵)现实中拥有思维的人类或是其他存在,都能预知未来,这类似于用算法替代了神谕。

未来就像一组有各自发生概率的事件,一个特定事件的实现是有限个(但也可能是无数个)选择的结果。这是一个计算概率和预测最可能事件的问题。

但它的理论更进一步,如果人们认为一个事件定义了未来的当前“状态”,那么进入不同状态的可能性就会根据初始的状态有所不同。在统计学中,我们研究过一个叫做“马尔科夫链”的概念,也经常被介绍为“醉汉的步伐”。换句话说,马尔科夫链是一个系统,在该系统中,状态i在时间k的概率只由时间k-1时决定,与之前的历史时刻无关。这个过程就像醉汉一样没有记忆,他的下一步将只取决于他刚刚迈出的那一步。因此,马尔科夫链描述了一种特殊的随机过程,适用于对在其演化过程中具有随机行为的系统进行建模。它们描述了以时间函数为形式演化的随机现象,并且对以前的状态没有记忆。

让我们把它说得更有诗意一些:
马尔科夫链意味着,
我们确切知晓现在,
而过去和未来彼此独立。

马尔科夫链是一个很有趣的概念,因为它可以把矩阵和概率论跟计算操作联系起来。

因此,马尔科夫过程中的矩阵可以帮助我们确定某些未来事件的概率,尽管它并不能确定地告诉我们将会通过哪条状态链,也没法说明在某个时间t之后我们将处于哪个状态。

这一点在《黑客帝国2:重装上阵》最后尼奥和建筑师的对话中得到了体现。建筑师是一个力争使系统尽可能稳定的算法。电视屏幕显示了主人公可能的选择,但当他做出决定时,数据就会实时同步。
而这样的同步就代表着尼奥做出算法预测的特定行动的概率会不断增加。

矩阵和线性代数

矩阵、线性代数和方程组简介

矩阵

矩阵是在科学领域被广泛运用的数学对象,在不同的领域中有不同的意义和应用,但其背后的理论是相同的。

从抽象和纯粹的数学角度来看,矩阵是进行问题求解以及进行矩阵间运算的有用工具。

广义上来说,矩阵是具有双重排列的元素集合。这些元素排成m行n列。矩阵A(m,n)表示的是一个m×n维的矩阵。

行数m和列数n相等的矩阵被称为方阵。

下面矩阵有四行四列,显然是一个4×4矩阵。

m×n的矩阵一般这样表示:

每一个矩阵元素都有一个下标ij,i和j的范围均为从1开始到某个元素n或者m。这是什么意思呢?下标i用来表示行数,而下标j用来表示列数。比如,a23指的是第二行第三列的元素。

线性方程的一个小例子

在线性代数中,矩阵通常与线性方程组的解联系在一起。数学领域的主要问题之一就是确定方程的解。即是否存在一些值,当其替换方程中的未知数时,仍然能够使方程成立?

举一个简单的例子:

2x = 4.

代入变量x并乘以2能够得到4的数是多少呢?答案是2。显然,2×2=4。

这是一种简单的方程,被称为一阶线性方程组,只有一个未知数。一个单行矩阵(2 4),其第一列表示未知数x的系数,第二列表示方程已知项。将上述矩阵除以2,我们可以得到矩阵(1 2),即x=2。很简单不是吗?

当我们有许多个线性方程,并且必须要找到所有方程的通解时,这时我们就是在研究线性方程组了。

求解线性方程组的一种便捷方法是利用“矩阵”。
具有两个未知数的线性方程在直角坐标系中可以表示为一条直线。

让我们以两个未知数x和y为例。

两个均含有两个未知数的线性方程构成同一个方程组,这意味着我们要找到两条直线相交的解,即两条直线的交点。

与上图所示方程组等价的矩阵是:

矩阵的第一列代表x的系数,第二列代表y的系数,第三列是常数项。用第一行减第二行,我们会得到(0 -4 1)。你不觉得这是求解线性方程组的一种非常简单的方法吗?

正如我们所看到的,在这个假设中,有三种可能的情况:

无解:两条线平行
只有一个解:两条线相交
无穷多解:两条线重合

对应的点y的值为-1/4,解:(5/4, -1/4)

在线性代数中,矩阵可用于简洁地书写和处理多个线性方程(即线性方程组),对于求解、线性变换等都非常有用。

我们可能会在更合适的地方学习和讨论线性代数。这些知识非常有用且令人着迷。

总结

算法和线性代数:尼奥是一个不可解的多项式方程
在《黑客帝国》中,模拟现实是由一个矩阵管理的,它与其内部元素和其他代表每个人的复杂矩阵相互作用。

电影中许多元素的选择都由马尔可夫链定义(简单性假设)。我们可以说,存在着这样一个算法或转化矩阵,它想要重置其状态以达成恢复秩序和一些其他目的。

母体(矩阵)中的居民是可解的多项式方程,而尼奥是不可解的,因此是一个独立的方程。

史密斯特工可以将自己复制到母体(矩阵)居民的大脑意识中,成为一个矩阵操作者,能够操纵其内部元素,使居民的“解”都等于他自己。并且据先知所说,他在一定时间后能够成功将自己克隆到整个母体(矩阵)的概率是100%。

最终,模拟世界的许多其他方面都受制于线性代数矩阵。尽管电影的片名不一定与线性代数直接相关,但片头或预告片中跃动的代码显然与计算机矩阵有关,而计算机矩阵与数学矩阵是非常相似的。

显然,这部电影的很多方面都涉及这些深刻且引人入胜的话题。如果没有“The Matrix”这个标题,它可能不会产生像现在这样使人惊讶、令人着迷和引人好奇的效果。

参考文献

Buchanan, Mark. Nexus: Small Worlds and the Groundbreaking Science of Networks. New York: Norton, 2002. 

Watts, Duncan J. Small Worlds: The Dynamics of Networks between Order and Randomness. Princeton: Princeton University Press, 1999.

Kris H. Green – What’s in a Name? The Matrix as an Introduction to Mathematics

Amedeo Balbi – Do we live in a simulated reality?