摘要: 我们证明了最小等价DNF问题是-完全的,解决了Stockmeyer留下的猜想。我们还考虑了第二层多项式结构中相关优化问题的复杂性和近似性,即寻找布尔函数的最短蕴含项。我们证明,当输入作为DNF给出时,对高于 的复杂性类使用-limited非确定图灵机可以完成这个问题。当输入作为公式或电路给出时,这个问题是-完全的,并且在分别在因子和是-hard的。
1. Intro
逻辑综合领域等很多领域都在研究电路最小化问题,这个问题自从Stockmeyer的多项式层次相关的论文提出一直被猜测是-完全的,但是一直没有被证明。本文证明了MIN-DNF问题是-完全的,并且对于DNF形式给出的输入可以用一个复杂性不高于的非确定图灵机解决。
1.1. Previous Work
有很多讨论电路简化/DNF最小化的文章,但是基本没有证明它复杂性的相关工作。Hemaspaandra and Wechsung的工作证明了MIN-DNF是-hard的(?)或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
设是合取项,是一个布尔函数,满足为永真式,则称是的蕴含项。
2.1. Problems
Minimum equivalent DNF(): 给定一个析取范式和一个整数,是否存在一个等价于且长度不超过k的析取范式?
:析取范式有大小不超过的蕴含项。
:给定分离的变量集,以及一个公式,使得。
2.2. Tools
观察:
- 如果是的一个蕴含项,是满足的一个合取范式,则也是的一个蕴含项
- ,则的蕴含项也是的蕴含项
- ,则的蕴含项也是的蕴含项
引理一: 设是一个布尔函数,为”set of variables to weight”(会被后面的Boolean parity function处理的变量)。定义,其中是如下定义:如果,则是个变量的布尔奇偶校验函数(把他们相异或)(原文:“an independent copy of the Boolean parity function on m variables”),否则,则下面两个声明成立:
- ,其中是的所有蕴含项,是指的最小蕴含项的长度
- 如果是的蕴含项且,则是的蕴含项
证明: 第二个声明比较简单,因为如果,那么其中包含的变量在里也都包含。对于第一个证明,假设有的最小蕴含项,对于每个,要么被强制指定为0或1,要么是自由的(在与一致的赋值中可能任意取0或取1)。如果是被强制指定的,则一定要包含,如果,那就要用m项表示,否则只要用一个。如果是自由的,则只需要包含或者一个,总长度就为
选择公式: 给定个不相交变量集合,选择公式定义为:
其中是中的变量,是新变量。
表示中至少有一个变量和同时为真;表示从第二个开始,和必须同真假,保证变量的选择依赖于前一个集合的选择;表示必须为假且中某个变量必须为真。
引理: 设是一个的选择公式,且令是一个只包含中变量的合取式。当且仅当对所有至少有一个的时候,是的一个蕴含项。
证明: 设是的蕴含项。假设中不包含任何的变量,则将中所有变量设为1,而所有的设为0,根据上述选择公式可知中间项为假而为真,故不是的蕴含项,与前设矛盾。
3. Complexity of DNF Minimization
减少DNF长度的一个显然的方法是,去掉其中的一个变量,然后验证它是否是原DNF的一个蕴含项。如果有一个的神谕机用于验证,上述方法显然是多项式时间的。但是需要指出的是,结果DNF的长度实际上取决于去除变量的顺序。为了考虑能否取得一个最短的DNF,考虑下面的更特殊的问题:
: 给定析取范式,是否存在的蕴含项满足(1);(2)?
Claim 1: , 当且仅当有一个大小为的蕴含项满足。是将替换成,替换成,。
证明: 若,则存在的真值指派使得为永真式,即有一个大小为的的蕴含项,每个变量都在中。根据上面替换,替换后的蕴含项为,替换后的命题为,显然是的蕴含项。反向同理,定义了一个的真值指派使得永真,故.
Claim 2: 有一个长度最多为的蕴含项,当且仅当.
证明: 设有一个长度最长为的蕴含项,则至少包含每一个中的一项,原因如Claim 1所示。反向,设有一个长度不超过的蕴含项,如果中两个元素都不在中,则根据引理2,不是的蕴含项,所以不是的蕴含项,错误。
命题: 是-完全的。
证明: 由上述声明得知,一个输入为的为真当且仅当 输入为的的问题为真。而问题是-完全的,所以问题是-完全的。
命题: 是-完全的。
证明: 考虑的一个输入, 因为,定义
其中。可以注意到上面的式子实际上就是把拆开为一个析取范式。
Claim3: 如果是的一个蕴涵项,则
其中,是展开为DNF的项。令,则需要证明的MIN-DNF的输入就是。
证明: 因为,则也是的蕴含项,且也是,且长度不超过。设一个是的一个长度最大为的等价DNF,则要证明下面:
- 对于所有的,包含使得
- 的总长度至少为
- 没有覆盖所有的赋值
因此,若,则。证明完成了一个方向。
另一个方向上,因为的是新引入的,所以中的全部去除之后也要是的蕴含项,则上面的也被去除了,就变回了。
后面去准备MICRO了,也没怎么看懂。。。