John Horton Conway 半個多世紀以來,生命遊戲以其無限可能性讓無數數 學家、電腦科學家和業餘愛好者為之著迷,而它的創造者, 英國數學家John Horton Conway(1937-2020)的一 生也是充滿奇思妙想和無窮樂趣。 1937 年出生於利物浦的Conway和同時代的一 些偉大數學家在事業上踏著似曾相識的路:他自小便對 數學產生濃厚興趣,然後進入劍橋大學學習數學,並於 1964 年獲得該校的博士學位,隨後留校任教至1986年 再轉至普林斯頓大學 [2, 3]。 然而,Conway 的行事作風卻絲毫不像一個典型的學 者 [3, 4]。他不喜歡被局限在普林斯頓大學的辦公室裡, 而是喜歡在系裡的休息室和數學大樓的走廊遊走。作為 教授的他經常帶著一些小道具(例如繩子、卡片、骰子、 彈簧,甚至是玩具自行車!)去上課,有時「如果他認為學 生在打瞌睡的話,就會把一隻鞋子扔向窗戶 [4]」。也許 最為人津津樂道的,是他透過遊戲和謎題來研究數學。 末日算法 這裡要介紹另一個由 Conway 發明,有趣又實用的 數學把戲:末日算法(Doomsday Algorithm)[5]。透 過利用一組容易記住,而且每年總是落在一星期中同一 天的「末日」(表二),你就能快速計算出任何一個日子 是星期幾。 月份 一月 二月 三月 四月 五月 六月 末日 3/1(在閏年 則是 4/1) 28/2 (在閏年 則是 29/2) 14/3 4/4 9/5 6/6 月份 七月 八月 九月 十月 十一月 十二月 末日 11/7 8/8 5/9 10/10 7/11 12/12 表二 一組容易記住,而且總是落在一星期中同一天的末日日期(你能從中發現一些規律嗎?對飢腸轆轆的數學家而言,哪個日子別具 意義?) 「我很快便發現對於他〔John Conway〕來說, 玩遊戲和研究數學密不可分,彷彿就像同一個活動。」 — 普林斯頓大學數學教授Manjul Bhargava [3] 讓我們從一個簡單事實開始 — 2000 年的末日都 落在星期二。理論上透過觀察末日在不同年份和世紀 裡落在星期幾的規律,就可以歸納出能計算任何一年 末日是星期幾的方法。然後,透過計算某個特定日期與 其最接近的末日日期之間的差值,便能找出該特定日 期是星期幾。 還是感到困惑嗎?那讓我們看看一個簡單例子 [5]。 提提你,如果在下文看見任何不知從何而來的數字,你可 以隨時翻看文末的備忘錄。 假設我們想知道 1937 年 12 月 26 日是星期幾 ─ 猜猜看?那是Conway的生日![2])─ 我們可先從 1900 年入手。20 世紀的代碼是 3,意味著 1900 年的末 日是星期三。此處要說明一個事實:同月同日的日子在下 一年會在一週裡順移一天,即是例如星期一會變成星期 二,而在閏年則會順移兩天。Conway又再一次分析了 計算結果的規律,並總結成「年份捷徑」。就 1936 年而 言,我們可以將年份捷徑3加到世紀代碼上,即3+3 = 6。 因此,1936 年的末日是星期六。然後我們可以從推論得 知1937年的末日是星期日,因為從 1936 年12月26 日到我們的目標日期之間沒有閏日。 最接近 12 月26日的末日是 12 月12日,所以我們將 26減去 12,得出14,然後將14 除以7,得出餘數為 0, 意味著12月26日與1937年的末日都是一週裡的同一天, 亦即是星期日。 太好了,我們現在知道 Conway 在星期日出生了! 雖然大多數人可能只將末日算法視為一個派對把戲, 但 Conway 並不會就此罷休。他決定挑戰自己,逼自己在 登入電腦時必須計算十個隨機日期,又定下每五年將速度 提高一倍的目標 [6]。因此他的最佳紀錄是令人嘆為觀止 的15.92秒! 聽射性數列 讀至這裡,相信有讀者已經想起我們在第二十三 期介紹過Conway的另一個數學玩意:聽射性數列 (audioactive sequences)。這種特殊數列裡的每個項 都是透過朗讀前一個項而產生的(註一)。Conway 發現 了這種數列的一些有趣特性,並以化學術語加以描述,但 為了避免對還未讀過那篇文章的讀者劇透,我們不會在此 深入探討這種數列。
RkJQdWJsaXNoZXIy NDk5Njg=