非确定性与NP完全性:理论与应用解析
在计算机科学的理论领域中,非确定性和NP完全性是极为重要的概念,它们对于理解问题的计算复杂度和可解性起着关键作用。本文将深入探讨这些概念,包括NP类的特征、P类问题的性质、集合的枚举以及NP完全性的定义和应用。
1. 刻画NP类
非确定性图灵机是一种具有多值转移函数的图灵机。对于一个输入字 $x$,如果存在一条计算路径使得该图灵机 $M$ 最终进入接受状态,那么就称 $M$ 接受 $x$。
考虑一个图灵机 $M$,其接受计算被定义为一系列的格局 $I_0, I_1, \cdots, I_n$,其中 $I_0$ 是初始格局,$I_n$ 是接受格局,并且对于每个 $i < n$,有 $I_i \vdash_M I_{i + 1}$。由此可以定义一个二元关系 $R$:
[R(x, y) \Leftrightarrow [x \text{ 是 } M \text{ 的输入字且 } y \text{ 是 } M \text{ 在 } x \text{ 上的接受计算}]]
可以证明集合 ${(x, y) | R(x, y)}$ 属于复杂度类 $L$。
下面的定理给出了NP类的一个重要的与机器无关的刻画:
定理6.1 :一个集合 $A$ 属于NP当且仅当存在一个多项式 $p$ 和一个多项式时间可判定的二元关系 $R$,使得对于所有的字 $x \in \Sigma^*$,有
[x \in A \Leftrightarrow \exists y [|y| \leq p(|x|) \land R(x, y)]]
超级会员免费看
订阅专栏 解锁全文

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



