《算法设计与》第10章说课.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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

文档评论(0)

知识宝库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档