P4782 【模板】2-SAT 问题 && 2-SAT

2-SAT

\(k-SAT\) 是 k-适应性问题(satisfiability)的简称。
\(k-SAT\) 问题(除 \(k = 2\))已被证明为是 \(NP\) 完全问题, 而对于 \(k = 2\)\(2-SAT\) 问题, 我们可以用图论求解。
\(k-SAT\)\(2-SAT\) 最大的不同在与这个\(2\) 废话, 就因为这个 “2”, 我们可以由假设的第一个限制条件推知第二个限制条件
举个栗子: 限制条件为 \(a\) ^ $b = 1 $ 有
\[ a\ xor\ b = 1 \Rightarrow \left\{ \begin{aligned} a = 1 \Rightarrow b = 0 \a = 0 \Rightarrow b = 1 \end{aligned} \right. \]
依据限制条件, 我们可以搞一个通式有助后边理解: \(a = x\) \(b = y\) (a、 b、 x 已知且 \(x,y \in {0,1}\)
于是, 我们把问题转换到图中:引入一条有向边, 起点为通式则的左边, 终点为则右边, 这条边的意义为 必须选中, 即选择了起点就必须选择终点。
以上文的限制条件为例,我们将 x 变量为假设为 x , x 变量为真设为 x‘ , 可以作如下转换:
\[ a\ xor\ b = 1 \Rightarrow \left\{ \begin{aligned} a'\ \rightarrow\ b \a\ \rightarrow\ b' \end{aligned} \right. \]

相关文章

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬...
文章目录获取数据查看数据结构获取数据下载数据可以直接通过...
网上商城系统MySql数据库设计
26个来源的气象数据获取代码
在进入21世纪以来,中国电信业告别了20世纪最后阶段的高速发...