算法分析与设计-第10讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计-第10讲

算法分析与设计 第10讲-2011 山东大学计算机学院 上次内容: (1)先行约束排工,限制很强时是多项式可解的, 没有限制是NP-Complete。NPC和多项式可解有分界线吗? 找了一个问题来说明,分界线无为有时有为无。 (2)着色问题,限制顶点度不超过4的图3着色问题是NPC, 限制平面图的3着色问题是NPC。 说明有些问题的子问题仍然为NPC,有意思,有意义。 (3)拟多项式变换与NPC类,划分问题的拟多项式算法。 划分问题拟多项式时间算法。 nlog2B (1)一个问题的编码不是完全相同的, 因此输入长度和最大数值会跟据编码不同有所不同。 不同人编不同的程序。 (2)有的问题根本不含有数值参量,这样MAX(I)=0。 定义6.1:拟多项式算法:判定问题?,存在解答算法A, 算法A的时间复杂度为:T=P(Length(I), Max(I)),I为任意实例, 则称算法A为求解问题?的拟多项式算法。 看问题:问题怎样在计算机存储?首先明确输入长度为n, 则最大数值可能是2n。 在考虑算法时间复杂度时,往往忽略怎样编码的,其实编码也有学问。 (1)SAT,该问题中根本没有MAX(I)这一项。 没有最大数值,Max(I)=0 (2)TSP,该问题中边长,或界值K是最大数值Max(I)项。 (3)划分问题,元素价值或B是Max(I)项。O(nB) (4)团问题,最大数值,J?|V|。自然受到限制。 考虑(1),Max(I)=0,这个问题是NPC的, 可以认为,最大数值本身受到输入长度的限制。(4)也这样。 Max(I)?P(Length(I)),P(?)是多项式函数。 考虑问题(2)(3),TSP问题中, 边长根本不受输入长度的约束,每条边长可能很大, 问题(3)的元素重量也不受到输入长度约束。 什么叫不受约束:如果长度为x,则数值大小为2x。 受约束的含义:存在多项式函数P(?),使Max(I)?P(Length(I))。 最大数值不会增大到超过输入长度的某个多项式函数那么大。 将Max(I)不受Length(I)约束的问题单独分为一类,给个命名。 定义6.2:对于判定问题?,若不存在多项式函数P(?), 使对所有实例I有:Max(I)?P(Length(I)),则称?为数问题。 最大数值不受约束。 就是最大数值可能很大的问题是数问题。不受输入长度约束。 SAT和团问题不是数问题, 划分问题和货郎问题是数问题。 命题6.1:若NPC类判定问题不是数问题,P?NP, 则该问题不能被拟多项式算法解答。 解释什么问题不是数问题。数值不会很大的问题。 Max(I))?q(Length(I)。 证明:设?不是数问题,若存在拟多项式算法A, 解答实例I的时间复杂度为: T(I)= q(Length(I), Max(I))?q(Length(I), p(Length(I))) =q1(Length(I))。 其实算法A是多项式时间算法。 即:若存在解答?的拟多项式算法, 则该算法是多项式算法解答?, 则P=NP,矛盾。 问题?,多项式函数P(?), D(?)表示该问题的所有实例组成的集合。 对于多项式函数P(?),定义一个新的实例集合: D(?P) = {I|I?D? ,Max(I)?P(Length(I))}, 由D(?P)中实例表达的问题就是多项式可解的吗。 每个D(?P)的实例都是D(?)的实例。所以?P是?的子问题。 注意多项式函数给定。 例如划分问题中,每个元素长度S(a)?n2,n是元素个数。 P(n)=n3,则?P是多项式可解的。 再次强调问题是实例的集合! 定义6.3:判定问题?,存在多项式函数P, 使?P是NPC的,则称?是强NPC的。 (1)非数NPC问题一定是强NPC问题, 对于非数问题,NPC与强NPC是等价的。 (2)主要讨论数问题是否为强NPC问题 命题6.2:若问题?是强NPC的,P?NP, 则?一定不能被拟多项式算法解答。 证明:若?有拟多项式算法A, TA(I)=q(Max(I),Length(I)) 因存在P(?),?P是NPC的。 那算法A解答?P的实例I1, TA(I1)=q(Max(I1),Length(I1)) ?q(P(Length(I1)),Length(I1))=q1(Length(I1)) 强NPC问题不能有拟多项式算法, 否则NPC问题就可以多项式解答了。 受限子问题是NPC的,能被多项式时间算法解答, 则任意NP问题都能被多项式时间算法解答。 §6.2强NPC类与拟多项式变换 先证明货郎问题是强NPC的。 限制货郎问题的边长不是很大,也是NPC。 结论:限制边长为1或2的TSP问题是NPC的。 HC

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档