- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析;第3部分 求解困难问题;第10章 NP完全问题;10.1 基本概念
10.2 Cook定理和证明
10.3 一些典型的NP完全问题;10.1 ? 基本概念 ;将能在多项式时间求解的问题看作易处理问题(tractable problem),而将至今尚未找到多项式时间算法求解的问题视为难处理问题(intractable problem)。 ;10.1.1 不确定算法和不确定机 ;例10-1 在n个元素的数组a中查找给定元素x,如果x在其中,则确定使a[j]==x的下标j,否则输出-1。
【程序10-1】不确定搜索算法
void Search(int a[],T x)
{
int j=Choice(0,n-1);
if(a[j]==x) {
coutj;Success();
}
cout-1;Failure();
};包含Choice函数的算法能按如下既定方式执行:当算法执行中需作出一系列的Choice函数选择时,当且仅当对于Choice的任何一组选择都不会导致成功信号时,此算法在O(1)时间不成功终止;否则,只要存在一组选择能够导致成功时,算法总能采取该组选择使得算法成功终止。
包含不确定选择语句,并能按上述方式执行一个算法的机器称为不确定机(non deterministic machine)。在不确定机上执行的算法称为不确定算法(non deterministic algorithm)。 ;例10-2 将n个元素的序列排成有序序列。
【程序10-2】 不确定排序算法
void NSort(int a[],int n)
{
int b[mSize],i,j;
for (i=0;in;i++) b[i]=0;
for (i=0;in;i++){
j=Choice(0,n-1);
if( b[j]) Failure();
b[j]=a[i];
}
; for (i=0;in-1;i++)
if( b[i]b[i+1]) Failure();
for (i=0;in;i++)coutb[i] ;
coutendl;Success();
};定义10-1 (不确定算法时间复杂度)一个不确定算法所需的时间是指对任意一个输入,当存在一个选择序列导致成功完成时,达到成功完成所需的最少程序步。在不可能成功完成的情况下,所需时间总是O(1)。
;例10-3 (最大集团及其判定问题)无向图G=(V, E)的一个完全子图称为该图的一个集团(clique)。集团的规模用集团的顶点数衡量。最大集团问题是确定图G的最大集团规模的问题。最大集团判定问题(G, k)是对给定正整数k,判定图G是否存在一个规模至少为k的集团。;【程序10-3】 最大集团判定问题不确定算法
void Clique(int g[][mSize],int n,int k)
{
S=?;
for(int i=0;i k;i++){
int t=Choice(0,n-1);
if (t?S) Failure();
S=S∪{t};
}
for ( 对所有(i,j),i?S,j?S且i?j)
if((i,j)?E) Failure();
Success();
};10.1.2 可满足性问题;【程序10-4】可满足性问题的不确定算法
void Eval(CNF E,int n)
{
int x[mSize];
for(int i=1;i=n;i++)
x[i]=Choice(0,1);
if(E(x,n)) Success();
else Failure();
};10.1.3? P类和NP类问题;性质10-1 若Q1?P,Q2∝Q1,则有Q2?P。
性质10-2 若Q1∝Q2,Q2∝Q3,则Q1∝Q3。;10.1.4 NP难度和NP完全问题;如何确定某个问题Q是否是NP难度的?一般的证明策略由以下两步组成:
(1)选择一个已经证明是NP难度问题Q1;
(2)求证Q1∝Q。
由于Q1是NP难度的,因此所有NP类问题都可约化到Q1,根据约化的传递性,任何NP类问题都可约化到Q
您可能关注的文档
- [药理学]解热镇痛答题.ppt
- 《煤与石油》(冀教版五年级下册科学)说课.ppt
- [医学微生物学]衣原体螺旋体答题.ppt
- [原创]2014年《南方新中考》地理第一部分第六单元第11讲中国的疆域、人口与民族[配套]答题.ppt
- 《民主管理:共创幸福生活》说课.ppt
- 《名师一号》2012届高考地理一轮复习(湘教版):必修二5.1人口增长模式与人口合理容量说课.ppt
- [原创]2015年《南方新高考》地理第一部分第五章第二节山地的形成[配套]答题.ppt
- 《明湖居听书》定稿说课.ppt
- 《那片绿绿的爬山虎》教学1说课.ppt
- [原创]2015年《南方新中考》地理第一部分第十一章第2讲河流自然灾害[配套]答题.ppt
文档评论(0)