数学理论复杂性.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数学理论复杂性.ppt》由会员分享,可在线阅读,更多相关《数学理论复杂性.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京师范大学北京师范大学 数学学院数学学院 杨进杨进 网络与信息安全网络与信息安全2023/5/28问题复杂性问题复杂性第第2 2章章 信息安全数学基础(计算复杂性)信息安全数学基础(计算复杂性)算法复杂性算法复杂性2023/5/28问题复杂性问题复杂性第第2 2章章 信息安全数学基础(计算复杂性)信息安全数学基础(计算复杂性)算法复杂性算法复杂性2023/5/28l为什么要学习计算复杂性?为什么要学习计算复杂性?l计算复杂性是研究密码分析对于计算量的需求和密码分计算复杂性是研究密码分析对于计算量的需求和密码分析的困难程度析的困难程度,从而得出这些密码技术和算法在现有,从而得出这些密码技术和算
2、法在现有可行的条件下是否具有足够的安全性。可行的条件下是否具有足够的安全性。l学习计算复杂性,需要掌握两个概念:学习计算复杂性,需要掌握两个概念:l问题问题l算法算法 计算复杂性计算复杂性2023/5/28问题(问题(problem)l(问题)定义:即需要回答的一般性提问(问题)定义:即需要回答的一般性提问:l它通常含有若干个参数。它通常含有若干个参数。l对于一个问题进行描述应该包括两方面的内容:对于一个问题进行描述应该包括两方面的内容:l必须对问题的所有给定参数给出一般性描述;必须对问题的所有给定参数给出一般性描述;l必须描述该问题的答案(或解)应该满足的性质。必须描述该问题的答案(或解)应
3、该满足的性质。l当问题的所有参数都有了确定的取值时,我们称得到了当问题的所有参数都有了确定的取值时,我们称得到了该问题的一个实例(该问题的一个实例(instance)。)。2023/5/28算法(算法(algorithm)l定义(算法)定义(算法):即求解某个问题的一系列具体步:即求解某个问题的一系列具体步骤(通常被理解为求解所需的通用计算程序)。骤(通常被理解为求解所需的通用计算程序)。l算法总是针对具体问题而言的,求解一个问题的算法通算法总是针对具体问题而言的,求解一个问题的算法通常不止一个。常不止一个。l当某个算法能够回答一个问题的任何实例时,我们称该当某个算法能够回答一个问题的任何实例
4、时,我们称该算法能够回答这个问题。算法能够回答这个问题。l当一个问题至少有一个能够回答该问题的算法时,我们当一个问题至少有一个能够回答该问题的算法时,我们称该问题可解(称该问题可解(resolvable),否则称该问题不可解),否则称该问题不可解(unresolvable)。)。2023/5/28算法(算法(algorithm)(续)(续)l有关算法的几点注释有关算法的几点注释:l算法总有输入和输出算法总有输入和输出l算法输入大小一般用输入变量的长度(单位为位)算法输入大小一般用输入变量的长度(单位为位)来表示来表示l一般来说,算法用某种编程语言来实现的计算机程序一般来说,算法用某种编程语言来
5、实现的计算机程序l一般来说,我们仅仅关注解决问题最有效的算法一般来说,我们仅仅关注解决问题最有效的算法2023/5/28问题与算法问题与算法l问题:如何求解两个整数问题:如何求解两个整数a和和b的最大公约数?的最大公约数?l参数:a和bl问题实例:a20,b30l算法:利用因子分解求算法:利用因子分解求a20和和b30的最大公约的最大公约数数la225lb235l因此a和b 的最大公约数是25102023/5/28算法复杂性算法复杂性 l(算法复杂度)定义:即度量该算法所需的计算(算法复杂度)定义:即度量该算法所需的计算能力能力,包括:,包括:l时间复杂性时间复杂性T(time complex
6、ity););l空间复杂性空间复杂性S(space complexity););l信道带宽;信道带宽;l数据总量;数据总量;l2023/5/28算法复杂性(续)算法复杂性(续)l计算复杂性的表示符号为计算复杂性的表示符号为“O”(称为(称为“大大O”,即算法,即算法的阶号),表示计算复杂性的的阶号),表示计算复杂性的数量级数量级 好处:好处:l使算法复杂性度量与处理器的运行速度和指令运行时间无关;使算法复杂性度量与处理器的运行速度和指令运行时间无关;l明确地揭示了输入的数据长度对算法复杂性的影响。明确地揭示了输入的数据长度对算法复杂性的影响。2023/5/28算法复杂性(续)算法复杂性(续)l
7、算法常见复杂性分类算法常见复杂性分类l(1)常数算法()常数算法(constant Algorithm):):l如果运行时间是如果运行时间是O(1),即该算法的复杂性不依赖于,即该算法的复杂性不依赖于n。l(2)线性算法()线性算法(linear Algorithm):):l如果运行时间是如果运行时间是O(n)。l(3)多项式算法多项式算法(polynomial Algorithm):):l如果运行时间是如果运行时间是O(nm),其中,其中m是一个常数。具有多项式复杂性的算法是一个常数。具有多项式复杂性的算法族被称为多项式时间算法。族被称为多项式时间算法。l(4)超多项式算法()超多项式算法(
8、superpolynomial Algorithm):):l如果运行时间是,其中如果运行时间是,其中c是一个常数,而是一个常数,而s(n)是关于是关于n的大于常数而小于的大于常数而小于线性的函数。线性的函数。l(5)指数算法指数算法(exponential Algorithm):):l如果运行时间是,其中如果运行时间是,其中t是大于是大于1的常数,的常数,f(n)是关于是关于n的多项式函数。的多项式函数。2023/5/28算法复杂性(续)算法复杂性(续)l算法常见复杂性分类算法常见复杂性分类l一般而言,常数算法、线性算法、多项式算法和超多一般而言,常数算法、线性算法、多项式算法和超多项式算法统
9、称为项式算法统称为多项式算法多项式算法。l所谓多项式,就是具有下列形式的一个函数:所谓多项式,就是具有下列形式的一个函数:其中,其中,k和和ck是常数,且是常数,且ci称称0为。当为。当k0时,时,k称为多项式的称为多项式的次数,次数,ci称为多项式的系数。称为多项式的系数。2023/5/28算 法 复 杂 性l算法的分类及其运行时间算法的分类及其运行时间 算法算法类类型型复复杂杂性性运算次数运算次数n106时间时间多多项项式算法式算法常数算法常数算法O(1)11微秒微秒线线性算法性算法O(n)1061秒秒二次多二次多项项式算式算法法O(n2)101211.6天天三次多三次多项项式算式算法法O
10、(n3)101832,000年年指数算法指数算法O(2n)1030103010301006年年算法复杂性(续)算法复杂性(续)2023/5/28算算 法法 复复 杂杂 性性l算法复杂度的增长速度算法复杂度的增长速度算法复杂性(续)算法复杂性(续)亚指数亚指数指数指数多项式多项式2023/5/28算法复杂性(续)算法复杂性(续)l研究问题的内在复杂性,即在研究问题的内在复杂性,即在图灵机图灵机上解决最难上解决最难的问题实例所需的最小时间和空间条件。的问题实例所需的最小时间和空间条件。l图灵机是一种具有无限读、写存储带的有限状态图灵机是一种具有无限读、写存储带的有限状态机,可以被当作一个实际可用的
11、计算模型机,可以被当作一个实际可用的计算模型。2023/5/28问题复杂性问题复杂性第第2 2章章 信息安全数学基础(计算复杂性)信息安全数学基础(计算复杂性)算法复杂性算法复杂性2023/5/28问题复杂性问题复杂性 l图灵机分为两类:图灵机分为两类:l确定性图灵机。确定性图灵机。l非确定性图灵机非确定性图灵机2023/5/28问题复杂性(续)问题复杂性(续)l确定性图灵机确定性图灵机。l确定性图灵机的输出结果只取决于输入和初始状态。确定性图灵机的输出结果只取决于输入和初始状态。因此,对于具有相同输入和初始状态,运行一个确因此,对于具有相同输入和初始状态,运行一个确定性图灵机所得到的结果是完
12、全相同的。定性图灵机所得到的结果是完全相同的。l非确定性图灵机非确定性图灵机:l能够进行猜测。能够进行猜测。l求解一个问题分两个阶段:猜测阶段和验证阶段。求解一个问题分两个阶段:猜测阶段和验证阶段。2023/5/28图灵机图灵机l图灵机包括一个有限状态控制单元、图灵机包括一个有限状态控制单元、k(1)条纸)条纸带(带(Tape)和)和k个读写头(个读写头(Tapehead)。)。l有限状态控制单元控制每个读写头访问一条纸带,并沿有限状态控制单元控制每个读写头访问一条纸带,并沿着纸带左右移动着纸带左右移动l图灵机求解问题的输入是一个有限长度的字符串,该输图灵机求解问题的输入是一个有限长度的字符串
13、,该输入占据每条纸带无限个单元的最左边的有限个单元。入占据每条纸带无限个单元的最左边的有限个单元。l读写头对纸带的一次访问称之为一个合法移动读写头对纸带的一次访问称之为一个合法移动(Move)。)。2023/5/28图灵机(续)图灵机(续)l图灵机求解问题时,被赋予一个初始状态(图灵机求解问题时,被赋予一个初始状态(Initial State),且一步一步地移动,从而完成对输入的),且一步一步地移动,从而完成对输入的扫描。扫描。l如果图灵机最终扫描了整个输入串,且满足了中止条件如果图灵机最终扫描了整个输入串,且满足了中止条件而停止下来,则称图灵机识别了该输入。而停止下来,则称图灵机识别了该输入
14、。l否则,图灵机在某一点没有合法移动,因此会没有识别否则,图灵机在某一点没有合法移动,因此会没有识别输入串而停止下来,此时称图灵机无法识别该输入。输入串而停止下来,此时称图灵机无法识别该输入。l图灵机所识别的一个输入,称为一种可识别语言的一个图灵机所识别的一个输入,称为一种可识别语言的一个实例。实例。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能
15、被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例
16、如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请设计一个图灵机,用于证明某个非负整例如:请设计一个图灵机,用于证明某个非负整数是否能被数是否能被3整除。整除。2023/5/28图灵机(续)图灵机(续
17、)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进制二进制1100)能被能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12
18、(二进制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右
19、右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进
20、制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a12(二进制二进制1011)能被能被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右
21、输输出非整除信息出非整除信息q2q0q201空空右右右右输输出非整除信息出非整除信息q1q22023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a13(二进制二进制1101)不能被不能被3整除。整除。2023/5/28图灵机(续)图灵机(续)l例如:请用例如:请用DIV3图灵机证明图灵机证明a13(二进制二进制1101)被被3整除。整除。当前状当前状态态纸带纸带上的符号上的符号下一步移下一步移动动下一个状下一个状态态q0(初(初态态)01空空右右右右响响铃铃或或终终止止q0q1q101空空右右右右输输出非整除信息出非整除信息q2q0q201空空右右右右输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 理论 复杂性
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内