- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《完成时间复杂性和空间复杂性定义
计算复杂性的定义
一般来说,输入的规模越大,计算过程就越长。
计算过程越长,导致计算花费的资源就越多, 资源包括时间,内存,特殊数据库的访问次数等等。
计算复杂性研究输入长度n与耗费的资源f(n)之间的关系。
复杂性函数f(n)
f,g是N到R+的函数f(n)=O(g(n))??c,n0(c?R?n0?N??n(n?N?nn0?f(n)?cg(n)))或者记为fg
nnlognn(logn)kn2…n3…2n…2exp(n)
问题的分类:
判定问题 计算问题 确定性图灵机 非确定图灵机 确定性复杂性
图灵机计算复杂性
给定图灵机TM,和输入x,计算时间DTIME(TM(x))定义为?
给定离线图灵机TM,和输入x,计算空间DSPACE(TM(x))定义为?
判定问题在给定图灵机下的复杂性
什么是判定问题?
给定语言L ?A*, 任给x ?A*,问是否有x?L
L为一语言,M为判定L的图灵机当且仅当?
L为一语言,M为判定L的图灵机,则M判定L的时间复杂性定义为:
L为一语言,M为判定L的图灵机,则M判定L的空间复杂性定义为:
判定问题自身的复杂性
L为一语言,L的计算复杂性定义为:
计算问题在给定图灵机下的复杂性
什么是计算问题?
M计算函数f当且仅当?
M计算函数f的复杂性定义为:
计算问题自身的计算复杂性
例子
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*,问是否有x?L
L为一语言,N为判定L的非确定图灵机当且仅当?
L为一语言,N为判定L的非确定图灵机,则M判定L的时间复杂性定义为:
L为一语言,N为判定L的非确定离线图灵机,则M判定L的空间复杂性定义为:
判定问题自身的非确定时间复杂性
L为一语言,L的非确定计算复杂性定义为:
例子:
SAT问题
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))空间内可判定的语言}
NSPACE(f(n))={L:L是O(f(n))空间内非确定图灵机可判定的语言}
DTIME(n), NTIME(n)
DTIME(n2), NTIME(n2)
DTIME(nk), NTIME(nk)
,
显然有P?NP, 问是否有 NP?P, 或者 说P=NP?
L=DSPACE(logn) NL=NSPACE(logn)
关系
DTIME(f(n))?NTIME(f(n)), DSPACE(f(n))?NSPACE(f(n))
NTIME(f(n)) ?DTIME(2f(n))
NSPACE(f(n)) ?DTIME(2f(n))
描述复杂性
字母表C={0, 1, B ‘;’}
图灵机描述(五元组):
指令描述 q1a1a2rq2 1010 0 1 0 1001 1010 1 0 1 1000
图灵机描述1010 0 1 0 1001; 1010 1 11 1 1000;
x?{0,1}*, 则x的描述复杂性定义为
C(x)=min{|M|+|y|:M(y)=x}
描述上界定理:C(x) ?|x|
任何的x都可以用自己+空图灵机来描述
不可压缩定理:长度等于n的所有字符串中,存在x C(x) ?n/2
长度小于等于n的字符串共有2n个,而长度小于n/2的描述共有1+4+…+4n/2-12n
回文问题L={xxR: x?{0,1}*}
假设单带图灵机M在T(n)时间内判定语言L
对于M在x02nxR上的计算,定义第i个位置的穿过序列?i=(0,qi1),(1,qi2),…,(1,qki)表示计算在第k此穿过第i个位置时的状态为(1,qki).
?i可以作为x的一个描述,即:M在x02nxR的接受计算的第i个穿过序列可以复原x。所以C(x)? ki+c
否则如果x02nxR,y02nyR有相同的接受序列,则有M必然接受x02nyR;因为:将字符串看成是两部分(x0i 02n-iy) M在x0i的计算与x02nxR一致,在02n-iy的计算与y02nyR一致。
根据不可压缩定理:存在x,|x|=
文档评论(0)