鬆弛 (Relaxation) — 放鬆點,不求完美才有解
柯布漢-艾德蒙斯假說 (Cobham–Edmonds thesis):如果一個演算法花費的時間是多項次時間 (polynomial time),也就是 O(n2)、O(n3) 或 n 的任何次方,則這個演算法應被視為「有效率」。因此,如果我們知道如何以有效率的演算法在多項次時間內解決問題,此問題是「可解問題」;若無法在多項次時間內解決問題,此問題是「難解問題」。除了是規模極小的難解問題,不管是運算能力多大的電腦,都無法解決難解問題。
要解決「難解問題」,就必須先「放鬆問題的限制」。電腦科學中相當簡單的放鬆方式,是限制鬆弛法 (Constraint Relaxation)。研究人員運用此技巧時,會先移除問題的某些限制,再著手解決問題,有了一定進展之後,再慢慢加回限制。也就是說,數學家先簡化問題,讓問題容易處理後,再把它改回實際狀況。限制鬆弛法是先讓難解的問題變成可解,取得理想化版本的進展後,再思考現實世界的版本。此法不保證可找到最佳解答,但可以幫助在時間限制與決策品質間做出取捨,只要願意接受近似次佳解,再棘手的問題都有適當技巧可以求解。
遇到難解問題,即使擁有超級電腦也無用武之地。我們要學會放鬆 (Relaxation),電腦才派得上用場。
鬆弛法的優點與必要性
No comments:
Post a Comment