布盧姆加速定理
外觀
在計算複雜性理論,布盧姆加速定理(英語:Blum's speedup theorem)為關於可計算函式複雜度的基本定理,最早由曼紐爾·布盧姆在1967年提出。
選定一種程式語言後,每個可計算函式仍由無窮多個程式實現,該些程式可能各有優劣。給定某個可計算函式和複雜度衡量時,演算法理論經常尋找計算該函式「最不複雜」的演算法(稱為「最優」,例如當複雜度用時間衡量時,便是「最快」)。布魯姆加速定理斷言,任何複雜度衡量下,都存在某個沒有最優演算法的可計算函式,亦即,任何該函式的程式實現都會比另一個實現複雜。此結論同時說明,無法同時定義全部可計算函式的複雜度(函式的複雜度是其最優程式的複雜度)。當然,不排除能找到特定函式的最優程式,並計算其複雜度。
定理敍述
[編輯]給定布盧姆複雜度衡量和二元全可計算函式,必有全可計算謂詞(即輸出只能為布爾值的全可計算函式),使得對於的每個程式,都有的另一個程式,使得對幾乎所有輸入,都有
粗略而言,上式表明存在程式,使其複雜度比程式的複雜度更小,且可以遠遠更小(「遠遠」的含義由指定)。稱為加速函式,它可以很大(只需可計算)。例如,若取,則的複雜度很小,為。
參見
[編輯]參考資料
[編輯]- Blum, Manuel. A Machine-Independent Theory of the Complexity of Recursive Functions (PDF). Journal of the ACM. 1967, 14 (2): 322–336 [2021-08-09]. doi:10.1145/321386.321395. (原始內容存檔 (PDF)於2016-01-15).
- Van Emde Boas, Peter. Bečvář, Jiří , 編. Ten years of speedup. Proceedings of Mathematical Foundations of Computer Science, 4th Symposium, Mariánské Lázně, September 1-5, 1975. Lecture Notes in Computer Science (Springer-Verlag). 1975, 32: 13–29. doi:10.1007/3-540-07389-2_179..