閱讀數學/騎士巡遊(中)
示意圖/Ingimage
上週,我們講歐拉從七橋問題的思路出發,開始分析騎士巡遊。他首先發現了對稱的規則。接着,歐拉將棋盤切成好幾塊小棋盤。如果每一塊小棋盤都有解,那拼起來的大棋盤也有解。他還嘗試切割路徑,經過翻轉、重組後就能得到更漂亮的解法。當衆人只關注下一步、下兩步時;歐拉彷彿盤旋在棋盤上空的老鷹,綜觀全局,提出了完整的解決之道。
1758年底,柏林科學院將騎士巡遊認定爲學術問題,「懸賞」4000法郎,徵求學者們來挑戰。一年後,獎金髮不出去。爲什麼會這樣呢?那可是天才薈萃的年代。答案還是歐拉。作爲柏林科學院的數學部主任,歐拉雖然不能參加自己家舉辦的比賽,但他在1759年提交了論文《一道看似不受任何分析方法處理的奇特問題之解》(Solution d'une question curieuse qui ne paroit soumise à aucune analyse),講述了他對騎士巡遊的解法。
雖然論文沒有立刻發表,但或許是讀過的同儕口耳相傳。甚至,歐拉更早前就寫信給另一位知名數學家哥德巴赫,分享了他對騎士巡遊的部分研究結果。
「歐拉應該已經解完了吧。」
「不可能解贏歐拉的。」
我們不確定這樣的想法是否真實存在,但的確在該年的比賽,最終沒有人得獎。而且,落選名單上也是一片空白。沒人得獎,也沒人落選,很高的機率,也沒人蔘加這場比賽。
既然是演算法,那演算法分析之父當然也要參一腳。歐拉在他的時代奠定了騎士巡遊的分析。直到近代,許多科學家、數學家依然爲此着迷。《The Art of Computer Programming》的作者,也是近代非常重要的電腦科學家高德納(Donald Knuth)也有涉獵騎士巡遊。他寫了一首4行,每行8個字的詩:
這是什麼?
(未完待續)