Computational Complexity: Complexity of Counting
Counting Problem
一些计数问题:
- $\sharp \text{CYCLE}$:计算有向图G中环的个数。
- $\sharp \text{SAT}$:使得该公式为真的真值指派的个数。
计数问题要远难于判定问题。
定理:如果$\sharp \text{CYCLE}$有多项式的算法,则$\textbf{P}=\textbf{NP}$。
$\sharp \textbf{P}$
对函数$f:\{0,1\} ^* \to \textbf{N}$,如果$\exists p : \textbf{N} \to \textbf{N}$和一个多项式图灵机$\mathbb{M}$使得$\forall x \in \{0,1\} ^*$,有:
$$
f(x)=|\{y \in \{0,1\} ^{p(|x|)}| \mathbb{M}(x,y)=1\}|
$$
其中,右边表示使得括号成立的$y$的个数。这样的$f$是在$\sharp \textbf{P}$中的。
上述定义可视为用“证据”定义的,因而也可用非确定图灵机定义$\sharp \textbf{P}$,此时$f$的值即为非确定图灵机回答YES的路径数。
$\textbf{PP}$可视为$\sharp \textbf{P}$的决策版本。
$\textbf{FP}$
函数$(f:\{0,1\} ^*\to \textbf{N}) \in \textbf{FP}$,如果该函数可由多项式图灵机计算。
$\textbf{FP} \subseteq \sharp\textbf{P}$
$\sharp \textbf{P}$完全
$f \in \sharp \textbf{P}\text{-complete}$如果$f \in \sharp \textbf{P}$且$\sharp \textbf{P} \in \textbf{FP} ^f$。
即$\sharp \textbf{P}$中的问题都可以通过调用$f$解决。
$\sharp \textbf{SAT}$是$\sharp \textbf{P}\text{-complete}$的。还是C-L归约。
$\sharp \textbf{SAT}$:$<\varphi, i>$,其中$\varphi$是可取范式,$i$是使得$\varphi$为真的真值指派的个数。
Valiant Theorem
Perm是$\sharp \textbf{P}$完全的。
Perm转换为有向图中包含所有结点的环。
把3CNF的变量和语句表示为图。
最终Perm=$4 ^{3m}\sharp \varphi$。
还要证明Perm$\le _K$0-1Perm:把边转为$k$条权为1的平行边。
Universal Hash Function
$\mathcal{H} \subseteq B ^A$,其中$B ^A$表示从$A$到$B$的函数。$\mathcal{H}$是通用哈希函数族,如果:
$$\text{Pr} _{h \in _R \mathcal{H}}[h(x)=h(x')]\le \frac{1}{|B|}$$
其中$x,x' \in A,x \ne x'$。
m-wise Independent Hash Function Family
$$
\text{Pr} _{h \in _R \mathcal{H} _{n,k}}[\land _{i=1} ^m h(x _i)= y _i]=\frac{1}{2 ^{mk}}
$$
则称$\mathcal{H} _{n,k}$是m-independent的。其中,$x _i$互不相等。$\mathcal{H} _{n,k}$将长度为$n$的串映射为长度为$k$的串。换句话说,$\mathcal{H} _{n,k}$能保证对$m$个串,其对每一位的映射都是独立的。
多项式线性方程的解,因为只有唯一解,所以能求出唯一的系数$a _0,...,a _{m-1}$。范德蒙德式。
Valiant-Vazirani Theorem
$\textbf{UP}$,对其中的类,非确定图灵机的所有路径中,至多有一条路径接受它。$\textbf{P}\subseteq \textbf{UP} \subseteq \textbf{NP}$。
$\textbf{USAT}$:只有唯一的真值指派使之为真。
定理:$\forall n$变量的$\phi$,存在多项式概率图灵机$\mathbb{A}$:
$$
\begin{align*}
&\phi \in \textbf{SAT} \to \text{Pr}[\mathbb{A}(\phi)\in \textbf{USAT}] \ge 1/(8n) \\
&\phi \notin \textbf{SAT} \to \text{Pr}[\mathbb{A}(\phi)\in \textbf{SAT}] =0
\end{align*}
$$
证明:对$\phi(x,y...,z)$,定义归约$\phi \land x=c _1 \land y= c _2\land...\land z = c _n$。由于$\phi$没有多项式算法,所以$c _1,...,c _n$是满足合取范式的猜测。
详细证明:集合并公式的拆分。
不能通过重复实验来提高概率,因为每次随机算法$\mathbb{A}$生成的都是随机的公式。
$\oplus \textbf{P}$
$\oplus\textbf{P}$,对其中的类,非确定图灵机的所有路径中,只有奇数条路径接受它(或者0条则表拒绝)。$\textbf{UP} \subseteq \oplus \textbf{P}$。
$\oplus \textbf{SAT}$是$\oplus \textbf{P}$完全的。
将前面的$\textbf{USAT}$换成$\oplus \textbf{SAT}$也是对的,且能重复实验提高精度,这就是Toda Theorem。
Toda Theorem:任何$\textbf{PH}$问题都能通过调用多项式次$\sharp \textbf{P}$完成,即:
$$
\textbf{PH} \subseteq \textbf{P} ^{\sharp \textbf{P}}
$$