沈星河把U盘插进电脑的时候,手指是稳的。
林瑾弦注意到这个细节。在经历了昨晚窗台上的泥手印、顾维则那句意味深长的“带个好”、以及三年来第一次重新面对与程晚有关的一切之后,沈星河的手竟然没有发抖。不是因为不害怕,而是因为在她的大脑里,恐惧已经被重新归类为一种需要被处理的数据——而她处理数据的方式,就是计算。
U盘里只有一个文件。没有文件名,没有后缀,就是一个孤零零的、大小不到2MB的东西。沈星河用十六进制编辑器打开它,看了一眼文件头,说:“这是加密的。”
“能破解吗?”林瑾弦问。
“不需要破解。”沈星河说,“我知道密码。”
她输入了一串数字。文件解开了。
林瑾弦凑过去看。屏幕上出现了一个文件夹,里面有三个子文件夹,分别标注着:数据、论文、日志。
沈星河先打开了“数据”文件夹。里面是上百个Excel表格,每个表格都以日期命名,最早的可以追溯到五年前,最近的停在了三年前程晚失踪的那一天。她随机打开了一个表格,林瑾弦看到上面密密麻麻地记录着各种数据——时间、地点、经纬度、温度、湿度、气压、风速、还有一串串她看不懂的数字代码。
“这是什么数据?”林瑾弦问。
沈星河没有回答。她的眼睛盯着屏幕,嘴唇微微抿紧。她快速浏览了几个表格,然后打开了“论文”文件夹。
里面只有一篇论文。标题是:《非线性系统中的可控奇异吸引子——论混沌理论在人类行为预测中的应用》。作者:程晚。指导老师:顾维则。
沈星河没有打开论文,而是直接拉到了最后一页。
最后一页只有一行字:
“V知道我在说什么。”
林瑾弦记得沈星河说过这句话。在那些关于三年前的碎片化叙述中,这句话被反复提起。程晚写在论文末尾的、留给后来者的、像是某种求救信号一样的话。
“V就是顾维则。”林瑾弦说。
“对。”沈星河关掉论文,打开了“日志”文件夹。
里面只有一个文本文件,标题是“log.txt”。沈星河双击打开,屏幕上出现了一段密密麻麻的文字——不是正常的日志格式,而是一段看起来像意识流的东西,没有标点符号,没有换行,就是一个接一个的长句子,像一条没有尽头的河流。
“我今天又看到了那个车黑色的轿车停在楼下连续第三天了我不知道他在等什么但我知道他在等我顾老师说我想太多了他说程晚你的问题是总想把随机的东西看成有规律的但我知道这不是随机这个世界上没有真正的随机只有我们还没发现的规律……”
沈星河开始滚动页面。日志很长,从三年前的春天一直记到程晚失踪的前一天。越往后,文字越凌乱,句子越短,间隔越大。
“……他们在用人做实验……”
这是沈星河之前提到过的那句话。在日志里,这句话被重复了七次,每一次的笔迹(如果文本也有笔迹的话)都比上一次更加支离破碎。
“……星河不知道她不知道她什么都不知道我不应该告诉她但我告诉了她她应该知道她必须知道……”
沈星河看到这里,忽然把笔记本合上了。
林瑾弦看着她。沈星河的脸在显示器的蓝光中显得更加苍白,她的眼睛还是那样黑、那样亮,但里面有某种东西正在碎裂——不是突然的、剧烈的碎裂,而是像一张被水浸泡过的纸,一点一点地失去形状。
“你还好吗?”林瑾弦问。
“我不好。”沈星河说。她很少这样直接承认自己的状态。她从来都是说“我没事”或者“这没关系”,然后用一个数学笑话把话题岔开。但这一次她没有。她只是坐在那里,双手放在合上的笔记本电脑上,低着头,一言不发。
过了大约一分钟,她重新打开了笔记本。
“我需要看完。”她说,像是在说服自己,“程晚留下这些东西,不是为了让别人替她难过。她是想让人知道真相。”
她继续往下滚动日志。最后几天的记录越来越短,越来越破碎,像一面即将碎裂的镜子。
“……他们把服务器搬走了搬到了我不知道的地方顾老师说这是为了安全什么安全谁的安全我的安全还是他们的安全……”
“……我今天收到了一个邮件没有发件人只有一个附件附件是一个人的行为轨迹数据我不知道这个人是谁但我知道他们为什么要这个数据他们不是在预测他们在干预……”
“……我不能再留在这里了我要走了但我要把证据留下来如果有人看到这些东西请记住这个坐标……”
坐标。
沈星河和林瑾弦同时看到了这个词。日志的最后一行是一个坐标——一组数字,精确到小数点后六位。沈星河把这组坐标输入地图软件,地图上出现了一个位置。
市郊。距离老宅大约二十公里的地方。一个没有名称的、被树林包围的坐标点。
“这是什么地方?”林瑾弦问。
沈星河放大地图,切换到了卫星视图。在层层叠叠的树冠之下,隐约可以看到几栋灰白色的建筑,排列成一个不规则的形状。建筑周围没有道路标记,没有停车场,没有任何显示人类活动的迹象。从卫星图上看,它就像一块被大自然重新吞没的废墟。
“废弃的研究所。”沈星河说,“这种研究所在八十年代有很多,后来大多数被废弃了。有些被改造成了仓库,有些就这样空着,没人管。”
“程晚为什么要留下这个坐标?”
“因为那里有东西。”沈星河站起来,走到墙壁前,看着那些写满公式的墙面,“她说他们把服务器搬走了。搬到了某个地方。也许就是这个研究所。”
林瑾弦站起来,走到她身边。“你想去?”
“不是想去。”沈星河转过身来,“是必须去。”
“你确定?如果那里真的有什么,顾维则一定会在那里留下防备。”
“所以我不打算偷偷摸摸地去。”沈星河说,“我要光明正大地去。”
林瑾弦看着她的眼睛,忽然明白了她的意思。“你要用那个模型。”
沈星河点了点头。“程晚的U盘里有完整的数据——五年的数据。我可以把这些数据输入模型,推算出顾维则那个项目的全貌。包括他们预测了哪些人,干预了哪些事件,以及——接下来会发生什么。”
“接下来会发生什么”这六个字像一颗石子投进了林瑾弦心里那片已经不太平静的湖面。她想起了沈星河昨晚在电话里说过的话——她说那个混沌模型不仅解释了过去的死亡,还能预测未来的死亡。
“你之前说,模型预测了接下来的五起死亡。”林瑾弦说,“最后一起的标注目标是你。”
“那是基于三年前的数据。”沈星河说,“现在有了程晚的数据,我可以重新运行模型,得到更精确的预测。不仅仅是时间范围,可能精确到具体的时间、具体的地点、具体的人。”
“那就跑。”林瑾弦说。
沈星河看着她,嘴角微微动了一下——那个几乎可以忽略不计的弧度,林瑾弦在七年前的高中走廊上见过。那是沈星河的笑容,内敛的、稍纵即逝的、像一道被闪电照亮的裂缝。
“我需要时间。”沈星河说,“给我一个晚上。”
“我在这里陪你。”
“你不用——”
“我没打算征求你的意见。”林瑾弦打断了她,走回桌前,拉开椅子坐下来,“你算你的,我睡我的。你什么时候算完,我们什么时候出发。”
沈星河张了张嘴,似乎想说什么,但最终什么都没说。她只是看了林瑾弦一眼,然后坐下来,把程晚的U盘里的数据导入自己的系统,开始运行模型。
房间里安静下来。只有键盘的敲击声、服务器的嗡鸣声、和墙上老式挂钟的滴答声。林瑾弦靠在椅背上,看着沈星河工作的侧脸。她的眉头微微蹙着,嘴唇轻轻抿着,眼睛在多个屏幕之间快速移动,偶尔停下来,在草稿纸上写几行推导,然后又继续。
那种感觉又回来了。七年前,在图书馆里,面对面坐着,各自做题。那时候林瑾弦觉得,世界上最美好的事情,就是在安静的空间里,和一个同样热爱数学的人并肩作战。不需要说话,不需要对视,只需要知道对方就在那里,就足够了。
七年后,这种感觉依然没有变。
林瑾弦不知道自己是什么时候睡着的。她只记得自己最后看到的是沈星河在第三块屏幕上画出的那条曲线——一条蜿蜒的、像蛇一样的、正在缓缓靠近某个不可见边界的曲线。
她醒来的时候,天已经亮了。
阳光从窗帘的缝隙里透进来,在地板上画出一条细细的光线。她的身上盖着一条毯子,不知道是什么时候被盖上的。桌子上多了一杯水,还是温的。
沈星河还坐在电脑前。但她的姿势和昨晚不一样了。昨晚她是前倾的、紧张的、整个人像一支拉满了的弓。现在她靠在椅背上,双手放在膝盖上,目光落在天花板上的某个公式上,表情平静得像一潭死水。
“算完了?”林瑾弦问。
沈星河没有转头,只是轻轻“嗯”了一声。
“结果呢?”
沈星河从桌上拿起一张纸,递给林瑾弦。
纸上画着一条时间轴,从今天开始,到两个月后结束。时间轴上标着五个红点,每个红点旁边都标注了时间、地点和人物信息。
林瑾弦看着第一个红点。时间:六天后。地点:市中心某写字楼。人物:一个她从未听过的名字。
“这个人是谁?”她问。
“大学财务处处长。”沈星河说,“顾维则实验室经费的审批人之一。”
林瑾弦看着第二个、第三个、第四个红点。每一个标注的人物,都或多或少与顾维则的实验室有关联——资助方、审批人、合作者。这些人分布在这个城市的不同角落,有着不同的职业和不同的生活轨迹,但在沈星河的这张图上,他们被同一条曲线串在了一起。
一条通向死亡的曲线。
“最后一个呢?”林瑾弦问。她注意到第五个红点旁边的人物信息被涂黑了,看不清楚。
沈星河沉默了几秒。
“是你。”她说
林瑾弦的手指微微收紧,纸张被捏出了褶皱。她没有表现出恐惧或震惊,只是问了一个非常林瑾弦式的问题:“确定吗?”
“基于现有数据的推演,确定性是百分之八十七点六。”沈星河说,“但如果我把窗台上那个泥手印的生物特征数据输入模型,确定性会上升到百分之九十四以上。”
“所以你之前说模型预测你会死,实际上是预测我会死?”
“不是‘会死’。”沈星河纠正道,“是‘可能被标记为下一个目标’。这两个概念不一样。被标记不意味着一定会被执行。模型只能预测‘意图’,不能预测‘结果’。”
林瑾弦盯着那张纸看了很久,然后把纸折好,放进口袋。
“我们去第一个地点。”她说。
“什么?”
“六天后,市中心写字楼。既然模型预测那里会发生一起死亡事件,我们就去那里等着。”林瑾弦站起来,“如果什么都没有发生,说明你的模型是错的,我们从头再来。如果发生了——”她停顿了一下,“我们就抓住了现行。”
沈星河抬起头,看着她。那双黑色的眼睛里有一种复杂的、难以名状的情绪——像是担忧,像是感激,又像是一种被理解的释然。
“你相信我的模型?”沈星河问。
“我相信你。”林瑾弦说。
沈星河低下头,把脸埋进了手掌里。她没有哭,至少林瑾弦没有听到任何哭泣的声音。她只是那样坐了很久,像一座被风吹了太久的雕塑,终于找到了一个可以暂时停靠的地方。
林瑾弦没有走过去,没有拥抱她,没有说任何安慰的话。她只是站在原地看着,然后转身走向厨房,开始煮咖啡。
咖啡的香气在房间里弥漫开来,混着旧书页和粉笔灰的味道,形成一种奇特的、只属于这间老宅的气息。林瑾弦端着两杯咖啡走回来,把一杯放在沈星河面前。
沈星河抬起头,眼睛红红的,但没有泪痕。
“喝完这杯咖啡,”林瑾弦说,“我们开始准备。”
“准备什么?”
“准备六天后抓一个人。”林瑾弦坐下来,从包里掏出那个皱巴巴的笔记本,“首先,我需要你告诉我,这个混沌模型到底是怎么运作的。我要知道每一个细节。因为六天后,我可能需要在没有你的情况下,当场做出判断。”
沈星河端起咖啡,喝了一口。她的手指不再发抖了。
“好。”她说,“从哪里开始?”
“从头开始。”林瑾弦翻开笔记本,“从洛伦兹开始。从蝴蝶开始。从你第一次见到顾维则的那一天开始。”
沈星河把咖啡放下,靠在椅背上,目光落在天花板上那个被她写了无数遍的洛伦兹方程上。阳光正好照在那一面墙上,σ=10,ρ=28,β=8/3这三个参数在光线中显得格外清晰,像是被上帝亲手写下的某种密码。
“1961年的冬天,”沈星河开始了,她的声音很轻,像是在讲一个睡前故事,“洛伦兹在麻省理工学院的实验室里运行一个气象模拟程序。为了节省时间,他从中间开始运行,而不是从头开始。他输入了一个数字——0.506——然后去喝了杯咖啡。等他回来的时候,他发现计算机算出的结果和他预期的完全不同。”
“为什么?”林瑾弦问。
“因为他输入的0.506,是原来数据0.506127的四舍五入。”沈星河说,“一个不到万分之一的误差,在短短几个模拟天内,被放大成了完全不同的天气模式。洛伦兹后来在一篇论文中写道:‘一个蝴蝶在巴西扇动翅膀,可能会在德克萨斯州引起一场龙卷风。’”
“这就是蝴蝶效应的由来。”
“对。”沈星河转过头来看着林瑾弦,“但大多数人理解错了蝴蝶效应。他们觉得它说的是‘小事可以引起大事’。这是错的。蝴蝶效应说的不是因果关系的大小,而是因果关系的敏感度。在混沌系统中,初始条件的微小差异会导致结果的巨大偏离。这意味着,从本质上说,混沌系统是不可预测的。”
“那你的模型为什么能预测死亡?”
“因为死亡不是混沌的。”沈星河说,“至少,凶手想让它们看起来不是混沌的。凶手在制造一个假象——让死亡看起来像是混沌系统中的随机事件。但实际上,这些死亡是被精心设计过的。它们不是混沌的结果,而是混沌的镜像。”
林瑾弦在笔记本上飞快地记着。“混沌的镜像——什么意思?”
“意思就是,凶手在反向操作洛伦兹系统。”沈星河拿起马克笔,走到墙壁前,在洛伦兹方程的旁边画了一个示意图,“正常洛伦兹系统:初始条件→系统演化→结果。凶手做的是:结果→反向推演→初始条件。他先决定谁在什么时候死,然后反推出需要什么样的‘初始条件’——温度、湿度、时间、地点、受害者的行为模式——才能让这个死亡看起来像是自然发生的。”
“所以那些异常湿度、异常心率、异常锈蚀,都是凶手制造出来的‘初始条件’?”
“正是。”沈星河在图上画了几个箭头,“浴室的湿度被精确控制在85%,因为那是洛伦兹系统需要的参数之一。心率在七秒内从82跳到210,因为那是系统的触发阈值。栏杆的锈蚀程度被精确计算过,因为那决定了断裂的精确时刻。”
林瑾弦看着墙上的图,忽然感到一阵眩晕。不是因为图太复杂,而是因为它太清晰了。当沈星河把这些碎片拼在一起的时候,整个画面忽然变得触目惊心地清晰——一个数学天才,利用一个描述大气对流的混沌系统,把杀人伪装成了意外。这不是激情犯罪,不是报复,不是任何传统意义上的动机。这是一种更高层次的、更抽象的、近乎哲学层面的恶意。
“他为什么要这么做?”林瑾弦问,“顾维则为什么要杀这些人?”
沈星河放下马克笔,回到桌前,重新打开笔记本电脑。她调出了程晚日志里的一段话,指给林瑾弦看。
“程晚说,他们不是在预测,是在干预。”沈星河说,“我想了很久这句话的意思。后来我明白了——顾维则的项目,从一开始就不是为了‘预测’人类行为。他是想‘干预’人类行为。他想证明,通过精确控制混沌系统的初始条件,他可以在现实世界中制造出任何他想要的结果。”
“他想要什么结果?”
“控制。”沈星河说,“终极的控制。如果他能证明,一个人的生死可以被一个数学公式精确地决定,那么他就掌握了一种前所未有的权力。他不是在杀人,他是在做实验。那些人不是受害者,他们是数据点。”
房间里安静下来。墙上的挂钟滴答滴答地走着,每一秒都像是在为某个看不见的倒计时做着标记。
林瑾弦低头看着笔记本上自己写的那些字——洛伦兹、蝴蝶效应、初始条件、奇异吸引子。这些词汇在几个小时内从陌生变成了熟悉,又从熟悉变成了一种沉重的、压在胸口的东西。
“六天后”,她说,“市中心写字楼。我们会在那里。”
“你确定要去?”沈星河问。
“你确定你的模型是对的?”
沈星河沉默了几秒。“数学上,我确定。”
“那就够了。”林瑾弦合上笔记本,站起来,“现在,你教我。”
“教你什么?”
“教我读懂你的图。”林瑾弦说,“六天后,如果那个地方真的发生了什么,我需要知道我看到的是什么。我需要知道哪些细节是‘初始条件’,哪些是‘系统扰动’,哪些是真正的异常。”她顿了顿,“我需要像你一样思考。”
沈星河看着她,那双黑色的眼睛里有什么东西亮了一下。不是那种在谈论数学时才出现的亮光,而是一种更温暖的、更接近人类情感的光。
“好。”她说,“我教你。”
接下来的六个小时里,沈星河把林瑾弦变成了半个混沌理论专家。她从一个最简单的逻辑斯蒂映射开始讲起,然后是洛伦兹系统的三个方程,然后是奇异吸引子的几何结构,最后是逆问题的求解方法。林瑾弦的数学基础不差——高中时代她也拿过省一等奖,虽然比不上沈星河的天才,但理解这些概念并不困难。
困难的是接受这些概念背后的世界观。
“你的意思是,”林瑾弦在笔记本上画着图,“只要给我足够多的数据,我就能预测一切?”
“理论上,是的。”沈星河说,“拉普拉斯在1814年提出了‘拉普拉斯妖’的概念——如果有一个智能体知道宇宙中每一个粒子的位置和动量,它就可以用牛顿力学推算出宇宙的整个过去和未来。后来量子力学和混沌理论证明了拉普拉斯妖不存在,但这个想法本身并没有被否定——它只是被修正了。”
“被修正成什么?”
“被修正成:我们不能预测一切,但我们可以预测一些东西。”沈星河说,“混沌系统在短期是可预测的。在奇异吸引子的范围内,系统的行为虽然混沌,但有边界。这个边界就是我们可以预测的部分。”
“就像凶手在做的事?”
“就像凶手在做的事。”沈星河点了点头,“他没有预测蝴蝶翅膀的每一次扇动。他只预测了蝴蝶会在什么时候、什么地点、以什么方式扇动翅膀,才能引起他想要的那场龙卷风。”
窗外,天色又一次暗了下来。林瑾弦看了一眼时间——晚上七点。她们已经在这间房间里待了将近二十四个小时。
“休息一下吧。”她说。
“我不累。”沈星河说。
“我知道你不累。但你昨晚没睡,今天又讲了一整天。你需要睡觉。”
沈星河看起来想反驳,但林瑾弦已经站起来,走到她的床边,把被子铺好。
“过来。”林瑾弦说。
沈星河犹豫了一下,从椅子上站起来,走到床边,坐下来。她没有躺下,而是靠着床头坐着,双手抱膝,下巴搁在膝盖上。
林瑾弦拉过椅子,坐在床边。
“你睡吧。”她说,“我在这里。”
沈星河看了她一眼,然后慢慢地、一节一节地躺了下去。她侧过身,面朝林瑾弦的方向,闭上了眼睛。
她的呼吸很快变得均匀而绵长。林瑾弦不知道她是真的睡着了,还是只是在假装睡着好让自己放心。但不管怎样,她都没有离开那把椅子。
她坐在那里,看着沈星河沉睡的脸。没有蹙眉,没有抿唇,没有那种紧张的计算状态。她看起来像一个普通的、疲惫的、终于被允许休息的年轻人。
林瑾弦忽然想起七年前的一个下午。那是她们第一次一起参加数学竞赛,沈星河考了满分,但走出考场的时候脸色白得像纸。林瑾弦问她是不是不舒服,她说“不是不舒服,只是用了太多脑力”。然后她靠在走廊的柱子上,闭上眼睛,在喧闹的人群中睡着了。
那时候林瑾弦站在她身边,替她挡着来往的人流。就像现在这样。
有些东西永远不会变。就像数学公式,就像混沌系统中的奇异吸引子——无论系统如何演化,总有一些点,轨迹会一次又一次地靠近。
林瑾弦从口袋里掏出那张纸,看着上面标注的第一个红点。六天后,市中心写字楼。
她会去那里。
不是因为勇敢,不是因为正义,甚至不是因为沈星河。
是因为那张纸上第五个被涂黑的名字。那个名字是她自己。她需要知道,在顾维则的公式里,她是一个什么样的变量。她需要知道,沈星河的模型到底有多准。她需要知道,那个用数学杀人的凶手,到底是顾维则,还是别的什么人。
但在那之前,她要坐在这把椅子上,守着这个睡着的人。
窗外的风停了。树梢安静下来。老宅沉入了一个深沉的、没有梦的夜晚。
林瑾弦把毯子拉上来,盖住沈星河露在外面的肩膀。沈星河在睡梦中微微动了一下,像是感觉到了什么,但没有醒来。
墙上的挂钟敲了八下。
还有五天二十个小时。










网友评论