跳到主要内容
起居室老虎
返回

The Minimum Equivalent DNF Problem and Shortest Implicants

1,616 字约 6 分钟

原文:doi:10.1109/SFCS.1998.743506 · Umans, FOCS 1998

摘要: 我们证明了最小等价 DNF 问题是∑2P\sum_2^P- 完全的,解决了 Stockmeyer 留下的猜想。我们还考虑了第二层多项式结构中相关优化问题的复杂性和近似性,即寻找布尔函数的最短蕴含项。我们证明,当输入作为 DNF 给出时,对高于 coNPcoNP 的复杂性类使用O(log2n)O(log^2n)-limited 非确定图灵机可以完成这个问题。当输入作为公式或电路给出时,这个问题是∑2P\sum_2^P- 完全的,并且在分别在因子n1/2−ϵn^{1/2-\epsilon}和n1−ϵn^{1-\epsilon}是∑2P\sum_2^P-hard 的。

1. Intro

逻辑综合领域等很多领域都在研究电路最小化问题,这个问题自从 Stockmeyer 的多项式层次相关的论文提出一直被猜测是∑2P\sum_2^P- 完全的,但是一直没有被证明。本文证明了 MIN-DNF 问题是∑2P\sum_2^P- 完全的,并且对于 DNF 形式给出的输入可以用一个复杂性不高于O(log2n)O(log^2n)的非确定图灵机解决。

1.1. Previous Work

有很多讨论电路简化/DNF 最小化的文章,但是基本没有证明它复杂性的相关工作。Hemaspaandra and Wechsung 的工作证明了 MIN-DNF 是P2NPP^{NP}_2-hard 的(Δ2P\Delta_2^P?)或 NP-hard 的。

1.2. Practical Significance

In the more common case of NP-complete problems, a completeness result removes the likelihood of an efficient exact solution and justifies a concentration of effort on approximate or heuristic solutions.

虽然有上面的论断,但是用启发式或者近似的方法,也都要求解决 “子问题” 的时候要有精确性,如逻辑综合程序 ESPRESSO。研究这些子问题的复杂度和高效性也是很重要的。

2. Preliminaries

设CC是合取项,ff是一个布尔函数,满足C→fC \rightarrow f为永真式,则称CC是ff的蕴含项。

2.1. Problems

Minimum equivalent DNF(MIN-DNF\text{MIN-DNF}): 给定一个析取范式ϕ\phi和一个整数kk,是否存在一个等价于ϕ\phi且长度不超过 k 的析取范式?

Short-IMPDNF\text{Short-IMP}^{DNF}:析取范式ϕ\phi有大小不超过kk的蕴含项。

QSAT2\text{QSAT}_2:给定分离的变量集X1,X2X_1, X_2,以及一个3-DNF\text{3-DNF}公式ϕ\phi,使得X1∪X2,∃X1∀X2ϕX_1 \cup X_2, \exists X_1\forall X_2 \phi。

2.2. Tools

观察:

引理一: 设f(x1,...,xn)f(x_1, ..., x_n)是一个布尔函数,W⊆{x1,...,xn}W\subseteq \{x_1,...,x_n\}为 ”set of variables to weight”(会被后面的 Boolean parity function 处理的变量)。定义f′(h1,...,hn)f'(h_1, ..., h_n),其中hih_i是如下定义:如果xi∈Wx_i\in W,则hih_i是mm个变量的布尔奇偶校验函数(把他们相异或)(原文:“an independent copy of the Boolean parity function on m variables”),否则hi=xih_i=x_i,则下面两个声明成立:

证明: 第二个声明比较简单,因为如果vars(C)∩W=∅vars(C)\cap W=\empty,那么其中包含的变量在f′f'里也都包含。对于第一个证明,假设有f′f'的最小蕴含项C′C',对于每个ii,hih_i要么被C′C'强制指定为 0 或 1,要么是自由的(在与C′C'一致的赋值中可能任意取 0 或取 1)。如果是被强制指定的hih_i,则C′C'一定要包含hi或⌝hih_i或\urcorner h_i,如果xi∉Wx_i\notin W,那C′C'就要用 m 项表示,否则只要用一个。如果是自由的hih_i,则只需要包含xix_i或者⌝xi\urcorner x_i一个,总长度就为

minC{|vars(C)\W|+m|vars(C)∩W|}min_C\{|vars(C)\backslash W|+m|vars(C)\cap W| \}

选择公式: 给定n≥2n\geq2个不相交变量集合S1,...,SnS_1, ..., S_n,选择公式ff定义为:

f=⋁j=1|S1|(s1j∧z1)∨(⋁i=2n−1⋁j=1|Si|(zi−1∧sij∧zi))∨⋁j=1|Sn|(zn−1∧snj)f = \bigvee_{j=1}^{|S_1|} (s_{1j} \land z_1) \vee \left(\bigvee_{i=2}^{n-1} \bigvee_{j=1}^{|S_i|} (\overline{z_{i-1}} \land s_{ij} \land z_i)\right) \vee \bigvee_{j=1}^{|S_n|} (\overline{z_{n-1}} \land s_{nj})

其中sijs_{ij}是SiS_i中的变量,zz是新变量。

⋁j=1|S1|(s1j∧z1)\bigvee_{j=1}^{|S_1|} (s_{1j} \land z_1)表示S1S_1中至少有一个变量和z1z_1同时为真;⋁i=2n−1⋁j=1|Si|(zi−1∧sij∧zi)\bigvee_{i=2}^{n-1} \bigvee_{j=1}^{|S_i|} (\overline{z_{i-1}} \land s_{ij} \land z_i)表示从第二个开始,zi−1z_{i-1}和sijzis_{ij}z_i必须同真假,保证变量的选择依赖于前一个集合的选择;⋁j=1|Sn|(zn−1∧snj)\bigvee_{j=1}^{|S_n|} (\overline{z_{n-1}} \land s_{nj})表示zn−1z_{n-1}必须为假且SnS_n中某个变量必须为真。

引理: 设ff是一个(S1,...,Sn)(S_1, ..., S_n)的选择公式,且令CC是一个只包含⋃iSi\bigcup_iS_i中变量的合取式。当且仅当vars(C)∩Sivars(C)\cap S_i对所有ii至少有一个的时候,CC是ff的一个蕴含项。

证明: 设CC是ff的蕴含项。假设CC中不包含任何SiS_i的变量,则将CC中所有变量设为 1,而所有k>ik>i的zkz_k设为 0,根据上述选择公式可知中间项为假而CC为真,故CC不是ff的蕴含项,与前设矛盾。

3. Complexity of DNF Minimization

减少 DNF 长度的一个显然的方法是,去掉其中的一个变量,然后验证它是否是原 DNF 的一个蕴含项。如果有一个NPNP的神谕机用于验证,上述方法显然是多项式时间的。但是需要指出的是,结果 DNF 的长度实际上取决于去除变量的顺序。为了考虑能否取得一个最短的 DNF,考虑下面的更特殊的问题:

Short-IMLCORE\text{Short-IML}^{\text{CORE}}: 给定析取范式ϕ=⋁i∈[n]ti\phi=\bigvee_{i\in [n]}t_i,是否存在ϕ\phi的蕴含项CC满足 (1)|C|≤k|C|\leq k;(2)C⊆tnC\subseteq t_n?

Claim 1: ∃x∀y.ϕ(x,y)∈2QBF\exists x\forall y.\phi(x,y)\in \text{2QBF}, 当且仅当ϕ′\phi'有一个大小为mm的蕴含项C′C'满足∀i∈[m].C′∩Vi≠∅\forall i\in[m].C'\cap V_i\neq\empty。ϕ′\phi'是将x1,...,xmx_1, ..., x_m替换成w1,...,wmw_1,...,w_m,x‾1,...,x‾m\bar x_1,...,\bar x_m替换成v1,...,vnv_1,...,v_n,Vi={wi,vi}V_i=\{w_i, v_i\}。

证明: 若∃x∀y.ϕ(x,y)∈2QBF\exists x\forall y.\phi(x,y)\in \text{2QBF},则存在xx的真值指派使得ϕ(x,y)\phi(x,y)为永真式,即有一个大小为mm的ϕ\phi的蕴含项CC,每个变量都在{x1,x‾1,...,xm,x‾m}\{x_1, \bar x_1,...,x_m,\bar x_m\}中。根据上面替换,替换后的蕴含项为C′C',替换后的命题为ϕ′\phi',显然C′C'是ϕ′\phi'的蕴含项。反向同理,C′C'定义了一个xx的真值指派使得ϕ(x,y)\phi(x,y)永真,故∃x∀y.ϕ(x,y)∈2QBF\exists x\forall y.\phi(x,y)\in 2QBF.

Claim 2: ϕ′′=(f∧ϕ′)∨S\phi''=(f\land \phi')\lor S有一个长度最多为mm的蕴含项C⊆VC\subseteq V,当且仅当∃x∀y.ϕ(x,y)∈2QBF\exists x\forall y.\phi(x,y)\in \text{2QBF}.

证明: 设ϕ′′\phi''有一个长度最长为mm的蕴含项CC,则CC至少包含每一个ViV_i中的一项,原因如 Claim 1 所示。反向,设ϕ′′\phi''有一个长度不超过mm的蕴含项C′′⊆VC''\subseteq V,如果∃i.Vi\exists i.V_i中两个元素都不在C′′C''中,则根据引理 2,C′′C''不是ϕ\phi的蕴含项,所以C′′C''不是ϕ′′\phi''的蕴含项,错误。

命题: Short-IMLCORE\text{Short-IML}^{\text{CORE}}是∑2P\sum_2^P- 完全的。

证明: 由上述声明得知,一个输入为⟨ϕ′′,m⟩\left<\phi'', m\right>的Short-IMLCORE\text{Short-IML}^{\text{CORE}}为真当且仅当 输入为⟨ϕ⟩\left<\phi\right>的2QBF\text{2QBF}的问题为真。而iQBF\text{iQBF}问题是∑iP\sum_i^P- 完全的,所以Short-IMLCORE\text{Short-IML}^{\text{CORE}}问题是∑2P\sum_2^P- 完全的。

命题: MIN-DNF\text{MIN-DNF}是∑2P\sum_2^P- 完全的。

证明: 考虑Short-IMLCORE\text{Short-IML}^{\text{CORE}}的一个输入⟨ϕ,k⟩\left<\phi,k\right>, 因为ϕ=ϕ∧⌝ϕn∨ϕn\phi=\phi\land\urcorner\phi_n\lor\phi_n,定义

ϕ′=ϕnw1w2...wm′∨⋁i∈[m]ϕiw1w2...wi−1wi+1...wm′\phi'=\phi_nw_1w_2...w_{m'}\lor \bigvee_{i\in[m]}\phi_iw_1w_2...w_{i-1}w_{i+1}...w_{m'}

其中m′=max{m,k+1}m'=max\{m,k+1\}。可以注意到上面的式子实际上就是把ϕ∧⌝ϕn\phi\land\urcorner\phi_n拆开为一个析取范式。

Claim3: 如果C∈ϕnC\in \phi_n是ϕ\phi的一个蕴涵项,则

ϕ′′=tnw1...wm′∨⋁i=imsi′=Cw1...wm′∨⋁i=1msi′\phi''=t_nw_1...w_{m'}\lor\bigvee^m_{i=i}s_i'=Cw_1...w_{m'}\lor\bigvee^m_{i=1}s_i'

其中si′=siw1..wm′s'_i=s_iw_1..w_{m'},sis_i是ϕ′\phi'展开为 DNF 的项。令k′=k+m′+∑i=1m|si′|k'=k+m'+\sum_{i=1}^m|s_i'|,则需要证明的 MIN-DNF 的输入就是⟨ϕ′′,k′⟩\left<\phi'',k'\right>。

证明: 因为ϕ=ϕ′′\phi=\phi'',则CC也是ϕ′′\phi''的蕴含项,且Cw1...wm′Cw_1...w_{m'}也是,且长度不超过k′k'。设一个σ=⋁i=1msi′′\sigma=\bigvee_{i=1}^m s_i''是ϕ′′\phi''的一个长度最大为kk的等价 DNF,则要证明下面:

  1. 对于所有的ii,σ\sigma包含si′′s_i''使得si′⊆si′′s_i'\subseteq s_i''
  2. si′′s_i''的总长度至少为∑i=1m|si′|\sum_{i=1}^m|s_i'|
  3. si′′s_i''没有覆盖所有tnw1...wm′t_nw_1...w_{m'}的赋值

因此,若⟨ϕ,k⟩∈Short-IMLCORE\left<\phi,k\right> \in \text{Short-IML}^{\text{CORE}},则⟨ϕ′′,k⟩∈MIN-DNF\left<\phi'',k\right> \in \text{MIN-DNF}。证明完成了一个方向。

另一个方向上,因为ϕ′′\phi''的ww是新引入的,所以ϕ′′\phi''中的ww全部去除之后也要是ϕ\phi的蕴含项,则上面的si′s'_i也被去除了,就变回了kk。

后面去准备 MICRO 了,也没怎么看懂。。。