的复核摘要。

    九月四日,晚上七点四十六分。

    门外传来一阵随意的敲门声。

    江临看了一眼时间,按下快捷键,内部证书草案、复现报告和带有项目标识的目录同时锁定。

    隔离工作站上只留下公开decider代码、他自己构造的四状态测试机,以及一组去掉了所有来源环境信息,纯粹展现底层推演的运行结果。

    确认屏幕上不再有任何敏感信息后,江临起身打开了门。

    赵承宇站在最前面,手里拎着烤冷面和小酥肉

    顾明澈稍微靠后,手里提着一袋水珠未干的紫黑葡萄。

    林一舟则抱着一盒切好的冰镇西瓜。

    赵承宇往上抬了抬手里的塑料袋:“刚才在紫荆园碰上了,寻思着顺路过来看看你在不在。”

    这是开学以来,三个人第一次真正踏进402室。

    江临没有多说什么,转身从鞋柜里取出三双尚未拆封的塑料拖鞋撕开包装,又弯腰把折叠凳和床铺边缘的软垫拉出来,腾出足够坐下的空间。

    赵承宇很快占住床沿。

    顾明澈坐到相对板正的折叠凳上,把葡萄放到桌子中间。

    林一舟拖过另一把靠背椅,坐下时,位置不由自主地离江临那台散发着微光的工作站稍近了一些。

    烤冷面浓郁的酱汁味、小酥肉的油炸香气,很快和西瓜清冷的甜味混杂在一起,充满了市井烟火气。

    最初的十几分钟,几个人边吃边谈,话题自然而然地围绕着白天枯燥的军训打转。

    哪个教官计时格外严格,哪支连队休息时多唱了两首歌,明天会不会下雨,紫荆园三楼的牛肉面究竟值不值得排队。

    江临坐回工作台前,一边听他们说话,一边重新运行四状态测试机。

    带有内部标识的材料仍处于锁定状态,屏幕上展示的只有公开原理和不对应任何真实未决机器的人造反例。

    七点五十九分,林一舟先注意到终端里的三个目录。

    【cyclers_Reproduction】

    【translated_cyclers_Reproduction】

    【backward_Reasoning_Reproduction】

    “busy beaver,繁忙海狸问题?”林一舟推了一下眼镜,声音里带着一丝意外。

    “嗯。”江临应了一声。

    得到肯定答复的林一舟拿西瓜的动作慢了半拍。

    信息学竞赛国家集训队不会要求选手求出bb(5),那不现实,却足以让他知道这个名字的分量。

    那是计算理论边界上最着名的难题之一。

    由于不存在一套能够判断所有程序是否停机的万能方法,研究者只能把五状态机器分成一类又一类,再为每一类寻找可以复核的排除证据。

    屏幕上的三个Reproduction目录,也就不再像普通开源项目的测试文件。

    江临正在检查的,是数以百万计的判定结果凭什么能够被人相信。

    顾明澈顺着林一舟的目光看过去,注意到了终端右侧不断滚动的纸带运行轨迹。

    “你在判断这个小程序会不会停机?”

    “更准确地说,我在审查一份试图证明它永远不会停机的逻辑证书。”江临解释道。

    赵承宇从烤冷面的盒子里抬起头,远远看了一眼满屏的0、1、L、R,无语道:“能用人话说说吗,这堆零和一到底在干嘛?”

    江临伸出手,指向屏幕左侧那个正在解析配置文件的进程。

    “有人交来一份形式化的证明,声称这台机器会像一枚滚动的印章一样,在纸带上永远向右侧复制相同的图案,永远不会触及停止状态。”

    接着,他的手指平移,指向右侧那个正在疯狂增加步数的完整模拟界面。

    “左边这个被隔离的小程序,负责用一套既定的规则去审查这份证明是否合法。而右边,是从一条绝对空白的纸带开始,不加任何假设,让这台机器真正地一步步往下运行。”

    “所以,理论上两边应该得出完全相同的一个结论?”赵承宇咽下食物,抓住了核心逻辑。

    “对。”江临的回答干脆利落。

    解释到这个深度,对于非专业领域的听众来说已经足够。

    赵承宇继续吃烤冷面,顾明澈翻看书院刚发下来的通知,林一舟偶尔抬头看一眼屏幕右侧那台机器依然在不断攀升的运行步数。

    林一舟是姚班这一届的新生,同样也是信息学奥林匹克竞赛国家集训队出身。

    他的知识储备足以让他一眼看懂转移表的结构和当前的测试框架。

    在过去数年的信竞生涯中,他也曾无数次为了卡掉别人写错的算法,而绞尽脑汁构造各种极端的边界数据。

    但translated cycler这种涉及平移后的配置重复、窗口隔离条件证明的前沿理论,究竟需要建立何种严密的形式化边界条件,已经超出了他凭借直觉就能直接判断的范畴。

    他唯一能够确认的是,在那个终端界面上,测试机的每一次微小改动、甚至只是修改了一个状态的分支走向,都被严谨地打上了独立的版本号。

    机器描述的哈希值、运行轨迹的内存快照、局部图案的二进制比对结果,甚至最终停机那一刻的内部状态、读写头位置和纸带内容,全都被分门别类地保存着。

    这意味着任何一个看似偶然的结果,都可以随时从那条代表着起点的空白纸带上,分毫不差地重新推演出来。

    这是标准的、带有防御性质的工程验证级开发。

    八点零七分。

    安静运行的屏幕左侧,审查进程率先结束,亮起了一行显眼的绿色结果。

    【certificate Valid】

    然而,屏幕右侧的完整模拟并没有因此停止,依然在执拗地向前推进。

    第190步,第191步,第192步,第193步。

    右侧的终端突然卡顿了一下,随后弹出鲜红的提示。

    【hALt】

    赵承宇把正准备夹起最后一块小酥肉的筷子硬生生地停在打包盒上方,眼神在左右两个窗口间来回切换。

    “等等,左边刚才不是说那份证明有效,这机器不会停吗,右边这怎么直接停机了?”

    “因为这份证书遗漏了一个致命的前置条件。”江临的声音没有丝毫起伏,像是在宣读一份物理实验的观测数据,“它只向核验器展示了读写头附近那段平移得很工整的图案,却无法用逻辑证明,那些被它抛弃在窗口外面的旧痕迹,以后永远不会重新挡住它的路。”

    顾明澈放下手机,看着并排停住,结论却截然相反的两个终端界面,若有所思:“你的意思是,这台机器后来走回头路了?”

    “准确地说,是在第193步。”江临调出那一瞬间的纸带快照,“它越过了证书里信誓旦旦声称绝对不会回访的物理边界,碰到了早期运行时刻意留在外面的一颗地雷——一个孤立的数字1,整个平移结构瞬间崩溃。”

    “那是原来的那个判定程序写错了?”顾明澈追问。

    “原始专用decider会重放有限运行段,并重新检查最大回退范围。”

    江临指尖在键盘上划过,把去掉来源信息的两个运行结果和纸带快照并排放大。

    “缺少这个安全条件的,是后来有人试图强行揉捏出来的一份统一证书草案。这台机器本该被拒绝,但新草案为了兼容性开了后门,被我构造的数据骗过了。原有的那些数学分类证明,暂时不受这个反例的影响。”

    林一舟没有参与讨论,他的视线正定在屏幕角落里的版本演进摘要上。

    【Initial_case:5 States/halt at 6841(初始案例:5状态 / 6841步停机)】

    【pressed_case:4 States/halt at 193(压缩案例:4状态 / 193步停机)】

    “你最初找到的那个漏洞模型,要一直跑到六千八百四十一步才暴露出错误?”林一舟突然开口,声音有些低沉。

    “对。”

    “然后你把这个反例压缩到了只要193步就能暴露?”

    “只有把状态压减到四状态,两张A4纸就能列出完整转移表、关键纸带快照和错误接受路径。”江临看了一眼桌面上那两页纸,“排除了所有干扰项,别人在做人工复核时才不会被多余的逻辑分支转移注意力。”

    林一舟看了一眼桌边打印出来的四状态转移表。

    在信息学竞赛里,找到一组让程序答错的数据并不算结束。

    真正能够直接刺穿底层逻辑的反例,应当删除所有无关结构,让错误只指向一个明确的边界条件。

    而眼前这台被江临亲手捏造出来的机器,还要满足远比竞赛苛刻得多的理论要求。

    它必须在极小的状态空间内,表现出完美的局部图案平移,必须能让机器哈希和运行段校验顺利通过核验器的审查,最后,还要极其精确地沿着那条被核验器遗漏的路径,在第193步重新碰到窗口外的旧符号,并沿新触发的转移进入停机状态。

    在这个逼仄的四状态空间里,江临哪怕多删一条转移规则,反例就会灰飞烟灭。

    少删一条,人工复核的代码量就会成倍增加。

    要在图灵机的确定性运行轨迹上,精准地找出这条狭窄到令人窒息的缝隙,并且始终维持着局部平移的伪装……

    这不仅需要深厚的数学功底,更需要不带任何情绪的工程直觉。

    林一舟

本章未完,请点击下一页继续阅读>>

章节目录