NP问题选讲

Download Report

Transcript NP问题选讲

第七章
NP问题选讲
邹权(博士)
计算机科学系
提要
7.1 概念
7.2 规约
7.3 最大独立集问题
7.1 概念
• 判定问题
• P是所有可在多项式时间内用确定算法求解
的判定问题的集合。
• NP问题是所有可用多项式时间算法验证其
猜测准确性的判定问题的集合。
• P NP
• P = NP ?
• 多项式时间规约
– 问题A能够多项式时间规约到B
– 说明:B比A难!
• NP完全问题,满足:
– 该问题是NP问题
– 所有其他的NP问题都可以多项式时间规约到该问题
NP
P
NP-hard
NPC
7.2 规约
• 3-CNF可满足性问题
– CNF(合取范式):如果一个布尔公式是
一些子句的合取(与),而且子句是一
个文字或多个文字的析取(或),则该
公式是CNF。
– 如果CNF中每个子句都有且只有3个不同
的文字,则该公式称为3-CNF。
– 例:(x1  ¬x1  ¬x2) (x3  x2  x4) (¬x1  ¬x3 ¬x4)
7.2 规约
• 最大团问题
– 对于无向图G,一个团即图G的一个完全
子图
– 最大团问题即是否可以找出一个团,使
得其包含的顶点个数大于k
• 顶点覆盖问题
– 对于无向图G=(V,E),是否可以找出子集
V’,使得如果边(u,v) ∈E,则u ∈V’或v
∈V’,且|V’|<k
• 已知3-CNF可满足问题是一个NPC问题,
试证明最大团问题也是NPC问题
– 首先易证最大团是一个NP问题。
– 为3-CNF φ构造一个图G。
– 然后欲证3-CNF φ可满足当且仅当图G有一个
大小为k的团。
– 多项式规约说明:如果最大团问题可以多项
式时间解决,那么3-CNF亦可以。也就是说:
最大团不会比3-CNF容易!
• 已知最大团问题是一个NPC问题,试证明
顶点覆盖问题也是NPC问题
– 首先易证顶点覆盖是一个NP问题。
– 为最大团的图G构造一个图G’
– 然后欲证图G有一个大小为k的团当且仅当图
G’ 有一个大小为|V|-k的顶点覆盖
– 多项式规约说明:顶点覆盖不会比最大团问
题容易!
– 如果最大团是NPC,顶点覆盖也是NPC。
CircuitSAT
SAT
3-CNF-SAT
TSP
ParallelScheduling
Clique
GraphColoring
VertexCover
SetCover
HamCycle
SubsetSum
Partition
Knapsack
BinPacking
StripPacking
对比
• 以往的转化
– 欲解决问题A,将其转化为较简单的问题B,
然后解决B,从而解决A
• 本章的转化(多项式规约)
– 欲证明B不可解,找一个不可解(NP完全)
的问题A,将A多项式规约到B,从而说明B
比A难,B也不可解
7.3 最大独立集问题
• 问题
– 对于无向图G=(V,E),是否可以找出顶点个数大
于k的子集V’,使得V‘中没有任何边
• NP完全性证明
– 顶点覆盖中顶点的补集即独立集
• 解决办法
– Hopfield神经网络
• 应用
– RNA二级结构预测
• 输入:RNA序列
GGGCGACUAGCUCAAGUGGUAGAGCGCUCGCUU
AGCAUGCGAGAGGUACGGGGAUCGAUACCCCG
GUCGUCCA
• 输出:配对关系
• 目标:尽量多的碱基配对
参考文献
• Quan Zou, Tuo Zhao, Yang Liu, Maozu Guo. Predicting RNA
secondary structure based on the class information and Hopfield
network. Computers in Biology and Medicine. 2009,39(3):206-214
• 刘琦,张引,叶修梓,俞荣栋. 基于离散 Hopfield网络
求解极大独立集的茎区选择算法以及在RNA二级结构
预测中的应用. 计算机学报. 2008,31(1):51-58
• Y. Takefuji, L. Chen, K. Lee, J. Huffman. Parallel Algorithms For
Finding A Near-Maximum Independent Set of A Circle Graph.
IEEE Transaction On Neural Networks. 1990,1(3):263-267