周易64卦,加上變卦就有了4096卦。要得出一卦首先得起卦。目前常用的是用硬幣搖卦。拿三枚硬幣放手裡搖幾下然後扔在桌面上,看字和花的數量得到一個爻象(有字的一面為陰,花(背面)的一面為陽。一花兩字為陽,一字兩花為陰。三個花為老陽,三個字為老陰),如此六次成一卦。
圓形錢幣於戰國時期一些諸侯國開始出現,後秦國統一使用圓形方孔錢。搖錢起卦法相傳也是戰國時期的鬼谷子發明(或者推廣)的。
在這之前如何起卦呢,在這之前是使用蓍草起卦的。現在很多人還認為蓍草起卦才是最正宗的,但蓍草起卦的動靜爻概率分布均勻嗎,我們一起來看一看。
蓍草揲蓍法又稱大衍筮法,《繫辭》記載:「天一,地二。天三,地四。天五,地六。天七,地八。天九,地十。天數五,地數五,五位相得而各有合。天數二十有五,地數三十,凡天地之數五十有五(一加到10=55)。此所以成變化而行鬼神也。大衍之數五十,其用四十有九(去掉一根不用,用49跟蓍草)。分而為二以象兩,掛一以象三, 揲之以四以象四時,歸奇於扐以象閏,五歲再閏,故再扐而後掛。乾之策二百一十有六,坤之策百四十有四,凡三百有六十,當期之日。兩篇之策,萬有一千五百二十,當萬物之數也。是故四營而成易,十有八變而成卦。八卦而小成。引而伸之,觸類而長之,天下之能事畢矣。」
具體的算法就是:
取50跟蓍草(小木棍也行),拿掉一根,手裡有49根。
第一步,隨意分成兩堆,左右手各拿一堆。
第二步 從右手中取一根放中間,然後右手中中剩下的四根一數,一直數到剩下4根或者不足4根為止,把剩下的這幾根再放中間。左手不取一根,直接4根4根數,數到剩下四根或者不足4根,把這數剩下的也放中間。中間這一小堆稱之為「一變」
第三步,除了中間這一堆之外,兩手上其他蓍草再合起來,如第二步又操作一遍,又得到一小堆蓍草,稱之為「二變」
第四步,除了中間這一堆之外,兩手上其他蓍草再合起來,如第二步又操作一遍,又得到一小堆蓍草,稱之為「三變」
第五步:將三小堆蓍草合在一起數出數量,再用49減去這個數(或者數三變之後剩下的根數)。減出來的只有四種可能: 24, 28, 32,36。除以4之之後為:6, 7, 8, 9中的一個。6為老陰,7為陽,8為陰,9為老陽。
概率分析:
大家知道搖錢卦的概率是很均勻的,動爻的概率是四分之一,靜爻的概率是四分之三。那麼蓍草起卦的概率分布怎麼樣呢?
第一變時總數49根,取出一根後是48根(偶數),分成兩堆後看一堆的餘數分布,在隨機分堆的情況下1,2,3,4出現的次數是平均的。由於兩邊數量互補,那麼結果如下
5出現的概率是四分之三9出現的概率是四分之一
第二變,起始數不是44就是40,再去掉一根,剩下的成了奇數
4出現的概率是二分之一8出現的概率是二分之一
第三變,起始數可能是40,36,32,再去掉一根也是奇數
4出現的概率是二分之一8出現的概率也是二分之一
所以後兩次的數加起來,出現8的概率是四分之一,出現12的概率是四分之二,出現16的概率是四分之一。再加上一變的概率如下並可與搖錢起卦時出現的概率作為對比
由此計算可見,大衍術的蓍草起卦法各爻出現的很不均勻,老陽爻出現的概率是老陰爻的3倍,陰爻出現的概率也比陽爻要多八分之一。相比較而言,3個銅錢(或者硬幣)搖卦的概率是很均勻的。
那麼實際起卦操作後的結果如何呢,因操作一次耗時較長,我們用電腦模擬試試。
電腦模擬大衍筮法10萬次,出現的結果如下表
下面把電腦模擬的js代碼貼出來,有興趣的可以放到google瀏覽器裡運行試試。然後你也可以改改裡面的參數,比如第十行 a=49; 這是起始的蓍草數量(50根去掉一根然後開始操作,所以是49根開始),如果把起始數量改為48,你會發現出來的各爻概率與錢幣搖卦一樣均勻了。
打開google瀏覽器,然後按下鍵盤上的F12鍵,會開啟一個調試窗口1.再點擊調試窗口上的 sources2.再點擊 Snippet3.再點擊 New snippet4.再複製代碼進去5.再點擊 右三角箭頭運行,會彈出提示
如圖:
代碼如下:
var a,b,x,c1,c2,c3,c4=0;var i=0;var j=0;
//第一步,任意分兩份c1=0;c2=0;c3=0;c4= 0;for (j= 0;j<100000;j++){a= 49;for (i= 0;i<3;i++){ b= a; a= Math.floor(Math.random()*a) + 1;b= b- a;//第二步,取出一策a= a-1;//第三步,mod 4x= a % 4;if (x==0){x= 4;}a= a -x;x= b % 4;if (x==0){x= 4;}b= b -x;//二變 和3變a= a+ b;}a= Math.floor(a/4);switch (a ){case 6: c1= c1+1;break;case 7: c2=c2+1;break;case 8: c3=c3+1;break;case 9: c4=c4+1;}}alert('老陰6佔比:'+ (c1/1000).toFixed(2)+'% 陽7佔比:'+ (c2/1000).toFixed(2)+'% 陰8佔比:'+ (c3/1000).toFixed(2)+'% 老陽9佔比:'+ (c4/1000).toFixed(2)+'%' );