日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )

發布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、計算理論內容概覽
  • 二、計算問題的判定性
  • 三、計算問題的 有效性
  • 四、時間復雜性度量
  • 五、算法有效性 數學定義需求
  • 六、輸入表示
  • 七、時間復雜度





一、計算理論內容概覽



計算理論分為 形式語言與自動機 , 可計算部分 , 計算復雜性部分 ;


形式語言與自動機 內容 : 自動機 , 確定性有限自動機 , 非確定性有限自動機 , 正則語言 , 泵引理 , 上下文無關語法 , 下推自動機 , 都屬于 形式語言 與 自動機 部分 ;


可計算 內容 : 圖靈機 , 確定性圖靈機 , 非確定性圖靈機 , 丘奇-圖靈命題 , 可判定性 , 可計算性 等問題 ;


計算復雜性 內容 : 時間復雜性 , 模型間的時間復雜性關系 , P\rm PP 類 , NP\rm NPNP 類 ;


計算理論 知識點很枯燥 , 但是 在進行理論研究時 , 或者大的計算機工程實踐時 , 很有用 ;





二、計算問題的判定性



根據計算模型 , 可以將判定性問題 , 總結成以下幾點 :

① 所有 關于 圖靈機 的計算問題 , 都是 不可判定的 ; ( 萊斯定理 )

② 所有 關于 確定性有限自動機 的計算問題 , 都是可判定的 ;

③ 關于 下推自動機 的計算問題 , 有些可判定 , 有些不可判定 ;





三、計算問題的 有效性



可計算性 包含 可判定性 , 可判定性 包含 有效性 ;

可計算性 > 可判定性 > 有效性 ;


計算問題 對應的算法中 , 有些算法是 有效的 , 有些算法是 無效的 ,

如 : 窮舉算法 , 蠻力搜索之類的算法 , 沒有有效性可言 , 肯定不是有效算法 ; 貪心算法 , 歐幾里得算法 是有效算法 ;

這里希望可以區分 有效算法 與 無效算法 ;






四、時間復雜性度量



計算機中度量時間長短有兩種方式 :

① 離散時間 ( 自然數表達 ) : 時間是離散的 , 如 1,2,3,4,?1, 2, 3, 4 , \cdots1,2,3,4,?

② 連續時間 ( 實數表達 ) : 時間是連續的 , 如 1.221457?1.221457\cdots1.221457?

計算復雜性的表達使用的是 離散時間 , 自然數表達 ;





五、算法有效性 數學定義需求



有效性 與 無效性 區分時 , 將 貪心算法 分到有效性算法中 , 將蠻力窮舉的算法 分到無效性算法中 ;

需要定一個區分原則 , 區分算法的有效性 , 將一個算法分為 有效算法 或 無效算法 ;

為 算法有效性 提供一個 嚴格的數學定義 ;





六、輸入表示



輸入字符串大小 , 輸入字符串越長 , 所花的時間越長 , 計算所花的時間與輸入字符串時單調遞增的 ;

有效性 進行定義時 , 通過輸入字符串大小進行度量 ;


計算機計算輸入有很多形式 , 數字 , 圖形 , 字符串 , 二進制數據 等 ;

數字的表示 , 假如輸入數字是 171717 , 要將對應的時間復雜度理解成 222 , 這個數字由 222 位數字組成的 ;

如果將上述 171717 數字 , 使用二進制表示 , 是 100011000110001 , 輸入位數是 555 , 對應的時間復雜度理解成 555 ;


算法復雜性 只與輸入的數據大小有關 , 輸入的大小必須是合理的 ;

輸入數字時 , 可以輸入 十六進制 , 十進制 , 八進制 , 二進制 , 但是不能輸入 一進制數字 , 一進制輸入是不合理的 ;





七、時間復雜度



假設 M\rm MM確定性圖靈機 , 該圖靈機在所有的輸入上都會 停機 ;

因為該圖靈機會停機 , 其結果不是接受 , 就是拒絕 , 不會出現 Loop 不停機的狀態 , 因此該 圖靈機 M\rm MM 是判定機 ;


圖靈機 M\rm MM 的運行時間 或 時間復雜度 是一個函數 f\rm ff , 該函數是 從 自然數集 到 自然數集上的映射 , N→N\rm N \to NNN ;

前面的自然數集 N\rm NN 主要是度量的 輸入字符串大小 , 后面的自然數集 N\rm NN 是計算的步數 ;


f(n)\rm f(n)f(n) 的含義是度量 長度為 n\rm nn 的所有字符串 , 計算時所花費的步數的 最大值 ;



證明 M\rm MM 為什么必須是判定機 :

假設 M\rm MM 是圖靈機 , 在某些輸入上是不停機的 , 如輸入字符串為 aab\rm aabaab ;

圖靈機 M\rm MMaab\rm aabaab 字符串上進行計算時 , 進入 Loop 狀態 , 不停機 , 此時定義 f(3)\rm f(3)f(3) 的值只能是無窮大 ;

此時該函數 f(n)\rm f(n)f(n) 就沒有意義了 ;

函數在數字上進行取值時 , 必須是一個具體的數字 ;

總結

以上是生活随笔為你收集整理的【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。