n项单调CNF的最短公式


10

甲单调CNF式与米术语n个变量()是具有以下形式的公式˚F X 1... X Ñ= Ç ,其中每个Ç 是一些子集的OR变量x 1x ni的范围是1mx1,,xnf(x1,,xn)=CiCix1,,xni1m

例如,是单调CNF式对4个变量2项条款。(x1x3x4)(x2x4)

我在同一组变量上寻找最短的公式(不一定是单调的,不一定是CNF,任何公式都可以!),它代表n个具有n个项的给定单调CNF公式的功能相同。(请注意,术语和变量的数量相同。)

构造公式的一种明显方法是扩展给定的CNF定义,这将为我们提供大小为的公式。(让我们将公式的大小定义为以字符串形式记录下来时公式的长度。)我想知道这是否是最有效的一般结构,或者对于每个n项单调CNF是否都存在一个公式大小为o n 2O(n2)o(n2)

我只是想知道这是否可行,我对算法并不真正感兴趣。如果这不可能,那么用作反例的函数将是很棒的。我在文献中可以找到答案的指针也受到赞赏。

编辑:我正在添加一个示例,以使薄片更清晰。

说输入函数式是。这是单调CNF公式。其表示相同功能的一个较短的公式如下:X 1X 2X 3... X Ñf=(x1x2)(x1x3)(x1xn)x1(x2x3xn)

Answers:


11

Ω(n2/logn)exp(n2) nnexp(slogs)s

lognO(n2/logn)


很好,谢谢!log n因子对我而言并不那么重要,因此这完全回答了我的问题。
罗宾·科塔里

2

考虑到对于任何CNF,您都可以通过求出解决方案下的闭包并应用扣除消除来计算素数蕴涵集(其中任何最小值都必须是子集)。

FFF

当然,我假设您不想引入新的变量。

nfn


很好,我喜欢。(顺便说一句,如果出现单调DNF案件@Robin,我相信这可能很有趣:citeseerx.ist.psu.edu/viewdoc/summary?doi = 10.1.1.69.4716
Daniel

1
我不确定我是否理解。最小大小的CNF可能是我已经拥有的单调CNF公式,但是我正在寻找任何一种最小长度的公式。它不必是CNF或单调。我将编辑问题以使其更清楚。
罗宾·科塔里

1
啊,我明白了。好吧,我所说的涵盖了是否必须是CNF。如果它可以是一个任意的命题公式,那么我需要考虑更多。
MGwynne 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.