array(5) { ["chapterid"]=> string(8) "49938449" ["articleid"]=> string(7) "7364110" ["chaptername"]=> string(8) "第17章" ["content"]=> string(7694) "从杨浦自来水厂回来以后,猫在门口睡了整整一天。
林述开门的时候它没有抬头。之前每一次他推门它都会站起来,耳朵先转,然后眼睛才睁开,像一台按顺序启动的传感器。这次它的耳朵没有动。眼睛是闭着的,呼吸很浅,肋骨在灰蓝色的短毛下面微微起伏。阳光从走廊尽头的窗户打进来,照在它背上,把蓝底上的暖棕照出一层近乎金色的反光。
他在它旁边蹲下来,把手放在猫的背脊上。温度正常——猫的体温比人高半度左右,他的指尖能感到一小片干燥的温热。呼吸频率也正常。但它的眼睑里面,眼珠在快速转动。不是做梦的那种无规律的转动,是定向的、有节奏的、从左边扫到右边再从右边扫到左边。它在跟踪一个只有它能看到的移动。B层的感知残留,猫在梦里还在注视着它跟随了八年的那个方向。
他把从水厂副本带回来的水质分析仪从外套口袋里拿出来。一个巴掌大的圆柱形金属壳,顶端有一个透明采样槽,底部有一个很小的显示屏。系统说明上写的功能是"在任何液体中检测B层污染浓度",但液体不是它唯一能读的东西。苏晚在实验室里做过验证——这个设备的传感器实际上是在读取样本中B层空气的分子间隙偏移量。液体只是最常见载体。任何含水量超过百分之六十的组织都可以被读取,包括活体。
他把采样槽贴在猫的左耳后面。那里是毛最短、皮肤最薄的位置。分析仪发出一声很轻的嗡嗡声,显示屏上跳出了一个数字。然后两个数字。然后一条波动曲线。
B层污染浓度:73.4%。比他预计的高。上次苏晚在实验室里用红外监测器测的是零点八度的体表温差——和收录者从副本回来的体征接近。但现在分析仪读到的是他的神经组织内部。猫的人性残余,不是苏晚估算的20%到30%。是26.6%。但数字旁边有一个小的向下箭头,旁边有一个时间戳标签。污染浓度的下降速率在过去三周内加快了三倍。
不是线性消退。是加速。如果这个速率继续保持,就算用最乐观的模型估算,猫在不到四个月内就会彻底变成普通猫。不是一年。不是两年。四个月。
显示屏上的数字又跳了一下。73.2%。他在看着数字往下掉。不是传感器误差,是他在测的这一小段时间内,污染的浓度确实下降了。降了零点二个百分点。观测行为本身在加速消退?还是猫正在从刚才那个跟踪B层的梦里醒过来,梦一停,残留的感知就褪了一层皮。他不确定。
猫的眼睛睁开了。
琥珀色的瞳孔在阳光里收成两条细缝。它看着他手里的分析仪,看了两秒。然后它站起来,走到林述的膝盖旁边,用额头碰了一下他的手腕。不是上次那种"确认"式的碰触。是猫标记气味的动作。它用额头的腺体蹭他的手腕,和它在便利店门口蹭台阶边缘的动作一模一样。它不是在认他。它是在把他当成环境里一个可以标记的物体。
它忘了他不是物体。
林述把手放在猫背上,没有动。猫蹭完他的手腕,走到墙角的水碗旁边喝了口水,然后用右后腿咬了一下指甲。那个太长了一直没有找到粗糙表面磨的指甲。它之前也做过这个动作。这是第四次。但前三次它是先观察周围确认安全才开始的。这一次它没有观察。它直接咬了,喝水和咬指甲之间的间隙是零。不是信任环境。是不需要考虑环境了。不需要考虑意味着不需要识别威胁。不需要识别威胁意味着不需要区分"林述"和"墙角"和"水碗"。都是环境。环境不需要被识别。
他把分析仪收起来。猫舔完爪子,走到房间中央的地毯上,把自己卷成一个面包卷。尾巴从右腿外侧贴过去盖住脚踝。姿势和第一次在老赵便利店门口一模一样。但这一次闭上眼睛之前它没有看他。没有看任何东西。只是闭上了。
---
苏晚接到电话的时候正在实验室里处理水厂的水样数据。水质分析仪和她的气相色谱仪联机以后,B层的污染分子间隙终于第一次可以在A层被量化为一个具体的物理数值。她把水厂水样的峰值读数和猫的分析仪读数放在同一张散点图上。两条线在同一个数据点交叉了。水厂过滤池的原始水样——几十年前就被B层污染过的水——和猫的神经组织污染浓度共享一个波动特征。不是相似的波动。是同一个波动,有时间差,像一个声源发出的同一个频率被两个不同的传感器接收到。一个在水中,一个在活体中。共同的声源是什么?方远?系统?还是比两者都更老的东西——上一代收录者在S级副本中触发过的那个"入口"。老赵失去的记忆里有这个词。猫还记得,但它说不出来。
她把这个发现写在实验记录本的倒数第三页。字很小。她没有告诉林述,不是隐瞒,是她还没有确认交叉点的物理意义。在没有确认之前,实验记录本上的对话对象只有她自己。
---
林夏在数据结构课上走神了。
教授在讲红黑树的旋转操作,粉笔在黑板上画出左旋和右旋的箭头。她在笔记本上画了一张完全不同的图。杨浦区热力图上的五个点位——便利店、电梯、儿科急诊、水厂、出租车司机擦方向盘的路口。她把这五个点位按时间顺序标在横轴上,纵轴标注BI指数变化幅度。她只有五条BK数据,没有完整的BI指数,但她在第九局的课题数据里找到了每个点位附近区域在对应时间段的异常行为密度变化。算法是现成的,课题数据自带。她只需要手动过滤掉噪声。
规律出现了。每一条BK数据中:她哥离开那个区域之后的大约四到五小时,该区域的异常密度下降12%到18%。便利店降了15%。电梯副本降了17%(密度峰值来自她和第九局都不知道的编号者路径干扰)。儿科急诊降了18%。水厂降了12%(因为崔在下游放的传感器把一部分异常信号引入管道了,降低了表层的密度读数)。出租车司机的那个路口:她哥当时没有在那个路口进副本,他只是穿过去了,被人穿过去了,一句话都没说过,那个路口的异常密度没有下降,但也没有上升。
结论:林述的通关不是偶然的胜利,是他在B层的每一个动作都会对A层的异常分布产生一个可量化的、有时间延迟的压制效果。效果不是永久的——十二到十八个月之后,压制会衰减,异常密度会缓慢回升到之前的水平。但在衰减之前,他每通关一个副本,相当于在热力图上擦掉了一块颜色。
这块颜色能持续多久,她不知道。但她知道另外一件事:如果她能把压制效果的衰减速度、他的通关频率、和BI指数的整体走势叠在一起——她就可以预测出他以当前的频率通关能维持多久。
她在笔记本的空白处写下了一行字:以当前通关频率推算,现有收录者的压制度覆盖能力将在BI=72时触及上限。需要的不是更频繁的通关。是更多的人。或者更快的通关。或者——一种不受系统推送周期控制的、主动进入副本的方式。
她合上笔记本。数据结构课还有二十分钟下课。教室窗外的梧桐树被风吹得沙沙响,叶子还没黄,但阳光已经开始斜了。" ["create_time"]=> string(10) "1787325987" }