格雷格伊根《数字永生计划》(《置换之城》)书评(上)

近乎完美的作品。

首先必须得吐槽一下这个出版社,译名和腰封、背后的简介起的太敷衍了,一股子廉价感,要不是看见Greg Egan的大名,可能就错过这本书了。他们是怎么做到把龙虾包装成小龙虾的?数字永生计划并没有直译的“置换之城”符合主题,至于那些宣传词,基本上是……精准地绕开了重点。

实际上书本身的内容非常超前。核心点子给人带来的震撼程度和《盲视》是一个级别的(刚好两本书都有着十分精彩的“第一次接触”描写),但《盲视》太晦涩难读了,读起来太累,而且书中的人物塑造太难以理解了。这部作品完全不同,基本上可以畅快淋漓地读完!作为一部90年代的作品,放到今天仍然丝毫看不出时代造成的破绽(基本上没有出现什么电梯笑话之类的情况,除了书里的角色没有人手一部智能手机以外毫无违和感),这是十分考验作者水平的。作者对于云计算技术的假想几乎和现实中一样,例如皮尔、凯特的自我不断地被调度到算力更廉价的地区去执行运算,这在2024年的今天已经实现了。

作者并未老生常谈地谈论什么“真正的意识”“上传的我还是我吗”“缸中之脑”之类的话题,相反,开宗明义地表明:

强人工智能假说的支持者们坚持认为,意识是某些算法的属性——是信息以特定方式被处理的结果,不论执行这一任务的是什么机器或器官。如果一个计算机模型操纵关于它自己及其“周围环境”的数据的方式与有机大脑基本相同,那么它肯定拥有与后者基本相同的精神状态。“模拟意识”和“模拟加法”一样,是自相矛盾的说法。

反对者回答说,你建一场飓风的模型,不会有人被淋湿;你建一座核聚变电站的模型,不会有电力被生产出来;你建立消化和新陈代谢的模型,不会有营养物质被消耗——没有发生真正的消化过程。那么,当你造出来一个人脑的模型,你为什么要期望它能进行真正的思考?一台运行副本的计算机也许能够在假设场景中产生对人类行为的合理描述——甚至看上去能够通过正确预测人类在相同情况下究竟会做什么而进行对话——但这很难说明机器本身具有意识。

保罗很快做出判断,这些辩论全都是离题万里的无聊消遣。对于任何一个人类来说,确凿地证明一个副本的智能都是不可能的。对于任何一个副本来说,真理不言自明:我思故我在。毋庸多言。

那是一些只有副本能回答的问题。

这些问题并非不重要,但实在是被讨论的太多了,到最后基本上是在争论定义问题。相反,伊根在此讨论的是另外的问题:我们凭什么认为自己的主观意识真的关联着一个物质世界,这个世界是如此地唯一、不可动摇,按照固定的规则(显然没有人知道为什么是这些规则,而不是另一些)运转?

有趣的设定

我思故我在。即使硬件关闭,我照样存在……

这是尘埃。所有的尘埃。

这个房间,在这一刻,散布在整个星球上,散布在五百秒或更多的时间里,但它仍然保持为一体。

你不明白这意味着什么吗?

伊根在本书重点讨论的话题包括“主观意识与客观世界之间的连续性”:如果主观意识能够在计算机的模拟下产生,那么主观意识上的这一秒与下一秒,无需在时间上或是空间上连续。

这看起来简直是常识……稍加思考我们就会明白,这是不容置辩的真理。任何一台冯·诺依曼机,在某个时刻的状态决定了它下一个时刻的状态。在这里,时间的最小单元或许是处理器执行运算的时钟周期。如果我们暂停机器并记录下它的状态,改为在另一个时间、另一台机器上继续运行,那你当然能得到后续的一切结果,就像从来没有被暂停过一样。程序自身根本无法区分自己有被中断过——你的pc上每分钟都在发生类似的事情,进程耗尽了时间片而被暂时中断,好空出资源来给其他进程,提供一种名为并发的假象。它许诺无论你的机器实际上使用什么规格的硬件,都能运行无限个进程(现实中PID会被用完,但理论上能够制造出允许无限个进程的系统)仿佛你有无穷多的计算核心一样。因此,如果你的进程包含了主观意识,这主观意识必然不会被中断。

另一个话题是减速。这同样可以用现代PC上发生的事情解释:如果你在你的PC上运行大量进程,没有任何一个进程会感知到自己被频繁地中断。它们轮流地被运行,只是运行的间隔变得很长,每次运行的时间变短。进程“主观”感觉到的时间(实际花费了多少个时钟周期执行了多少条指令)和现实中实际流逝的时间出现了无法具体了解的分歧。它被减速了。书中从一开始就让副本常态运行在减速状态下,我想这是为了向读者强调一个事实:主观意识感觉到的时间和“物质世界的时间”不具有确定的对应关系。减速在书中出现了很多次,并且提供了一个在我看来是相当浪漫的解释。

一切看起来都还OK,对吧?但在这些事实上做出的外推可就骇人听闻了……当我们关掉计算机,停止模拟意识的进程,在他自己主观看来,世界竟然能够继续存在。无须硬件

伊根介绍尘埃理论的方式主要是通过一个又一个的例子,让读者自行领悟。可能有些读者第一次读没太懂,因此我试着正面描述一下这个理论:

在模拟世界的时刻T0,整个系统的状态可以用一些数字[A0,B0,C0....]描述。如果计算机继续运行,我们能得到状态(T1,[A1,B1,C1....])、(T2,[A2,B2,C2....])……

我们知道:这些状态没必要在时空上连续地出现在同一台计算机的内存中。时间上,你可以得到T1后暂停个几年再去运算T2,或者先得到T2的状态再得到T1的状态,甚至跳过T1直接计算T2(意味着[A1,B1,C1....]根本没有在你的内存中出现过

我们还知道:数字[A0,B0,C0....]没道理必须是内存条上的高低电平。如果我们有一台用核酸序列作主存的计算机,或者同样的计算机但使用不同的编码(如大端法、小端法表示同样的数字在物理上就完全不同了),同样可以算出状态(T1,[A1,B1,C1....])、(T2,[A2,B2,C2....]),尽管他们物理上的表示不同。解读方式可以是任意的。再进一步,任何东西,哪怕是真空中量子涨落的一群夸克,都可能用某种方式被解读成[A1,B1,C1....]。

对于那个被模拟的意识而言,在他主观上完全无法区分自己在“真实世界”的物理对应是什么。这[A1,B1,C1....]完全可以是从整个宇宙的历史上任何一团夸克碰巧组成的。因此,哪怕关掉计算机,这意识也能自我发现。它存在于一个独立的宇宙,而不是依赖于硬件。我们使用计算机消耗算力,所做的仅仅是在两个宇宙之间传递信息:计算出另一个宇宙的状态,把这些(T1,[A1,B1,C1....])、(T2,[A2,B2,C2....])有序排列起来,让我们能够理解。

如果我们把这个逻辑推到尽头的话,会得出一种奇怪的、但逻辑自洽的宇宙观:我们凭什么相信物理世界就是实在的呢?可能只有一些茫茫多的实数是“实在”。我们选择不同的规则来解读这些数字,定义哪些代表时间、哪些代表空间,哪些定义了这儿的波函数,哪些定义了那儿的引力场……如此一来,“真实的”和“模拟的”就被置于同等的地位,再也没有理由去区分两者了。

“想象一下……一个完全没有结构、没有形状、没有联系的宇宙。一团微观事件,像时空的碎片……除了没有空间或时间。在一个瞬间,该怎样描述空间中的一个点?只是基本粒子场的值,只是几个数字。现在,拿掉所有的位置、排列、秩序的概念,剩下的是什么?一团随机的数字。”

“宇宙根本没有形状,没有时间或者距离,没有物理规律,没有因和果。……如果作为‘我’的这个模式能够从这颗星球上发生的所有其他事件中挑出自己……为什么我们认为是‘宇宙’的模式不能以完全相同的方式自我组装、自我发现呢?如果我可以从分散之广乃至于可能是某个庞大数字云的随机一部分数据中拼凑出自我连贯的空间和时间……那么你为什么认为你没有在做同样的事情?”

序章的那首诗正暗示了主题:同样的几个字母,以不同的顺序解读它,竟然也能解读出如此多的结果。

一切都合乎逻辑,一切都基于不可置辩的事实出发,再做了一点儿看上去合情合理的外推。他的论证无懈可击,一度让我怀疑是否不仅仅是小说,现实世界也是这么运作的。

(伊根本人在他的网站上表示他并不很严肃地相信这个理论,但是嘛……)

到这里我们也能看出中文版的宣传语是多么扯淡:尘埃理论下,基于元胞自动机的数字意识根本就不脆弱,它几乎无法被消灭;你关停、删除了他,也顶多是送他穿越去异世界。反倒是基于血肉之躯的意识脆弱的要命

时间分辨率与优化器

间隙,实验一当中那些。是什么填补了它们?当处理器没在描述我时,我是由什么构成的?嗯……这是个大宇宙。在描述之间,有大量的尘埃可以成为我。大量的事件——与你们的计算机无关,也许与你们的星球或你们的时代无关——可以构建十秒钟的经验。

作为一个IT从业者,保罗·达勒姆在自己副本身上做的那些实验相当有趣。在时间分辨率的实验中,保罗曾经跳过中间状态、只计算首尾状态。对于副本而言,被跳过的那段时间是“实实在在”经历过的,而非仅仅是被写入了这段时间的记忆。随着“时间分辨率”的不断降低,这段被跳过的时间从一秒逐渐加码到了数分钟。这不禁让人想问如果我们只计算初始状态和一百万年之后的状态,是不是就能只计算两个状态模拟出一百万年中每一秒的历史?

或许对于元胞自动机而言,跳过中间状态这事儿在计算上不太可行。但保罗·达勒姆一世很富有,即使这样做的计算难度很大,他也能用更加浪费算力的方式实现它。

但我们看看现实中的程序是怎么运行的。在确保最后结果不变的前提下,省略某些中间状态——这不就是优化器正在干的活嘛!

一个经典的、常常在课堂上被提到的例子:如果你执行下面的代码,会发生什么?

int main()
{
	int i = 30;
	int j = 12;
	i += j;
	return 0;
}

你可能会觉得“30” “12” 和“42”这几个数都会在内存(或者寄存器,随便哪儿)中出现个至少一次,但现代优化器会干脆把这些全部删去,什么都不干。你可以。事实上几乎所有语言都有类似的机制。只有当你试图输出计算结果的时候才会被实际执行:

int main()
{
	int i = 30;
	int j = 12;
	i += j;
	printf("%d", i);
	return 0;
}

当然你真拿着这段代码去跑,估计也只有“42”存在了。优化器看出来每次执行的时候结果都不会变,“30”和“12”根本就是多余的中间状态。任何没有输出到外界交互的东西都是多余的。

我们不知道保罗·达勒姆一世买到的计算资源是怎么工作的,但它几乎肯定用到了某些优化器。如此说来,即使是正常工作的情况下,计算机的内存中也不会真的出现每一个原封不动的[An,Bn,Cn....]。那些没有被输出到显示屏上且副本眼睛没在看的部分十成十被优化掉了。这样看来,中间缺少几个[An,Bn,Cn....]对副本没有任何影响,也是理所当然的了。

那么当副本感觉自己正处于那些理应“被优化掉”的时空中,就是尘埃理论成立的铁证。

自动域与元胞自动机

(待施工)

宇宙规律武器

某电工曾经写过:宇宙间的高等文明使用修改宇宙规律作为武器。甚至数学规律都能被修改。但可能是自知驾驭不了这种题材,他从来没有细写过。

7+益智游戏也靠着“给圆周率取整”实实在在出圈了一把。为什么这没有直接秒杀全图pop?根本不合理

这算不上什么罕见的点子,但能够正面描写,还敢去探究里面细节的寥寥无几。格雷格伊根无疑是其中一个。

本篇最后与兰伯特人第一次接触的部分,双方通过计算争夺伊甸园宇宙的主导权,最终兰伯特人的理论赢了。作者另一部作品《闪光》也出现了十分相似一鱼两吃的情节,但更加具体。如果说本作是“以修改物理学规律作武器”那么《闪光》就是“以修改数学规律作武器”了。

最后,这篇小说的人物塑造也有诸多可圈可点之处,我将来可能会另写一篇。

文章作者: 方安排
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 方安排的小站
读书笔记
喜欢就支持一下吧