计算理论基础

内容

  • 形式语言与自动机:正则语言、上下文无关语言、图灵机
  • 可计算性:可判定、可归约
  • 计算复杂性:时间、空间、难解性

正则语言

确定有穷自动机DFA:M=<Q,Σ,δ,q0,F>,δ:Q×Σ→QM=<Q,Σ,δ,q0,F>,δ:Q×Σ→Q

  • M 接受字符串:w=w1...wn,∃q0...qn,δ(qi,wi+1)=qi+1,qn⊂Fw=w1...wn,∃q0...qn,δ(qi,wi+1)=qi+1,qn⊂F
  • 正则语言:A={w|w被一个 DFA接受}
  • 正则表达式:a∈E,R1R2∈E,(R1|R2)∈E,R∗1∈EifR1∈E,R2∈Ea∈E,R1R2∈E,(R1|R2)∈E,R1∗∈EifR1∈E,R2∈E

非确定有穷自动机NFA:M=<Q,Σ,δ,q0,F>,δ:Q×Σ→P(Q)M=<Q,Σ,δ,q0,F>,δ:Q×Σ→P(Q)

  • 任意 NFA,存在一个等价DFA
  • 正则语言⇔⇔正则表达式
    • 每个正则表达式存在一个 NFA 识别,或者一个 DFA识别,即正则语言
    • 每个正则语言可用正则表达式定义
      • DFA⇒GNFA⇒DFA⇒GNFA⇒正则表达式
  • 利用泵引理,证明一个语言不是正则的{1n0n}{1n0n}
    • 设 A 是一个正则语言,则存在一个数 p(泵长度),使得A中长度不小于 p 的字符串 s=xyz,∀i⩾0,xyiz∈A,|y|>0,|xy|⩽p∀i⩾0,xyiz∈A,|y|>0,|xy|⩽p

上下文无关语言

  • 上下文无关文法CFG:<V,Σ,R,S>,R:V→(V⋃Σ)∗<V,Σ,R,S>,R:V→(V⋃Σ)∗
  • 下推自动机PDA:M=<Q,Σ,Γ,δ,q0,F>,δ:Q×Σ×Γ→P(Q,Γ)M=<Q,Σ,Γ,δ,q0,F>,δ:Q×Σ×Γ→P(Q,Γ)
  • 上下文无关语言⇔⇔被下推自动机识别
  • 判定上下文无关语言的泵引理,反例{2n1n0n}{2n1n0n}
    • 设 A 是一个上下文无关语言,则存在一个数 p(泵长度),使得A中长度不小于 p 的字符串 s=uvxyz,∀i⩾0,uvixyiz∈A,|vy|>0,|vxy|⩽p∀i⩾0,uvixyiz∈A,|vy|>0,|vxy|⩽p

图灵机

  • 图灵机:M=<Q,Σ,Γ,δ,q0,qacc,qrej>,δ:Q×Γ→Q×Γ×{L,R},Σ⊂ΓM=<Q,Σ,Γ,δ,q0,qacc,qrej>,δ:Q×Γ→Q×Γ×{L,R},Σ⊂Γ
  • 每个非确定的图灵机都有一个等价的确定图灵机
  • Church-Turing假设:算法的直觉概念⇔⇔图灵机算法
  • 线性界限图灵机:LBA 纸带长度等于输入个数

可判定

  • 可判定:存在一个图灵机,对一个语言的任何输入都能停机(接受或者拒绝),该语言是图灵可判定⇔⇔图灵可识别 and 补图灵可识别。
  • 可判定语言:ADFA,ANFA,AREX,EMPTYDFA,EQUALDFA,ACFG,EMPTYCFG,ALBAADFA,ANFA,AREX,EMPTYDFA,EQUALDFA,ACFG,EMPTYCFG,ALBA
  • 停机问题:ATM={<M,w>|MisaTM,acceptw}ATM={<M,w>|MisaTM,acceptw}可识别,不可判定
    • 对角线方法:假设一个可数序列,其始终与第n行、第n列上的不一致。
  • 存在图灵不可识别语言:图灵机集合是可数的,语言集合是不可数,因此语言与图灵机不可能一一对应。
  • 不可判定:$EMPTY_{TM},  HALT_{TM}, EQUAL_{TM}, EMPTY_{LBA}  采用归约函数证明

可归约

  • 函数r:Σ∗→Σ∗r:Σ∗→Σ∗可计算,如果有图灵机M,在每个输入 w 上,M 停机,此时只有 r(w)出现在纸带上
  • 函数T:N→NT:N→N,如果M在任意输入x上计算最多只需要T(|x|)T(|x|)个步骤,则称M在T(n)T(n)时间内计算 r。
  • 语言 A 映射可归约到语言 B 如果存在可计算函数 f, ,∀w,w∈A⇔f(w)∈B,∀w,w∈A⇔f(w)∈B,记为A⩽mBA⩽mB
    • 此时,如果B可判定,则A也可判定;如果B图灵可识别,则A也图灵可识别。

 时间

  • 复杂度:函数f,g:N→N,f(n)=O(g(n)),iff(n)⩽C∗g(n);f(n)=o(g(n)),iff(n)<C∗g(n);f,g:N→N,f(n)=O(g(n)),iff(n)⩽C∗g(n);f(n)=o(g(n)),iff(n)<C∗g(n);。
  • 时间复杂类:DTIME(t(n))={L|LDTIME(t(n))={L|L是确定型图灵机O(t(n))O(t(n))时间判定的语言},NTIME(t(n))={L|L},NTIME(t(n))={L|L是非确定型图灵机O(t(n))O(t(n))时间判定的语言},wheret:N→N},wheret:N→N
  • P类:⋃kTIME(nk)⋃kTIME(nk)
  • NP类:⋃kNTIME(nk)⋃kNTIME(nk),或者可用确定型图灵机在多项式时间内验证。
  • EXP类:⋃kTIME(2nk)⋃kTIME(2nk)
  • 归约:语言 A 可多项式时间归约到B,记为A⩽pBA⩽pB,如果存在多项式时间可计算函数f:Σ∗→Σ∗,∀w,w∈A⇔f(w)∈Bf:Σ∗→Σ∗,∀w,w∈A⇔f(w)∈B。
  • NP完全类:B∈NP∧∀A∈NP,A⩽pBB∈NP∧∀A∈NP,A⩽pB。SAT是NP完全的。

空间

  • 空间复杂度:函数T:N→NT:N→N,如果 M 在任意输入x上计算最多只需要T(|x|)T(|x|)个方格,则称M在空间T(n)T(n)内计算。
  • SPACE(f(n))SPACE(f(n)):可用确定型图灵机在f(n)空间内判定。PSPACE=⋃kSPACE(nk)PSPACE=⋃kSPACE(nk)
  • NSPACE(f(n))NSPACE(f(n)):可用确定型图灵机在f(n)空间内验证。NSPACE=⋃kNSPACE(nk)NSPACE=⋃kNSPACE(nk)
  • 萨维奇定理:任何函数f:N→N,f(n)⩽n,NSPACE(f(n))⊆SPACE(f2(n))f:N→N,f(n)⩽n,NSPACE(f(n))⊆SPACE(f2(n))
  • P⊆NP⊆PSPACE=NPSPACE⊆EXPTIMEP⊆NP⊆PSPACE=NPSPACE⊆EXPTIME
  • PSPACE完全类:B∈PSPACE∧∀A∈PSPACE,A⩽pBB∈PSPACE∧∀A∈PSPACE,A⩽pB。
  • TQBF 问题:TQBF={<ϕ>|ϕ<ϕ>|ϕ是真的全量词化布尔表达式} PSPACE 完全。
  • L=SPACE(logn),NL=NSPACE(logn),coNL=NL⊆PL=SPACE(log⁡n),NL=NSPACE(log⁡n),coNL=NL⊆P
  • NL完全性:B∈NL∧∀A∈NL,A⩽LBB∈NL∧∀A∈NL,A⩽LB

难解性

近似算法 概率算法 交互式证明系统 并行计算 密码学

参考文献

  • 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

猜你喜欢

转载自blog.csdn.net/cd2dvd/article/details/86656441
今日推荐