算法复杂性讲稿.ppt

上传人:石*** 文档编号:49750910 上传时间:2022-10-10 格式:PPT 页数:75 大小:1.37MB
返回 下载 相关 举报
算法复杂性讲稿.ppt_第1页
第1页 / 共75页
算法复杂性讲稿.ppt_第2页
第2页 / 共75页
点击查看更多>>
资源描述

《算法复杂性讲稿.ppt》由会员分享,可在线阅读,更多相关《算法复杂性讲稿.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于算法复杂性关于算法复杂性第一页,讲稿共七十五页哦 旅行商旅行商(TSP)问题问题一个商人欲到一个商人欲到n个城市推销商品,每两个城市个城市推销商品,每两个城市i和和j之间的距离为之间的距离为dij,如何选,如何选择一条道路,使得商人每个城市走过一遍后回到起点且所走路径最短。择一条道路,使得商人每个城市走过一遍后回到起点且所走路径最短。解:设解:设xij=1若商人行走的路线中包含从城市若商人行走的路线中包含从城市i到到j的路径,否则的路径,否则xij=0。第二页,讲稿共七十五页哦可行解:用可行解:用n个城市的一个排列表示商人按个城市的一个排列表示商人按这个排列序推销并返回起点。这个排列序推销

2、并返回起点。使用枚举法求解,需要使用枚举法求解,需要(n-1)!次枚举。次枚举。以计算机以计算机1秒可以完成秒可以完成24个城市所有路径枚个城市所有路径枚举为单位。举为单位。城市数城市数 24 25 26 27 30计算时间计算时间 1秒秒 24秒秒 10分分 4.3小时小时 10.8年年第三页,讲稿共七十五页哦1.问题与实例问题与实例问题问题(problem):需要回答的一种提问,通需要回答的一种提问,通常包含一些参数和取值未定的自由变量,可常包含一些参数和取值未定的自由变量,可以从两个方面加以描述:以从两个方面加以描述:(1)对所有参数的一般描述;)对所有参数的一般描述;(2)对回答(也称

3、为)对回答(也称为解解)所需要满足的特)所需要满足的特性的描述。性的描述。实例实例(instance):当对一个问题中的参数:当对一个问题中的参数赋予特定的数值时,如何寻找相应的回答赋予特定的数值时,如何寻找相应的回答(解),这种提问称为该问题的一个实例。(解),这种提问称为该问题的一个实例。问题是对许多具体事例构成集合的一种抽象问题是对许多具体事例构成集合的一种抽象表述,而实例就是相应问题的一种具体表现表述,而实例就是相应问题的一种具体表现形式。形式。第四页,讲稿共七十五页哦例:线性规划问题与实例例:线性规划问题与实例一个线性规划问题的实例是指矩阵和向量组一个线性规划问题的实例是指矩阵和向量

4、组(A,b,c)的某一特定取值,这些参数按照如的某一特定取值,这些参数按照如下的结构关联在一起,描述了问题(解)下的结构关联在一起,描述了问题(解)所需要满足的特性。所需要满足的特性。线性规划问题是对具有上述结构的所有实例线性规划问题是对具有上述结构的所有实例的一种抽象描述。的一种抽象描述。第五页,讲稿共七十五页哦算法算法算法算法:是一组含义明确的简单指令。:是一组含义明确的简单指令。一个问题是算法可解的一个问题是算法可解的(solvable):存在一个求解:存在一个求解该问题的算法,只要让算法运行足够长的时间,并且该问题的算法,只要让算法运行足够长的时间,并且保证满足算法在运行过程中所需要的

5、存储空间,它就保证满足算法在运行过程中所需要的存储空间,它就能求解该问题的任何一个实例。能求解该问题的任何一个实例。停机问题停机问题:不可能构造出一个程序来确定任意给出:不可能构造出一个程序来确定任意给出的程序是否会陷入无限循环。的程序是否会陷入无限循环。第六页,讲稿共七十五页哦算法复杂性算法复杂性算法复杂性算法复杂性(algorithm complexity):描述算法的存储要求和运行时间要求,分描述算法的存储要求和运行时间要求,分为算法的空间复杂性和算法的时间复杂性。为算法的空间复杂性和算法的时间复杂性。-利用算法需要的初等运算次数来表示算利用算法需要的初等运算次数来表示算法的时间复杂性。

6、法的时间复杂性。第七页,讲稿共七十五页哦多项式时间算法与指数时间算法多项式时间算法与指数时间算法输入规模输入规模(input size):表示一个:表示一个实例实例所所需要的字符串长度。需要的字符串长度。一般的,使用一般的,使用 位二进制就可以位二进制就可以表示任意整数表示任意整数r。线性规划的输入规模为:线性规划的输入规模为:第八页,讲稿共七十五页哦对应对应TSP,枚举算法的基本计算总次数为,枚举算法的基本计算总次数为(n-1)!n=n!实例的二进制输入长度总量不超过实例的二进制输入长度总量不超过 L=n(n-1)+log2|P|其中其中P为所有非零数为所有非零数dij的乘积。的乘积。假设假

7、设 中每个数据都有上中每个数据都有上界界K,则有,则有第九页,讲稿共七十五页哦一个求解实例一个求解实例I的算法的基本计算总次数的算法的基本计算总次数C(I)同实例同实例I的计算机二进制输入长度的计算机二进制输入长度d(I)的关系的关系常用符号常用符号C(I)=f(d(I)=O(g(d(I)表示,它的表示,它的含义:求解实例含义:求解实例I的算法的基本计算总次数的算法的基本计算总次数C(I)是实例是实例输入长度输入长度d(I)的一个函数,该函的一个函数,该函数被另一个函数数被另一个函数g(x)控制,即存在一个函数控制,即存在一个函数g(x)和一个常数和一个常数a,使得,使得第十页,讲稿共七十五页

8、哦多项式时间算法与指数时间算法多项式时间算法与指数时间算法定义:假设问题和解决该问题的一个算法已经定义:假设问题和解决该问题的一个算法已经给定,若给定该问题的一个实例给定,若给定该问题的一个实例I,存在多项式,存在多项式函数函数g(x),使得,使得成立,则称该算法对成立,则称该算法对实例实例I是多项式时间算法;是多项式时间算法;若若存在存在g(x)为为多项式函数且对该问题任意一个实多项式函数且对该问题任意一个实例例I,都有上式成立,则称,都有上式成立,则称该算法为解决该问题该算法为解决该问题的的多项式时间算法多项式时间算法。当当g(x)为为指数函数时,称相应的算法为指数函数时,称相应的算法为指

9、数时间指数时间算法算法。第十一页,讲稿共七十五页哦Growth Rate:Sketch10nn22nn!=2O(n lg n)input lengthtime第十二页,讲稿共七十五页哦多项式时间算法的优点:多项式时间算法的优点:(1)随着问题输入规模的增加,算法的计)随着问题输入规模的增加,算法的计算量(即算法复杂性)呈多项式增长;算量(即算法复杂性)呈多项式增长;(2)一个多项式时间算法利用另一个多项)一个多项式时间算法利用另一个多项式时间算法作为其式时间算法作为其“子程序子程序”,构造一个,构造一个新的复合型算法,则新算法仍是多项式时新的复合型算法,则新算法仍是多项式时间算法。间算法。第十

10、三页,讲稿共七十五页哦单纯形算法的复杂性单纯形算法的复杂性单纯形算法需要单纯形算法需要2n-1次迭代。次迭代。第十四页,讲稿共七十五页哦定理:当定理:当2时,用单纯形算法求解上述问题时需要时,用单纯形算法求解上述问题时需要2n-1次迭代。次迭代。第十五页,讲稿共七十五页哦 椭球法椭球法 第一个可以在多項式时间內解决一般线性规划问题的第一个可以在多項式时间內解决一般线性规划问题的解法。解法。根据根据(P)与与(D)的对偶关系的对偶关系,我们可将两者的最优解以一组我们可将两者的最优解以一组最优性条件联结起来最优性条件联结起来:第十六页,讲稿共七十五页哦第十七页,讲稿共七十五页哦第十八页,讲稿共七十

11、五页哦 只要能有效的解决最优性条件的线性不等式只要能有效的解决最优性条件的线性不等式,就能就能夠同时的解决一个线性规划问题夠同时的解决一个线性规划问题(P)以及它的对偶问以及它的对偶问题题(D)。椭球法正是一种专门解决线性不等式的方法。椭球法正是一种专门解决线性不等式的方法。介绍如何以椭球法來解一组线性不等式介绍如何以椭球法來解一组线性不等式MuvMuv的解集合是一个凸集:的解集合是一个凸集:假设假设S,以原点以原点u1为圆心为圆心,足夠大的半径做一圆足夠大的半径做一圆E1,使得使得SE1。第十九页,讲稿共七十五页哦 否则否则,因为因为SE1是一个凸集是一个凸集,所以经过圆心所以经过圆心,可以

12、可以切掉不含切掉不含SE1 的半个圆的半个圆,而只剩下包含而只剩下包含SE1的半个圆的半个圆(以以1/2E1表示表示)。对。对1/2E1而言而言,可以做出一个最小的椭可以做出一个最小的椭圆圆E2,使得使得1/2E1 E2,椭圆的圆心记,椭圆的圆心记u2。SE1E2,若若Mu2 v成立成立,则则u2SE1必为其解。必为其解。否则经过否则经过u2又可切去半个又可切去半个E2,而使而使SE1包含在另一包含在另一半椭圆半椭圆1/2E2之中。之中。第二十页,讲稿共七十五页哦第二十一页,讲稿共七十五页哦 在在p维空间中维空间中,每次做出的椭球体积都会逐渐缩小。每次做出的椭球体积都会逐渐缩小。以以V(Ek)

13、及及V(Ek+1)来来表示前后两个椭球的体积表示前后两个椭球的体积,那么可以那么可以证明证明V(Ek+1)e1/2(p+1)V(Ek)。所以。所以 V(Ek+1)0。可行內点解集合可行內点解集合:F0=xRn|Ax=b,x 0。假设假设F0非空。非空。第二十五页,讲稿共七十五页哦內点法可粗略的分为三个步骤內点法可粗略的分为三个步骤:步骤一步骤一:找一个可行內点找一个可行內点x1F0。置。置k=1。步骤二步骤二:决定现有解决定现有解xk是否为是否为(P)的最优解。若是的最优解。若是,则则输出输出x =xk。否则就寻找一个好的移动方向。否则就寻找一个好的移动方向 ,以及以及适当的步长适当的步长 0

14、。第二十六页,讲稿共七十五页哦Primal Affine Scaling内点法内点法 假想假想(P)的可行解集合位于第一象限的一个球的可行解集合位于第一象限的一个球,而现行解而现行解xk落在球心上落在球心上,此球的半径是此球的半径是r 0。最优解为:最优解为:第二十七页,讲稿共七十五页哦 将将(P1)变得稍微复杂一些变得稍微复杂一些,将球改为第一象限来将球改为第一象限来考虑下列问题考虑下列问题:第二十八页,讲稿共七十五页哦定义映射:定义映射:第二十九页,讲稿共七十五页哦第三十页,讲稿共七十五页哦 在上述转化之下在上述转化之下,(P2)的近似问题在的近似问题在y空间中就可写成空间中就可写成:应用

15、应用(P1)的解答技巧的解答技巧,在在y空间中的近似最优解为:空间中的近似最优解为:在在x空间中空间中(P2)的近似最优解为:的近似最优解为:第三十一页,讲稿共七十五页哦在在y空間中空間中(P)变成下列的近似问题变成下列的近似问题:第三十二页,讲稿共七十五页哦 与与(P2)相比较相比较,(P)多了一些等式约束条件多了一些等式约束条件ADky=b。为了保持这些等式的继续成立。为了保持这些等式的继续成立,原来在原来在(P2)中的移动方向中的移动方向Dkc便需要投影在便需要投影在(ADk)这个矩这个矩阵阵的零空间的零空间(null space)之中,即经过投影后的方向之中,即经过投影后的方向应是应是

16、Pk(Dkc),其中其中Pk是一个投影矩阵,定义为:是一个投影矩阵,定义为:所以所以(P)的近似最优解是的近似最优解是(P)的近似最优解是的近似最优解是第三十三页,讲稿共七十五页哦Primal Affine Scaling內点法的重要步骤內点法的重要步骤:第三十四页,讲稿共七十五页哦Karmarkar投影尺度算法投影尺度算法两个基本事实:两个基本事实:(1)如果一个内点居于多面体的中心,那)如果一个内点居于多面体的中心,那么目标函数的负梯度方向是比较好的可行么目标函数的负梯度方向是比较好的可行方向;方向;(2)在不改变问题基本特性的条件下,存)在不改变问题基本特性的条件下,存在一个适当的变换,

17、能够将可行域中给定在一个适当的变换,能够将可行域中给定的内点置于变换后的可行域的中心。的内点置于变换后的可行域的中心。第三十五页,讲稿共七十五页哦基本思想:基本思想:(1)选定一个内点解作为迭代过程的初始点,利用)选定一个内点解作为迭代过程的初始点,利用可行域的投影尺度变换,将当前的内点解置于变换可行域的投影尺度变换,将当前的内点解置于变换后的可行域的中心;后的可行域的中心;(2)在变换后的可行域中沿着目标函数最速下降方向的)在变换后的可行域中沿着目标函数最速下降方向的正交投影移动,获得新的可行内点,并通过投影尺度逆变正交投影移动,获得新的可行内点,并通过投影尺度逆变换将新的可行内点映射到原来

18、的可行域,作为新的迭代点。换将新的可行内点映射到原来的可行域,作为新的迭代点。(3)重复这一过程,直至求出满足一定精度的近优)重复这一过程,直至求出满足一定精度的近优解。解。X空间空间Y空间空间投影尺度变换第三十六页,讲稿共七十五页哦Karmarkar标准形标准形基本假设:基本假设:第三十七页,讲稿共七十五页哦单纯形单纯形第三十八页,讲稿共七十五页哦向量的投影向量的投影正交投影矩阵第三十九页,讲稿共七十五页哦单纯形单纯形S的投影尺度变换的投影尺度变换第四十页,讲稿共七十五页哦变换变换T的性质的性质第四十一页,讲稿共七十五页哦势函数势函数性质:性质:射影变换射影变换T把势函数变换成具有相同形式的

19、函数把势函数变换成具有相同形式的函数目标函数值所期望的下降量可通过势函数值的充目标函数值所期望的下降量可通过势函数值的充分小来达到分小来达到优化函数优化函数f(x)可用优化线性函数来近似可用优化线性函数来近似第四十二页,讲稿共七十五页哦第四十三页,讲稿共七十五页哦求解方法求解方法第四十四页,讲稿共七十五页哦第四十五页,讲稿共七十五页哦第四十六页,讲稿共七十五页哦第四十七页,讲稿共七十五页哦第四十八页,讲稿共七十五页哦Karmarkar投影尺度算法投影尺度算法第四十九页,讲稿共七十五页哦第五十页,讲稿共七十五页哦有关定理有关定理第五十一页,讲稿共七十五页哦第五十二页,讲稿共七十五页哦一般线性规划

20、问题的处理一般线性规划问题的处理1利用对偶定理转化线性规划问题利用对偶定理转化线性规划问题第五十三页,讲稿共七十五页哦(P)存在最优解的充要条件是存在最优解的充要条件是第五十四页,讲稿共七十五页哦记记于是问题归结为求解:于是问题归结为求解:第五十五页,讲稿共七十五页哦记记第五十六页,讲稿共七十五页哦两个特性:两个特性:第五十七页,讲稿共七十五页哦进行如下投影变换:进行如下投影变换:第五十八页,讲稿共七十五页哦两个特性:两个特性:第五十九页,讲稿共七十五页哦用用Karmarkar投影尺度算法求解如下线性规划:投影尺度算法求解如下线性规划:引入松弛变量,化为标准型引入松弛变量,化为标准型第六十页,

21、讲稿共七十五页哦化为化为Karmarkar标准型标准型第六十一页,讲稿共七十五页哦第六十二页,讲稿共七十五页哦路径跟踪法路径跟踪法第六十三页,讲稿共七十五页哦Karush-Kuhn-Tucker条件松弛KKT条件第六十四页,讲稿共七十五页哦第六十五页,讲稿共七十五页哦第六十六页,讲稿共七十五页哦定义原始定义原始-对偶可行集对偶可行集原始原始-对偶中心路径对偶中心路径第六十七页,讲稿共七十五页哦第六十八页,讲稿共七十五页哦第六十九页,讲稿共七十五页哦移动方向的计算移动方向的计算第七十页,讲稿共七十五页哦第七十一页,讲稿共七十五页哦步长的确定步长的确定第七十二页,讲稿共七十五页哦计算步骤:计算步骤:第七十三页,讲稿共七十五页哦第七十四页,讲稿共七十五页哦感谢大家观看第七十五页,讲稿共七十五页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁