《周易·系辞》云:“上古结绳而治,后世圣人易之以书契。”东汉郑玄称:“事大,大结其绳;事小,小结其绳。结之多少,随物众寡。”先民结绳记数,民智渐开。春秋《管子》云:“尺寸也,绳墨也。”度量单位开始应用,《管子》又以“三分损益法”定音律,记录了历史上最早的数学指数思想。春秋《国语·郑语》云:“计亿事,材兆物,收经入,行姟极。”以大数裁事物,明知数之大小。《墨子·经(下)》云:“穷不害兼,说在盈否”,已思索无穷世界。东汉徐岳《数术记遗》称:“黄帝为法,数有十等,及其用也,乃有三焉。十等者亿、兆、京、垓、秭、壤、沟、涧、正、载;三等者,谓上、中、下也。其下数者。十十变之,若言十万曰亿,十亿曰兆,十兆曰京也”,已对不同大小的数有了明确的界定。
西汉京房利用“三分损益律”计算出“京房六十律”,范晔《后汉书·律历志》对“京房六十律”各律记录的信息较丰富,如:“形始,十三万四千三百九十二。下生迟时。形始为宫,制时商,迟时徵。五日。律,六寸八分小分三弱。准,六尺八寸五千四百七十六”,其中用“强/弱”表示各律带无穷小数的准数。在京房所处的汉代,后世通用的以0.5为分界的“四舍五入法”概念还没出现。三国时期杨伟《景初历》才对“四舍五入法”有明确记载:“半法以上排成一,不满半法废弃之。”魏晋刘徽《九章算术》用“微数”表示无穷小数,以表示那些无法用分数表示的无理数。到了隋朝刘焯《皇极历》阐述“四舍五入法”:“半以上为时,以下为退,退以配前为强,进以配后为弱”,不仅明确了“四舍五入法”,还明确了“强/弱”记数法,因此后人在用“四舍五入法”来分析隋朝以前的文献时,需要格外注意“四舍五入法”的应用场合。
“京房六十律”的第一律“黄钟”的律数为9,按“下生”“上生”法依次生成六十律,除前三律外,其他五十七律的律数都带有无穷小数。京房用“分”和“小分”表示无穷小数的前两位,第三位开始的尾数,则用“强/弱”来表示,相对于隋朝刘焯的《皇极历》,“京房六十律”是最早记录“强/弱”记数法的古代文献。
“强”或“弱”是中国古代记录小数尾数的一种方法。用现代数学来解析,“强”表示某个数按一定位数取下界之后的尾数。如圆周率π的取下界整数π=3后的尾数为0.14159……,π可以表示为“3强”,π取小数点后一位的尾数0.04159……,这时,π可以表示为“3.1强”,以次类推,凡是尾数大于0,都可以用“强”表示尾数。“弱”则表示某个数按一定位数取上界之后,上界和某数的差。如圆周率π取上界整数π后的尾数为0.85841……,π可以表示为“4弱”,π取小数点后一位后的尾数0.05841……,这时,π可以表示为“3.2弱”,以次类推,凡是上界和某数的差大于0,都可以用“弱”表示尾数。也可以这样理解,“强”表示多一点,“弱”表示少一点。
如对于“京房六十律”中的“色育”律,它的律数前10位小数=8.9812264163,如果按照京房取“寸分小分”三个单位,可以表示为“8寸9分小分8强”的“强”律,或“8寸9分小分9弱”的“弱”律。这样,由于对于“黄钟”律律数为9的“京房六十律”来说,生律过程除前三律律数是9、6、8的整数外,其他五十七律都是无穷小数,因此,其他五十七律每一律的律数都可以表示为“强”律或“弱”律。选择“强”律或“弱”律来表示每一个音律,可以得到图7-6。
图7-6 “黄钟”律数为9时其他五十七个“京房六十律”的“强/弱”小数记数法
如图7-6所示,下半部分从左到右显示了“京房六十律”从第四律“南吕”到第六十律“南事”的生律顺序,上半部分显示每一律都可以是“强”律或“弱”律,图中的黑色箭头表示:如果当前律是“强”律,那么下一律可以是“强”律,也可以是“弱”律;如果当前律是“弱”律,那么下一律可以是“强”律,也可以是“弱”律。这样相邻两律就有4=22种不同的“强/弱”分布,连续的五十七律就有257种不同的“强/弱”分布。显然,“陈文”和《后汉书·律历志》中关于“强/弱”分布是257种不同的“强/弱”分布中的两种。
由表7-5可知,“陈文”和《后汉书·律历志》有四律“强/弱”分布不同,在“陈文”中没有论述这四律“强/弱”分布不同的缘由,因此哪种更合理或更优是值得探讨的问题。由于“京房六十律”是以“三分损益律”为生律法,所以“京房六十律”相邻两律的律数之比不是3:2就是3:4。如“京房六十律”中“离宫”律“上生”得到“凌阴”律,因此“离宫”与“凌阴”的律数比应为3:4。在“陈文”和《后汉书·律历志》中“离宫”律的律数分别是“6.15寸微强”和“六寸一分小分五微强”,“凌阴”律的律数分别是“8.2寸微强”和“八寸二分小分一弱”。“陈文”和《后汉书·律历志》的“离宫”律相同,但“凌阴”律不同。计算两律的数字比,6.15:8.2=0.75,6.15:8.21=0.749086,前一个数字比更接近“三分损益律”的生律法,偏差更小,说明“陈文”把“凌阴”记为“强”律更合理。再分析“凌阴”律与下一律的比例,“凌阴”律“下生”得到“去南”律,“陈文”和《后汉书·律历志》的“去南”律的律数数字都是5.46,计算两律的数字比,8.2:5.46=1.5018315,8.21:5.46=1.503660,前一计算结果更接近3:2,偏差更小,同样是“陈文”以“凌阴”律为“强”律更合理。
“京房六十律”由“三分损益律”的生律法而得,相邻两律的律数之比与生律法之间存在一定的偏差,五十九对相邻两律就有五十九个偏差。通过计算可以得到《后汉书》记载的“京房六十律”律数与“三分损益律”生律法的偏差,如图7-7所示,数轴0表示的是“三分损益律”生律法的相邻两律律数比归零化(即相邻两律律数的数字比减去三分之二或三分之四),其中前三律相邻两律律数比的偏差为0,其他五十七律相邻两律律数比都有偏差,这些偏差围绕着数轴0上下波动,偏差有大有小,偏差大的远离数轴0,偏差小的靠近数轴0。
由于“京房六十律”除前三律律数是整数外,其他五十七律律数都是无穷小数,都可以是“强”律或“弱”律,五十七律有257种不同的“强/弱”分布,显然不同的“强/弱”分布有着不同的偏差波动,怎么来比较这些偏差波动呢?
图7-7 《后汉书》“京房六十律”与“三分损益律”生律法的偏差波动图
在数学统计理论中,标准差是最基本、最重要的测量数据偏离程度的工具。一个数据集合的标准差越大,说明集合中的数据和数据中心的偏离程度越大,反之标准差越小,偏离程度越小。“京房六十律”的数据集是六十个律数,数据中心就是“三分损益律”生律法,通过计算“京房六十律”257种不同的“强/弱”分布的标准差,选取标准差最小的“强/弱”分布,就可以得到“强/弱”最优分布。(www.xing528.com)
中国古代的数量计算工具经历了结绳计数、筹算工具、算盘工具三个主要阶段,无论是哪种工具,要计算257种不同的偏差,都是不现实的。在计算机出现后,特别是云计算技术出现后,大数据计算才成为可能。
上文在比较“陈文”和《后汉书·律历志》“凌阴”的“强/弱”分布时,给了我们一个思路,从“京房六十律”的第四律出发,逐个链式计算各律,比较当前律的“强”律或“弱”律与前一律确定的“强/弱”律的比例哪个更接近“三分损益律”生律法,选择偏差小的作为当前律的“强/弱”分布,从而使整体上达到较为理想的效果,这种通过选择局部最优来优化整体的方法,在人工智能的算法理论中叫“贪心法”。通过“贪心法”逐个进行链式计算和比较各律,只需要计算57次,远小于257次。“贪心法”在不少场景下都能得到最优结果,它在计算“京房六十律”的“强/弱”分布时,是否也能得到最优分布?
“动态规划”方法是人工智能算法理论中常用的整体最优化方案。“最短路径”问题是用“动态规划”方法解决的一个经典问题,它可以从众多的路径中求出最短的路径。类似的,如图7-6所示,从“南吕”到“南事”,利用“三分损益律”生律法逐个链式计算生成各律,每律都有“强”律和“弱”律两种选择,要求出“京房六十律”的“强/弱”最优分布,就是要选择出从“南吕”到“南事”的最短路径,路径上的距离采用相邻两律比与“三分损益律”生律法的偏差。根据对“动态规划”的复杂度分析可以知道,在计算“京房六十律”的“强/弱”最优分布时,“动态规划”方法也只需要计算57次。
“贪心法”和“动态规划”方法都能把计算次数从257次降低到57次,不仅大大减轻了计算负担,而且提高了数学建模的工作效率。下面分别用“贪心法”和“动态规划”方法,利用软件工具计算出“京房六十律”的“强/弱”分布,然后把其中的“弱”律的律名列表于表7-10。表7-10包含了《后汉书》、“陈文”、“贪心法”和“动态规划”的“京房六十律”“弱”律,《后汉书》有“弱”律16个、“陈文”12个、“贪心法”15个、“动态规划”19个,“动态规划”得到的“弱”律数量最多,“陈文”的“弱”律数量最少。
表7-10 《后汉书》、“陈文”、“贪心法”、“动态规划”的“京房六十律”“弱”律
对不同的“强/弱”分布,分别计算“京房六十律”的标准差,包括所有六十律都是“弱”律、所有六十律都是“强”律、《后汉书》、“陈文”“贪心法”“动态规划”这六种不同的“强/弱”分布,通过表7-11可以发现所有六十律都是“弱”律时的标准差最大,而“陈文”通过重新计算,对《后汉书》的“强/弱”分布进行了修改,从而有效地降低了标准差,“动态规划”对应的“强/弱”分布标准差最小。这样,表7-10中第4列的19个“弱”律和其他41个“强”律构成的“强/弱”分布是“京房六十律”的“强/弱”最优分布。
最后对《后汉书》、“陈文”和“动态规划”的相邻律数比与“三分损益律”生律法的偏差进行了计算,如图7-8所示。
表7-11 不同“强/弱”分布的“京房六十律”标准差
图7-8 《后汉书》、“陈文”、“动态规划”的“京房六十律”与“三分损益律”生律法的偏差波动图
图7-8中,箭头1指向的是《后汉书》的偏差波动,箭头2指向的是“陈文”的偏差波动,箭头3指向的是“动态规划”的偏差波动。“动态规划”的偏差波动各点用实线相连,“陈文”的偏差波动各点用虚线相连,《后汉书》的偏差波动各点用短线相连。图中有些线段重叠,重叠部分表示偏差相同。观察发现,“动态规划”的偏差波动相对于《后汉书》和“陈文”而言最小。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。