饭饭TXT > 军事历史 > 《战国秦汉算术材料的跨学科研究(出版书)》作者:衣抚生【完结】 > 战国秦汉算术材料的跨学科研究.txt

第二节 数学推演与数字复原:

作者:衣抚生 当前章节:6154 字 更新时间:2026-6-16 02:03

以《算数书》“大广”算题为例

数字残缺问题,是出土算术类文献整理中的常见问题,对出土算术文献的研究造成了较大的困扰,亟须解决。目前来说,其解决方法主要有:通过红外线扫描,获得更为清晰的图像;结合残余笔画,进行字形分析;采用数学运算,进行推测。本节讨论数学推演在其中所能发挥的作用,主要是介绍两种在特定情况下简单有效的新方法:穷举法、特性分析法。

穷举法,即将取值范围内所有的可选项逐一验证,直到验证完毕。这种方法的要求是:可选项必须是有限的。它在分母完整、分子缺失的情况下,非常简单有效,通常可以极大地缩小范围,甚至是直接得出正确答案。特性分析法,是根据算题的特性,灵活地采取相应的解法。为了简便起见,笔者介绍的是一类特殊的特性分析法——乘数因子包含大素数的特性分析法。

笔者以《算数书》“大广”算题为例,来介绍这两种方法。当然,笔者关注的不是“大广”算题本身,而只是将其作为介绍穷举法和特性分析法的一个例子。

“大广”算题可能是《算数书》最费思量的算题之一。该算题的算法很简单,只是两个分数相乘,得到另一个分数。但由于两个乘数残缺的数据较多,导致复原起来难度较大,而通过细致计算又有可能推导出来。因此,“大广”算题就变成了非常有趣的智力游戏,郭书春、郭世荣、纪志刚、吴朝阳、王元钧等很多学者都进行过细致研究。目前尚未见到能从算法上进行全面无遗漏的推算者,因此笔者决定对该算题进行再校勘,重点在于从算法上涵盖所有的可能性。

需要说明的是,笔者关注的不只是这一道算题,而是试图以此为例,为这一类数字残缺的简牍的复原寻找到一般性的解决方法。

一、问题描述

“大广”算题的内容是:

大广 广七步卌九分步之□□□□□□□□□□□□□□□□□为□六十四步有(又)三百卌三分步之二百七十三。大广术曰:直(置)广从(纵)而各以其分母乘其上全步,令分子从之,令相乘也为实,有(又)各令分母相乘为法,如法得一步,不盈步以法命之。①

用纯数学语言来表达,是:74 ×?=64 。计算方法是:把两个乘数都化为假分数,然后分子乘分子,得数为结果的分子;分母乘分母,得数为结果的分母。然后把结果化为真分数。为了后续的说明和计算方便起见,我们将该算题表述成如下真分数的形式:7 ×B =64 (A、B、B1、B2均为正整数,且1≤A≤48,1≤B1< B2)。

学者们的研究结果主要有:

————————

① 张家山二四七号汉墓竹简整理小组.张家山汉墓竹简二四七号墓(释文修订本)[M].北京:文物出版社,2006:156. 34

(1)郭书春先生的校勘结果,对本算题的已知条件有较大修改,主要包括:将“广七步”改为“广十二步”,将“为□六十四步”改为“为百六十步”,等等①。

(2)郭世荣先生的校勘结果,也对算题的已知条件进行了较大的修改,主要是将“广七步”改为“广三步”②。

(3)王元钧先生的推导结果,也对算题的已知条件进行了较大的修改,主要是从“广七步卅九分步”中去掉了“九”字,将“为□六十四步”改为“为田六十五步”,等等③。

以上三位先生的推导存在一个共同的问题:修改原文已知条件。要知道,已知条件是我们进行推论的基础,这个基础如果不存在,可以进行任何修改,那么本算题就根本无法进行校正。

(4)吴朝阳先生通过仔细观察图版,勉强辨识出“七”“步”“分步之”“田”等文字,在此基础上,通过计算,得到:

广七步卌分步之七,从九步十四分步之一。问为田几何。得曰:为田六十四步又三百卌三分步之二百七十三。④

吴先生的结论是正确解之一。只是笔者志不在此,故暂且存而不论。值得注意的是,日本“张家山漢簡『算数」研究会”编的《漢簡『算数』——中国最古の数学書》,和吴先生有同样的计算结果⑤

(5)纪志刚先生的观点值得重视,他通过计算机程序,得到11种

————————————

① 郭书春.《算数书》校勘[J].中国科技史料,2001(3):202-219.

② 郭世荣.《算数书》勘误[J].内蒙古师大学报(自然科学汉文版),2001(3):276-285.

③ 王元钧.张家山汉简《算数书》“大广”脱字补[DB/OL].简帛网,2009-11-7.

④ 吴朝阳.张家山汉简《算数书》研究[D].南京:南京师范大学,2011:133-135.

⑤ “强家山漢簡『算数書』研究会”.汉简『算数書』——中国最古の数学書M.京都:朋友芒店,2005:9-10.

可能性,经过排除,留下两种组合,分别是:

广七步四十九分步之七,从九步十四分步之一。问为田几何。得曰:为田六十四步又三百四十三分步之二百七十三。

广七步四十九分步之卅二,从八步 七分步之十九。问为田几何。得曰:为田六十四步有(又)三百四十三分步之二百七十三。①

纪先生通过计算机寻找各种可能性,具有较强的说服力,结论较为可取,但也存在以下几点缺憾:

第一,纪先生的排除方法有错误。他计算出来的“从”全部都是最简分数,没有注意到“从”可以不是最简分数。以纪先生的计算结果来说,7 、7 都不是最简分数,他却要求“从”必须是最简分数,并据此进行排除。这是难以说服人的。比如,8 被排除了,理由是分母3不是7的倍数。其实,我们完全可以把该分数变成非最简分数8 ,这样就可以满足条件了。

第二,纪先生假定第二个分数的分母小于343,问题在于,它为什么就不能大于343?要知道,结果是经过一定程度约分的,它完全可以大于343,经过约分后变成343。当然,纪先生这么做是有苦衷:倘若不限制第二个分数的分母大小,那就会有无穷无尽种可能。他只能人为设定一个最大值。这恰恰说明计算机穷举法在这道题上的局限性。只有一般性的算法才能真正解决这个问题。

————————————

① 纪志刚.《算数书》“小广”“大广”二问的释读与校勘[J].自然科学史研究,2005(3):229-235. 36

第三,纪先生是用计算机进行暴力破解的,尝试的排列组合超过(1+2+3+…+342)×48×2=5630688种。这种方法虽然给出了答案,但是没有算法和计算过程,这不能不说是一个遗憾。

总之,纪先生的计算方法不是很完美,存在这样或那样的问题,却是很有价值的,原因在于,这种计算方法实际上已经具备了穷举法的雏形,值得引起我们的重视。

在进行具体的计算之前,我们先讨论这道题目的两个限制条件。限制条件1:我们可以根据缺失的字数,大体推断出A、B、B所占的字数。按照《算数书》和秦汉数学材料的表述规范,我们可以给“大广”算题补充一些文字(用加粗字体标识):“大广广七步卅九分步之□□从八(或‘九’,由下文可知)步□□分步之□问为田几何。曰:为田六十四步有(又)三百卌三分步之二百七十三。”其中,“问”字可以省略,《算数书》公布答案的句式有“曰”和“得曰”两种,也就是说,A、B1、B2的字数加起来是4(“得曰”)到6(省略“问”字)个字之间。当然,我们还需要提醒读者秦汉数学的某些特殊表达;包括:(1)百位数、千位数、万位数等是1的情况下,可以把“一”字省略。(2)20、30、40、70可以分别简写为“廿”“卅”“卌”“ ”。

限制条件2:我们注意到,计算结果343可以化为49×7,而被乘数的分母是49,这表明7这个因子应该来自B2。如果上述8组数据的B 不能整除7,需要将B1、B2都乘以7。

二、暴力破解法

纪志刚先生试图用计算机软件给A、B、、B赋予不同的值,来尝试各种可能性。他尝试了几百万种可能性,结果却只是差强人意。这种做法并不可行,反而将问题搞复杂了。实际上,暴力破解法是最简单、最直观的方法,我们不需要管B、B1、B2的值,只需要根据1≤A≤48这一限制条件,尝试A的48种可能性,就可以根据B =64 ÷7 ,算出相应的B、B1、B2的值————我们将所得结果化为带整数的分数,整数部分即为B,分数部分的最简形式,其分母即为B2,分子即为B1(当然,我们可以根据需要进行调整,使之成为非最简形式)。例如,我们可以尝试A为3的情况,64 ÷7 =64 ÷7 =9 ,因此B=9,B2=346,B1=61。以此类推,只需要尝试48次,就可以得到所有的结果。由于这个结果多达48个,而且容易获得,这里就不详细论述了。

48种可能性之中,能够满足限制条件的只有A为2、7、27、32、37、38、42、47这8组数据,再根据限制条件2进行调整,可以发现只有A为7、32、38、42这4组数据成立。至此,我们得到该算题的全部四种可能:7 X9 =64 ,7 X8 =64 ,7 X8 =64 ,7 X8 =64 。它们对应的最终文字是:

(1)广七步册九分步之七,从九步十四分步之一。问为田几何。得曰:为田六十四步有(又)三百四十三分步之二百七十三。

(2)广七步册九分步之卅二,从八步百五分步之册九。为田几何。曰:为田六十四步有(又)三百四十三分步之二百七十三。

(3)广七步册九分步之卅八,从八步廿一分步之七。问为田几何。曰:为田六十四步有(又)三百四十三分步之二百七十三。

(4)广七步卅九分步之册二,从八步十七分步之十九。为田几何。曰:为田六十四步有(又)三百四十三分步之二百七十三。

需要注意的是,当A=7或42时,7 不是最简分数;当A=32或38时,B 不是最简分数。也就是说,该算题肯定存在并非最简分数的形式。

通过这道算题,我们可以看出:穷举法有可能会成为解决这一类问题的通用方法——如果一个分数的分母是完整的,分子有残缺,就可能将分子的取值限定在一个较小的范围内,配合以其他限制条件,或许会很容易得到几组最优解。退一步讲,就算分母也残缺,只要没有完全残缺,还是可以用枚举法。比如,如果本算题被乘数的分母“49”残缺了一个数字,我们就完全可以假定该数字为从0—9的数字,进行代人计算。其计算步骤依然是有限的,并且涵盖了所有的可能性。因此,在分母齐全或者部分残缺并知道残缺的位数的情况下,穷举法是具有较大价值的推导方法。

三、特性分析法

特性分析法是指先寻找该算题的特性,再根据这些特性,尽量缩减可能性和计算范围。如前所述,本算题采取的实际上是乘数因子包含大素数的特性分析法(主要体现在下文的“性质3”中)。我们将等式7 ×B =64 化为假分数的形式,可以得到方程1: × = 。采用特性分析法的计算过程如下:

性质1:我们可以推测B的大致范围。B 的值介于64 ÷7 ≈8.1和64 ÷7 ≈9.2之间,B只能取值8或者9。

当B=9时,7 =64 ÷9 <64 ÷9≈7.2,A的取值范围为[1,9]。

当B=8时,7 =64 ÷8 >64 ÷9≈7.2,A的取值范围为[10,48]。

性质2:343=49×7,这表明7这个因子应该来自 B2,可表述为B2=7m(m是正整数)。在计算的过程中,m被当成公因子消去了,所以没有显示在结果的分母值343中。

性质3:通过分析方程1可知,343+A和B×B2+B1之中至少有一个能整除127,因此本题可以化解为两个部分:343+A能整除127;B×B2+B1能整除127。所有的可能解均在这其中。

(1)343+A能整除127

由于1≤A≤48,343+A的取值范围是[343,391],其中能被127整除的只有381,此时A=38。由7 ×?=64 可知,?的最简分数形式是8 ,参考性质2可知,该分数应变成8 。

(2)B×B+B能整除127

即B×7m+B1=127d,其中m、d均为正整数,0<B1<7m,B=8或9。我们可以分成如下两种情况进行讨论:

①B=9,即9×7m+B1+=127d,变形得:B1=127d-9×7m。由于0<B1<7m,可得: d<m<d,即1.81d<m<2.02d,m=2d。B1=127d-9×7×2d=d。第二个乘数是9 =9 ,第一个乘数是64 ÷9 =7

②B=8,即8×7m+B1=127d(方程2)变形得:B1=127d-8×7m。由于0<B1<7m,可得: d<m< d,即2.02d<m<2.27d,只有当 d、 d的整数部分不一样时,整数m才可能存在。由此可知,d≥4。当d≥7时,B2将是三位数,字数超出限制,不符合要求。因此,d 的值只能取4、5、6、7之一。其中存在两个可能解,即7 ×8 =64 ,7 ×8 =64 。

至此,我们就会得到该算题的全部四种可能解。即如果343+A能整除127,那么对应的解是:7 ×8 =64 。如果B×B2+B1能整除127,且B=9,那么对应的解是:7 ×9 =64 。如果B×B2+B1能整除127,且B=8,那么对应的解是:7 ×8 =64 ,7 ×8 =64 。相关的文字已经在上文表述过了,这里不再赘述。

四、结语

我们可以看到,上述两种计算方法适用的情况不一样:在分母完整(或者是部分残缺,且明确知道残缺了多少位)、分子残缺的情况下,穷举法较为简单有效,只需要将分子按照从1到分母减1的顺序,逐个代人即可。在数字存在某些特性,尤其是存在大素数乘数因子的情况下,特性分析法较为简单有效。我们在明确等式两边都有该大素数因子的前提下,通过查找该大素数因子所在的位置,可以将计算简化为几种情况。也就是说,这两种方法都是针对特定情况的有效方法。我们认为,数学是出土算术类文献的核心要素,加强数学运算在出土算术类文献整理和研究中的比例,似乎应该成为应有之义。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体大小
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
首 页 < 上一章 章节列表 下一章 > 尾 页