文章專區

2024-08-01從稅收到卜卦 〈清明上河圖〉中的宋代街頭數學 656 期

Author 作者 劉柏宏/勤益科技大學基礎通識教育中心教授

Take Home Message
•在〈清明上河圖〉中,觀者可以一窺北宋民眾的生活樣態,且從官吏、商賈、儒士到販夫走卒,數學皆扮演著不可或缺的角色。
•無論是關稅計算、酒甕體積估算、宋代的「省陌制」貨幣制度,以及人們如何換算百分比,都展現當時民間的數學素養。
•在宋代流行的算命卜卦活動中,《梅花易數》卦象推算方法也隱含數學與易學的結合。

 
中國歷代傳世的畫作成千上萬,若要從中挑出其中的十大名畫,每個人心中的版本可能有所不同,但宋代張擇端的〈清明上河圖〉絕對名列榜上。從〈清明上河圖〉繪製完成至今,慕名而仿製、複製的版本眾多,臺北故宮博物院中就有八種版本。
 
〈清明上河圖〉整幅畫寬約25.5公分、長約5.25公尺,以卷軸的形式由右往左展開,觀者可以從城郊風景緩緩走入北宋汴京(開封)風華。張擇端版的〈清明上河圖〉存有諸多爭議,例如為什麼稱為「清明」上河圖?一般的說法是畫中描寫了清明節景象,但畫中林木蕭瑟宛如秋天,不似清明景致。另一說是象徵政治清明,但當時在位的宋徽宗趙佶是北宋的最後一位皇帝,國勢已呈現衰敗之象,說政治清明過於矯情,所以清明二字仍是未解之謎。但本文暫時擱置這些爭議,轉而談談畫中所隱含的當代「街頭數學」(street mathematics)。

 

(Adobe Stock)

 

官吏的數學素養

畫中左側進入城門的右邊有間門戶內外有多人聚集,戶外是送貨的,門內則有一人坐在案桌前端詳資料,這是徵收關稅的機構(圖一、二),從外地進城做買賣的商人都要在此繳交關稅。宋太宗曾明訂:「國朝之制,凡布帛、什器、香葯、寶貨、羊豕,民間典賣莊田、店宅、馬、牛、驢、騾、橐駝,及商人販茶皆算。」不僅這些貨物要抽稅,過路的商賈也要繳「過稅」。根據《宋史》中〈食貨〉章節的記載:「行者齎貨,謂之過稅,每千錢算二十。」千分之二十看似不多,但如果多經過幾個城市,可說是毫無利潤可言了。

 

圖一|城門旁關稅局放大圖

圖二|城門右側的關稅局,從外地進城的商人正在繳交關稅。
(public domain, Wikimedia Commons)

 
過稅制度自古有之,目前所知中國最古老的數學書籍《算數書》(約成書於西元前186年之前)的〈負米〉章節中有一題:「人負米不知其數以出關,關三,三稅之一,已出,餘米一斗。問始行持米幾何。」用白話文來說就是:「有個人背米出關,不知道米的重量有多重,他一共經過三個關口,每個關口抽1/3的稅,出關之後剩下一斗米。請問一開始有多少米?」在《算數書》中的解法是將2自乘3次(23=8)作為分母,剩下的一斗先乘以3,再乘以過3關的3倍(33=27)作為分子,也就是27/8斗,這就是答案。這速解法乍看之下摸不著頭腦,但用國中代數的概念就一目了然。先假設一開始有x斗的米,由於每次都剩下2/3,出三關之後就剩下x × 2/3 × 2/3 × 2/3=1,因此得到x=27/8。

西元前 100 年成書的《九章算術》中〈衰分〉章節也有一道題目:「今有甲持錢五百六十,乙持錢三百五十,丙持錢一百八十,凡三人俱出關,關稅百錢。欲以錢數多少衰出之,問各幾何?」,每個人身上帶的錢數不一,出關後總共被徵收了100 錢,三人如何分攤?這是基本的比例計算問 題,就留給讀者自行解題。由此可知,宋代的稅務機關人員都必須具備相當於現在國中階段的數學程度。


酒甕堆中的數學

關稅局過去不久有家裝飾著「彩樓歡門」的酒樓(圖三),象徵著當時首都的歌舞昇平,我們將視線轉移到酒樓後方堆疊的酒甕(圖四)。唐宋代文人輩出,而酒精又是觸發創作靈感的催化劑,酒香與文學脫不了關係,以酒甕入詩更能表現愛酒之癡。例如晚唐詩人杜荀鶴的「酒甕琴書伴病身,熟諳時事樂于貧」;又或是唐代陸龜蒙的「但當乘扁舟,酒甕仍相隨」。客人來訪時若開酒甕招待更能顯現出誠意,例如北宋蘇東坡的「釀酒閉門開社甕,殺牛留客解耕縻」;落寞時無客來訪,但有酒甕小菜相伴更勝朱門酒肉,例如南宋陸游的「濁酒香浮新社甕,晚瓜味敵故侯園」。

圖三|裝飾著「彩樓歡門」的酒樓
(public domain, Wikimedia Commons)

圖四|酒樓後堆疊的酒甕
(public domain, Wikimedia Commons)

北宋沈括有一詩句「西光戛戛下巖壑,取酒更爲山留連」,可見他也是愛酒之人。沈括擔任過運輸貨物調度的官員,可能因為經常要計算酒甕與糧袋的體積,因此思考過要如何正確計算堆疊物品的數量。傳統上是利用《九章算術》中的「芻童法」(梯形長方臺,圖五),立體梯型的體積為V= h ⁄ 6×[b×(2a+c)+d×(2c+a)]。但是由於酒罈與糧袋都是不規則型,堆疊之後「緣有刻缺及虛隙之處,用芻童法求之,常失於數少。」因為堆疊酒甕的邊緣有突角與缺隙(圖六),使得芻童法計算出來的數值比真正體積還少。

經過一番思量後,沈括在《夢溪筆談》中提到,疊高n 層(h=n)酒甕堆的數量算法為:「用芻童法為上位,下位別列:下廣以上廣減之,餘者以高乘之,六而一,併入上行。」也就是酒甕堆體積V =芻童體積+ n ⁄ 6×[b×(2ac)+ d×(2ca)] +n ⁄ 6×(db)。但沈括並沒有加以說明他的想法,也沒有證明這公式到底對不對。以圖七的酒甕堆為例,a = 3、b = 4、c =6、d = 7、n =4,從上往下每一層酒甕的長、寬都比上一層多一個,所以實際的酒甕數是:3×4× + 4×5 +5×6 + 6×7 = 104,如果以沈括的公式計算:4 ⁄ 6×[4×(2×3+6) + 7×(2×6+3)] 4 ⁄ 6(7-4)= 104,兩者的答案完全一致。這就是沈括的「隙積術」,相當於現代數學的二階等差級數求和問題,奠定宋代在高階等差級數求和的基礎。


圖五|梯形長方臺古時稱為「芻童」。
(作者提供)

圖六|堆疊酒甕與芻童的比較
(作者提供)


省陌制百分比換算

中國古代錢幣的材質大多都是銅與鐵,由於戰爭鑄造軍器需要,銅鐵不足以鑄成流通錢幣,因而產生「省陌制」。一百錢足數稱為「足陌」;錢幣不足一百而仍當百錢使用,便稱為「省陌」。歷代省陌的標準不一,北宋歐陽修《歸田錄》卷二中提到:「用錢之法,自五代以來,以七十七為百, 謂之省陌。」所以宋代「省陌制」也沿用以七十七文為百文。但這並非適用於所有的商家,像是酒樓左側掛著孫羊店招牌的肉舖(圖七)中就標示「斤六十足」,意思就是告訴買家不接受「省陌制」,買一斤要付足六十文錢。若店家接受「省陌制」呢?就是實拿七七折,每位顧客可以在心中馬上盤算買一斤要拿多少錢。同樣地,若店家接受「省陌制」又要實收六十文,也必須要知道如何標價。所以這種比例換算在當時已經成為一種民間普遍的數學素養。

圖七|掛著「斤六十足」的肉舖
(public domain, Wikimedia Commons)
 

「省陌制」讓筆者不禁回憶起1970年代由於全球石油危機,導致國際間的銅、鎳等金屬價格飆漲,而當時臺灣的一元硬幣含銅55%、鎳18%、鋅27%,金屬材料價值超過幣值。於是不少不法業者開始大量收購一元硬幣重新鎔鑄,因而使市面上一元硬幣短缺,店家則因為無一元零錢可找,定價便直接以五元、十元為單位,間接造成物價上漲。當時若採用「省陌制」,不知是否可以舒緩通貨膨脹的情形?


人生千般怎算計

張擇端版〈清明上河圖〉中最寫實的場景非「問卜算卦」莫屬。整幅畫共有三處描寫宋代人算命的實況,畫中約右邊1/5處,只見一位老叟手持幡旗在城郊碼頭旁正招攬搬運工人前來算命( 圖八右幅);護城河右側有一位術士在樹下擺攤( 圖八中幅),攤位上掛著「決疑」、「看命」、「神課」的宣傳標語,來者大部分是一般庶民百姓;圖八左幅位於卷軸左下角,在城中鬧區旁有間高掛著「解」字的解命攤位(有一說是解科舉考題,又有一說是解庫――即當舖,依畫中情境筆者認為仍以解命最可信),裡頭有位看似眼盲的占卜先生正在指點吉凶,來者大半是參與科舉的士人。北宋王安石〈汴說〉一文中提到:「予嘗視卜汴之術士,善挾奇而以動人者,大抵宮廬、服輿、食飲之華,封君不如也。」可見北宋汴京的卜卦術士食衣住行的豐富程度,連王公君侯都嘆之弗如。而南宋吳自牧描寫南宋臨安(杭州)的《夢梁錄》中的〈- 夜市〉章節更說:「亦有賣卦人盤街叫賣,如頂盤擔架賣市食,至三更不絕。」可見宋人真的很喜歡算命。南宋數學家秦九韶在《數書九章──序》將觀察天象曆度的數學稱為「內算」,而《九章算術》中的數學稱為「外算」,兩者理論相通。由於當時儒士知曉易經陰陽之學,不少落榜的人會轉行卜命算卦,所以當時的卜卦之術並非完全被視為怪力亂神,像是北宋大儒邵雍(後世稱邵康節)就相當熱衷專研命理,所著的《皇極經世》就是一本討論河洛數術之書。

圖八|清明上河圖中算命卜卦場景
(public domain, Wikimedia Commons)

民間流傳甚廣的《梅花易數》相傳也是邵雍所寫,書中第一占「觀梅占」:「辰年十二月十七日申時,康節先生偶觀梅,見二雀爭枝墜地……斷之曰:詳此卦,明晚當有女子折花,園丁不知而逐之,女子失驚墜地,遂傷其股。」為何他看到兩隻麻雀在梅樹上相爭墜地就斷言明晚會有女子攀折梅花,並且會因園丁驅趕驚嚇墜地而傷到屁股?八卦的每個卦都由三個爻所組成(陽爻―,陰爻--),每個卦都對應到一個數字(乾一、兑二、離三、震四、巽五、坎六、艮七、坤八)、五行(金、木、水、火、土)與身體部位。《梅花易數》中有「本卦」、「變卦」和「互卦」,各由上下兩卦組成(所以有六個爻),分析卦象要看「本卦」、「變卦」和「互卦」三者互動關係。

「本卦」是依年、月、日三個數字相加而成,「辰」在12地支「子丑寅卯辰已午未申酉戍亥」中排序第5,12月排序12,17日排序17,相加共34,除以四個八(因有八個卦)後餘二,屬兌卦,這是上卦。下卦則依據年、月、日、時四個數字相加而成,申時排序第九,總得43,除以五個八餘三,為離卦,這是下卦,上下卦組合完成「本卦」。接著「變卦」的構成方法是將上下卦總數43,除以七個六(因上下卦共有六個爻)後餘一,所以將「本卦」中由下往上數的第一爻(初爻)變成相反的爻(藍色箭頭,陽爻變陰爻),就完成「變卦」。最後以「本卦」的三、四、五爻當作上卦(紅色箭頭),以本卦的二、三、四爻作為下卦(綠色箭頭),組合成「互卦」(圖九)。

圖九|《梅花易數》中卦象變化

完成卦象之後就要解卦,解卦又得根據八卦與五行的對應關係,(震、巽為木,離火,坤、艮為土,兌、乾為金,坎為水)。圖九「本卦」中上兌(金)下離(火),火剋金,兌又代表少女,所以知道有女子被傷。「互卦」中上乾(金)下巽(木),而金剋木,所以有樹枝被折,而巽又代表股,因此測出股部受傷。幸而「變卦」是上兌(金)下艮(土),土生金,所以女子被傷但不至凶危也。也就是先用數學中「同餘」(除後有相同餘數)的餘數概念,再配合五行相生相剋之道解釋卦象,至於是否準確就各自解讀了。

張擇端版〈清明上河圖〉受重視的原因並不在於作者的聲望(歷史上對張擇端的記載不多),也不在他藝術技巧的高超,而在於畫中所傳達的訊息。一般風景畫都是以墨筆寫景,但張擇端版〈清明上河圖〉最獨特的價值就在於寫景之外還兼具史實的記載,讓現代人能一窺北宋民眾的生活樣態。從畫中可以看出,無論從官吏到商賈,從儒士到販夫走卒,數學在宋代人生活中確實扮演著不可或缺的角色。