- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NP完全问题分析
定理:可满足性问题SATISFIABILITY是NP完全的 证明:表达式中的文字置0或1后,可以用多项式时间(O(mn))判定f是否为真。 SATISFIABILITY?NP。 为了证明SATISFIABILITY是NP完全的,必须证明对NP中的任意问题?,有? ?p SATISFIABILITY。假设?的实例I的规模是n,在p(n)的判定时间里最多有cp(n)个动作,因此可以用cp(n)时间时间构造布尔表达式f,也就是说? ?p SATISFIABILITY 这就是著名的Cook定理 后面给出实例转换的例子: boolean Hamilton(int n, int[][] matrix, int[] path){ if (path[0] != path[n]) return false; boolean repeat = false; for (int i=0; in; i++){ for (int j=0; ji; j++) if (path[i] == path[j]) repeat = true; } if (repeat) return false; for (int i=0; in; i++) if (matrix[path[i]][path[i+1]] == 0) return false; return true; } 1 1 1 0 1 0 0 1 2 path:1-2-0-1 文字列表: X1: (path[0] == path[n]) X2: (path[0] == path[1]) X3: (path[0] == path[2]) X4: (path[0] == path[3]) X5: (path[1] == path[2]) X6: (path[1] == path[3]) X7: (path[2] == path[3]) X8: (matrxi[1][2] == 0) X9: (matrix[2][0] == 0) X10: (matrix[0][1] == 0) matrix: f = (?X1) ? (?X2) ? (?X3) ? (?X4) ? (?X5) ? (?X6) ? (?X7) ? (?X8) ? (?X9) ? (?X10) 3.6.2 三元可满足性问题(3_SATISFIABILITY) 假设在合取范式中,每个析取子句均由3个文字构成,则称这个合取范式为三元合取范式: f = (x1 ? ?x3 ? x4) ? (? x2 ? x3 ? x4 ) ? (x1 ? x4 ? x5) 对于x1, 这个问题的提法是: 判定问题3_SATISFIABILITY: 输入:三元合取范式f: 问题:对表达式中的变量赋值,是否可以使f的值为真? 定理:SATISFIABILITY ?p 3_ SATISFIABILITY 证明:只要证明SATISFIABILITY的实例可以在多项式时间内转换为3_ SATISFIABILITY的实例即可。对SATISFIABILITY实例的中某个子句,根据它析取文字的多少,分为3种情况:1)有3个文字;2)有1个文字;3)有2个文字;4)有多于3个的文字。 仅对第3)种情况讨论 (xi ? xj) (xi ? xj) = (xi ? xj ? 0) = (xi ? xj ? ? x1 ? x1) = (xi ? xj ? ? x1 ) ? (xi ? xj ? x1) 4. co_NP类和NPI类问题 第12章 NP完全问题 1. NP完全问题概述 2. P类和NP类问题 3. NP完全问题 4. co_NP类和NPI类问题 1. NP完全问题概述 1.1 Church-Turing论题和Cook-Karp论题 1.2 问题分类 1.3 优化问题向判定问题的转换 1.1 Church-Turing论题和Cook-Karp论题 计算复杂性理论有两个基本论题:Church-Turing论题和Cook-Karp论题 Church-Turing论题:一个问题时可计算的当且仅当它在图灵机上经过有限次计算得到正确的结果。这个论题把人类所面临的问题分为两类:一类是可计算的,另一类是不可计算的。但“有限次计算”是一个宽松的条件 Cook-Karp论题:一个问题是实际可计算的当且仅当它在图灵机上经过多项式时间(步数)计算得到正确的结果。Cook-Karp论题将可计算问题类进一步划分成两类:一类是实际可计算的,另一类是实际不可计算的 1.2 问题分类 有两类问题,一类是判定问题,另一类是优化问题 判定问题的解只涉及两种情况:yes或no;优化问题则涉及极值问题 判定问题举例:给定一个带整数权的有向图G和一个正整数k,是否存在
文档评论(0)