計算理論基礎

內容

  • 形式語言與自動機:正則語言、上下文無關語言、圖靈機
  • 可計算性:可斷定、可歸約
  • 計算複雜性:時間、空間、難解性

正則語言

肯定有窮自動機DFA:$M=<Q,\Sigma,\delta,q_0,F>,\delta:Q\times\Sigma\rightarrow Q$正則表達式

  • M 接受字符串:$w=w_1...w_n,\exists q_0...q_n,\delta(q_i,w_{i+1})=q_{i+1},q_n\subset F$
  • 正則語言:A={w|w被一個 DFA接受}
  • 正則表達式:$a\in E, R_1R_2\in E, (R_1|R_2)\in E, R_1^*\in E\,if\,R_1\in E,R_2\in E$

非肯定有窮自動機NFA:$M=<Q,\Sigma,\delta,q_0,F>,\delta:Q\times\Sigma\rightarrow P(Q)$算法

  • 任意 NFA,存在一個等價DFA
  • 正則語言$\Leftrightarrow$正則表達式
    • 每一個正則表達式存在一個 NFA 識別,或者一個 DFA識別,即正則語言
    • 每一個正則語言可用正則表達式定義
      • $DFA\Rightarrow GNFA\Rightarrow$正則表達式
  • 利用泵引理,證實一個語言不是正則的$\{1^n0^n\}$
    • 設 A 是一個正則語言,則存在一個數 p(泵長度),使得A中長度不小於 p 的字符串 s=xyz,$\forall i\geqslant 0,xy^iz\in A,|y|>0,|xy|\leqslant p$

上下文無關語言

  • 上下文無關文法CFG:$<V,\Sigma,R,S>,R:V\rightarrow (V\bigcup\Sigma)^*$
  • 下推自動機PDA:$M=<Q,\Sigma,\Gamma,\delta,q_0,F>,\delta:Q\times\Sigma\times\Gamma\rightarrow P(Q,\Gamma)$
  • 上下文無關語言$\Leftrightarrow$被下推自動機識別
  • 斷定上下文無關語言的泵引理,反例$\{2^n1^n0^n\}$
    • 設 A 是一個上下文無關語言,則存在一個數 p(泵長度),使得A中長度不小於 p 的字符串 s=uvxyz,$\forall i\geqslant 0,uv^ixy^iz\in A,|vy|>0,|vxy|\leqslant p$

圖靈機

  • 圖靈機:$M=<Q,\Sigma,\Gamma,\delta,q_0,q_{acc},q_{rej}>,\delta:Q\times\Gamma\rightarrow Q\times\Gamma\times\{L,R\},\Sigma\subset\Gamma$
  • 每一個非肯定的圖靈機都有一個等價的肯定圖靈機
  • Church-Turing假設:算法的直覺概念$\Leftrightarrow$圖靈機算法
  • 線性界限圖靈機:LBA 紙帶長度等於輸入個數

可斷定

  • 可斷定:存在一個圖靈機,對一個語言的任何輸入都能停機(接受或者拒絕),該語言是圖靈可斷定$\Leftrightarrow$圖靈可識別 and 補圖靈可識別。
  • 可斷定語言:$A_{DFA}, A_{NFA}, A_{REX}, EMPTY_{DFA}, EQUAL_{DFA}, A_{CFG}, EMPTY_{CFG}, A_{LBA}$
  • 停機問題:$ATM=\{<M,w>|M\,is\,a\,TM,accept\,w\} $可識別,不可斷定
    • 對角線方法:假設一個可數序列,其始終與第n行、第n列上的不一致。
  • 存在圖靈不可識別語言:圖靈機集合是可數的,語言集合是不可數,所以語言與圖靈機不可能一一對應。
  • 不可斷定:$EMPTY_{TM},  HALT_{TM}, EQUAL_{TM}, EMPTY_{LBA}  採用歸約函數證實

可歸約

  • 函數$r:\Sigma^*\rightarrow\Sigma^*$可計算,若是有圖靈機M,在每一個輸入 w 上,M 停機,此時只有 r(w)出如今紙帶上
  • 函數$T:N\rightarrow N$,若是M在任意輸入x上計算最多隻須要$T(|x|)$個步驟,則稱M在$T(n)$時間內計算 r。
  • 語言 A 映射可歸約到語言 B 若是存在可計算函數 f, $,\forall w,w\in A\Leftrightarrow f(w)\in B$,記爲$A\leqslant_m B$
    • 此時,若是B可斷定,則A也可斷定;若是B圖靈可識別,則A也圖靈可識別。

 時間

  • 複雜度:函數$f,g:N\rightarrow N,f(n)=O(g(n)),if\,f(n)\leqslant C*g(n);f(n)=o(g(n)),if\,f(n)<C*g(n);$。
  • 時間複雜類:$DTIME(t(n))=\{L|L $是肯定型圖靈機$O(t(n))$時間斷定的語言$\},NTIME(t(n))=\{L|L $是非肯定型圖靈機$O(t(n))$時間斷定的語言$\},where\,t:N\rightarrow N$
  • P類:$\bigcup_kTIME(n^k)$
  • NP類:$\bigcup_kNTIME(n^k)$,或者可用肯定型圖靈機在多項式時間內驗證。
  • EXP類:$\bigcup_kTIME(2^{n^k})$
  • 歸約:語言 A 可多項式時間歸約到B,記爲$A\leqslant_p B$,若是存在多項式時間可計算函數$f:\Sigma^*\rightarrow \Sigma^*,\forall w,w\in A\Leftrightarrow f(w)\in B$。
  • NP徹底類:$B\in NP \wedge \forall A\in NP, A\leqslant_p B$。SAT是NP徹底的。

空間

  • 空間複雜度:函數$T:N\rightarrow N$,若是 M 在任意輸入x上計算最多隻須要$T(|x|)$個方格,則稱M在空間$T(n)$內計算。
  • $SPACE(f(n))$:可用肯定型圖靈機在f(n)空間內斷定。$PSPACE=\bigcup_kSPACE(n^k)$
  • $NSPACE(f(n))$:可用肯定型圖靈機在f(n)空間內驗證。$NSPACE=\bigcup_kNSPACE(n^k)$
  • 薩維奇定理:任何函數$f:N\rightarrow N,f(n)\leqslant n, NSPACE(f(n))\subseteq SPACE(f^2(n))$
  • $P\subseteq NP\subseteq PSPACE=NPSPACE\subseteq EXPTIME$
  • PSPACE徹底類:$B\in PSPACE \wedge \forall A\in PSPACE, A\leqslant_p B$。
  • TQBF 問題:TQBF={$<\phi>|\phi$是真的全量詞化布爾表達式} PSPACE 徹底。
  • $L=SPACE(\log n),NL=NSPACE(\log n),coNL=NL\subseteq P$
  • NL徹底性:$B\in NL \wedge \forall A\in NL, A\leqslant_LB$

難解性

近似算法 機率算法 交互式證實系統 並行計算 密碼學app

參考文獻

  • Michael Sipser,Introduction to the Theory of Computation,Course Technology, 2005
  • Sanjeev Arora, Boaz Barak, Computational Complexity, an modern approach, Cambridge University Press, 2015.11
相關文章
相關標籤/搜索