新鄉市華夏邵雍易學文化研究會新鄉市華夏邵雍易學文化研究會

曆史淵源曆史淵源

您現在的位置:首頁 > 曆史淵源 > 詳情

邵雍與二進製發明

閱讀:1052 發布時間:09-16 來源:本站

薑廣輝:邵雍的“加一倍法”與“二進製”的一致性

邵雍(公元1011~1077年),字堯夫,諡康節,是中國北宋時期著名的哲學家,主要哲學著作有《皇極經世書》。他發展《周易》象數學,以“數”作為其哲學思想的邏輯起點。他提出一種《周易》先天學,此學有關於伏羲八卦與六十四卦卦序排列的四種圖表,稱為《伏羲四圖》,即《先天圖》。

近二十多年來學術界討論的一個非常熱門的話題就是:德國大哲學家、數學家萊布尼茨(Gottfriend Wilhelm Leibniz,1646-1716)發明二進製與邵雍《先天圖》的關係。參加這場討論的有西方包括李約瑟(Joseph Needham,1900-1995)在內的科學史家,以及國內許多著名的科學史與中國哲學史的專家學者。討論的焦點大致有兩個:一是邵雍的《先天圖》卦序是否一種二進製的記數方法?或是一種“無意識的巧合”而符合二進製的記數方法?二是萊布尼茨發明二進製是否受了邵雍《先天圖》的啟發?主流的學術觀點認為邵雍的《先天圖》不是二進製的記數方法,或至少不是一種自覺運用的二進製的記數方法;萊布尼茨在其發明二進製之前並未看到邵雍的《先天圖》。

對於這一問題之所以長期爭論,有人歸結為這樣一種原因,即懂得《周易》的學者不大懂得自然科學,而懂得自然科學的學者又往往不懂《周易》。這確實是一個重要的原因。但這又並不是絕對的,萊布尼茨用二進製的視角去讀《先天圖》,並不需要他很懂《周易》;而《周易》有幾千年的發展曆史,誰又可以說完全弄懂了它?況且,邵雍的《皇極經世書》又是一部很難懂的書。

在筆者看來,首先應懂得怎樣去讀邵雍的《先天圖》,從中看它的卦序是不是二進製的記數方法,它如何是或如何不是二進製的記數方法。如果說邵雍當時已經發明、並自覺運用了二進製的記數方法,那萊布尼茨發明二進製時是否受了邵雍《先天圖》啟發的問題就已經不那麽重要了。如果不是這樣,那萊布尼茨發明二進製時即使看到了邵雍的《先天圖》,那又能說明什麽呢?

邵雍的《先天圖》四圖的卦序都遵循著一種邏輯法則,當時被稱為“加一倍法”。所謂“加一倍法”即是今天嚴格意義上的“二進製”的記數方法。其中有二圖比較直觀,茲附圖如下:


邵雍的《先天圖》無論八卦還是六十四卦,其卦序順讀都是始《乾》終《坤》,的絕大多數學者都按順讀的的方法來讀它,這當然不容易發現其中的二進製的記數方法。但邵雍已經指出:“夫易之數,由逆而成矣。”(《皇極經世書》卷十三)他告訴考察《先天圖》的易數關係的要訣是“逆數”,其中包括卦序的“逆數”和爻序的“逆數”。卦序的“逆數”是從《坤》卦至《乾》卦,如果將卦畫中的 邵雍的“加一倍法”與“二進製”的一致性 設定為“0”,邵雍的“加一倍法”與“二進製”的一致性 設定為“1”,那上麵的《伏羲八卦次序圖》正好是按二進製記數方法所表示的0-7的自然數表:


《伏羲六十四卦方位圖》在六十四卦的圓圖中,又置有一個六十四卦的方圖。無論圓圖和方圖,卦序之中都內在地體現嚴格意義上的二進製的記數方法。其中的方圖更為典型而直觀,讀懂它的要訣就是“逆數”,即由左向右,第一行始坤終否,接第二行始謙終遯,再接第三行始師終訟,以下接第四行、第五行、第六行、第七行,最後接第八行始泰終乾。而這正是按二進製方法所表示的 0-63的自然數表:



需要指出的是,《先天圖》的二進製數表是以《周易》卦畫為形式的。從易數的觀點看,卦畫所表示的是數,而不是象。其記數方式是通過兩個基本的卦畫符號邵雍的“加一倍法”與“二進製”的一致性 和邵雍的“加一倍法”與“二進製”的一致性 來進行的。而爻位就是二進製數的位值。先天八卦圖體現的是三位二進製數表(0-7),先天六十四卦圖體現的是六位二進製數表(0-63)。

以上所說,是讀懂《先天圖》卦序的要訣:卦序的“逆數”。而要進一步理解先天易數的具體進位方法,還有一個要訣,就是爻序的“逆數”:由低數位向高數位進位,是上爻向五爻進位,五爻向四爻進位,四爻向三爻進位,三爻向二爻進位,二爻向初爻進位。而進位的原則是逢二進一位。如剝邵雍的“加一倍法”與“二進製”的一致性000001為自然數1。若加1,則以此1加上原來的1而為2,則進一位為比邵雍的“加一倍法”與“二進製”的一致性000010,為自然數2。再加1,因此數位上是0,則不須進位,將0改為1而為觀邵雍的“加一倍法”與“二進製”的一致性000011,為自然數3。再加1,因觀邵雍的“加一倍法”與“二進製”的一致性000011後兩數位為11,則連續進兩位而為豫邵雍的“加一倍法”與“二進製”的一致性000100,為自然數4。如此類推。

現代國內外有學者提出邵雍《太極圖》的易數關係並不是一種自覺運用的二進製的記數方法。認為,如果邵雍不是自覺運用“二進製”的記數方法排出這一卦序,想不出他還可能用其他方法排出這種卦序,而正巧與“二進製”的數表完全相吻合。因為大家都知道,如果對六十四卦任意排列組合,那可以排出的卦序的種類,應是64的階乘:1乘2乘3乘4……乘64 ,其結果將是一個無比龐大的數字。而邵雍能一卦不差地排列出符合二進製數表的卦序,如果將這說成是一種“無意識的巧合”,那此種“巧合”的機率渺乎其微,幾乎完全不可能。這也就從反過來說明邵雍已經發明並能熟練運用“二進製”的記數方法。問題在於,邵雍雖然已經發明了二進製的記數方法,但除了能邏輯地處理卦序關係外,還不能將此二進製的記數方法派上其他用場。

邵雍的這項發明,已為當時的程顥所理解,並為之命名為“加一倍法”。有一次程顥對邵雍說:“堯夫之數,隻是加一倍法。以此知《太玄》都不濟事。”事實上,兩漢之際的揚雄(公元前53-公元18年)所發明的的太玄數已經完全符合三進製的記數方法(後世稱之為“加三倍法”),程顥認為邵雍的“加一倍法”比揚雄的太玄數更高明。當時邵雍聽到程顥的話之後驚撫其背說:“大哥,你恁聰明!”邵雍要向二程兄弟傳授“加一倍法”,二程兄弟並沒有領情接受。程顥說:“待要傳與某兄弟,某兄弟那得工夫!要學須是二十年功夫。”(以上參見《二程外書》卷十二)當時二程專於義理之學,不屑於研究“象數小術”。

邵雍的“加一倍法”受到後來的朱熹的重視,他說:“自有《易》以來,隻有康節說一個物事如此齊整。”(《朱子語類》卷一○○)在朱熹那裏,“加一倍法”又被稱作“加一位法”。而“加一倍法”的要點就在於,加一位,即加一倍。按照邵雍“加一倍法”的原理,每增加一個爻位(實即數位),二進製數表中所包含的自然數的數目便會增加一倍,比如二進製六個數位包含了六十四個自然數(0-63),若增加到七個數位,那自然數的數目也便翻了一番,而包含一百二十八個自然數(0-127)。若增加到八個數位,便包含二百五十六個自然數(0-255)。而若從八個數位增加到十五個數位,那自然數的數目便翻七番,而包含三萬二千七百六十八個自然數(0-32,767)。如此類推,數位越多,包含的自然數的數目也越多。而即使再多數位,其中包含的自然數的數目再多,要用二進製的記數方法寫出它所包含的所有自然數,也並不困難。這也就是說,隻用兩個符號便可以以一種明白無誤的邏輯方法(可操作、可驗證的)表示任何自然數。反過來也可以說,一切自然數都可以用兩個符號以邏輯的方法表示出來。這正如清代思想家王夫之所說:“使以加一畫即加一倍言之,則又何不可加為七畫,以倍之為一百二十八,漸加漸倍,億萬無窮,無所底止,又何不可哉?” 然而遺憾的是,王夫之又以此為“算士銖積寸壘、有放無收之小術”(《周易稗疏》卷三)。

邵雍的“加一倍法”意味著中國早在九百多年前的北宋時期,已經發明了二進製的記數方法,這是中國先哲的智慧和光榮,作為後人應該記住它,而不應該抹煞它!