测度和复杂性分类

测度和复杂性分类

ID:13991215

大小:87.50 KB

页数:13页

时间:2018-07-25

测度和复杂性分类_第1页
测度和复杂性分类_第2页
测度和复杂性分类_第3页
测度和复杂性分类_第4页
测度和复杂性分类_第5页
资源描述:

《测度和复杂性分类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、语言与计算理论导引可计算函数第五部分计算复杂性导引到现在,在我们讨论决策问题时,我们只考虑问题是否具有可解的性质。在现实生活中,用于解决问题的计算资源是有限的:可获得的时间和空间都是有限的。结果,一些可解的问题的中等规模的实例在实际中都变得很难以解决。在第5部分,我们考虑鉴别难解问题的方法,主要通过描述解决问题的一定规模的实例时,所需要的时间和内存的数量。虽然,强调的重点是运行时间,我们也给出有关空间的基本定义,并提到涉及空间的最基本的结果。在第14章,我们首先引入涉及增长率的记号和术语,这允许我们在后面章节以合理的方式讨

2、论象“多少时间?”这样的问题。我们把这些数量问题与我们特定的计算模型相联系,然后讨论一些基本的复杂类。这也是根据问题和语言内在的复杂性对它们分类的方法。为了区分易解问题和难解问题(注意,前面我们讨论的可解问题和无解问题),正如我们将在第15章讨论的,常用的标准是在图林机上是多项式时间可解的。根据这个标准,许多问题是易解的,也有些问题是难解的。我们可以修改第12章的规约技术得到这两类问题的例子。也许更有趣的问题是根据这个标准,至今仍然无法判断的一些问题,没有人发现这些问题的多项式时间解决方法,但是也没有人能够证明不存在多项式

3、时间解决方法。NP完全的概念就是接近这个主题的一个方法。在第15章的最后两节,我们给出可满足问题的NP完全性的cook证明和一些通过多项式时间规约被证明是NP完全的组合问题的例子。14测度和复杂性分类14.1函数的增长率计算问题的复杂性能够通过固定的计算模型来讨论,主要考虑为了解决这个问题,需要多少机器的资源(通常指时间和空间)。为了对两个问题内在复杂性进行有意义的比较,有必要考察一定范围内的实例的解决情况。如果我们把运行时间作为标准,比如,最常用的方法是比较两个运行时间的增长率,每个运行时间都看成是实例规模的函数。我们引

4、入一些处理运行时间的数量的增长率的定义和记号。我们从一个比较4个简单函数的例子开始。例子14.1我们考虑函数p1(n)=2n2p2(n)=n2+3n+7P3(n)=n3q(n)=2n表14.1显示了这4个函数对应部分变量取值n的各自的函数值,这些函数值很清楚显示了每个函数的增长趋势。对于比较小的值n,p2(n)的值远远大于p1(n),但是当n=1000时,p2(n)中低阶的项3n+7变得相对可忽略了,而p1中的因子2几乎完全决定了p1和p2之间的差别。p3是更高阶的多项式,尽管没有额外的因子和低阶项,但是它的值的增长速度比

5、前两个函数都要快很多。更惊人的增长趋势体现在第4个指数函数q上。我们再次看到对于最前面的几个小数值没有什么特别的地方,但是对于n=10之后的数值,它就比其他3个函数值都要大了,当n=1000时,p3(n)是1百万,而q(n)则是难以想象地大了。如果表中数据的单位是纳秒(nanosecond,又译毫微秒,一秒的10亿分之一),那么p3(1000)表示1秒,而q(1000)表示超过3*10282世纪。加入表14.113陶晓鹏Copyright2003语言与计算理论导引可计算函数表14.1展示了不同增长率的效果,p1和p2有不同

6、的规模,主要是因为p1的因子2,但是它们的增长率是一致的。立方多项式的增长率更大一些,但是这三个多项式的增长率都远远小于指数函数。一旦我们有了能够精确描述增长率的定义,其中一个我们感兴趣的主要区别将是多项式增长率和指数增长率之间的区别。这个例子显示的许多明显的特征将体现在定义中。定义14.1如果f,g:N®N是部分函数,每个函数除了在有限个点外,其他值都是有定义的。如果存在常量C和n0,使得对于每个n>=n0,f(n)和g(n)都是有定义的,且f(n)<=Cg(n),那么我们写f(n)=O(g(n))(或者简单地,f=O(

7、g))如果对于每个正常数C,存在一个常量n0,使得对于每个n>=n0,都有f(n)<=Cg(n),那么我们写f(n)=o(g(n))(或者简单地,f=o(g))最后,如果f=O(g)且g=O(f),则写成f=Q(g)语句f=O(g),f=o(g)和f=Q(g)分别读着“f是g的大O”,“f是g的小o”和“f是g的大Q”。所有这些语句可以用比率f(n)/g(n)来重新描述,假设g(n)最终会大于0。说f=o(g)意味着当n趋于无穷大时,这个比率的极限为0,而f=O(g)表示这个极限是有界的,而f=Q(g),如果两个函数都最终

8、是非0的,则表示f/g和g/f的极限值都是有界的,即f/g的极限值介于两个固定的正数之间。如果f=O(g)不成立,则写成f¹O(g),类似地,得到另外两个不成立的表示法。f¹O(g)意味着不存在常数C,使得对于所有的n的大值,f(n)<=Cg(n),换句话说,比率f(n)/g(n)是无界的。一个语句,比

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。