📜  DAA | 3-CNF可满足性

📅  最后修改于: 2020-12-11 01:35:02             🧑  作者: Mango

3CNF SAT

概念:-在3CNF SAT中,您至少有3个子句,并且在子句中,您将拥有几乎3个字面量或常量

如(X + Y + Z)(X + Y + Z)(X + Y + Z )
您可以定义为(XvYvZ)ᶺ(Xv Y vZ)ᶺ(XvYv Z )
V = OR运算符
^ = AND运算符

以下所有这些点都需要在3CNF SAT中加以考虑。

证明: –

  • 3CNF SAT的概念
  • SAT≤ρ3CNF SAT
  • 3CNF≤ρSAT
  • 3CNF ϵ NPC
  • 概念: -在3CNF SAT中,您至少有3个子句,在3个子句中,您将有几乎3个字面量或常量。
  • SAT≤ρ3CNF SAT: -首先,您需要在多项式时间内F = X + YZ =(X + Y)(X + Z)=(将SAT中创建的布尔函数转换为POS或SOP形式的3CNF X + Y + ZZ')(X + YY'+ Z)=(X + Y + Z)(X + Y + Z')(X + Y + Z)(X + Y'+ Z)=(X + Y + Z)(X + Y + Z')(X + Y'+ Z)
  • 3CNF≤pSAT: -从具有三个字面量的布尔函数中,我们可以将整个函数简化为较短的一个。 F =(X + Y + Z)(X + Y + Z')(X + Y'+ Z)=(X + Y + Z)(X + Y + Z')(X + Y + Z)(X + Y'+ Z)=(X + Y + ZZ')(X + YY'+ Z)=(X + Y)(X + Z)= X + YZ
  • 3CNF ϵ NPC: -众所周知,您可以通过SAT获得3CNF,并且可以通过来自NP的CIRCUIT SAT获得SAT。

NPC证明:

  • 它表明您可以轻松地将SAT的布尔函数转换为3CNF SAT,并且还可以在多项式时间内通过归约概念满足3CNF SAT的概念。
  • 如果要验证3CNF SAT中的输出,请执行精简并转换为SAT和CIRCUIT来检查输出

如果您能达到这两点,则意味着NPC中也有3CNF SAT