拼音 | suàn fǎ | 注音 | ㄙㄨㄢˋ ㄈㄚˇ |
首字母 | sf | 詞性 | 名詞 |
近義詞 | 計演算法則、 計算機程式、 計算過程、 計算方法、 計算模式、 計算規則、 計算技巧、 計算邏輯、 計算機演算法 | ||
反義詞 | 非演算法、 非計算方法、 非計算過程 | ||
基本解釋 | 解題方案的準確和完整的描述。是一個有窮的動作步驟序列,只有一個初始態,每個動作只有一個後繼動作,一步一步地直到序列結束。是解題從開始到結束的動作全過程。 |
演算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
演算法中的指令描述的是一個計算,當其執行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
形式化演算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。這些嘗試包括庫爾特·哥德爾、Jacques Herbrand和斯蒂芬·科爾·克萊尼分別於1930年、1934年和1935年提出的遞迴函式,阿隆佐·邱奇於1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義為形式化演算法的情況。