吳朝陽,數(shù)學博士,歷史學博士,計算機科學碩士,目前任教于南京大學。
在沒有書寫傳統(tǒng)的時代,要將重要的文本沒有差錯地傳給后人是相當困難的。而由于詩歌有固定的格律,文詞的改變會因其破壞原有格律而被察覺,所以,將文本編成詩歌的形式有助于在傳承過程中杜絕錯誤,人類最早的文學作品在形式上都是詩歌,正是由于這個原因。古印度文獻現(xiàn)存最古老的四大《吠陀》,其詩句數(shù)以萬計,但它們依靠其文本的格律特征口耳相傳,2000多年來沒有走樣地流傳到現(xiàn)在,可見詩歌格律在印度文化中的重要性。
古印歐語系的希臘語、拉丁語和梵語都是“長音
音節(jié)型”語言,也就是說,它們以發(fā)音的長短區(qū)分音節(jié)是否被強調(diào)。因此,其詩歌格律的特征是以每行詩句中長短音節(jié)序列的構(gòu)成來刻畫的。這個特征使梵語得以擁有巨量的詩歌格律,古印度學者于是提出了關(guān)于詩歌格律理論上可能達到的數(shù)目及其分類的問題,而對這些問題考慮得很早而且深入的古印度學者是賓伽羅。
賓伽羅是一位公元前4世紀左右佛教重要的“中觀論”學者,但他所著的《檀陀經(jīng)》重點討論的卻是關(guān)于詩歌格律的數(shù)學問題。賓伽羅不僅對描述現(xiàn)實存在的格律感興趣,而且想要研究所有理論上可能存在的格律,于是他提出問題:我們能夠想出多少種不同的格律?我們又如何用系統(tǒng)性的方法找出那些目前的詩歌中還沒有出現(xiàn)的格律?
賓伽羅的思考代表著數(shù)學思維的根基之一,他的研究是組合數(shù)學的源頭。現(xiàn)在全世界的中學和高等院校都在講授組合數(shù)學知識,然而其源頭出自詩歌這一事實,卻長期被人們所忽略。
梵語音節(jié)分長音節(jié)和短音節(jié)2種,一個長音節(jié)所占用的時問長度大約是短音節(jié)的2倍。在語言學中,衡量音節(jié)時間長度的單位稱為“音拍”,代表1個短音節(jié)所占用的時間。因此,1個短音節(jié)時長為1音拍,而1個長音節(jié)則是2個音拍。當然,由于人們的語速彼此相異,音拍只是相對的概念,不是一個可以用秒計量的物理時間單位。
音拍的概念確立之后,梵語詩句的格律可以這樣定義:
一種長音節(jié)與短音節(jié)的序列模式就是一種(詩句的)格律。
我們用“”表示1個長音節(jié),而用“~”表示1個短音節(jié),則我們可以將格律表示成圖形。例如,“~~-~-~-~-”是包含有5短、5長,10個短長音節(jié)相間的一種格律,時長總共是15個音拍,稱為“五音步抑揚格”。另一種出自古印度的格律名為“曼妙女郎”,它的格律形式為:“~~~~-~~-~-~”,它包含有8短、4長,總共16個音拍,它的名稱來自用該格律所寫的一首詩——一首年輕人在與戀人共度良宵之后問候戀人的詩歌。
賓伽羅的《檀陀經(jīng)》考慮很多不同情形下詩歌格律總數(shù)的問題,其中一種是每行詩句的時長都相同的情形。也就是說,對某個自然數(shù)n,考慮時長同樣為n個音拍的詩行,計算具有n個音拍的詩句格律的數(shù)目——這就是“賓伽羅第一問題”:
總時長為n個音拍的格律總共有多少種?
這其實是計算一個特定集合的元素個數(shù)的問題。具體來說,這個集合的元素是理論上可能的格律,即長音節(jié)與短音節(jié)排成的序列,而每個這種序列的總音拍數(shù)是事先給定的自然數(shù)n。
數(shù)學研究的第一步通常是給研究對象命名。這里我們感興趣的對象是總時長為n個音拍的格律的總數(shù),為方便討論,我們將“總時長為刀個音拍的格律總數(shù)”命名為A(n)。
對數(shù)學家而言,n確實是任意的自然數(shù)。為了討論的完整性,數(shù)學家也會考慮n=1及n=2這種與詩歌格律基本不相關(guān)的情形。然而,這些情形的答案是很容易得到。當=1時,唯一的可能是全句為1個短音節(jié),因此A(1)=1。相似地,n=2時,詩句只能是2個短音節(jié)或1個長音節(jié),因而A(2)=2,也就是說我們有:A(1)=1,A(2)=2。
現(xiàn)在,我們可以開始系統(tǒng)性地探討,嘗試著計算對n=3,4,5,6等情形A(n)的數(shù)目。例如,如果n=6,我們可以找出如下13種不同的格律。
我們很快會覺得這樣的列表實際上似乎沒有什么意義,對比較大的刀,可能的格律形式增長得太多,根本難以列舉——那時怎么才能知道我們的列表有沒有遺漏?因此,對任意的刀,另找出路才是確定A()的聰明想法。數(shù)學家在攻克問題時有時會采用反向推導的辦法,下面我們就采用這種策略解決求解A(n)的問題。
如果觀察表1中的2組格律,也許有人會找到解決問題的思路。表中的第1組有5個格律,而第2組則有8個。這2組之間的區(qū)別在哪里?答案是:它們結(jié)束處的音節(jié)不同。第1組都是以長音節(jié)結(jié)束的格律,而第2組則全部都以短音節(jié)收尾。我們先來考察第1組:除去結(jié)束處的長音節(jié),它們剩余部分的時長全部都等于4個音拍,可見,這一組其實就是所有的4音拍格律在最后添加1個長音節(jié)。因此,第1組格律的總數(shù)等于A(4)。相似地,第2組就是所有的5音拍格律在末尾添加1個短音節(jié)而得到的格律,因此第2組的數(shù)目等于A(5)。這樣,我們就得到一個關(guān)于A(6)的公式A(4)+A(5)=A(6)。
很顯然,對任何自然數(shù)刀,我們都可以進行類似的推導。對任何一種總時長為刀音拍的格律而言,它要么以長音節(jié)結(jié)束,要么以短音節(jié)結(jié)束。因此,時長為刀的格律之集合可以分成2組,一組以長音節(jié)結(jié)束,另一組以短音節(jié)結(jié)束。以短音節(jié)結(jié)束的格律可以以任意一種時長為n-1的格律開頭,因而這組格律的總數(shù)目等于A(n-1)。相似地,以長音節(jié)結(jié)束的格律的總數(shù)等于A(n-2)。因此,我們總結(jié)出如下公式:A(n-2)+A(n-1)=A(n)。
這個公式當n-2至少等于1的時候一定成立,或者說,它對所有n≥3都是正確的。這樣,我們匯總已有的結(jié)果,得到:A(1)=1,A(2)=2;A(n-2)+A(n-1)=A(n),對所有大干2的自然數(shù)n成立。
我們承認,上述公式并沒有直接告訴我們A(n)等于多少,但在某種意義上說,它已經(jīng)解決了賓伽羅第一問題。這個公式描述了從關(guān)于A(1)和A(2)的“初始條件”出發(fā),逐步計算A(n)的辦法:
A(3)=A(1)+A(2)=1+2=3,A(4)=A(2)+A(3)=2+3=5,
A(5)=3+5=8,A(6)=5+8=13,A(7)=8+13=21,如此等等。
總之,每一個A(n)都是它前面2個的和,而我們現(xiàn)在可以肯定表1中沒有任何遺漏,因為上述計算結(jié)果證實:A(6)確實等于13。
只要略微有點耐心,我們不難計算出A(16)=1597,從而得到總時長為16個音拍的格律的總數(shù)。前文提到的“曼妙女郎”這種古老的印度格律,只是所有理論上可能的1 597種16音拍格律中的1種。
作為賓伽羅第一問題的答案,A(n)在公元前就以晦澀的語言描述出現(xiàn)在《檀陀經(jīng)》中。在西方,1,2,3,5,8,13,21,34…,這個后一項等于前兩項之和的數(shù)列多次被重復發(fā)現(xiàn),由于不知道印度人早在1 000多年前就發(fā)現(xiàn)了這個數(shù)列,法國數(shù)學家愛德華·盧卡斯(1842-1891)將這個數(shù)列稱為斐波那契數(shù)列。
在某個情形的思考可能被應用于幾乎毫不相關(guān)的另一情形,這是數(shù)學一個引人入勝的方面。上述的格律計數(shù)問題就在許多其他情況下出現(xiàn),我們下面舉2個例子。
(1)花園小路問題。假設(shè)我們要給花園小路鋪上長方形磚塊(如圖1所示),磚塊的方向既可以與小路相同(以下稱“橫向”),也可以與小路的方向相垂直(以下稱“豎向”)。那么問題來了:用16塊磚可以鋪出多少種不同的樣式呢?
這個問題與上述賓伽羅第一問題是很相似的。1塊豎向的磚可以對應于1個短音節(jié),而2塊橫向的磚則構(gòu)成1個對應著1個長音節(jié)的單元。長音節(jié)的時長是短音節(jié)的2倍,而1個橫向單元則總共有2塊磚。小路由單塊豎向磚與雙塊橫向單元的序列所構(gòu)成,而格律由單音拍的短音節(jié)與雙音拍的長音節(jié)排列而成,二者恰可類比。因此,由這種相似性我們可以得到這樣的結(jié)論:16塊磚橫鋪和豎鋪,總共可以鋪成的A(16)種,即1 597種不同花樣的花園小路。
(2)郵差登樓問題。郵遞員每天需要登上同一個共有16個梯級的樓梯去投遞郵包。他上樓時有時1步只上1個梯級,有時則1步跨上2個。為了讓工作有些趣味,他決定每天用1種不同的單梯級與雙梯級序列上這個樓梯。他的問題是:不同的單梯級與雙梯級的序列總共有多少種?
略加思考我們就會發(fā)現(xiàn),這個問題與賓伽羅第一問題相似,與花園小路問題同樣也相似,因此,3個問題的答案是一樣的,即A(16)=1597。