文学馆 > 满级书呆子,开局被李世民俘虏了 > 第126章 分组配对

第126章 分组配对


贞观八年七月。国子监算学教材新增了几道算题,取材于常平仓协作调度的真实数据。

教材是国子监算学博士们根据民部历年调粮文书的实际案例重新编纂的。

新增的算题列在“漕运调度”一章末尾,一共好几道。第一道题这样写:关内道岐州常平仓存粮若干石,河南道汴州因水灾需调粮若干石,从岐州运粮至汴州走渭水转漕渠,全程若干里,漕运途耗按每百里若干比例折算。

问实运粮多少石方可抵汴州缺额。若改走其他路线经陕州转运,途耗比例不同,问走哪条路更能节省运力。

题目下面附了漕运路线图,标注沿途各转运节点的里程和途耗比例,数据取自民部近几年的调粮文书汇总,每个数字后都注明出处。

第二道题涉及协作区内多州同时调度,郑州、汴州、宋州三州同时受灾,邻近几个协作区的存粮如何分配才能使总运力最省。

第三道题涉及丰年籴入和荒年粜出的存粮轮换节奏,要求生徒计算在一定年限内如何安排籴粜比例才能保持存粮总量不降且不发生大量陈化。

教材分发到各州学宫,成了明算科生徒的必修课。国子监祭酒在分发时附了公函,要求各州学宫将生徒解题过程中发现的任何新算法或改进建议上报国子监,会同民部核实后可作为教材修订参考。

郑州州学明算科教习姓陆,在州学里教算科教了好几年,手指关节粗大,是握了多年算盘和笔磨出来的。他把新教材摊在案上翻到“漕运调度”那一章,自己先把几道算题解了一遍,然后把教材合上带到了课堂上。

十几个生徒坐在矮案后面,每人面前铺着一张纸、一方砚台、一支笔。陆教习把几道算题逐一誊抄到黑板上,黑板是刨平了的榆木板,用墨涂黑了,用白土写字能擦掉。生徒们埋头解题,笔尖落在纸面上沙沙响。

陆教习背着手在案间来回走,偶尔在某张案前停下来低头看一眼纸上的算式。

走到苏二郎案前时他多停了一会儿。苏二郎的算式写得快,笔尖压得低,写完一行就往下一行顺。

“第三道题,籴粜轮换的年份分层你是怎么分的?”陆教习弯下腰,用手指点着苏二郎纸上最后几行数字。

“先按存放年份把存粮分层,三年以上的划为一档,五年以上的划为另一档。”苏二郎抬起头,“然后每层单独算籴入和粜出的比例。五年以上的出清之后,三年以上的往下降一档。”

陆教习看着他的算式,没有说话,站了一会儿又往前走了。苏二郎继续写。

坐在后排靠窗位置的那个生徒就是苏二郎,今年十九岁,郑州本地农户家的孩子,在州学里读了快两年,算科成绩一直拔尖。几道调度算题他都做完了,算出答案后复查时忽然停了笔。他把三道题的算式从头到尾重新看了一遍,又把第二道题——郑州、汴州、宋州三州同时受灾时存粮如何分配——单独抽出来重算。

标准答案是逐州核算,按漕运路线一段一段往下加总,算出一个总运力然后分配。苏二郎在重算时忽然想到,如果不用逐州核算,而是把三州放在同一张图上,按供粮州到受灾州的路程远近重新分组配对,会怎么样。

他把岐州和雍州设为供粮州,把郑州、汴州、宋州设为受灾州,在两排之间画了几条箭头。最近的那个供粮州先配给最缺粮的那个受灾州,配完之后供粮州还有余量,再配给次缺粮的那个受灾州。每配完一轮,他停下来检查各仓的调入调出数字,确认没有缺漏,再往下一轮走。

第一轮配完时他停住了。用分组配对的方法算出来的总途耗,比标准答案里逐段加总的方法少了近一成。

他把分组配对的算法从头到尾重新推了一遍。每一对供粮州和受灾州之间的里程单独核算,途耗比例取民部汇总表上各段对应的数字。核完之后又在草稿纸上把标准答案的算法和新算法的数字并排比对了一遍,确认各仓调入调出完全吻合之后,在草稿纸最下端画了两道杠,下面写了结果。

陆教习巡完一圈回到前面,说做完的可以把答案抄在正经纸上了。

苏二郎没有立刻誊抄。他把草稿纸上的分组配对过程重新看了一遍,找了一张干净的麻纸,在最上方写了一行字——“郑州州学明算科生徒苏某,谨陈常平仓协作调度算题新解”。下面把标准答案的算法和自己的新算法并排列出,逐行对比。旁边用炭条画了几组箭头,标示原配对方案与调整后的配对方案在途耗数字上的差别。

麻纸裁得很窄,画完箭头之后已经没有多少空地了。他在纸边挤了一行小字:“分组配对比逐段相加,总途耗更省。”

写完之后他等所有生徒都交了答案,才站起来走到前面,把那张麻纸递给陆教习。

“教习,第二道题我用了一个别的算法,得数一样但是途耗更省。”

陆教习接过来站在原地看着,看了片刻抬起头。

“你这是把受灾州和供粮州重新配对了。”

“对。标准答案里是按漕运线路一段一段往下分的。我是把供粮州和受灾州按距离远近重新配,最近的供粮州先配给最缺粮的受灾州,余量再往下走。这样总途耗少一些。”

陆教习把他画的箭头从头到尾看了一遍,又翻回前一题的漕运路线图对照里程标注。然后把苏二郎的算法放到一旁,走上了讲台。他用白土把黑板上的标准答案擦掉了几行,按苏二郎说的分组配对重新写了数字,写一行核一行,写完最后一对时他把白土条搁在槽边,往后站了两步看了片刻。

“是对的。”陆教习转过身来,白土粉从他指头上簌簌往下落,“每一对数字都对得上,调入调出各仓的数字也吻合。途耗确实省出来了。”

他走下来把麻纸还给苏二郎,把国子监发下来的公函找了出来,公函上写着凡生徒有新算法均可上报国子监复核。

“你带着这份新算法,去一趟长安。当面请国子监的算学博士验算。”

“当面?”苏二郎捏着手里的麻纸。

“当面。”陆教习指着他麻纸上的箭头,“你画的这些箭头,到了长安要一个个讲清楚。分组配对的思路、每一步的核对、途耗数据的来源,博士们会一项一项问。你在郑州州学拿一等,不算。到国子监让博士验过再拿一等,才算。”

苏二郎从郑州到长安走了四天。他骑的是一匹乡里借的老马,鞍子上挂着水囊和干粮袋,怀里揣着那份用油布裹得严严实实的新算法。头一天在官道旁的茶棚底下裹着毯子睡了一宿,半夜被路过的驼铃声吵醒了一次。第二天马掌掉了一颗,又在一个镇子口找铁匠铺多花了将近半个时辰补掌。铁匠蹲在风箱前拉了几下火,问他去哪儿,他说长安。铁匠又问去长安做什么,他说国子监,验算一道题。

到了国子监门口,守门的书吏看他年纪小,问他是哪个州学的。

“郑州州学。”苏二郎说,“明算科。有一道常平仓调度算题的新解法,教习让我来请博士们验算。”

“你把算法留下就可以回了。”书吏说。

苏二郎站着没动,手里捏着油布包。片刻之后说:“教习说让我当面看博士演算。”

书吏看了看他,没再拦,转身进去通报。

过了一会儿国子监祭酒亲自走了出来。他把苏二郎手里的麻纸接过去站着先看了一遍,说进来说话。然后把在值房里的几个算学博士都叫了过来。

几个博士围在长案旁,把苏二郎的麻纸摊在正中间。一个戴老花镜的博士把标准答案取来放在旁边对照,另一个博士把民部送来的各段漕运实际里程数和途耗记录调出来摊开。算盘珠子噼啪响了有一阵子,几个博士交换了几次数字,偶尔停下来低声对证。

“岐州到汴州的途耗比例,民部汇总表上写的是每百里若干。你用的是多少?”

“每百里若干。”苏二郎说,“和标准答案一样。”

“那你的分组配对里,岐州先配给汴州,和逐段加总有什么区别?”

“逐段加总是按漕运线路一段一段往下走,每段都计一次途耗。分组配对是把供粮州和受灾州直接放在一对里算,跳过了中间几个转运节点。那些节点在逐段加总里要计两次途耗,在分组配对里只计一次。”

博士们又拨了一阵算盘,把分组配对的每一对数字都拆开重新核算了一遍。演算完毕之后领头的博士把眼镜取下来搁在桌上,对国子监祭酒说每一对数字都对得上,调入调出的总数字也吻合,总途耗确实比标准答案少。

国子监祭酒把新算法和苏二郎的口述推演整理成一份复核意见,派人一并送到了政事堂。房玄龄把两份算法并排铺在案上,用手指沿着箭头示意图从头移到尾。

“最近的供粮州先配给最缺粮的受灾州。”他说,手指在箭头终点停住,“这个和协作区调度的原理是同一件事,只不过方向反了过来。协作区是把粮从有余的州往缺粮的州调,他是把供粮州和受灾州直接配成对,中间少走了冤枉路。”

他让人去叫长孙无忌。长孙无忌从兵部过来,把两份算法接过去,用民部当年实际调粮数据重新核算了一遍。他先把标准答案的逐段加总法代入实际数据算了一遍,又把分组配对的算法代入同一组数据重算一遍。两套算法都核对完之后,他把算盘往前一推。

“新算法确实更省运力。省出来的不是在纸上省几笔,是真金白银的漕运费。”

任东站在房玄龄旁边看着那两份并排铺开的算法。他把苏二郎画的箭头从头到尾看了一遍,又翻到前面标准答案的逐段加总图对照着看。

“王老蔫的徒弟是徒弟,”他说,“这个生徒也是徒弟。教出来的徒弟比师傅算得更精,学宫才算站住了。”

房玄龄让国子监把苏二郎的新算法附入算学教材修订版作为附录。附录末尾注了一段推演思路:分组配对法,供粮州与受灾州按路程远近优先配对,总途耗低于逐段加总法。

苏二郎在国子监门口等了两天。走那天祭酒让人把他叫住,递给他一个封了火漆的竹筒,说把这个带回郑州州学,是国子监的正式勘合文书。

又给了他两串铜钱做返程盘缠。苏二郎把竹筒裹进油布里揣在胸口,顺着来时的路往回走。

经过来时那个铁匠铺时他勒住马在门口停了一歇,从马背上掏出竹筒给铁匠看了看,说验过了,新算法被录进教材了。铁匠蹲在门口擦手上的煤灰,不知道他说的是什么意思,只从摊上拿了个新打好的马掌送他,说路上换。

任东在值房里把苏二郎写的那张麻纸摊在案上。纸面上生徒的字迹还很稚嫩,有些笔画收得不够稳,“途耗”的“耗”字左边那一捺拉得太长,但每一个数字都清清楚楚。他把这张纸折好,拉开抽屉,放在王老蔫的灌钢法操作规程旁边。

抽屉里还有赵三娘改良织机勾片间距的测试记录,几份纸叠在一起,纸边参差不齐,最早的几页纸边已经脆了,折痕处磨出了细小的裂口。他把抽屉推上。窗外长安的九月底槐树叶子黄了大半,枝丫末梢有几片枯叶被风吹得轻轻打着旋。

九月下旬,张文恭在汴州收到国子监下发的新版算学教材增补附录。附录里详细列出了苏二郎的分组配对算法,附了箭头示意图和推演步骤。他把教材翻到增补页从头到尾看了一遍,让汴州州学的教习把附录抄了几份下发到各县学宫。

县学算科教习拿着抄本在黑板上重新推演了一遍,生徒们照着他的箭头示意图往下画,有几个算得快的发现不同的协作区航线图用同样的分组配对原理还能再省出一些途耗。

教习向张文恭报告了此事,张文恭让他把生徒们算出来的优化方案整理成册,寄回国子监供算学博士存查。

国子监祭酒辗转收到汴州州学寄来的后续优化方案后,翻开教材末尾已经留好缝的附录增补栏,提笔在附录最后加了一行字:“此算法有多生续加推演,各州学宫可据实续报,国子监酌收入册。”写完他把笔搁下,把教材合上。


  https://www.bqvvxg.cc/wenzhang/17387/17387964/28945923.html


  请记住本书首发域名:www.bqvvxg.cc。文学馆手机版阅读网址:m2.bqvvxg.cc