第三章 《吠陀经》的韵律

古印度文化对数字非常敏感, 人们在很早的时候就谈论巨大的数字。 比如印度教的《往世书》提到的一个时间概念叫做 “劫”(kalpa), 1 劫等于 1000 个大纪 (mahayuga), 1 大纪包含 4 个小纪 (yuga), 1 小纪等于 3000 天年, 1 天年等于 360 个太阳年, 也就是我们人类生活中的年。 由此算来, 1 劫相当于 43 亿 2000 万年, 而这仅仅是梵天神 (Brahma) 生活的一个白天。 梵天神的一天一夜等于人间 86 亿 4000万年。 如此算起来, 梵天的一年 (360 个日夜) 相当于人间 3 兆 1 104 万年 (1 兆等于 1 万亿)。 而梵天的一个世纪叫做一个大劫, 相当于人间 311 兆零 400 万年! 这些数字真是大得让人发懵。 不过由于大劫之后世界注定毁灭, 对于我们凡人来说, 显然一个大劫的数越大越好。

妙闻仙人 (Sushruta, 音译名为苏胥如塔, 生卒年不详) 是古印度的一名著名外科医师, 生活在公元前 6 世纪。 他曾经断言, 如果有 6 种不同的味道, 那么选择任何一种味道, 或者把两种味道、三种味道等组合起来, 可以构成 63 种相异的味道 (也就是 种组合)。 从古代起, 印度人对香料就十分着迷, 而且越来越着迷。 20世纪出现的唐多力 (Tandoori) 烤鸡, 其调料里就含有芫荽籽、辣椒粉、孜然、姜黄、香苜蓿、胡椒、姜粉、月桂、丁香、肉豆蔻、葛缕子、肉桂、小豆蔻等十多种香料。 6种香料的组合显然不够用。

到公元前 2、3 世纪的时候, 在印度出了一位著名的学者名叫宾伽罗 (Pinigala, 生卒年不详)。 他的名著《诗律经》(Chandah sūtra)是一本有关诗歌格律的重要著述, 主要研究的是古代婆罗门教的经典《吠陀经》的韵律。 《吠陀经》是用诗的语言写成的, 宾伽罗把诗歌的节奏分解为两个基本元素, 一个元素叫 “啦咕” (laghu), 另一个叫 “咕噜” (guru), 前者是长音、重音的意思, 后者是短音、轻音的意思。 在梵语里, 重音的长度一般是轻音长度的一倍左右。 你看, 这是不是跟 “阳爻”(长)和 “阴爻”(短)有点相似?

在任何一种语言里, 语音的轻重缓急, 也就是韵律节奏, 是诗歌的重要部分。 中文诗歌里, 这种韵律是隐含在汉字里的。 虽然看起来每个汉字都占据同一个音节, 但是吟读起来却也是有长有短, 有轻有重的, 比如: 白日依山尽, 黄河入海流。 如果用 代表长音 (重音), 代表短音 (轻音), 这句诗吟诵起来的一种可能是: GLLLG, GLLGL.

当然也可以有其他不同的变化, 但不能每个字都按照完全相同的音量和音长。 GGGGG或者LLLLL, 都很难听, 没有诗的韵味。

英语诗歌里很多使用抑扬格或扬抑格。 比如著名诗人丁尼生 (Alfred Tennyson, 1809-1892)的名诗《尤利西斯》(Ulysses)里有这么一句:

To strive, to seek, to find, and not to yield.

这是五步抑扬格, 就是 GL, GL, GL, GLGL (粗体代表重音, 其音比轻音要长)。 这句诗可以翻译成:“前行, 探究, 寻觅, 切莫气馁。 ” 吟诵起来, 也是 GL, GL, GL, GLGL。

描述和分析长音、短音在梵语诗歌中的排列规律是《诗律经》的主要内容。 宾伽罗列出了给定音节的数目, 各种长短音的分布方式, 并给它们一一取了名字。 这是世界上最早的语言分析著作。 对于一段有 个音节的诗句, 宾伽罗给出分析长音和短音分布可能性的规则, 以及这些可能性的总数。 这种分析, 就像我们在第一章里提到的问题: 扔 次硬币, 有多少种出现正面和反面的可能性? 这里的长音和短音就对应着硬币的正面和反面。

《诗律经》一共有八章。 第八章里含有 35 段契经, 这在佛教里称为修多罗 (Sutra), 就是一段散文式的经文。 第八章第 20 到 35 段专门讨论长短音分布的排列组合算法, 这包括好几个步骤, 我们只看其中的两个。

第一个步骤是计算有 个音节的一段诗文里面长短音所有可能的组合, 然后把这些组合列成一个音素方阵。 由于长音 (L) 和短音 (G) 在 个音节里的排列有 个组合方式, 把这些组合方式按照 个音节排列起来, 每个音节作为一个元素, 一共有 个元素, 构成一个 的方阵。 这个方阵给出了长短音的所有可能性。 让我们看看几个简单的例子。

我们从最简单的诗文开始, 假设它只有一个音节, 这个音节可能是 L 或是 G, 于是我们得到一个小表格, 它有 (个) 元素, 也就是一个 的小方阵:

对于一段有两个音节的诗文来说, 我们可以得到一个 (个) 元素的表格 (也就是一个 个元素的方阵):

LL
G
GG

这个表格是根据一个音节的 2 元素表格加上第二个音节的各种分布可能得到的。

举一反三, 三个音节的诗文可以从 8 元素表格加上第三个音节的分布可能性得到, 它一共有 (个)元素:

01952687-d372-7abb-afcb-1fdad5b56c54_34_708_1049_192_465_0.jpg

这是一个 方阵。 推而广之, 对于一段有 个音节的诗文来说, 发音元素 ( 和 G) 出现的可能性一共有 种, 构成一个 方阵。

这种从简单到复杂逐步推进的分析方法在数学上叫做递归法 (Recursion; 又叫 Recursive method), 它不仅在排列组合与概率统计学中有重要作用, 在其他数学、计算机科学, 甚至艺术当中, 使用也非常广泛。

那么, 在一段拥有 个音节的诗文里, 只用一个 , 或者两个 , 或者三个 等的可能性有多少种? 类似的问题也可以用到 上, 结果应该和 是一样的, 因为只有这两种选择, 选择了一种音节以后, 余下的就是另一个。

宾伽罗给出的方法值得我们仔细谈谈。 假设我们考虑 个音节, 那么就做一个有 行的表。 首先在第一行中间写下一个 1, 然后在第二行写下两个 1, 这两个 1 在第一行的 1 的两侧格子的下方。 第三行, 在第二行两个 1 的下面的外侧格子里写下 1, 等等, 延续到任何一个 , 如表 3.1 中的数字所示。

表 3.1 宾伽罗解决音节分布问题的第一步

01952687-d372-7abb-afcb-1fdad5b56c54_35_307_769_1023_477_0.jpg

然后, 在 那一行, 计算位于两个 1 中间的格子里的数字。 这个格子正对于 那一行的 1。 计算方法是把这个格子两个 “肩膀” 上的数字加起来。 对应于 的上一行是 , 两个 “肩膀” 上的数字都是 1, 所以, 这一行中间的数字是 2。

下一步, 计算 那一行的数字。 这一行在两头的 1 之间对应于 有两个格子, 所以这一行除了两个 1 以外还有两个数字。 计算方法和 的情况相同, 把每个格子上方两个 “肩膀” 处的数字加起来。 这两个数字都等于 3。

就这样, 用类似的方法计算 , 一直做下去, 于是我们得到表 3.2。

的宾伽罗山形图

01952687-d372-7abb-afcb-1fdad5b56c54_36_292_290_1027_477_0.jpg

这个表格, 在印度叫做 “美庐” (meru), 就是小山的意思。 因此我们不妨把它叫做山形图。

这张图是什么意思呢? 别忘了我们一开始提到的宾伽罗打算分析的问题: 在一段拥有 个音节的诗文里, 只用一个 , 或者两个 , 或者三个 等的可能性各有多少种?

让我们从最简单的情况入手, 也就是 , 这相当于山形图中 那一行。 这里, 我们显然只有 1 种选择, , 这相当于左边那个 1。 不过我们也可以选择 , 那也只有 1 种选择, 这相当于 那一行右边的 1。

对于 , 如果使用 2 个 的话, 只有一种可能。 同样, 使用 2 个 也只有 1 种可能。 我们不妨把左边的 1 设定为对应两个L, 那么右边的 1 对应的就是两个 G 的情况。 如果使用 1 个 L, 那么就有两种可能, LG 或者 GL。 LG 和 GL 也是使用 1 个 G 的可能, 但这种可能其实已经被使用 1 个 L 给限定了, 所以在两个 1 之间是一个 2。

对于 , 如果使用 3 个 , 那么也只有一种可能, 对应的是山形图里 那一行最左边的那个 1。 如果使用两个 L, 从前面的 方阵图, 我们已经知道, 有 3 种可能; 如果只用一个L, 也是 3 种可能;而右边的 1 对应有 3 个 G 的情况。

对于 和4个 的可能性当然都是 1, 使用 3 个 有 4 种可能, 使用 2 个 有 6 种可能, 使用 1 个 L 的可能性也是 4。 如果把 L 换成 G, 结果还是相同的。 读者可以自己去验证。

到这里, 我们看到, 宾伽罗用山形图的方式给出了他的答案, 而且这个答案对任何一个整数 都适用, 也就是在一段具有 个音节的诗文里面, 含有 1 个、 2 个、 3 个, , 直到 音 (或者 ) 的可能性。 所有这些可能性相对于 都是对称的, 因为没有第三个音, 一旦确定了 L 出现的数目, G 出现的数目也就确定了。

现在, 让我们花点时间, 再仔细看看这张山形图。

除了所有数字构成的 “山” 以外, 山形图里还隐藏了无数大大小小的 “山”。 如果你仔细看看表 3.2, 就会发现, 每一行的数字都是中间大, 两头小。 对于第 行来说, 里面有 个数字。 先让我们从左边为它们编号, 从 1 到 。 然后把这些数值按照编号画出来, 如图 3.1 所示。 可以明显看出, 每一行的数字都是一座山, 而且左右对称。 而随着 的增加, “山” 的形状逐渐变得陡峭, 也更加平滑。

01952687-d372-7abb-afcb-1fdad5b56c54_37_344_770_506_543_0.jpg

图 3.1 山形图里第 2 行到第 7 行数字从左到右排列的山形分布图。 注意这些“山”都是左右对称的。

宾伽罗的分析是针对诗文的韵律进行的, 但他的结果却具有普遍性, 可以用在很多实际问题上。 让我们回过头来看看前面讲过的扔硬币的例子。 我们还是用 1 来代表正面, 0 代表反面。 假设你把一枚硬币连续投了三次, 我们已经知道, 可能出现的结果有 (种), 它们是 000、001、010、100、011、101、110、111。 这里面, 全是正面和全是反面的情况都只能出现一次, 出现两个正面和出现两个反面的情况相等, 都是 3。 所以, 出现只有 0、两个 0、一个 0 和没有 0 的次数分别是 1、3、3、1。 你看, 这不就是山形图里 那一行的数列吗? 把这几个数字都加起来, 是投掷 3 次硬币出现的全部可能性, 而 1、3、3、1 这四个数字代表的是在所有 8 种可能性当中出现全是 0、两个 0、一个 0、没有 0 (也就是全是 1)的数目。

由此, 我们就知道出现全是 0 的概率是 , 出现两个 0 的概率是 0.375, 等等。 现在, 请读者计算一下把一枚硬币投掷 4 次, 其中出现两个 0 的概率。

由于 可以无限地增加, 山形图里出现的数字可以有无穷多个。 用现代组合数学 (Combinatorics) 的语言, 所有这些数字都可以用一个统一的符号来表达, 那就是

别被这个符号的复杂性给吓着, 其实它非常简单。 字母C代表组合 (Combination)。 的两个角标代表从某个数 里面取出另一个数, 这里我们规定 的表达式里唯一奇怪的符号是那个惊叹号。 它并不代表愤怒或者惊奇, 它只是一个阶乘的符号: 。 对于 , 我们规定 。 符号 代表从 个不同的东西里面取出 个东西的可能性, 读作 “ 中取 ”。 也有人使用 。 在西方使用这两种符号的时候, 的位置和这里给出的正好相反。 不过没有关系, 只要标明了 , 这两个角标的位置就不会引起歧义。

我们再看看 的例子。 拥有 个音节的诗句, 里面含有 音的可能性是 。 拥有 个音节的诗句, 里面含有 音的可能性是 。 ……读者有兴趣的话, 不妨多验证几个

验证之后, 让我们再来看看图 3.1 中的 “山”。 “山顶” 位于系数的正中, 不论我们从 “山顶” 向左右任何一个方向走, 系数都迅速降低, 直到达到 1 为止。 这是为什么?

不要忘记, 系数等于 1 和 对应的是单单出现正面和反面的可能性。 从上面的分析我们看到, 对于一个只有两种结局的随机过程 (也就是说每一次过程的重复都和它的历史无关), 比如硬币出现的正面和反面、诗文里出现的长音和短音, 山形图告诉我们, 如果我们不断地重复这个随机过程 (比如不断地扔硬币或不断地增加诗文的长度), 正面和反面 (或长音和短音) 出现的次数就越来越接近。 换句话说, 我们就越来越趋近于图 3.1 里系数编号的正中间; 在这里出现正面和反面的概率越来越接近于相等, 而最终它们的概率都趋于 0.5。

史苑撷英

“忌(指田忌)数与齐诸公子驰逐重射。 孙子见其马足不甚相远, 马有上、中、下三辈。 于是孙子谓田忌曰:“君弟重射, 臣能令君胜。 ” 田忌信然之, 与王及诸公子逐射千金。 及临质, 孙子曰:“今以君之下驷与彼上驷, 取君上驷与彼中驷, 取君中驷与彼下驷。 ” 既驰三辈毕, 而田忌一不胜而再胜, 卒得王千金。 ”

——(汉)司马迁《史记·卷六十五·孙子吴起列传》

还有一个跟 类似的符号, 。 在这个符号里, P代表排列 (Permutation)。 既然是排列, 那么 就是不一样的, 因为顺序不同。 这是排列和组合的主要区别, 在组合里, 只要 都在一起, 那么, 以及 等都是一回事。 比如三种香料, 混合在一起构成一种味道, 三种香料谁在前谁在后对味道没有影响。 而排列在许多情况下是很重要的。 田忌赛马的故事就是一个古老的例子。

拿三个字母 来作例子, 很容易看出一共有 6 种排列, 它们是:

这里面, 有三类是 分别打头的, 每一类当中的第二个字母有两个选择, 第三个字母只有一个选择, 所以从 3 个字母中给出全部字母的总的排列可能性有 (个)。

采用递归法, 很容易证明, 个字母全部给出的排列的可能性有 ! 个。

那么, 如果从 个字母里拿出 个字母 来排列, 会有多少种可能呢? 答案是 。 读者不妨自己去试着解决这个问题。 的读法是 “ 个数中取 个数的排列”。

也许明眼读者早已注意到了: 那个所谓的山形图不就是贾宪三角形吗?

正是!

北宋人贾宪(11世纪中叶;具体生卒年不详)写过一本著作《释锁算书》, 把那个山形图称为三角形 (图 3.2)。 不过这本书由于战乱失传了。 后来南宋人杨辉(约 1238 — 约 1298 )在他的著作 《详解九章算法》里提到了它, 并详细讨论了这个三角形在二项式乘方和开方中的应用。 用现代的代数语言, 把一个 次二项式 展开, 含有 的各项的系数就是表 3.2 里列出的数字。

宾伽罗的山形图出现在公元前 2 世纪, 可是他在《诗律经》中语焉不详。 真正清晰地给出上面处理过程的人是公元10世纪的印度数学家赫珞瑜陀 (Halayudha, 生卒年不详)。 所以, 山形图出现的比较可信的年代应该是公元 10 世纪, 这跟贾宪生活的时代差不太远。

一个是计算长音和短音在诗句中的分布可能, 一个是展开二项式, 为什么会得到相同的结果呢? 是巧合吗? 当然不是。

让我们先看看一个有趣的现象, 数字 11 的 次方, 也就是 。 根据幂指数的定义, 我们知道, 。 现在让我们把 从 0 到 4 的结果在表 3.3 中列出来。 从表格的第二列我们看到, 从 次幂的数字和山形图 (贾宪三角形)里列出的一模一样。 请读者想一想, 为什么会是这样? 难道也是巧合吗?

圆方 杂七法 古

01952687-d372-7abb-afcb-1fdad5b56c54_40_843_396_462_691_0.jpg

图3.2 元朝数学家朱世杰 (1249-1314) 所著《四元玉鉴》中介绍的贾宪三角形 (古法七乘方图)。

的结果

$n = 0$1
111
2121
31331
41 4 6 4 1

当然不是。 我们知道 , 如果我们把这个二项式按照贾宪三角形给出的系数展开, 就会看出苗头来了(表 3.4 )。


	表 ${3.4}{11}^{n}$ 按照 ${\left( {10} + 1\right) }^{n}$ 二项式展开

<img src="https://cdn.noedgeai.com/01952687-d372-7abb-afcb-1fdad5b56c54_41.jpg?x=303&y=472&w=1026&h=438&r=0"/>

从表 3.4, 联系到前面的讨论, 我们可以看出山形图和贾宪三角形的一致性了。 从山形图的角度来看表 3.4, 它实际上是说, 是所有可能的乘积 的总和, 其中 是整数, 而且 。 而这个总和当中的每一个乘积都可以表示成 , 一直到

广而言之, 任何一个二项式 都可以看成 所有可能的乘积之和, 其中每一个乘积都可以表示成 , 一直到 。 这和我们投掷硬币时分析各种出现正面和反面的可能性的组合分析实际上是一回事。

本章主要参考文献

Bag, A. K. Binomial theorem in ancient India. Indian Journal for History of Science, 1966, 1: 68-74.

Biggs, N. L. The roots of combinatorics. Historia Mathematica, 1979, 6: 109-136.

Kulkarni, A. Recursion and combinatorial mathematics in Chandashastra. 2008, arXiv: math/0703658v2.

Van Nooten, B. Binary numbers in Indian antiquity. Journal of Indian Philosophy, 1993, 21: 31-50.