同学,你哪个院系的,这句话一出,c216里所有人的目光都落到了江临身上。
江临愣了一下,答道:“我不是数学学院的。”
“那你导师是谁?“顾南舟几乎是脱口而出,声音比平时高了半个八度,带著些许急切。
“陆知行。”江临沉吟道,“物理学院。”
顾南舟的眉头微微动了一下,像是在脑子里庞大的资料库中翻找这个名字。
他听过这个名字。
物理楼那边有个做高稳定测量的青年pi,前阵子组里好像还出了篇不大不小的成果,在理学部的大楼里传过一阵。
做的是光路极低频漂移抑制还是什么量子精密测量,记不太清了。
叫陆知行。
但也仅止於此。
一个数学学院做离散几何与非周期铺砌的副教授,一个物理学院做精密测量实验的青年研究员,平时八竿子打不著。
同在一所大学,同在两栋隔著一片人工草坪和几排行道树的楼里,却从没说过一句话。
在学术这套精密运转的庞大机器里,他们属於完全不同的齿轮组,连润滑油都不通用。
顾南舟连他的电话都没有。
“你和陆教授现在能联繫得上吗?”顾南舟看著江临。
江临明白他的意思。
他摸出手机,翻到陆知行的微信,没有发文字,直接拨了语音电话。
听筒里响了三声。
“喂,江临?”
电话接通了,陆知行的声音透著点明显的意外,背景音里隱隱传来真空泵低沉的轰鸣声。
这个学生平时极少主动打电话。
在陆知行的印象里,江临是一个效率高到甚至有些机械的人,有事一般都是微信里几句话讲完,连標点符號都透著一种精確的克制。
“陆老师,我在数学学院c楼这边,c216討论室。”江临的声音没有一丝波澜,“有点事,可能需要麻烦您过来一趟。如果方便的话,越快越好。”
电话那头沉默了一秒。
陆知行认为自己还算了解这个学生。
从上个月解决干涉仪低频漂移那次起,他就知道江临这个人,遣词造句永远带著不確定度的考量,永远把话说在边界之內,绝不越界,绝不夸大。
这样一个人,嘴里能蹦出越快越好四个字,本身就是一种极不寻常的信號。
更新不易,记得分享101看书网
可能比普通学生喊实验室著火了还要紧迫。
“什么事?”
陆知行的声音立刻沉了下来,透出导师本能的戒备。
江临没有回答,而是把手机递向了顾南舟。
“顾教授,麻烦您跟陆老师说一说。“
顾南舟接过手机的时候,斟酌了三秒,最后说出口的话,和他给那两个圈內人发的消息一样,简短得像一封加密电报。
“陆老师,我是数学学院的顾南舟,做离散几何。“他说,“你这边有个学生,今天下午在我的读书班上,画出了一个我不方便在电话里说全的东西,需要你过来。这件事,可能需要你这个做导师的,第一时间在场。“
听筒那头又是一阵沉默。
然后是一声很轻的,像是被噎了一下的吸气。
“我十分钟到。“
把手机还给江临,顾南舟看著他,问了一个他一直憋著的问题。
“能不能说说,你这块砖,到底是从哪来的?“
这是整件事里最不合常理的一环。
一个物理学院的学生,为什么会一头扎进非周期铺砌?
这是数学里最偏最冷,最折磨人的角落之一。
从王浩的王氏砖,到罗杰·彭罗斯那震惊世人的两块风箏与飞鏢,再到后来复杂的替代铺砌系统。
这个领域就像是一个只对疯子开放的迷宫。
没有一两年的离散几何、符號动力系统和铺砌理论训练,一般人连门槛都摸不到。
可这块砖偏偏被画出来了。
甚至,连其內部的强迫机制和骨架都已经推演完整。
这中间一定有一条路,一条不从传统的代数拓扑或几何群论进来的路。
“排序。“江临说。
这个词落下去之后,c216 里安静了一下。
並非震惊。
而是压根就没听懂。
站在一旁的博士生陈彦下意识地皱起了眉。
作为一个在铺砌理论里熬了三年,头髮都稀疏了不少的资深学长,他想过无数种答案。
比如,江临碰巧看到了某篇极其冷门且尚未发表的arxiv预印本。
比如,国外哪个顶尖课题组,比如剑桥或者普林斯顿的某个几何群,有未公开的內部讲义流出。
比如,江临背后其实有一位隱居的做离散几何的老院士指点。
再离谱一点,也可能是他小时候天赋异稟,接触过penrose铺砌的拼图玩具,自己默默在脑子里玩了十几年,碰巧撞大运撞出了一个解。
但排序?
排序算法和一块能够以非周期方式铺满整个欧几里得平面的单砖之间,中间隔著的是一座山。
隔行如隔山,的山。
顾南舟也没有立刻说话。
他看著江临,像是在確认自己是不是因为过度激动而產生了幻听。
“排序?”顾南舟確认了一遍。
“嗯。”
江临没有多做口头上的辩解。
他侧过身,拉开双肩包的拉链,从里面拿出一本厚重的黑色硬抄笔记本。
翻到前几页,將其平推到顾南舟面前的桌子上。
“准確说,是一个小排序程序。”江临指著纸面上密密麻麻的符號说。
陈彦终於忍不住开口了,声音里带著一丝颤抖:“排序网络?”
江临转头看了他一眼,微微点头:“最开始是排序网络。”
这四个字一出来,陈彦反倒鬆了一口气,紧绷的神经略微舒缓。
排序网络他知道。
在计算机科学和离散数学的交叉领域,这不算陌生。
固定规模的输入、固定顺序的比较器、没有普通排序算法那种依赖於数据的动態分支预测。
就像是一个硬接线的电路,把乱序的数据扔进去,通过一层层的比较交换,最后输出必然是有序的。
但他依然不明白。
排序网络再怎么考验组合数学的极值,它也只是计算机科学里一个用於底层硬体优化的小工具。
它和要求在无限二维平面上、不能出现任何平移对称性的单砖问题,还是差得太远了。
一个是有限状態的线性组合,一个是无限延展的几何拓扑。
顾南舟低头看笔记本。
他原本以为自己会看到几页用c++或者是python 的晦涩代码,或者是一些关於时间复杂度的计算公式。
却发现自己看到的不是代码。
至少不只是代码。
笔记本的第一页上,江临用黑色中性笔极其工整地画了五个圆圈。
里面分別標著:0,1,2,3,4。
圆圈之间连著一条条交叉的实线和虚线。
旁边用小字批註著——
比较 0 和 1。
比较 3 和 4。
比较 2 和 4。
该换就换。
不该换就继续。
顾南舟不懂底层电脑程式的性能优化,但他拥有顶级的数学直觉。
能看懂这根本不是普通意义上的排序。
这更像是一套被极度压缩的固定拓扑动作。
五个位置,有限的几步比较器。所有的全排列状態(5!=120可能)作为输入,都要被这套不可变通的动作,强行压迫坍缩成同一个唯一的有序结果。
再翻一页,图开始变复杂了。
不再只是五个简单的圆圈。
而是一张小型的严密的状態转移图。
几十个节点密密麻麻地分布在纸面上。
节点之间连著带方向的箭头。
有几处分支被江临用红笔画了巨大的x號。
旁边写著几行字:状態合併, 提前剪枝,不能误杀最优路径。
顾南舟翻页的动作慢了下来。
到了第三页,笔记本上已经很少有代码或算法逻辑的痕跡了。
有些图表仍然保留著程序状態树的影子,但有些节点和连接线,已经开始发生异变。
它们扭曲摺叠,变成了边界。
一圈向內凹进去的线段。
一条向外凸出来的齿状结构。
一个被红笔叉掉、標明不可匹配的小缺口。
在这一页的最下方,用极重的笔触写著一行英文。
local rules force global structure.
(局部规则强迫全局结构。)
顾南舟的手指猛地停顿在那一行字上,像被电击中了一样。
“我在写一个工具,暂时叫它微程序搜索器(micro-program searcher, mps)。”
江临適时地开口解释。
“它现在还很笨,算力极其有限,只会在一个被严格限定的很小范围里,把所有可能的底层做法暴力试一遍。”
“比如,我们要找出给五个数排序的最优网络。它可以把所有候选的比较顺序逐个去试,留下那些正確,状態稳定,没有破坏缺失值规则,而且在底层指令周期上跑得更快的那一套。”
陈彦听到这里,本能地往前跨了半步,打断道:“这不就是算法领域的穷举搜索吗,那这和铺砌到底有什么关係?你总不能把数字排著排著,排成了一块砖吧?”
江临抬起头,淡淡地看了他一眼。
“关係不在排序本身。”
“关係在,搜索器为什么会爆。”
江临伸手將笔记本翻到了另一页。
上面写著——mps v0.2 核心瓶颈: 哪些状態可以被合併?
哪些死路可以被提前砍掉?
砍掉之后,怎么在数学上严谨地证明:我没有误杀掉真正的解?
江临修长的手指悬停在纸面上,指著第一行字。
“如果两个算法状態,在未来无论面临什么样的输入,无论怎么往下走,它们都会面对完全相同的后续选择空间,那么它们就应该被归入同一个等价类。”
手指下移,指向第二行。
“如果某条路径从当前节点开始,无论未来怎么修补、怎么增加比较器,它都不可能超过当前已知的最好结果,那么这条路径就是无效的。它应该在第一步就被提前砍掉,不再占用算力。”
最后,手指重重地点在第三行上。
“但这里有一个问题:当你决定用算法砍掉一类状態时,你必须在全局给出一个证明,证明它绝对不可能参与到任何合法的最终排序网络中。”
他说得很平静。