有多少个重言式?


17

给定,重言式中有变量和从句的 -DNF中有多少个?(或者有多少 -CNFs是不可满足的?)m,n,kknmk


9
有点动机会帮助我们相信,这不仅仅是一个随机的问题。
Andrej Bauer

1
@AndrejBauer:我正在阅读有关SAT求解器及其性能的信息。
2013年

Answers:


29

答案取决于mn。确切的计数通常是未知的,但是存在“阈值”现象,即对于kmn的大多数设置,几乎所有k -SAT实例都可以满足,或者几乎所有实例都不能满足。例如,当k = 3时,凭经验观察到,当m < 4.27 n时,3-SAT实例中除o 1 分数以外的所有分数都可以满足,而当m > 4.27 n时,除o以外的所有分数都可以满足kmnkmnkk=3m<4.27no(1)m>4.27n分数不满足。(也有严格的边界证明。)o(1)

一个起点是“ k-SAT阈值的渐近阶”

Amin Coja-Oghlan在这些可满足性阈值问题上也做了很多工作


5

这是对Ryan的回答的补充说明,Ryan的回答涉及阈值,在此阈值中,子句的数量变得足够大,几乎可以肯定该实例无法满足。人们还可以计算出更大的阈值,其中子句的数量超过n的函数时会迫使不满足。n

请注意,一些技术问题需要解决。如果重复的子句以,则可以将m设为所需的大小而无需更改n。这将破坏mn之间的大多数关系。因此,假设m是不同子句的数量。我们需要决定另一个细节,即是否对实例进行编码,以便子句中的文字顺序或实例中的子句顺序很重要。假设这并不重要,因此如果两个实例包含相同的子句,则将它们视为等效;如果两个实例包含相同的文字,则将它们视为等效。通过这些假设,我们现在可以限制可以用以下方式表达的不同子句的数量:mmnmnm变量。每个子句可以具有每个变量存在的正或负,或者根本没有,然后中号3 Ñnm3n

首先考虑SAT而不限制。使实例可满足的最大m是多少?不失一般性,我们可以假设全零分配是一种解决方案。然后,有3 n - 2 n个不同的子句与此解决方案一致,每个子句至少包含一个否定的文字。因此中号3 ñ - 2 Ñ为任何可满足的实例。由所有包含至少一个否定文字的所有子句组成的实例具有这么多子句,并且由全零分配满足。此外,根据信鸽原理,任何情况下至少3 nkm3n2nm3n2n子句不满足。3n2n+1

这产生23n2n此类子句的不同子集,每个子​​集表示一个不同的实例,该实例由某些赋值满足。相比之下,不同实例的总数为23n

现在针对每个子句最多具有文字的实例修改上述内容,其中k i = 0k不同的此类从句,并且 k i = 0 ni=0k(ni)2i的条款,其中没有负字面值,所以&Sigma; ķ = 0 Ñi=0k(ni)对于可满足的实例,并且任何较大的m都不可满足。那么有2 k i = 0 nmi=0k(ni)(2i1)m实例,由任何特定分配满足,总共2个 k i = 0 n2i=0k(ni)(2i1)2i=0k(ni)2i k


1
我在2008 ish时也产生了相同的结果。还有一些用于文字和变量的互补函数,因此,如果您不假设重复使用文字,变量或从句,那么如果分别出现多于x个或y个以上的文字或变量,则给定的实例将无法满足。我将不得不挖掘找到这两个功能。+1
Tayfun Pay
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.