计算复杂性理论中的NP问题深入剖析
1. P与NP问题
P是否等于NP是一个著名且尚未解决的问题,困扰着复杂性理论研究者。大多数复杂性理论家认为P不等于NP。如果P等于NP,计算复杂性世界虽会多一个重要见解,但会失去很多丰富结构,比如基于NP的复杂性类层次结构会崩塌到P。
P与NP问题在密码学中也至关重要。若P等于NP,当前多数密码系统将无用,因为它们的安全性基于某些问题(如因式分解问题)难以解决的假设。因式分解问题是求给定整数的质因数分解,虽可在非确定性多项式时间内完成,但尚无高效确定性算法。不过,存在高效因式分解算法并不明显意味着P等于NP,这使因式分解问题与NP完全问题有所不同。
根据引理3.36,P等于NP当且仅当任何一个NP完全问题属于P。若P不等于NP,则没有NP完全问题属于P。那么,假设P不等于NP,是否存在既不属于P也不是NP完全的NP问题呢?Ladner证明答案是肯定的。
定理3.68(Ladner):P不等于NP当且仅当存在既不属于P也不是NP完全的NP集合。
通过该定理,若P不等于NP,存在既不属于P也不是NP完全的NP问题,但证明中构造的问题并非自然问题。素性问题曾被认为是这样的自然问题候选,但Agrawal、Kayal和Saxena证明该问题实际上属于P。另一个候选是图同构问题。
事实3.69:图同构问题(GI)属于NP。第6章将提供证据表明GI似乎不是NP完全问题,但它与NP完全集有很多共同属性,比如它是自可归约的。
2. 自可归约性
直观地说,如果存在一个解决集合A的高效算法,该算法将集合A本身用作神谕,那么集合A是自可归约的。为避免平凡情况,自归
NP问题与计算复杂性核心理论解析
超级会员免费看
订阅专栏 解锁全文
918

被折叠的 条评论
为什么被折叠?



