1、计算复杂性的定义一般来说,输入的规模越大,计算过程就越长。计算过程越长,导致计算花费的资源就越多, 资源包括时间,内存,特殊数据库的访问次数等等。计算复杂性研究输入长度 n 与耗费的资源 f(n)之间的关系。复杂性函数 f(n)f,g 是 N 到 R+的函数 f(n)=O(g(n)c,n0(cRn0Nn(nNnn0f(n)cg(n)或者记为 f gn nlogn n(logn)k n2 n3 2n 2exp(n)问题的分类:判定问题 计算问题确定性图灵机非确定图灵机确定性复杂性图灵机计算复杂性给定图灵机 TM,和输入 x,计算时间 DTIME(TM(x)定义为?给定离线图灵机 TM,和输入 x
2、,计算空间 DSPACE(TM(x)定义为?判定问题在给定图灵机下的复杂性什么是判定问题?给定语言 L A*, 任给 x A*,问是否有 xLL 为一语言,M 为判定 L 的图灵机当且仅当?L 为一语言,M 为判定 L 的图灵机,则 M 判定 L 的时间复杂性定义为: ,:)(max)( *nxAxDTIEnt L 为一语言,M 为判定 L 的图灵机,则 M 判定 L 的空间复杂性定义为: ,:)(ax)( *nxAxSPACEns 判定问题自身的复杂性L 为一语言,L 的计算复杂性定义为:计算问题在给定图灵机下的复杂性什么是计算问题?M 计算函数 f 当且仅当?M 计算函数 f 的复杂性定义
3、为:计算问题自身的计算复杂性例子L=0m1m:m0 单带 DTIME(nlogn),多带(DTIME(n) ,离线(DSPACE(logn)单带 DTIME(nlogn)的思路:两个数相同当且仅当他们除 2 的余数每次都一样。f(x,y)=x+y;非确定复杂性非确定图灵机计算复杂性给定非确定图灵机 NTM,和输入 x,计算时间 NTIME(NTM(x)定义为?给定非确定图灵机 NTM,和输入 x,计算空间 NSPACE(NTM(x)定义为?判定问题在给定非确定图灵机下的复杂性什么是判定问题?给定语言 L A*, 任给 x A*,问是否有 xLL 为一语言,N 为判定 L 的非确定图灵机当且仅当
4、?L 为一语言,N 为判定 L 的非确定图灵机,则 M 判定 L 的时间复杂性定义为:,:)(max)( *nxAxNTIMEnt L 为一语言,N 为判定 L 的非确定离线图灵机,则 M 判定 L 的空间复杂性定义为:,:)(max)( *nxAxNSPACEnsN 判定问题自身的非确定时间复杂性L 为一语言,L 的非确定计算复杂性定义为:例子:1. SAT 问题2. TSP 问题。复杂性类常见复杂性类DTIME(f(n)=L:L 是 O(f(n)时间内可判定的语言NTIME(f(n)=L:L 是 O(f(n)时间内非确定图灵机可判定的语言DSPACE(f(n)=L:L 是 O(f(n)空间
5、内可判定的语言NSPACE(f(n)=L:L 是 O(f(n)空间内非确定图灵机可判定的语言DTIME(n), NTIME(n)DTIME(n2), NTIME(n2)DTIME(nk), NTIME(nk), )(0kknDTIMEP )(0kknNTIMEP显然有 PNP, 问是否有 NP P, 或者 说 P=NP?)2(0knOkDTIMEEXTI )2(0knOkNDTIMENXTIEL=DSPACE(logn) NL=NSPACE(logn) )(0kknSPACEPSACE )(0kknSPACESPAE关系DTIME(f(n)NTIME(f(n), DSPACE(f(n)NSPA
6、CE(f(n)NTIME(f(n) DTIME(2f(n)NSPACE(f(n) DTIME(2f(n)描述复杂性字母表 C=0, 1, B ;图灵机描述(五元组):指令描述 q 1a1a2rq2 1010 0 1 0 1001 1010 1 0 1 1000图灵机描述 1010 0 1 0 1001; 1010 1 11 1 1000;x0,1*, 则 x 的描述复杂性定义为C(x)=min|M|+|y|:M(y)=x描述上界定理:C(x) |x|任何的 x 都可以用自己+空图灵机来描述不可压缩定理:长度等于 n 的所有字符串中,存在 x C(x) n/2长度小于等于 n 的字符串共有 2n
7、个,而长度小于 n/2 的描述共有 1+4+4n/2-1表示计算在第 k 此穿过第 i 个位置时的状态为(1,q ki).i可以作为 x 的一个描述,即:M 在 x02nxR的接受计算的第 i 个穿过序列可以复原 x。所以 C(x) ki+c否则如果 x02nxR,y02nyR有相同的接受序列,则有 M 必然接受 x02nyR;因为:将字符串看成是两部分(x0 i 02n-iy) M 在 x0i的计算与 x02nxR一致,在 02n-iy 的计算与y02nyR一致。根据不可压缩定理:存在 x,|x|=n, C(x) n/2 即 ki+c n/2所以 M 在 x02nxR的计算时间 T(n) k1+k2nn2-cn;所以单带图灵机解决回文问题的计算复杂性至少为 O(n2)