星期六, 8月 20, 2005

理論有什麼用?



理論有什麼用?都在談抽象的東西,除非走學術路線,否則一點幫助也沒有阿!

計算機科學裡有一個領域叫做計算理論,主要是討論問題的可計算性,複雜度分類等等。算是很沒用的抽象理論,因為他們討論的是存在性的問題,而不是建構出解的方法(演算法設計)。

但是,理論真的沒用嗎?M. R. Garey, D. S. Johnson 的《Computers and Intractability》給了個很有趣的例子,說明學習計算理論的好處。


老闆:『小明,我這裡有個重要的問題,但是程式跑得很慢,你設計一個有效率一點的演算法來處理這個問題。』

小明是個專業的研究人員,當然一口答應。但是,後來小明發現怎麼樣都找不出有效率的解法。這時候小明該怎麼辦。

應對的方法有很多種,最簡單的一種就是誠實以告:『老闆,對不起,我找不出有效率的解法,我想是我太笨了。』但通常老闆會說:『好吧,那你回家吃自己吧。』

另一種方法則是證明這個問題是不存在有效率的解法。這個時候,小明就可以理直氣壯的跟老闆說:『這個問題根本就不存在有效率的解法啦。』

不過,很不幸地,證明問題不存在有效率的解法也是很難的一件事。如果証不出來怎麼辦?

還有一個方法是,證明該問題和某些一類問題是等價的,這時候你可以跟老闆說:『抱歉,老闆,我找不出有效率的解法,但是沒關係,因為目前為止都沒有人找得出來。』


真的是很有意思的例子。理論還是很實用的.....^^"

Update: 附帶一題,我不太喜歡這本書的英文寫法,常將副詞用痘號插在子句裡,而子句又不短。意義有點混淆,至少對我這種英文不好的人來說,不是很好讀。


Tag: [], [], []

沒有留言: