pumping lemma:如果 A 是正则语言,那么存在一个整数 p,如果 s∈A 的长度 ≥p,那么 s 可以被切分成 3 段 s=xyz 满足:(1) xyiz∈A;(2) |y|>0;(3) |xy|≤p。(证明:A 是正则语言,根据正则语言的定义说明存在 DFA 接受 A,设 p=|Q|+1,任意长度 ≥p 的必然走出了环,然后令 y 为最后一个经过的环形成的串)
pumping lemma for CFLs:如果 A 是 CFLs,那么存在一个整数 p,如果 s∈A 的长度 ≥p,那么 s 可以被切分成 5 段 s=uvxyz,满足:(1) uvixyiz∈A;(2) |vy|>0;(3) |vxy|≤p。不妨设 CFG 是乔姆斯基范式,如果 s 足够长,必然有变元重复,去最后一个重复的变元,s 可以展开成一个树结构,其中 x 形成的串是 vxy 的子树,并且这两个是由同一个变元展开的,将 x 替换为 vxy 也是在 A 中的,因此 (1) 成立,(2) 显然成立,(3) 是因为是最后一个重复的变元。
P=⋃kDTIME(nk),NP=⋃kNTIME(nk),EXP=⋃kDTIME(2nk),NEXP=⋃kNTIME(2nk),PSPACE=⋃kSPACE(nk),NPSPACE=⋃kNSPACE(nk),L=SPACE(logn),NL=NPSPACE(logn)。
Cook-Levin:SAT∈NP-complete。对于 L∈NP,设 1-tape 的散漫图灵机判定 L,将快照转移过程表示为 CNF,以此说明 L≤pSAT。
L⊆NL=coNL⊆P⊆NP⊆PSPACE=NPSPACE⊆EXP⊆NEXP。
Σp2:x∈L⇔∃u∈{0,1}q(|x|),∀v∈{0,1},M(x,u,v)=1。同理可得 Πp2。同理可得 Σpn 和 Πpn。Σpk⊆Πpk+1⊆Σpk+2。PH=⋃kΣpk=⋃kΠpk。对任意 i≥1,如果 Σpk=Πkk,则 Σpk=PH。coNP={L:¯¯¯¯L∈NP},coNP:x∈L⇔∀u∈{0,1}p(x),M(x,u)=1。NL=coNL。PATH 是 NL 完全的。如果 P=NP,则 PH=P,BPP=P。
时间分层定理:f(n)logf(n)=o(g(n)),则 DTIME(f(n))⊂DTIME(g(n))(证明:构造图灵机 M,用通用图灵机模拟 Mx 在 x 上 O(g(n)/logn) 次,如果停机,返回相反的结果,没停机,返回 0。因此 M 是属于 DTIME(g(n)) 的,如果存在 M′∈DTIME(f(n)) 模拟 M,那么 M′(<M′>)=M(<M′>),而 M′ 是 DTIME(f(n)) 的,因此会停机,因此会返回 1−M′(<M′>)≠M(<M′>),矛盾)。非确定型时间分层定理:f(n+1)=o(g(n)),则 NTIME(f(n))⊂NTIME(g(n))(证明:惰性对角线方法,不会)。塞维奇定理:NPSPACE(S(n))⊆SPACE(S(n)2)。空间分层定理:f(n)=o(g(n)),则 SPACE(f(n))⊂SPACE(g(n))。
对数空间规约:f:{0,1}∗→{0,1}∗ 称为隐式对数空间可计算的,若 f 是多项式有界的,并且语言 Lf={<x,i>|f(x)i=1} 和语言 L′f={<x,i>|i≤|f(x)|} 均属于 L。称语言 B 对数空间可规约到语言 C,记为 B≤lC,如果存在隐式对数空间可计算函数 f 使得 x∈B 当且仅当 f(x)∈C 对任意 x∈{0,1}∗ 成立。
量化布尔公式(QBF):形如 Q1x1Q2x2…φ(x1,…,xn) 的布尔公式。定义 TQBF 是所有为真的量化布尔公式构成的语言,TQBF 是 PSPACE 完全的(证明:这里只证明 ∀L∈PSPACE,L≤pTQBF,令 M 是 S(n) 空间内判定 L 的图灵机且 x∈{0,1}n,下面构造大小为 O(S(n)2) 的 QBF 使得它为真当且仅当 M 接受 x,令 m=O(S(n)) 是编码 M 在长度为 n 的输入上的格局所需的二进制位的个数,存在布尔公式 φM,x 使得 φM,x(C,C′)=1⇔C 和 C′ 是相邻格局,通过 φM,x 构造 ψ 使得大小多项式并且 ψ(C,C′)=1 则存在 C 到 C′ 的有向路径,然后将 Cstart 和 Caccept 带入 ψ 得到一个 QBF,这个 QBF 为真当且仅当 M 接受 x,接下来是计算 ψ,定义 ψi 表示是否存在长度不超过 2i 的路径,有 ψi(C,C′)=∃C′′ψi−1(C,C′′)∧ψi−1(C′′,C′),然而这个长度太长了,缩减公式规模,ψi(C,C′)=∃C′′∀D1∀D2((D1=C∧D2=C′′)∨(D1=C′′∧D2=C′))⇒ψi−1(D1,D2),这样 ψm 的规模就是 O(m2) 的)。QBF-博弈(PSPACE 完全问题):∃x1∀x2∃x3∀x4…∀x2nφ(x1,…,xn)=1。
线路族和语言识别:T:N→N,T(n) 规模的线路族是一系列布尔线路 {Cn}n∈N,其中 Cn 有 n 个输入位和一个输出位,并且其规模 |Cn|≤T(n) 对任意 n 成立。对于语言 L,如果存在 T(n) 规模的线路族 {Cn}n∈N 使得 x∈L⇔Cn(x)=1 对任意 x∈{0,1}n 成立,则称 L∈SIZE(T(n))。
P/poly=⋃kSIZE(nk)。P⊂P/poly(证明:每个运行时间为 O(T(n)) 的图灵机 M 均可用运行时间为 O(T(n)2) 的散漫图灵机 ~M 模拟(其带头移动独立于输入)。快照 zi 由第 i 步时机器的状态和各个带头读取的符号组成,zi 可以基于一些信息被计算出来,信息包括 x、前一步的快照 zi−1 和快照 zi1,…,zik,其中 ij 表示 M 的第 j 条带的带头在第 ij 步时停留在第 i 步相同的位置上(由于是散漫图灵机,只与 i 有关)。这个线路是多项式规模,可在多项式时间求得,甚至可在对数空间内计算得到,因为 f(n,i) 表示将长度为 n 运行到第 i 步时带头所处的位置是对数空间可计算的)。所有一元语言均属于 P/poly(包括部分不可判定问题,如停机问题的一元形式 :UHALT={1n:n是<M,x>二进制编码,M在输入x上停机})。
一致线路:对于线路族 {Cn},如果存在多项式时间的图灵机 M 在输入 1n 上输出 Cn 的位串表示,则称线路族是 {Cn} 是 P 一致的。如果将线路限定为 P 一致线路,则类 P/poly 坍塌到类 P。
非一致分层定理:对于任意满足满足 2n/n>T′(n)>10T(n)>n 的两个函数,均有 SIZE(T(n))⊂SIZE(T′(n))(证明:对于任意 ℓ,存在函数 f:{0,1}ℓ→{0,1} 不能被规模 2ℓ/(10ℓ) 的线路计算,但均可被规模 2ℓℓ(1+o(1)) 的线路计算)。
类 NC 和类 AC:对于任意 d,如果存在判定语言 L 的线路族 {Cn},使得 Cn 的规模为 poly(n) 且深度为 O(logdn),则称 L 属于类 NCd。类 NC=⋃i≥1NCi。类 ACi 的定义与类 NCi 的定义类似,不过或门和与门可以作用到多于两个的位上。AC=⋃i≥1ACi。NCi⊆ACi⊆NCi+1。PARITY={x:x含有奇数个1}∉AC0。NC1⊆L⊆NL⊆AC1(第三个属于的证明:对于输入 x,格局图是多项式的,写成矩阵,矩阵乘法是 AC0 的,快速幂是 AC1 的)。
对数空间一致线路:对于线路族 {Cn},如果存在隐式对数空间可计算函数将 1n 映射为线路 Cn 的位串表示,则称线路族 {Cn} 是对数空间一致的。对数空间一致当且仅当如下函数是 O(logn) 空间可计算的:SIZE(n) 返回线路规模;TYPE(n,i) 返回第 i 个点的标记(与,或,非,不存在);EDGE(n,i,j) 输出 1 表示线路 Cn 中 i 到 j 有一条有向边。语言 L 存在多项式规模的对数空间一致线路 ⇔L∈P(证明:"⇒":线路可以在多项式时间生成并模拟;"⇐":见 P⊆P/poly 的证明,线路是对数空间可计算的)。
纳言图灵机:在每个 n 值上有个建言 αn,可以在输入长度为 n 的任意输入上计算时使用。P/poly=⋃c,dDTIME(nc)/nd。
概率型图灵机:M 在 T(|x|) 时间停机且 Pr[M(x)=L(x)]≥23。BPTIME(T(n)) 是概率型图灵机在 O(T(n)) 时间内判定的所有语言构成的类,并定义 BPP=⋃kBPTIME(nk)。另一种定义:Prr∈R{0,1}p(|x|)[M(x,r)=L(x)]≥23 对任意 x∈{0,1}∗ 成立。根据定义易知 P⊆BPP⊆EXP。BPP如果P=NP=P。BPP⊆P/poly(证明:每个 n 可以钦定随机串给 Cn,使得没有错误率),BPP⊆Σp2∩Πp2。RTIME(T(n)) 包含所有语言 L,能被一个运行时间为 T(n) 的概率型图灵机 M 识别,并且 x∈L⇒Pr[M(x)=1]≥23,x∉L⇒Pr[M(x)=0]=1。定义 RP=⋃kRTIME(nk)。ZTIME(T(n)) 包含所有语言,它能被一个运行时间的期望为 T(n) 的概率型图灵机 M 识别,且 M 的输出总是正确的。定义 ZPP=⋃kZTIME(nk)。有结论 ZPP=RP∩coRP。同理可以定义出 BPL 和 RL(M 为 O(logn) 空间的概率型图灵机)。UPATH∈RL(无向图连通性判定问题)。注意到 RL⊆NL,进而 RL⊆P。还有结论 BPL⊆P(作业题,设 TM M decides L∈BPL,对于一个输入 M 的格局图是多项式的,矩阵幂算出起点到接收状态的概率)。定义 BP⋅NP={L:L≤r3SAT}。BP⋅NP⊆NP/poly(作业题,Pr[L(x)=3SAT(M(x,r))]≥23,这个 23 经过多次试验可以取到 2−n−1,因此每个 x 最多有 2m2n+1 个错误的种子,因此存在种子每个都正确,即存在线路每个都正确,将 Cn 作为 advice 即可 )。
随机规约:如果存在多项式时间概率型图灵机使得 Prr[B(x)=C(M(x,r))]≥23 对任意 x∈{0,1}∗ 成立,则 B≤rC。
确定型函数的交互:设 f,g:{0,1}∗→{0,1}∗ 是两个函数,k 是一个整数(取值可以依赖输入规模),定义 a1=f(x),a2=g(x,a1),…,a2i+1=f(x,a1,…,a2i),a2i+2=g(x,a1,…,a2i+1),交互结束时 f 的输出定义为 f(x,a1,…,ak),记为 outf<f,g>(x)∈{0,1}。称语言 L 存在确定型交互证明系统,如果存在确定型图灵机 V 在输入 x,a1,…,ai 上运行时间是 |x| 的多项式,且 V 可以与任意函数 P 交互 k 个回合,使得:x∈L⇒∃P:{0,1}∗→{0,1}∗ 满足 out<f,g>(x)=1,x∉L⇒∀P:{0,1}∗→{0,1}∗ 满足 out<f,g>(x)=0。类 dIP 包含所有存在 k(n)=poly(n) 回合确定型交互证明系统的语言。事实上,dIP=NP(证明:显然任意 NP 的语言存在1-回合确定型证明系统,现在证明 L∈dIP⇒L∈NP,设 V 是 L∈dIP 的验证者,说明对于输入 x 存在使 V 接受的笔录 (a1,…,ak),只需查验 V(x)=a1,V(x,a1,a2)=a3…V(x,a1,…,ak)=1 确实成立,这是 NP 的。反过来,如果上述笔录存在,则证明者函数 P 可以定义(因为传入了 x))。
概率型验证者和类 IP:对于整数 k≥1(k 可以依赖于输入的长度),称语言 L 属于 IP[k],如果存在一个概率型多形式时间图灵机 V,它可以与任意函数 P:{0,1}∗→{0,1}∗ 进行 k 个回合的交互使得:x∈L⇒∃P,Pr[out<V,P>(x)=1]≥23,x∉L⇒∀P,Pr[out<V,P>(x)=1]≤13。定义 IP=⋃k≥1IP[nk]。IP=PSPACE(只需证明 PSPACE⊆IP,转为证明 TQBF∈IP[poly(n)],证明在后面)。证明 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯3SAT∈IP(转为证明 #SATD={<ϕ,K>:ϕ是一个3CNF公式并且恰存在K个满足性赋值}∈IP,证明者取质数 p∈(2n,22n],验证者验证 p 是质数(这里可以是概率型素性测试算法),然后用下面的方法校验)
给定 d 次多项式 g(X1,…,Xn),整数 K 和一个素数 p,我们说明证明者如何通过交互式协议向验证者证明论断 K=∑b1∈{0,1}∑b2∈{0,1}…∑bn∈{0,1}g(b1,…,bn),所有计算都在 modp 意义进行,并且 g 具有多项式规模的表示形式,这样验证者就能算 g(b1,…,bn)。和校验协议:V:如果 n=1,验证 g(0)+g(1)=K 是否成立。如果是,则接受,否则拒绝;如果 n≥2,则要求证明者 P 发送 h(X1)=∑b2∈{0,1}…∑bn∈{0,1}g(X1,b1,…,bn)。P:向验证者发送多项式 s(X1),如果证明者没有“欺骗"验证者,则有 s(X1)=h(X1)。V:如果 s(0)+s(1)≠K 则拒绝,否则从 Fp 中选择一个随机数 a,递归地利用本协议验证 s(a)=∑b2∈{0,1}…∑bn∈{0,1}g(a,b2,…,bn)。
对于 TQBF,Ψ∈TQBF⇔∏b1∈{0,1}∑b2∈{0,1}…∑bn∈{0,1}Pϕ(b1,…,bn)≠0。用和校验协议的方法多项式 h(X1) 的次数太大,注意到 xk=x,∀x∈{0,1},因此可以将 Xi 的次数变成一次,设这个操作为 LXi,变成如下表达式 ∀X1L1∃X2L1L2…∃XnL1L2…LnPϕ(X1,…,Xn),这样关于 h(X1) 的次数就低了。(细节:设 U(X1,…,X1)=O g(X1,…,Xk),l=k 或 k−1(取决于 O)。O=∃X1,证明者将一个 d 次多项式 s(X1) 当作 g(X1,a2,…,ak) 发送给验证者。验证者检验 s(0)+s(1)=C′ 是否成立。不成立拒绝,否则随机选取 a∈Fp 并要求证明者证明 s(a)=g(a,a2,…,ak)。O=∀X1,前面相同,检验 s(0)s(1)=C′。O=LX1,证明者希望向验证者证明 U(a1…,an)=C′。证明者将 d 次多项式 s(X1) 当作 g(X1,a2,…,an),验证者验证 a1s(0)+(1−a1)s(1)=C′ 是否成立,不成立拒绝,否则随机 a∈Fp,要求证明者证明 s(a)=g(a,a2,…,ak)。)
AM[k] 定义为验证者只能发送随机比特 IP[k],且不能用使用其它的随机比特。结论:AM[2]=BP⋅NP,k≥2 时,AM[k]=AM[2]。事实上,IP[k]⊆AM[k+2]。GNI∈AM[2]。
Hoeffding's Inequality:独立的随机变量 X1,…,Xn,Xi∈[ai,bi],令 X=∑ni=1Xi,μ=E(X),则 Pr[X≤μ−λ]≤exp(−2λ2∑ni=1(bi−ai)2),Pr[X≥μ+λ] 同理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix