您好,欢迎访问三七文档
NP问题Non-deterministic(非确定性)Polynomial(多项式)•NP:非确定性多项式问题•P:多项式级O(1),O(log(n)),O(n^a)•NPC:非确定性多项式问题中为P问题可能性最小的或许可以被计算机在多项式时间内解决或验证的问题。•NPC问题目前没有多项式的有效算法,只能用指数级甚至阶乘级复杂度的搜索。•人们想表达一个问题不存在多项式的高效算法时应该说它“属于NPC问题”•多项式问题未必都高效减小时间复杂度–时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。NP=P?While...目前为止,没有人能够发现一个NP完全问题的多项式时间算法,所以NP!=P。IFNP=P常见的NPComplete问题:(NPC问题特点:结果易证,难以计算)哈密顿回路图sum=t子集和问题反馈顶点集问题NPC问题的证明方法•约化法(Reducibility):将一个已知的NPC问题转化为和它类似的问题,用它的算法来解决问题。•对正确结果进行验证,证明为NP问题。•利用约化,将问题转化为已知的问题。•第一个NPC问题来自逻辑电路问题。SAT问题•已知的NP-complete问题多达几百个,但作为这些问题的“祖先”,历史上第一个被证明的NP-complete问题是来自于布尔逻辑的可满足性问题(SATISFIABLITYproblem),简称为SAT•由SAT问题规约到的3SAT问题,可以证明许多NPC问题的完全性。•布尔公式A=((NOTx)ANDy)OR(xAND(NOTz))当x=false,y=truez=false时,该布尔表达式值为true,则表达式A就是可满足的。可满足性问题就是判定一个给定的合取范式的布尔公式是否是可满足的定义
本文标题:NP算法简单介绍
链接地址:https://www.777doc.com/doc-6709263 .html