章节目录 第一百二十章 超级机器——银河-I(1 / 2)

作品:《1978:从婴儿开始增加智商》

[全本小说]:qbxs. N e t 一秒记住!

第120章超级机器——银河-I

第二天下午,阅览室被正式改成了课题组的工作室。

方宜民带着方磊和宋知行把原来靠墙的书架挪到走廊里,腾出的位置摆了三张从数学所仓库里搬来的旧书桌。

书桌是六十年代的,桌面上铺着绿色的毡子,边角被磨得发亮,毡子上有墨水渍和茶杯底烫出来的圆印子。

数学所的管理员说这些桌子是钱老那个年代用的,方磊听了以后擦桌子的动作都轻了三分。

机器也来了。

GOOGLE搜索TWKAN

邹世明亲自开着一辆面包车送来的。

一台386微机,米白色的机箱,十四寸的CRT显示器,屏幕是球面的,关机的时候映出窗户和人的倒影。

邹世明把机器搬进阅览室的时候,全课题组的人都围上来了,像围观一个新生的婴儿。

「这是中关村电子一条街上现在能攒出来的最好的机器,」邹世明把电源线插上,按了一下开机键。

机箱里发出一声轻微的蜂鸣,屏幕亮起来,一片幽幽的绿光,D0S提示符在左上角一

闪一闪。

「80386的晶片,4兆内存,40兆硬碟,浮点运算靠软体模拟,没有独立的浮点协处理器,但比长城0520筷了一个量级。」

他把一张3.5寸软盘插进驱动器,敲了几个命令。

屏幕上跳出一行字:「MathLibv0.3—课题组内部测试版」。

「你给我的那个预条件子代码,我已经整合进函数库了,测试跑了一晚上,精度和速度都比原来的版本提高了不少,」邹世明把键盘推给陆沉,然后从包里掏出一摞软盘放在桌上,「这是二十张空白盘,备用的,用完了跟我说。」

陆沉接过键盘,调出函数库的代码。

邹世明在原始码里专门建了一个子目录,目录名是LU,里面是他写的预条件子模块。

代码的注释栏里有一行字:「基于陆沉的不完整分解谱界推导,邹世明实现,1990年8月。」

他把那行字看了两遍,然后把屏幕让给王雪松。

王雪松已经在旁边等了很久,手里攥着一张画满了交换网络拓扑结构的图纸。

他坐到机器前面,把图纸铺在键盘旁边,开始敲代码。

他敲得很慢,每敲一行都要低头看一眼图纸,再抬头看一眼屏幕,像一个刚学会走路的人扶着墙往前挪。

顾小北从阅览室外面走进来,手里端着一个搪瓷茶缸,茶缸里泡着茉莉花茶。

她把茶缸放在机器旁边,看了一眼王雪松屏幕上那一行一行往外冒的代码。

「你写的是最大流算法?」

「对,用在交换网络的瓶颈分析上,」王雪松没抬头,「图的规模很大,手工算不出来,得上机。」

「图多大?」

「第一版先跑一百个节点的。」

一百个节点。

对于1990年一台没有硬体浮点加速的386来说,这已经是一道要算很久的题了。

王雪松敲完最后一行代码,按下编译键。

机器的硬碟灯开始狂闪,绿色的光标停了大概十几秒,然后屏幕上跳出一行提示:「Compiledsuccessfully。」

「成功了,」王雪松说。

他的声音很平,但按回车键的手指有一点抖。

程序开始跑。

屏幕上的数据一行一行地滚,机箱里的散热风扇嗡嗡地响。

方磊和宋知行把椅子搬到机器后面,一左一右地坐着,盯着屏幕上的数字像盯着电视里的球赛。

顾小北站在旁边,手里的茉莉花茶凉了都忘了喝。

陆沉靠窗站着,看着这群人围着一台386的样子,心里有什么东西被轻轻撞了一下。

前世的他也在实验室里跑过无数次数据。

那时候的机器比这台386快了几千倍,结果几秒钟就能出来。

但那时候跑数据是一件孤独的事一个人,一台机器,一杯凉掉的咖啡。

不像现在。

现在是一整个阅览室的人围着一台绿光屏幕,等着一个一百个节点的图论算法跑出结果。

程序跑了将近四十分钟。

中间王雪松出去上了趟厕所,方磊替他盯着屏幕。

方磊盯屏幕的方式很特别他不是看着数据发呆,而是拿着一支笔在草稿纸上跟着程序输出的中间结果手算。

手算的速度当然赶不上机器,但他就是要算,说这样能感觉到算法的脉搏。

算到某一步的时候他忽然喊了一声「这里瓶颈值跳了」,把刚从厕所回来的王雪松吓得差点撞门框上。

最终结果出来的时候,窗外天已经暗了。

屏幕上的最后一排数字显示:当前瓶颈值对应的边割集规模为23。

王雪松把这个数字抄在图纸上,在旁边标注了一行字:「386验证,1990年8月。」

「这个结果,」他转过来看着陆沉,「如果用银河—I跑,规模可以扩大两个数量级,图的结构也需要调整—现在这个图是随机生成的,下一步应该用实际通信网的数据。」

陆沉点头。

「银河—1的机时申请已经在走流程了,计算所李研究员那边说,十一月可能有空窗。」

「十一月,」王雪松重复了一遍这个时间,然后翻到课题本的下一页,在进度记录栏里写下了下一步计划。

那天晚上,阅览室的灯亮到了很晚。

方宜民来催了三次,前两次没人理他,第三次他乾脆不催了,自己也搬了把椅子在旁边看他们跑数据。

食堂李师傅晚上十点拎着一壶热水和一袋馒头过来,看见满屋子的人围着机器,屏幕上绿莹莹的光映在几张年轻的脸上,摇了摇头说了一句「一群小疯子」,放下馒头走了。

陆沉拿起一个馒头,掰开,里面夹了一筷子从食堂带的榨菜。

他咬着馒头看着屏幕上王雪松刚写好的网络拓扑可视化代码一不是用十六种颜色画线那种,是用ASCII字符在屏幕上画图,节点用星号表示,连线用减号和竖线拼接。

简陋到不能再简陋,但当你看到一百个星号和它们之间的连线在绿光屏幕上慢慢浮现出来的时候,你还是会觉得一这张网,真他妈好看。

第二天上午,顾小北遇到了一个坎。

她在做网络最大流算法的收敛性证明,推到第三步的时候发现一个边界条件怎么都过不去。

她在黑板上写了三黑板,每一遍推导都在同一个地方卡住,像一个走迷宫的人每次都

在同一个死胡同里掉头。

她把第四遍推导写到一半,粉笔停在黑板上,停了好一会儿。

「这个边界条件,如果网络的容量不是整数,是任意实数,收敛性保证不了,」她转过身,额头上有粉笔灰,「但实际通信网的容量就是整数,所以这个边界条件在现实里不会触发。」

「那就算它不触发,证明也得写清楚为什么不触发,」方磊说。

「对,」顾小北把粉笔放下,「但我现在写不清楚。」

陆沉从座位上站起来,走到黑板前面。

他看了一会儿顾小北的推导过程每一步都很扎实,每一行都没有逻辑漏洞。

卡住的地方确实是一个很深的坑:算法收敛性的标准证明依赖于整数容量的有限步下降性质,而实数容量没有这个性质。

「你已经在证明了,」陆沉说。

「我没证出来。」

「你把不能收敛的条件精确地刻画出来了若且唯若容量取非整数值时,收敛性可能失效,这就是一个引理,」陆沉拿起粉笔,在顾小北的推导旁边画了一个框,把那个卡住的边界条件单独框出来。

「这个引理的价值不比你原来要证的收敛性低,它告诉用这个算法的人:在整数网络中你是安全的;在实数网络中,你需要额外加一个微量扰动。」

顾小北看着那个框看了好一会儿。

然后她拿起粉笔,在框下面写了一行字:「引理:最大流算法在整数网络中保证有限步收敛,在实数网络中,通过施加任意小的容量扰动可恢复收敛性。」

写完以后她把粉笔扔回粉笔槽里,拍了拍手上的灰。

「这个引理,命名叫顾小北引理行不行?」方磊在下面起哄。

「滚————」顾小北撇嘴。

但她转过身的时候嘴角是弯的。

中午吃饭的时候,食堂李师傅端出了一盆鱼香肉丝。

q 🅑 𝒳 🅢 . n e t