這篇是閱讀 Operating Systems: Three Easy Pieces 的 Log-structured File Systems 的心得。
最近聽 Frog 提到在游戲對局搜尋裡,常用位元計算加速搜尋的過程,是該領域的基本功。Frog 以 N-Queen 為例說明作法,結果在我的測試環境裡,N=16 只用了原本 1/7 的時間,加速效果驚人!
了解一件事最好的方法就是用自己的話說一次,PaLa 的想法滿有趣的,這篇說明我讀完後的理解,敘述方式和論文略有不同。
之前寫了兩篇說明相關的背景知識,有需要可以參考:
前篇介紹了前置知識,這篇接著說明主題。我只有大致閱讀來源資料,沒讀完整也沒讀深。往後有更深理解後,再來補充。
老闆剛好看到《費氏數列 O(LogN) 的解法》,寄了一份程式給我,裡面用了一串神祕的公式算出 F(n) 的解,效率一樣是 O(LogN),但沒用到矩陣乘法。
想了一陣子沒什麼頭緒。幸好,生在這個時代數學不好還可以上網偷查。看到《Program for Fibonacci numbers》的說明,研究了一下,搞懂為什麼了。在這裡自己推導一次,寫得詳細一點。
在網路上看到可以用矩陣算出第 N 個費氏數列,時間複雜度是 O(LogN)。於是自己推想了一下。在使用矩陣的提示下,想出解法不會太難。
偶然看到 Linus 在 TED 的演講,對多數人來說不是什麼吸引人的演講。不過從工程師的角度來說,滿有共鳴的。若要說 Linus 和一般工程師有什麼特別的不同,大概是他相當長時間專注在一件事上吧。用比較流行的說法,就是很有恆毅力!
最近看到《Google’s “Director of Engineering” Hiring Test》,覺得作者 Pierre Gauthier 的技術能力超標於這個初階測驗。從他的回答學到了一些東西,這篇針對第九題作個簡單的測試。