堆羅漢這種遊戲,在學校中很常見,這裏用不到再來說明,隻不過舉它做個例:從最下排起數上去,每排次第少一個人,直到頂上隻有一個人為止。像這類依序相差同樣的數的一群數,在數學上我們叫它們是等差級數。關於等差極數的計算,其實並不難懂,小學的數學課本裏麵也都有講到,所以這裏也將它放在一邊,隻講從1起到某一數為止的若幹個連續整數的和,用式子表示出來,就是:
(1) 1+2+3+4+5+6+7+……
和這個性質相類似的,還有從1起到某數為止的各整數的平方和、立方和,就是:
(2) 12+22+32+42+52+62+72+……
(3) 13+23+33+43+53+63+73+……
第一圖
從第一圖看去,這個長方形由A,B兩塊組成,而B恰好是A的倒置,所以:
A=1+2+3+4+5+6+7
B=7+6+5+4+3+2+1
A、B的總和是相同的,各等於整個矩形的麵積的一半。至於這個矩形的麵積,隻要將它的長和寬相乘就可得出了,它的長是7,寬是7+1,因此麵積便是:
7×(7+1)=7×8=56
而A的總和正是這56的2分之1,由此我們就得出一個式子:
這個式子推到一般的情形去,就變成了:
第二、第三個例,我們也可以用圖形來研究它們的結果,不過比較繁雜,但也更有趣味,現在還是分開來討論吧。
第二圖
從第二圖,我們注意小方塊的數目和大方塊的關係,很明白地可以看出來:
若用話來說明,就是2的平方恰好等於從1起的2個連續奇數的和;3的平方恰等於從1起的3個連續奇數的和,一直推下去,7的平方就是從1起的7個連續奇數的和。所以若要求從1到7的7個數的平方和,隻需將上列七個式子的右邊相加就可以了。雖然這個法子沒有什麽不合理的地方,畢竟不簡便,而且從中要找出一般的式子也不容易,因此我們得另找一條路。
試將各式的右邊表示的和,照堆羅漢的形式堆起來,我們就得出第三圖的形式(為了簡便,隻用1、2、3、4四個數):
第三圖
從這幾個圖,可以看出這樣的結果,12+22+32+42這個總和當中有4個1,3個3,2個5,1個7。所以我們要求的總和,依前一個形式可以排成第四圖,依後一個形式可以排成第五圖。將它們比較一下,我們馬上就知道若將第四圖倒置,拚到第五圖,那麽右邊就沒有缺口了;若將第四圖不但倒置而且還翻一個身,拚成第六圖,那麽,左邊也就直了。所以用兩個第四圖和一個第五圖剛好能夠拚成第六圖那樣的一個矩形。由它,我們就可知道所求的和正是它的麵積的3分之1。
至於這個矩形:它的長是1+2+3+4=4×(4+1)/2=10,寬卻是4+1+4=9。因此,它的麵積應當是10×9=90,而我們所要求的12+22+32+42的總和應當等於90的3分之1,那就是30。按照實際去計算12+22+32+42=1+4+9+16,也仍然是30。由此可知,這個觀察沒有一絲錯誤。
若要推到一般的情形去,那麽,第六圖這個矩形的長是:
而它的寬卻是:
n+1+n=2n+1
所以它的麵積就應當是:
這就可證明:
比如,我們要求的是從1到10十個整數的平方和,n就等於10,這個和便是:
說到第三個例子,因為是數的立方的關係,照通常的想法,隻能用立體圖形來表示,但若將乘法的意義加以注意,用平麵圖形來表示一個立方,也不是完全不可能。先從23說起,照原來的意思本是3個2相乘,若用式子寫出,那就是2×2×2。這個式子我們也可以想象成(2×2)×2,這就可以認為它所表示的是2個2的平方的意思,可以畫成第七圖的A,再將形式變化一下,可得出第七圖的B。
同樣地,33可以用第八圖的A或B表示,而43可以用第九圖的A或B表示。
第八圖
第七圖
第九圖
第十圖
仔細觀察一下第七、八、九圖的B,我們得出下麵的關係:
第七圖的B的缺口恰好是12,但13和12,我們用同一形式表示,在意義上沒有很大的差別,所以13剛好可以填23的缺口。
第八圖B的缺口,每邊都是3,這和第七圖B的外邊相等,可知13和23一起,又正好可將它填滿。
最後,第九圖的B的缺口每邊都是6,又恰等於第八圖的B的外邊。因此13、23和33並在一起,也能將它填好。按照這個填法,我們便得第十圖,它恰巧是13+23+33+43的總和。
從另一方麵來說,第十圖隻是一個正方形,每邊的長都等於:
1+2+3+4
所以它的麵積應當是(1+2+3+4)的平方,因此我們就證明了下麵的式子:
13+23+33+43=(1+2+3+4)2
但這式子右邊括弧裏的數,照第一個例應當等於:
因此:
推到一般的情形去:
上麵的三個例子,我們都隻憑了幾個很小的數字的觀察,便推到一般的情形去,而得出一個含有n的公式。n代表任何整數,這個推證究竟可不可靠呢?換句話說,就是我們的推證有沒有別的根據呢?按照實際的情形說,我們已得出的三個公式都是對的。但它對不對是一個問題,我們的推證法可不可靠又是一個問題。
我來另舉一個例子,比如11,它的平方是121,立方是1331,四次方14641。從這幾個數,我們可以看出三個法則:第一,這些數排列起來,對於中點說,都是對稱的;第二,第一位和末一位都是1;第三,第二位和倒數第二位都等於乘方的次數。依這個觀察的結果,我們可不可以說11的n次方便是1n……n1呢?要下這個判斷,我們無妨再舉出一個次數比4還高的乘方來看,最簡便的自然就是5。11的5乘方,照實際計算的結果是161051。上麵的三個條件,隻有第二個還存在,若再乘到8次方,結果是214358881,就連第二個條件也不存在了。
由這個例子可以看出來,單就幾個很小的數的變化觀察得的結果,便推到一般去,不一定可靠。由這個理由,我們就不得不懷疑我們前麵所得出的三個公式。倘使沒有別的方法去證明,在那三個例中是有特殊的情形可以用那樣的推證法,那麽,我們寧願去找另外一條路來解決。
是的,確實應該對前麵所得出的三個公式產生懷疑,但我們也並非毫無根據。第一個式子最少到7是對的,第二、第三個式子最少到4也是對的。我們若耐心地接著試驗下去,可以看出來,就是到8,到9,到100,乃至到1000都是對的。但這樣試驗,一來未免笨拙,二來無論試驗到什麽數,我們總是一樣地不能保證那公式便有了一般性,為此我們隻得舍去了這種逐步試驗的方法。
我們雖懷疑那公式的一般性,但無妨“假定”它的形式是對的,再來加以檢查,為了方便,容我在此重寫一次:
在這三個式子中,我們說n代表一個整數,那麽n以下的一個整數就應當是n+1。假定這三個式子是對的,我們試來看看,當n變成n+1的時候是不是還對,這自然隻是依照式子的“形式”去考查,但這種考查我們用不著懷疑。在某種意義上,數學便是符號的科學,也就是形式的科學。
所謂n變到n+1,無異於說,在各式的兩邊都加上一個含n+1項,照下麵的程序計算:
從這三個式子的最後的結果看去,和我們所假定的式子,除了n改成n+1以外,形式完全相同。因此,我們得出一個極重要的結論:“倘使我們的式子對於某一個整數,例如n,是對的,那麽對於這個整數的下一個整數,例如(n+1),也是對的。”
事實上,我們已經觀察出來了,這三個式子至少對於4都是對的。運用這個結論,我們無需再試驗,也就有理由可以斷定它們對於5(4+1)都是對的。既然對於5對了,那麽同一理由,對於6(5+1)也是對的,再推下去對於7(6+1)、8(7+1)、9(8+1)……都是對的。
到了這裏,我們就有理由承認這三個式子的一般性,再不容懷疑了。這種證明法,我們叫它是數學的歸納法。
數學上常用的多是演繹法,這是學過數學的人都知道的。關於堆羅漢這類級數的公式,算術上的證明法,也就是演繹的,為了便於比較,也將它寫出。本來:
S=1+2+3+……+(n_2)+(n_1)+n
若將這式子右邊各項顛倒順序,就得:S=n+(n_1)+(n_2)+……+3+2+1再將兩式相加,便得出下麵的式子:
兩邊再用2去除,於是:
這個式子和前麵所得出來的完全一樣,所以一點兒用不著懷疑,不過我們所用的方法究竟可不可靠也得注意。
一般說來,演繹法不大穩當,因為它的基礎是建築在一些更普遍的法則上麵,倘使這些被它所憑借的、更普遍的法則當中,有幾個或一個根本就不大穩固,那不是將有全盤動搖的危險嗎?比如這個證明,第一步,將式子左邊各項的順序掉過,這是根據一個更普遍的法則叫作什麽“交換定則”的。然而交換定則在一般情形固然可以運用無誤,但在特殊的情形時,並非毫無問題。所以假如我們肯追根究底的話,這個證明法可以適用交換定則,也得另有根據。至於證明的第二、第三步,都是依據了數學上的公理,公理雖然沒有什麽證明做保障,但不容許懷疑,這可不必管它。
歸納法既比演繹法來得可靠,我們無妨再來探究一下。前麵我們所用過的步驟,歸納起來有四個:
(一)根據少數的數目來觀察出一個共通的形式;
(二)將這形式推到一般去,“假定”它是對的;
(三)校勘這假定的形式,是否再能往前推去;
(四)如果校勘的結果是肯定的,那麽我們的假定就可認為合於事實了。
前麵我們曾經說過:
由這幾個式子我們知道:
觀察這四個式子,可以得出一個共通形式,就是:左邊是從1起的連續奇數的和,右邊是這和所含奇數的“個數”的平方。
將這形式推到一般去,假定它是對的,那就得出:
1+3+5+……+(2n_1)=n2
到了這一步,我們就要來校勘一下,這形式再往前推一個奇數究竟對不對,我們在式子的兩邊同時加上(2n_1)下麵的一個奇數(2n+1),於是:
從這結果可知,我們的假定如果對於n是對的,那麽對於(n+1)也是對的。依我們的觀察,假設n等於1、2、3、4的時候都是對的,所以對於5,對於6,對於7、8、9……一步一步地往前推都是對的,所以可認為我們的假定合於事實。
將數學的歸納法和一般的歸納法相比較,這是一個很有趣的問題。大體來說,它倆並沒有什麽根本的差異。我們無妨說數學的歸納法是一般的歸納法的一種特殊形式,試從我們所截取的步驟來比較一下。
第一步,在它倆當中,都離不開觀察和實驗,而觀察和實驗的對象也都同是一些特殊的事實。在我們前麵所舉的例子當中,似乎隻用到觀察,並沒有經過什麽實驗。事實上,我們所研究的對象,有些固然是無法去實驗,隻能憑觀察去探究。不過這是另外一個問題。若就步驟上說,我們所舉的例子的第一步當中,也不是完全沒有實驗的意味。比如最後一個例子,我們從1=12這個式子是什麽意義也發現不出來,於是隻好去看第二個式子1+3=22,就這個式子說,我們能夠得出許多假定來。前麵所用過的,說左邊要乘方的2就是表示右邊的項數,這自然是其中的一個。但我們也可以說,那指數2才是表示右邊的項數。我們又可以說,左邊要乘方的2是右邊的末一項減去1。像這類的假定可以找出不少,至於這些假定當中哪一個接近真實,那就不得不用別的方法來證明。到了這一步,我們無妨用各個假設到第三、第四個式子去試驗一下,結果,便可看出,隻有我們所用過的那一個是合於實際的。一般的歸納法,最初也是這樣下手,將我們所要研究的對象盡量收集起來,仔細地去觀察,遇著必要且可能的時候,小心地去實驗。由這一步,我們就可以看出一些共同的現象來。
至於這些現象由何產生?會生出什麽結果?或是它們當中有什麽關聯?這,我們往往可以提出若幹假定來,正和我們上一節所說的相同,在這些假定當中,自然免不了有一部分是根基極不穩固的,隻要憑一些仔細的觀察或實驗就可推翻的。對於這些,自然在這第一步我們就可以將它們棄掉了。
第二步,數學的歸納法,是將我們所觀察得到的形式推到一般去,假定它是真實的。至於一般的歸納法,因為它所研究的並不一定隻是一個形式的問題,所以推到一般去的話很難照樣應用。雖是這樣,精神卻沒有什麽不同,我們就是將自己觀察和實驗的結果綜合起來,提出一些較普遍的假設。
有了這假設,進一步自然是要校勘它們,在數學的歸納法上,如前麵所說過的,比較簡單,隻需將所假定的一般的式子當中的n推到n+1就夠了。若在一般的歸納法中,卻沒有這種便宜可討。到了這境地,我們得利用演繹法,把我們的假定當作大前題,臆測它們對於某種特殊的事象應當發生什麽結果。
這結果究竟會不會有呢?這又得靠觀察和實驗來證明了。經過若幹的觀察或實驗,假如都證明了我們的臆測是分毫不爽的,那麽,我們的假定就有了保障,成了一個定理或定律。許多大科學家往往能令我們起敬、吃驚,有時他們簡直好像一個大預言家,就是因為他們的假定的基礎很穩固,所以臆測的結果也能合於事實的緣故。
在這裏,有一點必須補說明白,若我們提出的假設不止一個,那麽根據各個假設都可得出一些臆測的結果來,在沒有別的事實來證明的時候,它們彼此之間絕沒有什麽價值的優劣可說。但到了事實出來做最後的證人時,自然“最多”隻有一個假定的臆測可以勝訴。換句話說,也“最多”就隻有一個假定是對的了。為什麽我們還要說“最多”隻有一個呢?因為,有些時候,我們所提出的假設也許全都不對。
一般的歸納法,應用起來雖不容易,但原理不過如此。我們經過了上麵所說的步驟,結果都很好。自然我們就可得出一些定理或定律來,不過有一點必須注意:在一切過程中,無論我們多麽小心謹慎,畢竟我們的能力有限,所能探究的領域終不是全體,因此我們證明為對的假定,即使當成定理或定律來應用,我們還得虛心,應當常常想到,也許有新的,我們以前所不曾注意到的現象出來否定它,我們應當承認:“科學隻能診斷事實,不能否定事實。”
這句話是什麽意思呢?
科學本來隻是從事實中去尋出法則來,若有了一個法則,遇見和它抵觸的事實,便武斷地將這事實否定,這隻是自己欺騙自己。因為事實的存在,並不能由我們空口說白話地否認,便煙消火滅的。
我還是舉個例子來說,從這個例子當中,可以看出我們常有的兩種態度都不大合理。
一年多以前就聽說我們中國的中西醫的鬥爭很激烈,這自然是一個極好的現象!從這鬥爭中,我相信總會有一些新的東西從醫學界產生出來。現在的結果如何,我不曾聽見,不敢臆斷,好在和我此處要說的話無關,也就無妨丟開。我提到這個問題,隻是要說明兩種態度——對於中醫的兩種比較合理的態度。
一種是擁護的,他們所根據的是事實,畢竟中醫已有了幾千年的曆史,醫治好了不少病人,這是無可否認的。虛心而有經驗的醫生,對於某幾種病症,也確實有把握,能夠著手成春。
一種是反對的,他們所根據的是科學上的原理或法則,無論中醫有什麽奇效,都沒有科學根據,即使有奇效,也隻好說是偶然。至於一般中醫的五行生克的說法,尤其玄妙,不客氣地說,簡直是荒唐。
依照前一種人的意見,中醫當然應當存在;依照後一種人的意見,它就該被打倒。平心而論,各有各的理由,不全是也不全非。多少免不了一些情感摻雜在裏麵。若容許我說,那麽,中醫有它可以存留的部分,不過必須另外打個基礎;同時它也有應當被打倒的部分,但並非全盤推翻。然而,這並不是根於什麽中庸之道的結論。
既然中醫有一部分成功的事實,我們就應當根據科學上的原理或法則去整理它們,找出合理的說明。比如說某種湯頭治某種病症是有特效的,我們已從西醫知道某項病症發生的原因和要醫治它所必需的條件,那麽,我們正可以分析一下那湯頭合於這個條件的理由。這樣,自然就有合理的說明可以得出一個穩固的基礎了。擁護的人固然應當這樣,才真正能達到目的,就是要推翻的人也應當這樣才不是武斷、專製!
事實和理論不合,可以說有兩個來源:一是我們所見到的事實,並非真的事實。換句話說,就是我們對於那事實的一切認識未必有科學的依據。譬如,患瘧疾的人,畫一碗符水給他喝到肚裏,那病就好了。這事,我也曾經試做過,真有有效的時候,但我寧可相信,符水和瘧疾的治療風馬牛不相及,隻不過這兩個事實偶然碰在一起,我們被它蒙混著罷了。真的,我從前給別人畫符水,說來就可笑,我根本就不知道應當怎麽畫!
還有一個來源,便是科學上的原理或法則本身有缺點,比如對於某種病,西醫用的是一種藥,而中醫用的是湯頭,分析的結果和它全不相關,那麽這種病就可以有兩種治療法,並非中醫的就不對,因為已經有了對症治好的事實,這無可否認。
所謂科學診斷事實,由這個例子大致就可以說明白:第一,是診斷事實的真偽;第二,倘使診斷出它是真實的了,進一步就要找出合理的說明。所以科學的精神,最根本的是不武斷、不盲從!我們常常聽人家說,某人平時批評起別人來都很有道理,但事情一到他手裏一樣糟。這確實也是一個事實!對於這個事實,有些人就聰明地這樣解釋:學理是學理,事實是事實。從這解釋當中還衍生出一個可笑的說法,那就是“書呆子”這個名詞含有不少的輕蔑意味。其實憑空虛造的學理,哪裏冒充得來真的學理?而真的學理,哪兒有不能應用到事實上去的理由呢?
話說得有些遠了,歸結一句,科學的態度是要虛心地去用科學的方法。