周振甫《周易译注》引高亨《周易古经今注•周易筮法新考》所述筮法(略述如下):
取49根筹子,经过三次迭代遴选操作后,去掉一部分筹子,再把余下的筹子每四根分做一组,最终组数归于四种结果:9、8、7、6。其中9为老阳,8为少阴,7为少阳,6为老阴。(这是后来以九代表阳,六代表阴的来历)。如此得到一爻。如是者六,得一卦。
所谓的遴选操作,用现代代数语言来描述,如下:设运算%是常规的取余运算,A%k代表A除以k后的余数。$是一种特殊的取余数的运算,当A%k不为0时,A$k = A%k;否则A$k = k。取任一自然数N,以及另一任意自然数A∈[2,N-2],一次完整的遴选过程可描述为:N’ = N-1-A$k-(N-A-1)$k,即得到一个新的自然数N’,然后再作为N进行下一次遴选。
从数学上可以证明,对于任意的自然数N和A,一次遴选的结果N’,必然是k的整数倍。设N=n*k+i,A=a*k+j,B=N-1-A,可得A$k=j,而B$k=i-1-j-m*k,其中m=1-ceil((i-1-j)/k)。于是,N’=(n-m)*k。经过三次遴选后,N’’’=(n-m1-m2-m3)*k,再按k分组,得组数M=n-m1-m2-m3。
周易筮法以N=49,k=4为除数,则可以证明,m随机地取1或者2,这个随机性来自A的随机性。于是,经过三次遴选之后,M=12-m1-m2-m3。其中,m1、m2、m3是1和2的组合。于是,共有四种结果:M=12-3,M=12-4,M=12-5,M=12-6。这就是所谓的老阳“九”、少阴“八”、少阳“七”、老阴“六”。
可见,在古代,卜筮实际上是一套复杂的算数算法。值得惊叹之处在于先民是如何发现了这奇妙的算法。应该说,在这个过程中,每一爻的随机性,来自三次逐渐减弱的随机性,因为A的选择范围是逐渐缩小的,就这一点上来说,同时抛三枚铜钱的随机性,来得更均等一些。
本文作于2008年10月8日