34章 NP完全

1、P问题

P ={ L ∈{0,1}*: 存在一个算法A,可以在多项式时间内判定L}

P也是能在多项式内被接受的语言类

P = {L : L能被一个多项式时间算法所接受}

PATH = {<G, u, v, k>: G = (V,E)是一个无向图,u,v  ∈ V, k >= 0是一个整数,即G中从u到v存在一条长度至多为k的路径}

是P问题,可以在多项式时间内被接受


2、NP问题

复杂类NP是能被一个多项式时间算法验证的语言类


区别:P是判定,存在一个多项式算法,NP是判定,即存在一个算法可以在多项式时间内验证一个解是否正确。


3、NP完全(NPC)

一个问题是NPC表示:

1) 它是一个NP问题

2)其他属于NP的问题都可归约成它。

可归约是指对每个问题L,总有一个多项式时间多对一的变换,即一个决定性的算法可以将实例l ∈ L转化成实例c ∈ C.并让c回答yes当且仅当此答案对l也是yes

为了证明某个问题A实际上是NPC问题,必须找出一个已知的NPC问题可以变换成A


NPC问题:

1)布尔公式可满足性

SAT = {<Φ>: Φ是一个可满足的布尔公式}

2)3-CNF :3合取范式

3CNF形式的布尔公式的可满足性问题

3)电路可满足性问题

CIRCUIT-SAT = {<C> : C是一个可满足的布尔组合电路}

4)团问题 是关于寻找图中规模最大的团的最优化问题

CLIQUE = {<G, k> : G是一个包含规模为k的团的图}

5)顶点覆盖问题,顶点覆盖的规模是指它所包含的顶点数

VERTEX-CORVER = {<G, k>: 图G有一个规模为k的顶点覆盖}

6)哈密顿回路问题  哈密顿回路是通过V中每个顶点的简单回路

HAM-CYCLE = {<G>: G是哈密顿图},存在哈密顿回路的图

7)旅行商问题

TSP = {<G, c, k>: G = (V, E)是一个完全图,c是V*V->Z上的一个函数,k ∈ Z, G中包含一个最大花费为k的旅行回路 }

8)子集和问题

SUBSET-SUM = {<S, t>: 存在一个子集S' ∈ S, 使得t  = Σs s ∈ S'}

9)子图同构问题: 两个无向图G1, G2,G1是否与G2的一个子图同构

10)背包问题

11)图着色问题

给定一个无向图G=(V, E),其中V为顶点集合,E为边集合,图着色问题即为将V分为K个颜色组,每个组形成一个独立集,即其中没有相邻的顶点。其优化版本是希望获得最小的K值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值