- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算复杂度研究现状
计算复杂性理论研究现状
摘 要
根据对多项式时间复杂性的存在算法,得出计算复杂性理论把问题按其复杂性分为三大类:存在多项式时间复杂性的问题;肯定不存在多项式时间算法的问题,即具有指数时间复杂性问题;未找到多项式算法,不证明不存在多项式算法。计算复杂性理论是计算机科学理论的一个重要组成部分,当代几乎所有重要的科学问题都与计算复杂性有关,如人工智能问题,认识极限问题等,这些问题都是当代科学前沿的一些重要但未解决的问题。计算复杂性理论正在被人们进行深入的研究,研究的焦点一般集中于NP=? P和设法解NPC问题上,随着计算复杂性理论研究的不断深入,计算机科学理论得到了飞速的发展。
关键词:多项式时间复杂性;NP类;NPC问题
1 图灵机(TM)
图灵机是一种重要的计算模型,是由英国数理逻辑学家A1M1Turing于1936年提出的。它的基本结构思想为1946年计算机的问世在理论上奠定了基础。图灵机不仅可以作为语言识别器,而且可以计算函数,其中,原始的是实现对整函数的计算。从读写带的条数来分,图灵机有一条带的图灵机和多条带的图灵机;从动作函数来分,图灵机有确定的图灵机和不确定的图灵机,不确定的图灵机同确定的图灵机的区别在于它的动作函数D是一个多值映射
从理论上说,有理数可以表示成自然数序偶,实数可以表示成自然数序列(其近似值为有限序列),而非数值信息通常可用自然数编码来处理。因此,图灵机可计算函数包含了迄今为止所有的可计算函数。
图灵机是一种实际可计算的理想机,故图灵机的可计算问题是计算机中可计算性的理论基础,可计算理论早已发展成为一门独立的学科。
2 可计算函数
首先给出完全递归函数的定义如下。
定义211 若存在图灵机TM实现函数f的计算功能,而且对于任意一组输入(i1, i2,+, in),TM都能停机,则称函数f为一个完全递归函数。
定义212 一个函数f是可计算函数,当且仅当f是一个完全递归函数。对于可计算函数,可以设计算法进入计算,而且对于每一个输入,算法都能终止,并且输出计算结果。
3 计算复杂性
计算复杂性是计算机科学理论的一个重要组成部分,计算复杂性包括时间复杂性和空间复杂性。研究问题的计算复杂性是为了找出解决该问题而其复杂性又达到最低(阶)的算法,特别是使时间复杂性达到最低(阶)的算法。
定义311 对于一个问题Q,称其时间复杂性为T(n)(其空间复杂性为S(n)),若存在一个计算问题Q的图灵机,它以T(n)为时间界(以S(n)为空间界)。
时间复杂性一般分为多项式时间复杂性和指数时间复杂性两种,多项式时间复杂性是指可用多项式来对问题的计算时间界定,而指数时间复杂性是指可用指数来对问题的计算时间界定,常见的6种多项式计算时间函数及它们之间的关系是
O(1)O(logn)O(n)O(nlogn)O(n2)O(n^3)
而常见的三种指数计算时间函数和它们之间的关系是
O(2n)O(n! )O(n^n)
具有多项式时间复杂性的问题是可解的,但是具有指数时间复杂性的问题在实践中并不一定是可解的,这是因为求解该问题的算法可能需要极长的机器运行时间和极大的存储空间,使得在现有的计算机上根本就是无法实现,例如,货郎担问题(traveling salesperson problem,TSP)中,当问题规模(访问城市个数)为n,那么TSP共进行的比较操作次数
n(n-1)!/2-1,当访问的城市数为10个,计算机的运行速度为1Mflops(每秒一百万次浮点运算),则所需机器时间为0.118 s;而当访问城市为20个时,所需机器时间长达1929年,显然这个时间是无法容忍的,这类问题只能用近似方法或启发式方法求解。如果能将具有指数时间复杂性的问题转化为具有多项式时间复杂性,那就取得了一个可喜的成就。
4 P类和NP类
一个问题是否存在多项式时间复杂性的求解算法,是人们关心的问题之一,如果一个问题存在多项式时间复杂性的求解算法(即其计算时间(步数)可表示为输入量的多项式函数),那么这个问题就可以借助计算机来实现求解。反之,如果算法所需要的时间(步数)是输入量的指数函数,如T(n)=2n,那么当n很大时(如n\64),T(n)就是一个很大的数量,用计算机是无法在有效的时间内实现求解的。
定义411 用确定的图灵机(DTM)在多项式时间界内可求解的问题称为P类问题;用不确定的图灵机(NTM)在多项式时间界内可求解的问题称为NP类问题。
由于DTM是NTM的一种特殊情形,因此显然有PANP,但问题是是否有NP=P?
问题NP=? P的重要性是明显的,有许多问题(至少几百个),如等划分问题,布尔表达式的可满足性问题等,现已给出了多项式时间的NTM求
原创力文档


文档评论(0)