举实例说明计算复杂性替代原理的实例

安徽工程大学-信息安全替代原理嘚实例及应用-第3讲-密码学的复杂性理论

付费资料是一类需要单独购买的资料非VIP用户原价购买,VIP用户可以享受8折的优惠价格

}

表示时间复杂度的阶有:

例1  两個n阶方阵的乘法

由于是一个三重循环每个循环从1n,则总次数为: n×n×n=n3 时间复杂度为T(n)=O(n3)【立方阶】

x自增看成是基本操作则语句频度為1,即时间复杂度为O(1) 【常量阶】

如果将s=0也看成是基本操作,则语句频度为2其时间复杂度仍为O(1),即常量阶

语句频度为:2n,其時间复杂度为:O(n) 即为【线性阶】

 ∴时间复杂度为O(n2)即此算法的时间复杂度为【平方阶】

一个算法时间为O(1)的算法它的基本运算执行嘚次数是固定的。因此总的时间由一个常数(即零次多项式)来限界。而一个时间为O(n2)的算法则由一个二次多项式来限界

以下六种计算算法时间的多项式是最常用的。其关系为:

  指数时间的关系为:

n取得很大时指数时间算法和多项式时间算法在所需时间上非常悬殊。

1:素数的判断算法

加载中,请稍候......

}

[摘要]: 上世纪70年代开始,诞生了一种許多数学家及电子计算器学家所关心的大问题—NP难问题P=NP?”这个问题作为理论计算机科学的核心问题,其声名早已经超越了这个领域咜是Clay研究所的七个百万美元大奖问题之一,在2006国际数学家大会上它是某个1小时讲座的主题。

[关键词]: NP难问题,NP完全问题计算复杂性,多项式函数

NP难问题,不确定性图灵机在P时间内能解决的问题,是世界七大数学难题之一 NP问题排在百万美元大奖的首位,足见他的显赫地位和无穷魅力NP的英文全称是Non-deterministic Polynomial的问题,即多项式复杂程度的非确定性问题简单的写法是 NP=P?问题就在这个问号上,到底是NP等于P还是NP不等于P

一、NP难问题和P类问题的介绍

   NP问题属于“计算复杂性”研究的课题计算复杂性通俗来说就是用计算机求解问题的难易程度。其度量标准:一昰计算所需的步数或指令条数(即时间复杂度)二是计算所需的存储单元数量(即空间复杂度)。它不是对一个具体问题去研究它的计算复杂性而是依据难度去研究各种计算问题之间的联系,按复杂性把问题分成不同的类即复杂性类。

   如果一个判定性问题的复杂度是該问题的一个实例的规模n的多项式函数则这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间嘚问题的集合通俗的称所有复杂度为多项式时间的问题为易解的问题类否则为难解的问题。

然而有些问题很难找到多项式时间的算法(戓许根本不存在)但是如果给了该问题的一个答案,可以在多项式时间内判断这个答案是否正确这种可以在多项式时间内验证一个解昰否正确的问题称为NP问题,亦称为易验证问题类

二、几个常见的NP问题

问题1:售货员旅行问题

NP 问题的代表问题之一是售货员旅行问题 (traveling salesman problem)。有┅个售货员要开汽车到 n 个指定的城市去推销货物他必须经过全部的 n 个城。现在他有一个有此 n 城的地图及各城之间的公路距离试问他应洳何取最短的行程从家中出发再到家中?

A->B->C->D->E->F->G->A

加起来的结果路径总长225里但是否存在一个更短的路径呢?目前嘚方法接近一个一个的排着试还没有找到更好可以寻得最短路径的方法。对七个城而言共有 6!=720 个排法,尚不算难但若有 20 个城,则排法僦有 19! 种因

问题2:背袋问题(甲)

有 n 个各别重量小于 1 公斤的物品及足够可以装 1 公斤东西的盒子,今将物品装于盒子之中多个物品可装于┅盒,但任何一盒不得重于 1 公斤试求最小的盒子数。 

今有 n 个男孩子与 n 个女孩子参加舞会每个男孩与女孩均交给主持一个名单, 写上他(她)中意的舞伴(至少一人但可以多于一人)。试问主持人在收到名单后是否可以分成 n 对,使每人均得到他(她)所喜欢的舞伴 

某仓库有 D 个存仓,排成一列今有 n 批货物,各可占有一个或多个存仓并已知各批物品存入与提出之日期。试问可否将各货物存入库时不發生存仓不够的困难且同一批货物若需一个以上存仓时其存仓必须相邻。

三、目前求解NP难问题的常见方法

(1) 特殊情形:仔细分析所遇箌的NP完全问题研究具体实例的特殊性,考虑是否必须在最一般的意义来解此问题也许可利用具体实例的特殊性,在特殊条件下解此问題许多NP完全问题在特殊情形下可以找到多项式时间算法。例如求图G的最大团问题(典型描述给定一个图G,要求G的最大团团是指G的一個完全子团,该子团不包含在任何其他的完全子图当中最大团指其中包含顶点最多的团)是NP完全问题,而在图G是平面图的情形下该问題是多项式时间可解的。

(2) 动态规划和分枝限界方法:对于许多NP完全问题来说用动态规划和分枝限界方法常可得到较高的解题效率。

(3) 概率分析:对于许多NP完全问题其困难实例出现的概率很小,因此对这类NP完全问题常可设计出平均性能很好的算法

(4) 近似算法:通常可以设计出解NP完全问题的多项式时间近似算法,以近似解来代替最优解

在第二章的问题3,包装问题中若采取「能装就装」的办法,即现有的盒子若可以装得下就不用新盒子,则此法所需用之盒子数 k1 与最可能少的盒子数 k0 满足  

另一方面,「能装就装」法不可能有两個以上的盒子同时少于 1/2公斤故 

这个问题的结果是说,我们大约可以用「能装就装」法做得最好情形的一半好 经过较复杂的证明,Johnson 在1974年證得当 n 很大时, 

且存在一种情形能产生。 

第二章问题1的售货员旅行问题的一个直观走法是先访问最近那个尚未访问过的城称为「先訪近城」法,以图1为例其走法为 

A->B->C->D->E->F->G->A

(5) 启发式算法:在用别的方法都不能奏效时,也可以采用启发式算法來解NP完全问题这类方法根据具体问题的启发式搜索策略来求问题的解,在实际使用时可能很有效但有时很难说清它的道理。

四、NP问题求解的未来发展方向

   人们在七十年代开始对NP完全问题的研究主要是横向发展也就是以许多不同的计算模型来分析难解问题的本质。这些噺的计算模型包括了平行计算模型、概率计算模型、布尔线路、判断树、平均复杂性、交互证明系统以及程式长度复杂性等等对这些新嘚计算模型的研究一方面使我们对难解问题有了更深一层的认识,一方面也产生了一些预想不到的应用最显著的一个例子就是计算密码學的革命性突破:基于NP问题的公钥密码体系。另一个有名的例子是线性规划的多项式时间解的发现

   到了八十年代中,对NP完全问题的研究有叻纵向的突破在许多表面看来并不相关的计算模型之间发现了深刻的刻划关系。这些刻划关系不但解决了几个令人困扰多年的未解问题同时也刺激了其它相关领域的发展。其中之一是对线路复杂性的研究发现了一些问题在某种有限制的线路模型中必有指数下界这些结果使用了组合数学与概率方法等新的数学工具,并且解决了一个有名的有关多项式分层的未解问题另一个更重大的结果是以概率可验证奣对NP类的刻划。这个结果来自于对交互证明系统这个概念的扩展并且使用了线性代数与编码理论等数学证明技巧。

   PNP是理论计算机科学嘚核心问题从数学的角度来说,它和其他历史上有名的数学问题一样给与人们一个智力上重大的挑战。而更为重要的是在无数与计算有关的的学术领域中,NP完全问题以各种不同形式层出不穷因此,这并不是一个纯粹的与世独立的智力游戏而是对计算机科学有全面影响力的问题。 

计算机与社会科学、自然科学和思维科学等许多学科相互渗透和交叉形成了许多新的边缘学科和新学科群,正在改变许哆传统学科分子与量子计算机的深入研究和技术难关的攻克,并最终投入运算必将在政治、经济、军事、文化乃至人类生活的各个方媔产生深刻的影响。 

最近美国南加州大学Adleman博士应用基于DNA分子计算技术的生物实验方法有效地求解了“哈密顿路径问题”——目前计算机无法解决的NP完备问题生物分子计算机的研制是基于生物分子的信息处理技术,即生物材料的信息处理功能与生物分子的计算技术 

能以叠加方式存贮信息的量子计算可生成一些真正的随机数,这是传统计算机无能为力的数学上已证明量子计算可大大加快因式分解的速度。這一证据也吸引人们将注意力集中在根据量子力学替代原理的实例制造量子计算机上 

计算能力超越图灵机、突破现有的体系结构是计算業界的梦想,不断有报道在DNA计算模型上找到了某NP问题的多项式算法,这应该意味着基于DNA计算模型的P类和NP类的划分会和经典模型有所不同但昰我们仍然希望量子计算能够突破图灵模式,给计算机科学带来一个崭新的世界

}

我要回帖

更多关于 替代原理的实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信