- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法讲义PPT-Chapter-9_NP完全问题.ppt
9 NP 完全问题NP Complete Problem 本章内容提要易解问题与难解问题P 类问题和NP 类问题NP 完全问题co-NP 类问题NPI 类问题P 、NP 、co-NP 、NPI 类之间的区别与联系NP 完全问题的计算机处理技术简介9.1 引言 易解问题与难解问题如果对一个问题∏存在一个算法,时间复杂性为O(nk) ,其中n是问题规模,k是一个非负整数,则称问题∏存在多项式时间算法。这类算法在可以接受的时间内实现问题求解,e.g., 排序、串匹配、矩阵相乘。现实世界里还存在很多问题至今没有找到多项式时间算法,计算时间是指数和超指数函数(如2n 和n! ),随着问题规模的增长而快速增长。通常将前者看作是易解问题,后者看作难解问题。 易解问题与难解问题的主要区别在学术界已达成这样的共识:把多项式时间复杂性作为易解问题与难解问题的分界线,主要原因有:1) 多项式函数与指数函数的增长率有本质差别2) 计算机性能的提高对易解问题与难解问题算法的影响假设求解同一个问题有5个算法A1~A5 ,时间复杂度T(n) 如下表,假定计算机C2 的速度是计算机C1 的10 倍。下表给出了在相同时间内不同算法能处理的问题规模情况:3) 多项式时间复杂性忽略了系数,不影响易解问题与难解问题的划分9.2 P 类问题和NP 类问题这个划分标准是基于对所谓判定问题的求解方式。先看看什么是判定问题。事实上,实际应用中的大部分问题问题可以很容易转化为相应的判定问题,如:排序问题给定一个实数数组,是否可以按非降序排列? 图着色问题:给定无向连通图G=(V,E) ,求最小色数k,使得任意相邻顶点具有不同的着色给定无向连通图G=(V,E) 和正整数k,是否可以用k种颜色..... ? 确定性算法与P类问题对判定问题求解,可以采用确定性算法定义9.1( 确定性算法): 设A是求解问题∏的一个算法,如果在算法的整个执行过程中,每一步只有一个确定的选择,则称算法A是确定性算法。特点:对同一输入实例,运行算法A,所得结果是一样的。定义9.2(P 类问题): 如果对于某个判定问题∏,存在一个非负整数k,对于输入规模为n的实例,能够以O(nk) 的时间运行一个确定性算法,得到yes 或no 的答案,则称该判定问题∏是一个P(Polynomial) 类问题。事实上,所有易解问题都是P类问题。非确定性算法与NP 类问题定义9.3( 非确定性算法): 设A是求解问题∏的一个算法,如果算法A以如下猜测+验证的方式工作,称算法A为非确定性(nondeterminism) 算法:猜测阶段:对问题的输入实例产生一个任意字串y,在算法的每次运行,y可能不同,因此猜测是以非确定的形式工作。这个工作一般可以在线性时间内完成。验证阶段:在这个阶段,用一个确定性算法验证两件事:首先验证猜测的y是否是合适的形式,若不是,则算法停下并回答no ;若是合适形式,则继续检查它是否是问题x的解,如果确实是x的解,则停下并回答yes ,否则停下并回答no 。要求验证阶段在多项式时间内完成。注意对非确定性算法输出yes/no 的理解:若输出no ,并不意味着不存在一个满足要求的解,因为猜测可能不正确;若输出yes ,则意味着对于该判定问题的某一输入实例,至少存在一个满足要求的解。NP 类问题定义9.4(NP 类问题): 如果对于判定问题∏,存在一个非负整数k,对于输入规模为n的实例,能够以O(nk) 的时间运行一个非确定性算法,得到yes/no 的答案,则该判断问题∏是一个NP(nondeterministic polynomial) 类问题。※注意:NP 类问题是对于判定问题定义的,事实上,可以在多项式时间内应用非确定性算法解决的所有问题都属于NP 类问题。关于P与NP 关系的初步思考-- 从字面含义1) 若问题∏属于P类,则存在一个多项式时间的确定性算法,对它进行判定或求解;显然,也可以构造一个多项式时间的非确定性算法,来验证解的正确性,因此,问题也属NP 类。因此,显然有P NP 2) 若问题∏属于NP 类,则存在一个多项式时间的非确定性算法,来猜测并验证它的解;但不一定能构造一个多项式时间的确定性算法,来对它进行求解或判定。因此,人们猜测P ≠NP ,但是否成立,至今未得到证明。9.3 NP 完全问题NP 完全问题是NP 类问题的子类,一个具有特殊性质与特殊意义的子类。问题变换NP 类问题在最坏情况下的时间复杂性一般都是快速增长的指数函数。我们希望能够在NP 类问题内部找到一种方法,比较两个问题的复杂性。比较两个问题的计算复杂性的方法是问题变换。多项式时间变换定义9.6( 多项式时间变换): 若在O(τ(n)) 时间内完成上述输入/输出转换,则称问题∏以τ(n) 时间变换到问题∏′,记为∏∝τ
您可能关注的文档
最近下载
- 2023海南省邮政业安全保障中心招聘事业编制工作人员12人笔试备考题库及答案解析.docx VIP
- 第2章红外谱图解析习题课第章红外谱图解析习题课第2章红外谱图解析习题课第2章红外谱图解析习题课.ppt VIP
- 第七届全市职业技能大赛整理收纳师技术文件.docx VIP
- 化工污染物石油化工清洁生产94课件.pptx VIP
- 北京-LITE-产品使用说明书-引力版-BJ7000KPCC-BEV-LITE纯电动汽车产品使用说明书.pdf VIP
- 公共资源考试试题及答案.doc VIP
- 红外谱图解析习题课.pptx VIP
- CNAS-GL047-2021 医学实验室定量检验程序结果可比性验证指南.docx VIP
- 2025海南省邮政业安全保障中心招聘事业编制人员4人(第1号)笔试备考试题及答案解析.docx VIP
- 绿色化学与清洁生产.pptx VIP
文档评论(0)