張羿
在今天安哥拉東北部一個(gè)叫隆達(dá)(Lunda)的地方,生活著一個(gè)神秘的族群。大約在1600年前,這個(gè)族群遷徙到安哥拉,以流入贊比西河的隆圭本古(Lungwe-Bungo)支流的名字給自己取了名字——紹奎人(Chokwe)。根據(jù)紹奎人的傳統(tǒng),婦女從事農(nóng)業(yè)生產(chǎn),男人外出狩獵。工匠們忙于煉鐵、繪畫、雕塑、制作家具、編織墊子籃子。他們的藝術(shù)水平高度完美。此外,他們還擁有一門獨(dú)特的沙畫藝術(shù)——索納(Sona)。
當(dāng)紹奎人在村莊里或狩獵營地聚會(huì)時(shí),他們圍坐在篝火旁邊或枝繁葉茂的樹蔭下,一邊講故事,一邊在沙地上畫畫。這些沙畫即是“索納”。它是一種古老的傳統(tǒng),它描繪的是諺語、寓言、游戲、謎語、動(dòng)物等。在知識(shí)和智慧代代相傳的過程中,索納發(fā)揮著重要作用。
男孩在學(xué)校接受教育期間,就會(huì)學(xué)習(xí)簡單的索納畫法和意義。更難的索納只有那些說書人知道,他們是真正的索納畫家。這些畫家會(huì)把關(guān)于索納的畫法技術(shù)傳給他們的男性后代。在紹奎人的社會(huì)中,他們很受尊敬,屬于紹奎社會(huì)的精英階層。
為了便于記憶標(biāo)準(zhǔn)化的沙畫,索納畫家首先用手指在沙地上等距地戳洞,形成點(diǎn)陣,如圖1。
接著,畫家會(huì)繞著這些點(diǎn)畫線,最終形成圖案。通常情況下,圖形是由一條或多條線組成的,這些線會(huì)把每個(gè)點(diǎn)都包圍起來。圖2展示了畫線的過程。
點(diǎn)陣的行列數(shù)以及畫線的規(guī)則都取決于要表現(xiàn)的主題。畫家們只需記住點(diǎn)陣的行列數(shù)和畫線的規(guī)則就能快速完成一幅索納作品。旁觀者會(huì)認(rèn)為磕磕絆絆是才疏學(xué)淺的表現(xiàn),所以畫家們會(huì)一氣呵成完成畫作。如果圖案比較復(fù)雜,畫家會(huì)聚精會(huì)神,一言不發(fā)。但是,如果它相對(duì)簡單,畫家就一邊畫畫一邊講故事。作品在沙子上畫好之后,一般都會(huì)被擦掉。
到了19世紀(jì),隨著西方殖民者的入侵,索納技藝逐漸衰落。許多人都只知道比較簡單的圖案,更復(fù)雜的圖案的秘密只有一些年長的索納畫家了解。幸好,一些傳教士和民族學(xué)家歷盡千辛萬苦收集索納,這項(xiàng)珍貴的文化遺產(chǎn)才得以不至失傳。
接下來,我們一邊聆聽“獅子和男孩”與“公雞和豺狼”兩個(gè)故事,一邊欣賞紹奎人的索納沙畫藝術(shù)。
故事1:獅子和男孩
一個(gè)男孩和一頭獅子是好朋友,他們從小一起長大,一直以打獵為生。有一天,輪到男孩去打獵了,但他不幸受傷暈倒。獅子立刻生起火,用一劑藥救活男孩。他們帶著獵物回家,舉辦了一場盛大的宴會(huì),此后,他們的友誼更加牢固了。
過了一段時(shí)間,輪到獅子去打獵,在獵殺水牛的時(shí)候,獅子假裝暈倒在地。男孩以為獅子已經(jīng)死了,他突然想到,如果把獅子的眼睛、鼻子和耳朵制作成護(hù)身符,他就可以成為這個(gè)地區(qū)最著名的獵人。當(dāng)男孩試圖肢解獅子時(shí),獅子突然一躍而起,殺死了背叛自己的朋友。
從那以后,再?zèng)]人看到獅子和男孩這兩大獵手在一起。
在索納沙畫中,獅子和男孩由兩個(gè)較大的圓點(diǎn)代表。
故事2:公雞和豺狼
公雞和豺狼想娶同一個(gè)女孩,于是他們都向女孩的父親提親。那父親要求提前支付彩禮,公雞和豺狼都表示同意,并立刻送上彩禮。突然,有傳言說那女孩死了。公雞痛哭不已,而豺狼只是懊悔自己的彩禮打了水漂。原來,這是女孩的父親故意散布謠言,看誰配得上他女兒,最后他把女兒嫁給了誠意十足的公雞。
在索納沙畫中,上面兩個(gè)大點(diǎn)分別代表公雞和豺狼。下方的大點(diǎn)代表女孩。
觀察以上兩幅索納作品,我們大致可以發(fā)現(xiàn)以下3個(gè)特點(diǎn):
1. 點(diǎn)陣中的每一個(gè)點(diǎn)都被線條分隔包圍。這顯而易見。
2. 整體圖案是對(duì)稱的。這同樣顯而易見。據(jù)統(tǒng)計(jì),超過80%的索納是對(duì)稱的,有一條或多條對(duì)稱軸的索納出現(xiàn)的頻率很高,這表明軸對(duì)稱在紹奎人的民族文化中的重要性。
3. 整體圖案是單線性,即一筆畫出來的。這并不顯而易見。據(jù)統(tǒng)計(jì),大約75%的索納是單線性的,這條線可以與自己相交,但永遠(yuǎn)不能重復(fù)自己走過的路徑。你可能會(huì)問,如何一筆畫出上面的索納圖案?這個(gè)問題恐怕并不簡單。事實(shí)上,關(guān)于這類一筆畫問題,大數(shù)學(xué)家歐拉曾經(jīng)給出過答案。
哥尼斯堡是中世紀(jì)德國的一座城市,城市建筑分布在普雷格爾河兩岸,河流中間有兩座島,兩岸和兩島之間有七座橋連接,如圖5。當(dāng)時(shí)哥尼斯堡的市長閑來無事研究一個(gè)問題,如何一次性通過這七座橋,既不能重復(fù)也不能落下。當(dāng)時(shí),人們的解法簡單粗暴——只要把所有走法都畫出來不就知道了嘛。市長覺得這種解法并不能讓人滿意,于是向著名數(shù)學(xué)家歐拉求助。
歐拉敏銳地發(fā)現(xiàn)這里蘊(yùn)藏著深刻的數(shù)學(xué)內(nèi)涵,并把它稱為一筆畫問題。歐拉表示:“把所有走法都列舉出來的解法沒有任何新意,用這種方法也許可以做出答案,但是到頭來依然搞不懂問題的本質(zhì)?!?img src="https://cimg.fx361.com/images/2023/07/08/qkimagesmymymymy202208mymy20220802-5-l.jpg"/>
歐拉的解法是,把兩岸和兩島簡化成四個(gè)“頂點(diǎn)”,把七座橋簡化成七條邊。于是,如圖6,這四個(gè)頂點(diǎn)連接的邊的數(shù)量分別是3、3、3、5。此時(shí),問題隨之轉(zhuǎn)化成:能否一筆把圖6這個(gè)圖形畫出來。經(jīng)過思考,歐拉確認(rèn)這是不可能的。同時(shí),他還得出了任意一個(gè)圖形是否可以一筆畫的條件。首先,圖形中的頂點(diǎn)分為兩種,如果經(jīng)過該點(diǎn)的線段數(shù)目是偶數(shù),就稱之為偶點(diǎn);如果經(jīng)過該點(diǎn)的線段數(shù)目是奇數(shù),就稱之為奇點(diǎn)。歐拉指出,如果一個(gè)圖形可以一筆畫,那么它的奇點(diǎn)個(gè)數(shù)只能是0個(gè)或2個(gè)。如果奇點(diǎn)個(gè)數(shù)是0個(gè),那么從圖形中任意一點(diǎn)出發(fā),都可以一筆畫;如果奇點(diǎn)個(gè)數(shù)是2個(gè),那么只能從一個(gè)奇點(diǎn)出發(fā),畫到另一個(gè)奇點(diǎn)結(jié)束。
你可以用歐拉的方法嘗試一下能不能一筆寫成“口”“日”“目”三個(gè)字?!翱凇弊值乃膫€(gè)頂點(diǎn)全是邊數(shù)為2的偶點(diǎn),不存在奇點(diǎn),所以你從任意一點(diǎn)起筆就能一筆寫成?!叭铡弊种虚g一橫的兩端有兩個(gè)邊數(shù)為3的奇點(diǎn),所以你可以從其中一個(gè)奇點(diǎn)起筆,寫到另一個(gè)奇點(diǎn)結(jié)束?!澳俊弊值闹虚g有兩橫,形成了4個(gè)邊數(shù)為3的奇點(diǎn),你無論怎么寫都不能一筆寫成。
現(xiàn)在再來看圖6,所有4個(gè)頂點(diǎn)全是奇點(diǎn)。所以不管怎么畫,都無法一筆畫成。因?yàn)樵诶L畫過程中一定會(huì)遇到一種情況,當(dāng)你經(jīng)過一座橋到達(dá)某個(gè)位置后,然后發(fā)現(xiàn)這個(gè)位置連接的另外兩座橋都已經(jīng)走過了,不重復(fù)就走不出去,所以這個(gè)問題是無解的。
后來,“二戰(zhàn)”爆發(fā),哥尼斯堡七橋中的兩座橋毀于戰(zhàn)火,只剩下了五座,如圖7。所以,哥尼斯堡七橋今天已經(jīng)不存在了。不僅七橋不存在,連哥尼斯堡也不存在了。1945年哥尼斯堡戰(zhàn)役后,蘇聯(lián)紅軍占領(lǐng)了這座城市。戰(zhàn)后它成為蘇聯(lián)領(lǐng)土,更名為加里寧格勒。如今,這里是俄羅斯的一部分,是俄軍波羅的海艦隊(duì)基地。
不過,如果你現(xiàn)在去那座城市,倒是可以一次不重復(fù)地走過五座橋了。如圖7,四個(gè)頂點(diǎn)連接的邊的數(shù)量分別是2、2、3、3。圖8是五橋的等效圖,你只需要從其中一個(gè)邊數(shù)為3的頂點(diǎn)出發(fā),就一定能不重復(fù)地走過五座橋,最終走到另一個(gè)邊數(shù)為3的頂點(diǎn)結(jié)束。
歐拉這種用頂點(diǎn)和邊解決問題的方式到后來發(fā)展成為一個(gè)數(shù)學(xué)概念“圖論”。其中“圖”就是畫面整體,“頂點(diǎn)”代表對(duì)象,也就是岸和島,“邊”代表對(duì)象之間的關(guān)系,也就是橋。七橋問題的圖里只有4個(gè)頂點(diǎn),7條邊。但在今天借助計(jì)算機(jī),我們可以畫出上萬億個(gè)“頂點(diǎn)和邊”的圖,把它作為數(shù)據(jù)來計(jì)算,這就是“圖計(jì)算技術(shù)”。通過不斷發(fā)展完善,圖計(jì)算技術(shù)已經(jīng)是世界前沿的數(shù)據(jù)技術(shù),應(yīng)用非常廣泛。例如電網(wǎng),全國一共有上億臺(tái)供電設(shè)備,一旦其中一臺(tái)設(shè)備出問題,可能就會(huì)影響其他設(shè)備,出現(xiàn)大面積停電事故。所以可以把每個(gè)供電設(shè)備作為一個(gè)“頂點(diǎn)”,繪制出它們之間的關(guān)系圖,建立起一個(gè)數(shù)據(jù)庫,然后用這些數(shù)據(jù)進(jìn)行預(yù)演,模擬關(guān)掉其中一個(gè)會(huì)對(duì)其他設(shè)備產(chǎn)生什么影響,這樣在每次維護(hù)供電設(shè)備之前都可以提前預(yù)判,不影響正常供電。
時(shí)至今日,中國已經(jīng)成為世界上“大規(guī)模圖計(jì)算技術(shù)”技術(shù)性能最高、應(yīng)用最廣泛的國家。而這一切其實(shí)都起源于哥尼斯堡那道簡單的數(shù)學(xué)題。
言歸正傳,現(xiàn)在再看前文中安哥拉大叔“獅子和男孩”“公雞和豺狼”兩幅索納沙畫作品,相信你很容易就能確定它們都可以一筆畫出來。獅子和男孩中所有頂點(diǎn)都是偶點(diǎn),所以從任意一個(gè)頂點(diǎn)開始就能一筆畫出這個(gè)圖案;公雞和豺狼中有兩個(gè)頂點(diǎn)是奇點(diǎn)(即圖4中的兩個(gè)紅點(diǎn)),其余都是偶點(diǎn),那么一定可以從其中一個(gè)紅點(diǎn)出發(fā),到另一個(gè)紅點(diǎn)結(jié)束。
圖9的幾幅索納沙畫作品錘子、小鳥、蝎子、山羊都是一筆畫成的,讀者可以自行嘗試。