Skip to content

The Minimum Equivalent DNF Problem and Shortest Implicants

Updated: at 15:06

摘要: 我们证明了最小等价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是一个布尔函数,满足CfC \rightarrow f为永真式,则称CCff的蕴含项。

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,使得X1X2,X1X2ϕ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是如下定义:如果xiWx_i\in W,则hih_imm个变量的布尔奇偶校验函数(把他们相异或)(原文:“an independent copy of the Boolean parity function on m variables”),否则hi=xih_i=x_i,则下面两个声明成立:

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

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

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

f=j=1S1(s1jz1)(i=2n1j=1Si(zi1sijzi))j=1Sn(zn1snj)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=1S1(s1jz1)\bigvee_{j=1}^{|S_1|} (s_{1j} \land z_1)表示S1S_1中至少有一个变量和z1z_1同时为真;i=2n1j=1Si(zi1sijzi)\bigvee_{i=2}^{n-1} \bigvee_{j=1}^{|S_i|} (\overline{z_{i-1}} \land s_{ij} \land z_i)表示从第二个开始,zi1z_{i-1}sijzis_{ij}z_i必须同真假,保证变量的选择依赖于前一个集合的选择;j=1Sn(zn1snj)\bigvee_{j=1}^{|S_n|} (\overline{z_{n-1}} \land s_{nj})表示zn1z_{n-1}必须为假且SnS_n中某个变量必须为真。

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

证明:CCff的蕴含项。假设CC中不包含任何SiS_i的变量,则将CC中所有变量设为1,而所有k>ik>izkz_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)Ck|C|\leq k;(2)CtnC\subseteq t_n

Claim 1: xy.ϕ(x,y)2QBF\exists x\forall y.\phi(x,y)\in \text{2QBF} 当且仅当ϕ\phi'有一个大小为mm的蕴含项CC'满足i[m].CVi\forall i\in[m].C'\cap V_i\neq\emptyϕ\phi'是将x1,...,xmx_1, ..., x_m替换成w1,...,wmw_1,...,w_mxˉ1,...,xˉm\bar x_1,...,\bar x_m替换成v1,...,vnv_1,...,v_nVi={wi,vi}V_i=\{w_i, v_i\}

证明:xy.ϕ(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\}中。根据上面替换,替换后的蕴含项为CC',替换后的命题为ϕ\phi',显然CC'ϕ\phi'的蕴含项。反向同理,CC'定义了一个xx的真值指派使得ϕ(x,y)\phi(x,y)永真,故xy.ϕ(x,y)2QBF\exists x\forall y.\phi(x,y)\in 2QBF.

Claim 2: ϕ=(fϕ)S\phi''=(f\land \phi')\lor S有一个长度最多为mm的蕴含项CVC\subseteq V,当且仅当xy.ϕ(x,y)2QBF\exists x\forall y.\phi(x,y)\in \text{2QBF}.

证明:ϕ\phi''有一个长度最长为mm的蕴含项CC,则CC至少包含每一个ViV_i中的一项,原因如Claim 1所示。反向,设ϕ\phi''有一个长度不超过mm的蕴含项CVC''\subseteq V,如果i.Vi\exists i.V_i中两个元素都不在CC''中,则根据引理2,CC''不是ϕ\phi的蕴含项,所以CC''不是ϕ\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...wmi[m]ϕiw1w2...wi1wi+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...wmi=imsi=Cw1...wmi=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..wms'_i=s_iw_1..w_{m'}sis_iϕ\phi'展开为DNF的项。令k=k+m+i=1msik'=k+m'+\sum_{i=1}^m|s_i'|,则需要证明的MIN-DNF的输入就是<ϕ,k>\left<\phi'',k'\right>

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

  1. 对于所有的iiσ\sigma包含sis_i''使得sisis_i'\subseteq s_i''
  2. sis_i''的总长度至少为i=1msi\sum_{i=1}^m|s_i'|
  3. sis_i''没有覆盖所有tnw1...wmt_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的蕴含项,则上面的sis'_i也被去除了,就变回了kk

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


Previous Post
程序语言理论笔记
Next Post
I-ViT: Integer-only Quantization for Efficient Vision Transformer Inference