顯示具有 math 標籤的文章。 顯示所有文章
顯示具有 math 標籤的文章。 顯示所有文章

2012年7月28日 星期六

左撇子應選哪項運動?

多謝國際奧委會及香港政府在三家電視台中間斡旋,我們能夠每晚通宵觀賞奧運。觀賞賽事時,大家不妨留意一下,哪些項目特別多左撇子?我沒有統計,但經驗告訴我,乒乓球、羽毛球、網球很多左撇子,不是左撇子特別有天份,而是正如小時候爸爸對我說:「左撇子打球很着數,他們見慣右撇子,但右撇子很少碰見左撇子。」一語道破,爸爸真是有智慧。

當時未知的是,爸爸一句說話扼要地概括了進化學一個重要概念,就是某種特徵的價值隨着其頻率下降而提升,故此種特徵很難在人口中消失,因為它愈罕見便愈有優勢,網球比賽的左撇子便是一例。左撇子約佔人口十分之一,在單對單要用球拍的比賽較右撇子佔優,應是不爭的事實。

翻查香港出戰奧運名單,參加的單對單對抗性項目包括乒乓球、羽毛球、劍擊、柔道,前三者左撇子顯然有優勢,至於柔道,門外漢很難分出台上選手究竟是左或右撇子,但我相信左撇子還是有優勢。(職業拳手左撇子比例較平均人口高,說明左撇子打拳有優勢,同樣道理應該適用於柔道吧。)

想像史前時期,兩個原始人為爭食物而打鬥,左撇子勝算較高是肯定的。人類進化大部分在史前時期,想像生命就是一連串你死我活的零和打鬥,經過一代又一代的汰弱留強,左撇子終會主宰大局,全人類都變成左撇子,對嗎?不對,當左撇子超過一半,那種「物以罕為貴」的優勢便拱手讓給右撇子,那時右撇子「反攻」,人口的左/右比例膠着在50/50,誰也佔不到誰的便宜。如果生命像是一連串你死我活的零和打鬥,左右撇子應各佔人口的一半。

然而,左右撇子並非各佔人口的一半,零和打鬥以外,生命還有其他決定生存的因素。人類以複雜的社會架構見稱,個體生存有賴群體協助,簡單來說即是別人需要我們的合作,我們也需要別人的合作。合作多了,一些習俗、標準便會形成,這些習俗、標準往往有利於多數,不利於少數。文字是一種標準,世上多數文字都是方便右撇子書寫的,教寫字的方法也是以右手為依歸。鋼琴琴鍵右邊高音,左邊低音,主旋律通常在高音,是否方便右撇子彈琴?學打高爾夫球,右手用球桿比比皆是,左手用的或要到專門店搜購,找個左撇子教練更是難上加難。如果家裏有左撇子,而父母又是傳統一輩,那便一定有人被逼用右手揸筷子的故事。

不難想像,生活在一個充滿習俗、標準的社會(亦即人類社會),左撇子是處於劣勢的。某些硏究顯示,左撇子死於意外的機會較高,就是證明。

左撇子既有「物以罕為貴」的優勢,它不會消失,又有那種「格格不入」的劣勢,永遠只屬少數。最近一篇硏究就是利用這種一加一減的互動,創作了一個數學模型來解釋左右撇子在平均人口的比例,更把模型應用於多種體育項目,嘗試預測各項目職業運動員的左撇子比例,結果與實況非常相近。當然,該模型只能解釋為什麼其中一種撇子佔人口大多數,不能解釋為什麼右撇子勝出而非左撇子。這條更加基本的問題,恐怕永遠沒有答案。

我再翻看香港出戰奧運名單,以上提過四項之外,還有參加單車、體操、賽艇、風帆、舉重、游泳、田徑、射箭、射擊,九項之中,應該沒有左撇子優勢。問題是,有沒有左撇子劣勢?規例中的某些標準會否無意中「歧視」左撇子,例如田徑跑道向左彎,是否方便了右撇子?體操那些凌空轉身三周半,評判會否看不慣左轉呢,教練懂不懂教左撇子凌空左轉,還是強逼運動員全部向右轉?射箭和射擊的器械有沒有左右之分,有的話,左手用器械很難買嗎?

某些體育項目,左撇子優勢十分明顯。至於左撇子劣勢,可能更普及,不過很難察覺,更沒人理會吧了。

(2012 年 7 月 28 日 信報副刋)

學術參考:
Daniel M. Abrams, Mark J. Panaggio (2012), “A model balancing cooperation and competition can explain our righthanded world and the dominance of left-handed athletes,” J. R. Soc. Interface published online 25 April 2012. doi:10.1098/rsif.2012.0211

2012年3月31日 星期六

教你創作信用卡號碼

此信用卡號碼純屬虛構,如有雷同,請自行善後。

4921 1101 1234 5678

是不是一個正確的信用卡號碼?不需問銀行,可自行驗證。

每張信用卡最尾一位數字,其實是個「保險碼」(check digit),與前面十五位數字有些特定關係,不能亂作。這是一種防錯措施,萬一用戶打錯或說錯某些數字,破壞了保險碼跟前面十五位數字的應有關係,電腦能夠立即察覺。保險碼怎樣計算?上述信用卡的保險碼(8)正確嗎?

第一步:由左起,第一位數字乘二,第三位數字乘二,第五位數字乘二……總之單位數字便乘二;
第二步:逐個 digit 加起來(十或以上之數應拆開為兩個單位數,然後相加),以上述號碼為例:(8)+9+(4)+1+(2)+1+(0)+1+(2)+2+(6)+4+(1+0)+6+(1+4) = 52;
第三步:52 + ? = 10 的倍數,答案是 8 -- 這就是保險碼。

所以,上述信用卡號碼是「成立」的,有可能出現的;有沒有銀行發這個號碼,有沒有人願意用這個號碼,則另作別論。

我願意用這個號碼。假設我問你借錢,把信用卡號碼電郵給你;為了防止中途被人偷看,我用預先跟你約定的密碼加密,使郵件內容變成一堆外人不知所云的「垃圾」:&%AG%$@#^?*><!~#*F&W%

你收到電郵,用我們預先約定的密碼解密,得回號碼:4921 0111 1234 5678。核實保險碼無誤,你存錢入戶口,暗嘆倒霉,決定這是最後一次借錢給我。

幾天後,我致電給你,說我收不到錢。你火冒三丈,罵我騙子,我罵你無口齒無義氣,你我從此絕交。

我在說謊嗎?錢去了哪裏?

細心的讀者會發覺,解密後的信用卡號碼其實是錯的,「0」和「1」換了位置,不是雙方誤會了密碼,而是電郵傳送途中,有人惡作劇竄改了郵件;他們雖然不知道密碼,未能偷看內容,但可以對訊息「加鹽加醋」,不知改了什麼,總之是改了。給竄改過的地方,恰好解密後調換了「0」和「1」,更湊巧的是,這樣調換並不影響保險碼,保險碼仍然是「8」,整個號碼還是「成立」的,收件人不虞有詐。

由此可見,保險碼雖有某程度的防錯功能,但絕非滴水不漏;它實在太容易「撞」,任何十五位數字不難得出同一保險碼;知道保險碼,亦不難推敲多個「成立」的信用卡號碼;因此,網上購物的時候,除了提供信用卡號碼,還需填寫卡主姓名、到期日等額外資料,因為保險碼實在不夠「保險」,防錯防冒的功能實在太弱。

上面的故事還有另一個教訓,網絡上傳送敏感資料,加密是不足夠的,還需一些方法確保訊息不曾被竄改。我們不妨把保險碼的概念擴闊,看看互聯網怎樣做。

信用卡前十五位數字可視為企圖傳達的內容,實際上可以是一句說話、一個檔案、一幀照片、一齣電影、一首歌,任何你想傳達的資訊。緊隨其後的保險碼可視為一段「撮要」,根據前面的資訊「消化」而來的;為了保障溝通的安全性,「消化」過程必須符合幾個條件:(一)無法從「撮要」推敲原來訊息;(二)很難創作另一條「消化」出同一「撮要」的訊息;(三)不同訊息「消化」出同一「撮要」的機會微乎其微。(信用卡保險碼其實是「撮要」的一種,其計算過程就是一種「消化」,只不過三個條件都不符合,是一種非常不安全的「消化」程序,不能用於傳遞敏感訊息。)

互聯網興起十多年,網上交易早已十分蓬勃,一個安全的「消化」程序是不可或缺的。現時的「消化」程序仍然穩固,但網絡安全就像說話人和竊聽者的軍備競賽,必須時刻未雨綢繆,否則一被破解便手足無措。美國 NIST(National Institute of Standards and Technology)為此舉辦了一個比賽,徵集下一代的「消化」程式;參賽程式經過世界各地專家「評頭品足」和幾輪淘汰,現在餘下五個方案。就在香港特首選舉投票之前的週四和週五,美國首都華盛頓舉行了一次會議,商討它們的優劣,得勝者將在今年稍後公布,並會成為下一代「消化」程式的標準。

(2012 年 3 月 31 日 信報副刋)

2012年3月24日 星期六

∞ + ∞ + ∞ = ∞

1+1=2,這是我學的第一條算術。

1+1=3,這叫 synergy,受投資者和 CEO 膜拜,其實計錯數。

1+1+……(共一千二百個「1」)……+1=1,這叫小圈子選舉,一千二百票選出一個特首,一看便知計錯數,我們無奈接受。

1+1+……(共七百萬個「1」)……+1=1,這叫一人一票普選,七百萬人選出一個特首,多數市民趨之若鶩,可是建制派說港人全部計錯數,我們無話可說。要「循序漸進」,要等「時機成熟」,可能就是等建制派把「+」號扭轉四十五度變「×」號,確保計啱數,萬無一失。當「+」號變了「×」號之日,建制派又可以說,小圈子選舉那條數跟普選這條數同樣正確,為什麼要變?我們啞口無言。

自從踏出學校,走進社會,我已很久未見過一條 make sense 的算術。為了逃避這個唔 make sense 的世界,我走進教會。問牧師:「你們說什麼 Trinity,什麼聖父、聖子、聖靈『三位一體』,究竟是什麼意思?你們說只有『一位』獨一真神,那『三位』是不是指三個面貌?」「不不不,你不要這樣告訴別人,人家會說你是異端。」不等我驚魂稍定,牧師續說:「聖父、聖子、聖靈都『是』神,等於神,明唔明?」「那……三者都等於神,即是聖父等於聖子等於聖靈,三者完全沒有分別,對不對?」「不不不,又不能這樣理解。」「我又唔明嘞,只有一位神,而三者都『是』神,但祂們又非完全一樣,唔 make sense 喎!」

牧師不慌不忙,拿出紙筆,畫下這條數式:

∞ + ∞ + ∞ = ∞

手指按着符號,由左至右,他說:「聖父,加,聖子,加,聖靈,等於神。三個不同的個體,都等於神;祂們的總和,又不大於任何一個。」令我茅塞頓開,這是我十幾年來見過最 make sense 的算術,牧師果然係牧師!

步出教堂,思緒離不開那條數式,為什麼它能夠如此 make sense?關鍵,就在無限大(∞)。無限大不同一般數字,它甚至不是一個很大很大很大很大很大很大的數字,它有着超越數字的邏輯。一個普通數字,不論大得怎樣,加一之後,會變得再大一些;無限大加一,仍是無限大。以日常邏輯衡量,無限大這概念根本唔 make sense。看看一間無限大酒店的故事。

這間酒店,有無限個房間,住着無限個客人,門外掛着一個「滿」字。某天,一位不懂中文的外地遊客走進來,想租房,經理想了一想,說:「沒問題,請等一等。」他叫一號房的住客遷往二號房,二號房住客遷往三號房,三號房住客遷往四號房,如此類推,全部舊住客依然有房住,一號房則騰了出來給新住客。原已爆滿的酒店,竟然容得下多一位住客,現在依然爆滿。

新住客十分滿意無限大酒店的服務,通知同胞。不久,無限個同胞同時蒞臨,酒店經已爆滿,怎辦?經理低頭沉思,靈機一觸,只要把一號房住客遷往二號房,二號房住客遷往四號房,三號房住客遷往六號房,四號房住客遷往八號房,如此類推,全部舊住客遷往雙數房號,騰出單數房號給那無限個新住客,問題迎刃而解。原已爆滿的酒店,接收無限個新住客之後,現在依然爆滿。

無限大能夠產生這些邏輯上的矛盾,因此二十世紀前的歐洲數學家很「怕」無限大,不願意把它納入數學的框架之內。十九世紀末期德國數學家 Georg Cantor 發展了一套闡釋無限大的理論之後,無限大才漸漸為主流數學所接受。

無限大本身唔 make sense,但 ∞ + ∞ + ∞ = ∞ 這條算術又異常 make sense,幾件唔 make sense 的東西放在一起竟然變得 make sense,Trinity 才是世上最奇妙的 synergy。

(2012 年 3 月 24 日 信報副刋,多謝印象文字主編吳國雄提供靈感)

無限大酒店電影版:

2012年3月17日 星期六

與其調查,不如撞吓密碼

調查醜聞,議員和官員最擅長成立一個乜乜調查委員會,傳召「涉案」人等,從各項證供和證據抽絲剝繭,推敲事件的來龍去脈。換句話說,跟偵探查案沒有分別。

看過偵探劇的觀眾知道,查案是非常困難而且峰迴路轉的,擾攘一輪之後,通常真兇都不是原來的疑兇。換句話說,調查出來的結果,醜聞主角通常都是「清白」的,即使不是毫無過錯,最終也能置身事外。

亦即是說,如果你想「釘死」某人,成立調查委員會是徒然的,最好另找途徑。我提議闖入他的電郵信箱,直接揪出黑材料,令他不得不認。

然而,闖入電郵信箱先要拆解他的密碼,豈不比成立調查委員會更難?我今天就要說明,拆解密碼其實不比調查困難,有數學根據的。

我問你,這篇文章多少字?不想自己數,可以叫電腦幫你。整份報紙多少字?用電腦數,也是易如反掌。全世界報紙今天總共出了多少字?用電腦數,可能用上幾分鐘,甚至幾小時,終可得出一個答案。數字數這條問題,對電腦來說是「容易」的,資料多了 n 倍,處理時間增加 n 倍,就是這麼簡單。有些問題比較複雜,資料多了 n 倍,處理時間增加 n2 倍;更複雜的,處理時間可以增加 n10 倍。一般人看來,一條 n10 倍問題比一條 n 倍問題困難得多,但從電腦學角度,它們的難度屬於同一級數,叫 P 級。所有 P 級問題都是「容易」的,一般應用程式有的功能,例如搜尋、排序等,都屬 P 級,這些功能可以放進日常軟件,因為不論資料多寡,處理時間都在「可以接受」範圍之內。

一條 n99 倍問題也「可以接受」?對,從電腦學角度,n99 倍問題與 n 倍問題都屬 P 級,理論上都是「容易」的,難不倒電腦。很明顯,有些問題比 P 級更難,不是 n 的多少次方可以匹敵。

拆解密碼就是這樣一條難題。假設,你從江湖人士口中得知唐英年的電郵密碼由四個小楷英文字母組成,你可以寫條程式,由 aaaa,aaab,aaac …… 試至 zzzy,zzzz,總共 264 個組合。正在編寫程式之際,江湖人士來電,唐英年剛剛改密碼,現在變成八個小楷英文字母,程式需要改寫,由 aaaaaaaa 試至 zzzzzzzz,總共 268 個組合;密碼長度是原來的 2 倍,處理時間是原來的 264 倍!這是假設密碼只由小楷英文字母組成,否則擴展得更快。很多問題如拆解密碼一樣,除了逐個試,想不到更有效方法;這些逐個試的問題屬於 NP 級,難度比 P 級高一截。唐英年若把密碼繼續加長,很快,電腦便沒可能在「可以接受」的時間內估中。

NP 級未算最難,最難的叫 NP-Hard 級。我的數學不夠精,未能在這裏舉出含具體數字的例子。數學家經已證明,很多經典電腦遊戲都是 NP-Hard 的,我不是遊戲迷,有印象的包括俄羅斯方塊食鬼、孖寶兄弟、Donkey Kong、Doom、Starcraft,還有很多其他;說它們 NP-Hard,未必是遊戲規則複雜,而是極難計算出最佳玩法。最近甚至有人證明物理學都是 NP-Hard 的,物理學骨子裏就是根據物體運行的數據推敲主宰其運行的方程式,與偵探查案或調查委員會根據各方證據推敲真相的做法如出一轍;我雖不能確切證明,但醜聞調查應該不比物理學或電腦遊戲容易,如果物理學和很多電腦遊戲都是 NP-Hard,醜聞調查至少也是 NP-Hard。

換句話說,醜聞調查(NP-Hard)比破解密碼(NP)困難。與其成立乜乜調查委員會,不如嘗試破解密碼,解不開的話,調查「定罪」的機會只會更渺茫。

最後補充,P 和 NP 代表什麼?一些數學的專有名詞,寫出來也無甚意思。一般讀者大可這樣想,人生遇到的問題有三種:「有可能」解決的(P = Possible),「無可能」解決的(NP = Not Possible),還有「無可能……咁難?!」解決的。

(2012 年 3 月 17 日 信報副刋)

2011年12月31日 星期六

心算萬年曆,你也做得到

很羡慕星期一專欄的作者,連續兩星期恰逢信報休刋日(12 月 26 日聖誕翌日及 1 月 2 日元旦翌日),得以在佳節期間頓筆小休。

活了三十餘年,今年才發覺聖誕和元旦恰好七天之隔,必定在同一星期天!這「發現」本來不值一哂,但推而廣之,可以幫助我們不看日曆也能輕鬆推算某日星期幾。讓我循序漸進,帶領大家學習心算萬年曆。

26 號之外,12 月還有哪天星期一?簡單,19 號、12 號、5 號,26 減去 7 的倍數就是。

今年 10 月 31 日萬聖節是星期幾?逐星期減太慢太煩,幸好有條捷徑。每年 4 月 4 日、6 月 6 日、8 月 8 日、10 月 10 日和 12 月 12 日都在同一星期天;今年 12 月 12 日是星期一,即是 10 月 10 日也是星期一,萬聖節與 10 月 10 日相差 21 天,是 7 的倍數,萬聖節也是星期一。以上五天可稱為日曆上的「地標」,方便我們在月份之間穿梭。2011 年地標全部都是星期一。

今年 7 月 1 日香港回歸紀念日是星期幾?要用另一條捷徑。每年 5 月 9 日、9 月 5 日、7 月 11 日和 11 月 7 日都是地標日;換句話說,今年 7 月 11 日是星期一,7 月 4 日也是星期一,7 月 1 日就是星期五。以上四天不難記,只要記着「朝九晚五」和「7-11 便利店」。

現在 4 至 12 月都有地標,還欠頭三個月。2 月最後一日永遠是地標(平年 28 日,閏年 29 日);七日後的 3 月 7 日順理成章成了 3 月的地標,為方便記憶,可以 3 月 “0” 日代替(即 3 月 1 日前一天);1 月最麻煩,在四年一遇的閏年,地標是 1 月 4 日,其餘年份是 1 月 3 日。

2011 年地標是星期一,下年地標星期幾?2012 是閏年,366 除 7 得餘數 2,故地標順延兩天,是星期三。平年順延一天,2013 地標將是星期四。

1989 年 6 月 4 日星期幾?逐年推算地標太慢太煩,又需要捷徑。捷徑是有的,可是,與其再加一條捷徑,不如介紹一條「一站式」公式,一次過推算星期天;該公式把以上所有捷徑結合並簡化,盲目運算便可,省卻上述推理的腦汁,在香港這個「求學只是求分數」的地方,我們無謂尋根問底,總之背熟公式,在老師、長輩和異性心目中「攞分」最重要。我親身試過這條公式,找些遙遠的日子計算,能在五十秒內得出正確答案,速度不算驚人,但我只是一名初哥。

以下介紹公式四步驟,以 1989 年 6 月 4 日作例:

「年」= 1989
「月」= 6
「日」= 4
「心」= 心中記着的數字,整個運算過程只需記着一個數

第一步:
 例:1989 年 6 月 4 日
• 抽出「年」的後二位數字,若單數,加 11;89 + 11 = 100
• 除以 2;100 ÷ 2 = 50
• 若單數,加 11。50 是雙數,步驟完成。我們只關注星期天,七天一循環,故可把 50 除 7,餘 1。「心」= 1。


第二步:
對照下表,根據「年」所在的世紀,把頂行數字(0、2、4 或 5)加進「心」中。
0245
不適用(註一)不適用(註一)15001600
1700180019002000
210022002300...

例:1989 屬於 1900 世紀,「心」= 1 + 4 = 5。

第三步:
下表列出每月的地標,找出地標日,加進「心」中。
月份地標日
1平年 3;閏年 4(註二)
2平年 0;閏年 1(註二)
30
44
59
66
711
88
95
1010
117
1212

例:6 月的地標日為 6 號,5 + 6 = 11,除 7,餘 4。「心」= 4。

第四步;
「日」減「心」,再除 7,餘數就是星期天。(1 = 星期一;2 = 星期二,類推。)
例:4 - 4 = 0?不打緊,0 即是星期日,-1 即是星期六,-2 即是星期五,類推。

1989 年 6 月 4 日是個星期日,一個血紅色的星期日。

這條公式由 Mike Walter 及 Chamberlain Fong 在 2009 年發明,遠比舊式的捷徑方便易用,當中牽涉一些不淺的數學和聰明點子,有興趣考究的讀者不妨登上:
http://firstsundaydoomsday.blogspot.com/

篇幅所限,就此停筆,祝各位來年順景,事事如意。

§

註一:為什麼最早只到 1500 世紀?因為現時的公曆(Gregorian calendar)在 1582 年才建立。各地採用公曆的時間不一,意大利在 1582 年,英國及其殖民地遲至 1752 年。

註二:一個鮮為人知的事實,「00」字尾的年份,給 400 除得盡的才是閏年,其餘是平年。1600 和 2000 是閏年,1700、1800、1900 不是。

(2011 年 12 月 31 日 信報副刋)

2011年11月16日 星期三

區議會選舉有舞弊的跡象嗎?

2009 年伊朗總統大選,艾哈邁迪內賈德擊敗三位對手成功連任。遠在波蘭,一位學者看着伊朗內政部公佈的點票結果,發覺有點異樣;排名第三的候選人卡魯比在某些選區的得票有點「不尋常」,那些選區恰好正是艾哈邁迪內賈德大勝的區域。「不尋常」之處,關乎卡魯比得票的第一位數字;你沒看錯,只看頭一個數字,便可窺見選舉有沒有「造馬」。

記得中學數學課,高中之前不准用計算機,那時計算 log(對數)需要查表的;有了計算機之後,至今二十多年未碰過對數表了。在沒有計算機的年代,對數表是理科不可或缺的工具;1881 年,美國天文及數學家 Simon Newcomb 發現一個有趣現象,圖書館的對數表「1」字頭那頁永遠是最骯髒和最殘舊的,往後一頁比一頁清潔,人們好像遇到「1」和「2」字頭的數字特別多,遇到「8」和「9」字頭的數字特別少;他更提出一條方程式,說「d」字頭的出現概率為 log(1+1/d),把「1」至「9」代入「d」的位置,便得出「1」字頭的出現概率約為 30%,「2」字頭約為 17%,逐個減少,「9」字頭只有 4.5%。換句話說,日常遇到的數字,大約每三個便有一個是「1」字頭,為什麼「1」字頭這麼普遍?

Newcomb 沒有解釋,只說該條規律「顯而易見」("evident"),我等凡人不得不驚嘆數學家對數字的「直覺」。可能就是過於「顯而易見」的關係,Newcomb 沒有找來更多事例,這話題也就此沉寂,不了了之。

五十七年過去,來到 1938 年。通用電氣公司物理學家 Frank Benford 在不知情的情況下重複同一發現,但他更進一步,從現實世界找來多種數據,包括讀者文擇出現的數字、門牌號碼、各國人口、河流長度、棒球聯賽統計數字、原子量(atomic weight)、物理常數等,範疇包羅萬有,總共超過二萬個數字,其字頭分佈與 log(1+1/d) 不謀而合!此現象從此稱為 Benford's Law,班福特定律。可是,Benford 依然沒有解釋為什麼,Benford's Law 雖有實證作根據,卻無甚理論基礎。

又過五十七年(世事多麼巧合!),1995 年美國數學家 Theodore Hill 終有突破,他以嚴謹的數學方法證明,從多種數據來源隨機抽樣得出的數字,其字頭一定符合 log(1+1/d) 分佈,即「1」字頭出現大約 30%,「2」字頭約 17% ……「8」字頭約 5.1%,「9」字頭約 4.5%。這裡不能公式化談數學,我姑且用日常文字嘗試解釋一下。想一想,恒生指數由 1,000 點升至 2,000 點較難,還是 2,000 點升至 3,000 點較難?前者升幅 100%,後者升幅 50%,顯然前者較難。由 2,000 點跌至 1,000 點較難,還是 3,000 點跌至 2,000 點較難?前者跌幅 50%,後者跌幅 33%,也是前者較難。換句話說,恒生指數「1」字頭的時間(1,000-1,999 點)應比「2」字頭的時間(2,000-2,999 點)為長,以此類推,逗留於「3」、「4」……「8」、「9」字頭應該漸次縮短,直至到達 10,000 點,重回「1」字頭,開始另一循環。假設恒生指數長遠而言維持若干每年平均升幅,它逗留在各字頭的時段應該合符 Benford's Law 的比例。

這是一個籠統的解說,粗略點出「1」字頭常見性的來源,道理如何擴展至人口、河流長度、物理常數等風馬牛不相及的領域,在避談公式化數學的前提下無法說得清,我們只有相信 Hill 的數學論證。


那究竟什麼種類的數字合符 Benford's Law?籠統地說,「自然產生」的數字通常符合。地震的深度、地球磁場逆轉的時距、放射性物質的半衰期、脈衝星的轉速等,全部符合 Benford's Law(自然界給我們的數據,這是「自然產生」的第一個含意)。各國人口、原油蘊藏量、溫室氣體排放、傳染病例數目、報稅表的賬目、選舉所得票數等,也符合 Benford's Law(真實的、未經竄改的統計數字,這是「自然產生」的第二個含意)。留意第二類,這提供一個偵測虛報或作弊的途徑,假如某公司長期提供一些不夠「Benford」的稅務資料,那可能是逃稅的跡象;假如點票結果不夠「Benford」,那可能是舞弊的線索。文首提到伊朗總統候選人卡魯比在某些選區得票「不尋常」,所指的就是違背 Benford's Law。

大家要小心,哪些數據合符 Benford's Law 沒有絕對的標準,完全公正的選舉未必符合,舞弊的選舉未必不符,Benford's Law 只可視為一種跡象或線索,絕不應視為確鑿證據。

區議會選舉剛過,不如「就地取材」,拿全部候選人得票第一位數字作個統計,看結果有多「Benford」。下圖所見,「1」和「2」字頭特多,但形態大致上合符 Benford's Law。這算是舞弊的跡象嗎?很難說,每選區人口二萬人左右,可能選區人口加上投票率加上候選人之間的典型差距造就「1」和「2」字頭特別容易出現,又或者其他想得出的原因。上面說過,公正的選舉未必合符 Benford's Law,舞弊的選舉未必不符,現在冒出多一個問題,偏離多遠才算「事有蹺蹊」呢?作為偵測舞弊的工具,Benford's Law 實在太多局限。


香港的選舉大致上都是公開公正的,大家都有信心,即使點票結果與 Benford's Law 不盡相符,我們傾向把「疑點利益」歸於建全的制度,忙替現實與理論的差距找「藉口」,而非動輒懷疑選舉舞弊,也許我們應該慶幸活在這樣一個廉潔的地方。

學術參考:
M. Sambridge, H. Tkalčić, A. Jackson (2010), “Benford’s Law in the Natural Sciences,” Geophysical Research Letters 37, L22301. doi:10.1029/2010GL044830

Boudewijn F. Roukema (2009), “Benford’s Law Anomalies in the 2009 Iranian Presidential Election,” arXiv:0906.2789

R. M. Fewster (2009), “A Simple Explanation of Benford’s Law,” The American Statistician 63, 26-32. doi:10.1198/tast.2009.0005

Theodore P. Hill (1998), “The First Digit Phenomenon,” American Scientist 86, 358.

Theodore P. Hill (1995), “A Statistical Derivation of the Significant-Digit Law,” Statistical Science 10, 354-363.

2011年9月1日 星期四

這篇文章無咩用

數字推理,空格內應填上什麼?

1, 2, 3, 5, 8, 13, ___, 34, 55, 89, ___, 233

答案:21, 144。這是舉世聞名的 Fibonacci Sequence,可稱作「費氏數列」,每項都是前二項之和。

香港這個功利社會,事事講求實用,每一個課程,每一門學科,每一項研究,每一點新知,大家都會本能地問:有咩用?費氏數列,除了數字推理,有咩用?

Fibonacci 是一位中世紀數學家,生於比薩(Pisa,比薩斜塔所在),其名來自“fils de Bonaccio”,即“son of Bonaccio”的意思。傳說某天父親問兒子,今天帶一雙幼兔回家,任由其自由繁衍,一年後家中會有多少兔子?這裡當然要作些假設。首先,假設幼兔需要一個月才發育成熟,進行交配,懷孕一個月後誕下一雙幼兔;分娩後再次交配,一個月後誕下另一雙幼兔,如此下去,每月生產一雙。新生幼兔的歷程和父母一樣,發育一個月,以後每月生產一雙。假設沒有兔子死亡,十二個月後共有幾雙兔子?

每月的兔子雙數就在費氏數列之內。一個月後 1 雙,四個月後 5 雙,八個月後 34 雙,十二個月後 233 雙。半信半疑的讀者歡迎逐月點算。

這就是費氏數列的用途,除了在數字推理攞分,也可在爸爸心目中加分。除此之外,仲有咩用?

大家應該聽過「黃金比率」。自然界很多尺寸,人體很多部分的比例,許多歷史性建築物的長闊,攝影大師的構圖,都符合黃金比率。簡單來說,符合黃金比率的物件看上去總是特別的「美」,古希臘數家學甚至把黃金比率與「完美」扯上關係。黃金比率的準確數值為 (1+√5)/2,即是多少?那平方根很嚇人,費氏數列提供了一條捷徑。把費氏數列每一項除以前一項,其商數會趨近黃金比率:

5/3 = 1.66666...
89/55 = 1.61818...
233/144 = 1.61805...
黃金比率 = 1.61803...

神奇不神奇?黃金比率與費氏數列的關係千絲萬縷,前者在大自然屢見不鮮,後者亦不會罕見。

記得一個電視廣告,女生拿着菊花,一邊剝花瓣,一邊數着「鍾意佢,唔鍾意佢……」,你估菊花通常有多少塊花瓣?視乎品種,可能有 21、34、55 或 89 塊,全屬費氏數列,這是植物學家的說法。我上網搜尋菊花照片以作印證,多數照片未能清楚顯示花瓣數目,勉強數一數,得出結果與上述數字頗為吻合,相差不過一至二塊。根據植物學一貫說法,很多花卉都有費氏花瓣數目;原本只是用來推算一群虛構兔子的費氏數列,怎與現實世界的花朵扯上關係?

這還不只。相信大家見過松果,當你從底部觀察,會發現松果的「瓣」形成一組向右或向左的螺旋,數一數,螺旋數目應該也是費氏數值。

現在仰頭看看樹葉,怎樣在樹枝上排列的呢?十八世紀植物學家 Charles Bonnet 說得好,讓我抄襲他的說法。想像一條圓柱體樹幹,垂直畫五條直線,平均分佈在圓柱體表面;放一塊葉在第一條線的底部,放第二塊葉在第三條線較高之處,沿着同一方向,第三塊葉放在第五條線,第四塊葉放在第二條線,第五塊葉放在第四條線,第六塊葉回到第一條線,開始新的一圈。換句話說,五塊葉繞樹幹兩圈,葉與葉之間的角度為 2/5 圈,或 144 度。這是其中一種排列,其他排列包括(但不限於):1/2(兩葉繞一圈,最簡單)、1/3(三葉繞一圈)、3/8(八葉繞三圈)、5/13(十三葉繞五圈)。除了最簡單的 1/2 之外,有沒有發覺分子與分母在費氏數列隔着一項?

為何費氏數列無處不在?坦白說,科學家不明原因,可能與細胞生長的機制有關,很多猜想,但沒人知道誰的正確。許多自然現象都是這樣,發現容易,解釋困難。

樹葉是光合作用之所,其排列是否為收集最多陽光而設?科學家創作了很多模擬樹葉排列和陽光照射的模型,嘗試計算那種排列最佳,據我所知,未有定論。或許他們太沉醉於自己的模型「玩具」,忽略了另一更容易、更踏實的研究途徑 -- 實驗。

科學家忘記做的實驗,最近給美國紐約州十三歲少年 Aidan Dwyer 捷足先登。某年冬天,他到郊外遠足,被各適其式的樹枝和樹葉吸引住。從此,他收集各種樹葉進行研究,基本上重新發現以上各種排列模式。是否有助收集陽光呢?他用鐵枝代替樹幹,自製了一棵矮樹,再模仿 2/5 的樹葉模式把一片片太陽能電池裝上,這是一棵以太陽能電池代替樹葉的鐵樹。此外,他把同等數量的太陽能電池平鋪在木板之上,如一般太陽能電池板一樣。兩者放在陽光之下,答案呼之欲出了吧 -- 鐵樹產生的電能比平板多出 20%!

為什麼鐵樹較優勝呢?沒人知道。Aidan 猜想是因為鐵樹的樹葉不會全部被其他樹影遮擋,故總體來說較能維持生電。又是那一句,知道 what 容易,知道 why 困難。

知道費氏數列主宰樹葉排列,有咩用?對 Aidan 而言,這是擺放太陽能電池的新方法,他已經申請了專利,將來可能賺得盤滿砵滿。對我而言,這是賺點稿費的小把戲,編輯收貨已經心滿意足。對你而言,sorry,費氏數列真係無咩用,除了在數字推理和爸爸心目中加分之外。

(2011 年 9 月 1 日 信報副刊)

學術參考:
I. Adler, D. Barabe, R. V. Jean (1997), “A History of the Study of Phyllotaxis,” Annals of Botany, 80, 231-244.

Lynn D. Newton (1987), “Fibonacci and Nature: Mathematics Investigations for Schools,” Mathematics in School, 16, 5, 2-8.

G. J. Mitchison (1977), “Phyllotaxis and the Fibonacci Series,” Science, 196, 270-275.

2011年7月28日 星期四

做人應該識轉軚

來屆特首選舉已經冒出三位疑似選候人 -- 甲、乙、丙。某大地產商與甲是世交,支持甲理所當然,但身為精明商人,斷不做蝕本生意,最穩當還是上京探探口風,揣摩揣摩中央意旨,再作部署。一天拜會中央大員,酒席間,二人略帶醉意,地產商從口袋掏出甲、乙、丙三張卡片,攤到桌上,用半鹹不淡的普通話說:「你……不用告訴我誰當特首……只用告訴我……誰當不了特首。」故作搖頭擺腦,假裝醉得厲害。中央大員搖着食指:「用你們香港的說法,你真『鬼馬』!」地產商一笑:「我不是『鬼馬』……我只想知道哪一匹是真的馬,哪一匹是假的馬。」大員笑着,沉默片刻,說:「說給你聽也無妨,他是假的。」指着丙。

回港後,地產商把經過告訴智囊。智囊眉頭一皺:「看來你要轉軚了。」「什麼?」「甲是你的朋友,但乙的贏面較高。」「我不明白,甲乙不是機會均等嗎?」「表面上係,不過……好難解釋,不如我跟你玩個遊戲。」智囊掏出三張撲克牌,攤在桌上:「三張牌之中,有一張係葵扇A,你估邊張?」地產商指一指左邊,智囊一聲不響,翻開中間那一張,說:「你看見了,中間這一張不是葵扇A,現在剩下左、右兩張牌,你原本揀左邊,現在我問你,轉唔轉軚揀右邊?」「唔轉,照揀左邊。」答案揭曉,葵扇A在右,地產商沒有抓緊轉軚機會,怨不得人。

遊戲規則是這樣的,地產商作了選擇之後,智囊翻開另外兩張牌其中一張,但一定不會翻出葵扇A,保持神秘,看地產商轉不轉軚。這遊戲與地產商向中央大員收風的方式不謀而合,大員心知地產商與甲友好,即使甲非「真命天子」,也不會當場道破,正如智囊不會翻開地產商選中的那張撲克牌,只會在其餘二者之中翻開(不是葵扇A的)一張。當然,甲可能是「真命天子」,地產商也可以選中葵扇A,那中央大員便在乙和丙中隨意說一位,智囊也在其餘二張牌中隨意翻一張,再看地產商轉不轉軚。

「一次啫,再嚟過!」地產商不憤,餘下兩張牌分明機會均等,怎可能轉軚贏面較高,玩多幾次便見真章。智囊奉陪,今次地產商仍不轉軚,又錯。如此這般玩了二十鋪,地產商漸漸發覺轉軚好像「有着數」,開始改變策略,智囊忍不住說:「我早已告訴你,應該轉軚的。」最終玩了三十鋪,地產商轉軚十四次,對了八次,成功率 57%;反之,不轉軚十六次,對了五次,成功率 31%。轉軚顯然是最優策略。

地產商不明箇中道理,智囊解釋:「如果一開始選中葵扇A,你應該轉軚嗎?」「不該。」「一開始選中葵扇A的機會多少?」「三分一。」「即是說,有三分一情況你不該轉軚,同意?」「OK。」「如果一開始選不中葵扇A,你應該轉軚嗎?」「……」「葵扇A係一號,你選了二號,我逼不得已翻開三號,你應該轉軚嗎?」「應該……啩。」「一開始選不中葵扇A的機會多少?」「三分二。」「即是說,有三分二情況你應該轉軚,同意?」「又好似係喎。」「轉軚贏面三分二,不轉軚贏面三分一,你應該考慮放棄你的好朋友。」地產商沉默不語。

§

故事說完,談談情節出處。智囊的撲克牌遊戲是 Monty Hall problem 的變種,Monty Hall 是美國某遊戲節目的主持人,節目裡有三扇門,其中一扇背後藏着大獎,參加者作出猜測之後,Monty Hall 會敞開另外一扇(沒有隱藏大獎的)門,問參加者轉不轉軚(轉軚是上策,可是許多參加者不信)。已故數學家 Martin Gardner 在 1959 年 Scientific American 雜誌也提出 Three Prisoners problem,三位死囚之中,州長赦免一人,死囚甲說服獄卒透露誰不得赦免,以為如此便可提高生存機率(事實上,甲被赦免的機會不變,仍是三分一)。

Monty Hall problem、Three Prisoners problem、智囊的撲克牌遊戲及地產商的收風方法,四者全是同一問題的變種,數學上是相等的。每個處境都有一位「投機者」及「內幕人士」,投機者說:「我買一號。」內幕人士回應:「千萬不要買二號。」內幕人士礙於規則、文化、禮貌等因素不會直接評論投機者的選擇,結果是,三號的勝算即時提高,一號勝算不變。換句話說,二號的勝算給了三號,一號沒有得益。

依然半信半疑的讀者,可以想像智囊與地產商玩一次大規模的撲克遊戲。桌上攤着一百張牌,只有一張葵扇A。地產商說:「我揀呢張。」智囊翻開其餘九十八張(不是葵扇A的)牌,只剩地產商的「心儀目標」和最後一張蓋着,地產商應否轉軚?我是他的話,一定轉軚。

依然不信?最好自己做一做實驗。故事裡撲克遊戲的數據不是虛構,是我與妹妹親身試驗的結果,證明轉軚真正是上策,我才敢寫這篇文章的。

(2011 年 7 月 28 日 信報副刊)

參考:Scientific American

2010年12月22日 星期三

亂世的秩序

地震、洪水、山火、戰爭、恐怖襲擊。有何共通點?

記者:「年尾製作世界大事回顧的最佳材料。沒有它們,我早已失業。」

無國界醫生:「又是我出動的時候……well,山火未必,但其餘四件,我都會去。」

受虐者:「每件事都曾經發生在我身上,慘劇每晚都會發生。你以為阿富汗才有戰爭嗎?我家每天都在打仗。你怕朝鮮局勢一觸即發?爸爸每秒都一觸即發。死不是最恐怖,活在恐懼之中才是最恐怖。」

天災人禍,新聞有刊載的,通常都是「大件事」。然而,在泛光燈照不到的幽暗角落,有着千千萬萬不值一提的小事件、小悲劇。我們知道汶川大地震,卻不知道每年有超過一百萬次小地震;知道歷年華南水災,卻無暇兼顧成千上萬的小泛濫;記得八仙嶺大火,香港每年上千宗山火你知道嗎?兩次世界大戰眾所周知,而忘卻了無數內戰和衝突;九一一歷歷在目,昨天發生多少次恐怖襲擊你又知不知道?

大災難必上頭條,受害人亦得到各方憐憫和幫助;日常社會天天發生諸如黑幫械鬥、謀殺、強姦、縱火、虐待等小規模悲劇,我們又知道多少?每一件「大事」給大肆報導,有多少件「小事」被忽略及遺忘?「大事」和「小事」發生的頻率有沒有規律呢?

英國人 Lewis Richardson 在上世紀四十年代已經思考類似問題,他想,戰爭、暴動、謀殺骨子裡都是人與人的衝突,是人類侵略性的體現,雖然背景迥異,其中有否一些隱藏規律呢?第二次世界大戰死了二千多萬人,美國內戰「只」死了六十多萬,謀殺受害者由一至數個不等,此等懸殊的「規模」,有何規律可言?Richardson 收集了 1820 至 1945 年所知戰爭的死亡人數,並以英國和威爾斯的謀殺案例估算全球謀殺比率(一次謀殺可視為一次超小型戰爭),發現戰事規模與頻率成反比,傷亡愈慘重愈是罕見,死傷愈輕愈是常見;假如這是唯一發現,不說也罷,但當他把數據繪成圖表,以死亡人數為橫軸,出現頻率為縱軸(兩軸皆為對數),圖中的點竟由左上至右下成一直線!

在對數圖形成一條傾向右下方的直線(如右圖),符合這形態的算式泛稱「power law」,換言之,人類衝突顯示 power law 的形態。事實上,地震、洪水、山火、恐怖襲擊也符合 power law,其規模和頻率繪成對數圖,也會成一條傾向右下方的直線。有「power」之稱,因為數式的主要部分為某數的負次方,「次方」的英文是「power」,故名。

Power law 這名字,大家可能覺得陌生,「黑天鵝現象」應該聽過吧。「黑天鵝」指一些理論上極為罕見、但實際上偶有出現的大震盪(例如股市大瀉),為什麼理論與現實不符呢?研究社會現象的學者,通常假設數據「正常分佈」(normally distributed),「正常分佈」的數字不會離平均值太遠,走向極端的機率極低,這顯然與事實不符。相反,power law 容許極端情況發生(儘管可能性較低),「黑天鵝」的出現顯得較為合理,用來解釋現象比較恰當。在「正常分佈」的框架下,「黑天鵝」是一個謎;在 power law 的框架下,「黑天鵝」早在意料之內。

與 Richardson 同一年代,另一名叫 George Zipf 的學者發現又一有趣現象。把美國城市根據人口排名,其人口比例恰好是排名的比例,例如,第二位城市的人口是第一位的 1/2,第三位人口是第二位的 2/3,如此類推,第一百位人口是第九十九位的 99/100。這是 Zipf's law,用在英語詞彙也可以,「the」是最常用的詞語,「of」次之,後者出現的頻率恰好是前者的 1/2。

Zipf's law 是 power law 的一種。Power law 不僅形容天災人禍,很多社會現象也可以,說 power law 無處不在,不算誇張。

80/20 法則,大家應該聽過。用 20% 努力拿到 80 分,餘下的 20 分卻往往需要 80% 努力,付出愈多,所得遞減。這法則也體現在財富分佈,最富有的兩成人士控制社會上八成財富,另一端看,最窮困的八成人口只佔所有財富的兩成。富者愈富,貧者愈貧,這是 80/20 法則的另一解讀。會考成績又如何?兩成學生拿去八成分數?兩成學校拿去八成「A」?有沒有這樣懸殊,研究過才知。樓市呢?兩成房屋佔去八成市值?比例會不會隨樓市興衰而改變?又一有趣課題。

80/20 法則由意大利人 Vilfredo Pareto 在上世紀初所創,據他所說,財富分佈也跟隨 power law,80/20 法則實是 power law 的另一體現。

Power law 無處不在,遠至無法預測的大地震,近至自食其果的金融海嘯,小至事不關己的謀殺案,大至影響深遠的世界大戰,看似風馬牛不相及,有的天然,有的人為,為什麼竟然隱藏着同一秩序?學者未有答案。對於個別現象,他們能夠提出一些頗具解釋力的模型,但暫時還沒有一套「集大成」的理論涵蓋所有 power law 現象。

某次與親戚飲茶,談到我替信報撰文,一人問:「信報?邊個睇呀?」另一人衝口而出:「最有錢嗰啲人咪睇囉!」真有洞見!的確,信報讀者多是幸運的一群,位處或接近 power law 的頂端,享受着 power law 給幸運兒帶來的好處。對於貧苦老百姓而言,「power law」可能另有所指;他們心目中,「power law」所代表的,可能是「power breeds power」,貧者愈貧,富者愈富,又或者如英文諺語所言「absolute power corrupts absolutely」。

(2010 年 12 月 22 日 信報副刊)

後記:線上遊戲魔獸世界,最活躍的 11% 玩家佔去過半的遊戲時間,與 80/20 法則如出一轍。最沉迷一星期玩 149 小時,平均每天 21.3 小時。

學術參考:
Juan Camilo Bohorquez, Sean Gourley, Alexander R. Dixon, Michael Spagat, Neil F. Johnson (2009), “Common Ecology Quantifies Human Insurgency,” Nature 462, 911-914. doi:10.1038/nature08631

M. E. J. Newman (2005), “Power laws, Pareto Distributions and Zipf's Law,” Contemporary Physics 46, 323-351. doi:10.1080/00107510500052444

Lars-Erik Cederman (2003), “Modeling the Size of Wars: From Billiard Balls to Sandpiles,” American Political Science Review 97, 135-150.

Lewis F. Richardson (1948), “Variation of the Frequency of Fatal Quarrels With Magnitude,” Journal of the American Statistical Association 43, 523-546.

2009年6月12日 星期五

好高騖遠的數學

上文(或轆落一篇)提及觀察者與水平線的距離,例如身高六英尺看到的水平線是三海浬之外,位置越高當然看得越遠,且是有數得計。這條數不難計,只要懂基本的三角幾何。

「h」是觀察者的高度,「R」是水平線離開觀察者的距離,地球的半徑是6371公里,以「E」代表。畢氏定理說:

由於空氣折射,加了「k」這個折射常數,通常以(4/3)為值。運算時,「R」、「h」、「E」 必定要是相同的單位。

若果觀察者高六英尺(h = 6ft),「R」便是 18288ft,以我喜愛的長度換算器換算一下,得出「R」即是 3 Nautical Miles。

通常「h」比「E」細很多,因此開方號內的第二項可以略去,餘下:

「k」和「E」都是常數,再把英尺對海浬的換算包含在內,便成:

直接以英尺的「h」計算海浬的「R」。

若被觀察的物體在空中(即是有自己的高度,「h」),只要用以上方法算兩次「R」,再把之加起來便得出觀察者與觀察物之間的總距離了。

不太明白的話,可到以下連結閱讀更詳盡的解說:

RADAR HORIZON / LINE OF SIGHT (PDF)
Chapter 8, Radar principles for the non-specialist