我声称对于“自然布尔CSP”,如果每k个k限制版本在P中,则无限制版本也在P中。我将在下面定义“自然布尔CSP”。
Schaefer定理指出,如果满足下列条件中的至少一个,则关系的有限集S上的布尔CSP 处于P中,如果不满足以下条件,则它是NP完全的:
- S中的每个关系(常数0除外)都可以通过为其所有变量分配1来满足。
- 通过为其所有变量分配0来满足S中的每个关系(常数0除外)。
- S中的每个关系都等效于2-CNF公式。
- S中的每个关系都等效于Horn-clause公式。
- S中的每个关系都等同于双重角子句公式。(“双角子句公式”是指CNF公式,其中每个子句最多包含一个正文字。)
- S中的每个关系都等同于仿射子句的连接。
现在假设P≠NP,并考虑S为无穷大的情况。如果每k个k的限制形式在P中,则根据Schaefer定理,S的每个有限子集至少满足上述六个条件之一,这意味着整个集合S至少满足六个条件之一。这是否意味着不受限制的CSP也位于P中?还没。
当S为无限时,我们必须指定输入公式中每个子句的给出方式。我们假设从{0,1} *到S有一些射影映射,它指定S中关系的编码。通过同时提供S和此编码功能来指定布尔CSP 。
注意,在上述情况3、4、5和6的每一种中,都有一种自然的方式来表示满足条件的关系:情况3中的2-CNF公式,情况4中的Horn-clause公式,依此类推。即使某个关系等效于(例如)2-CNF公式,也无法保证其编码可以轻松访问与其等效的2-CNF公式。
现在我们说布尔CSP 的编码函数满足以下条件是自然的:
- 给定一个关系的编码和对其所有变量的赋值,可以在多项式时间内计算是否满足该关系。(注意:这可确保相关的CSP始终位于NP中。)
- 给定满足条件3、4、5或6的关系的编码,可以在多项式时间内计算其如上所述的自然表示。
然后很容易看出,如果S满足上述六个条件之一,并且S的编码满足此“自然”条件,则可以应用相应的算法。我在开始时所说的主张可以通过考虑P = NP的情况和P≠NP的情况来证明。