❖判定问题举例:给定一个带整数权的有向图G和一 个正整数k,是否存在着一条长度小于k的哈密尔顿回 路?
❖优化问题举例:给定一个带整数权的有向图G,其 最短路径长度的哈密尔顿长度是多少?
NP完全问题
1.3 优化问题向判定问题的转换
判定问题举例:给定一个带整数权的有向图G和一个正整数k, 是否存在着一条长度小于k的哈密尔顿回路? 优化问题举例:给定一个带整数权的有向图G,其最短路径 长度的哈密尔顿长度是多少?
for (int j=0; j<n; j++)
if (a[i] == a[j])
return yes; //修改为no
return no; //修改为yes
}
NP完全问题
2.1.5 判定问题规约的定义
❖定义:令和是两个判定问题,如果存在一个 具有如下性能的算法A,可以用多项式的时间,把 问题的实例I转换为问题的实例I,使得I与I的 答案一致,就称以多项式时间规约于,记为 p
❖定理:P类问题在补集下是封闭的
❖证明:对于P类问题中的任意问题,只要修 改相应的多项式级别算法A的代码,把返回yes的 改为返回no,把返回no的改为返回yes即可
boolean judgeEqual(int n, Elem[] a, Elem[] b){
for (int i=0; i<n; i++)
第12章 NP完全问题
1. NP完全问题概述 2. P类和NP类问题 3. NP完全问题 4. co_NP类和NPI类问题
NP完全问题
1. NP完全问题概述
1.1 Church-Turing论题和Cook-Karp论题 1.2 问题分类 1.3 优化问题向判定问题的转换