【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )
文章目录
- 一、3-SAT 是 NP 完全问题
- 二、团问题是 NP 完全问题
- 三、团问题是 NP 完全问题 证明思路
一、3-SAT 是 NP 完全问题
布尔可满足性问题 ( Boolean Satisfiability Problem , SAT ) , 是 NP\rm NPNP 完全的 ;
3-SAT 问题 也是 NP\rm NPNP 完全问题 ;
3-SAT 问题 的逻辑公式 , 是由一些合取范式 , 这些合取范式中 , 每个子项中 , 所包含的 原子逻辑命题 或其否定命题 的 个数一定为 3\rm 33 ;
合取范式概念参考 【数理逻辑】范式 ( 合取范式 | 析取范式 | 大项 | 小项 | 极大项 | 极小项 | 主合取范式 | 主析取范式 | 等值演算方法求主析/合取范式 | 真值表法求主析/合取范式 ) ;
如下逻辑公式就是 3-SAT 问题逻辑公式 : 举例说明 :
(a1∨a2∨z1)∧(z1‾∨a3∨z2)∧(z2‾∨a4∨z3)∧⋯∧(zl−3‾∨al−1∨al)\rm ( a_1 \lor a_2 \lor z_1 ) \land ( \overline{z_1} \lor a_3 \lor z_2 ) \land ( \overline{z_2} \lor a_4 \lor z_3 ) \land \cdots \land ( \overline{z_{l-3}} \lor a_{l-1} \lor a_l )(a1∨a2∨z1)∧(z1∨a3∨z2)∧(z2∨a4∨z3)∧⋯∧(zl−3∨al−1∨al)
SAT 与 3-SAT 问题是相互等价的 , 如果一般的命题逻辑公式 (a1∨a2∨⋯∨al)\rm ( a_1 \lor a_2 \lor \cdots \lor a_l )(a1∨a2∨⋯∨al) 是可以满足的 , 当且仅当 (a1∨a2∨z1)∧(z1‾∨a3∨z2)∧(z2‾∨a4∨z3)∧⋯∧(zl−3‾∨al−1∨al)\rm ( a_1 \lor a_2 \lor z_1 ) \land ( \overline{z_1} \lor a_3 \lor z_2 ) \land ( \overline{z_2} \lor a_4 \lor z_3 ) \land \cdots \land ( \overline{z_{l-3}} \lor a_{l-1} \lor a_l )(a1∨a2∨z1)∧(z1∨a3∨z2)∧(z2∨a4∨z3)∧⋯∧(zl−3∨al−1∨al) 逻辑公式也是可以满足的 ;
二、团问题是 NP 完全问题
团问题是 NP 完全问题
团 是一个无向图 点集 的 子集 , 使得 该点集子集 中 任何两个节点之间都有边相连 ;
团问题 就是 判定无向图中 , 是否包含有 k\rm kk 个节点的 团 ;
上述团问题 , 是 NP\rm NPNP 问题 ;
给定一个无向图 , 其中有一个 n\rm nn 个节点组成的集合 , 验证该 n\rm nn 集合是否是团 ;
验证的方法就是看这 n\rm nn 元集中的节点之间两两之间是否有边相连即可 ;
验证所花的时间是多项式时间 , 该计算问题在 NP\rm NPNP 中 ;
三、团问题是 NP 完全问题 证明思路
证明一个命题是 NP\rm NPNP 完全问题 :
① 证明是 NP\rm NPNP 问题 : 首先证明该问题是 NP\rm NPNP 问题 ;
② 证明是最难的 NP\rm NPNP 问题 : 然后证明所有的 NP\rm NPNP 问题 , 可以在多项式时间内规约到 该命题中 ; 也可以使用一个已经证明的 NP\rm NPNP 完全问题 , 在多项式时间内规约到 需要被证明的命题 ;
证明 团问题 是 NP\rm NPNP 完全的 , 从已知的 NP\rm NPNP 完全问题出发 , 已知的 NP\rm NPNP 完全问题就是 3-SAT 问题 ,
如果 3-SAT 问题是 NP\rm NPNP 完全的话 ,
只要证明 3-SAT 问题 可以在 多项式时间内规约 到 团问题 中 , 3-SAT ≤\leq≤ 团问题 ,
就可以证明 团问题 是 NP\rm NPNP 完全问题 ;
将 3-SAT 问题 可以在 多项式时间内规约 到 团问题 中 ,
给定一个 3-SAT 问题 的 布尔逻辑公式 ,
ϕ=(x1∨x1∨x2)∧(x1‾∨x2‾∨x2‾)∧(x1‾∨x2∨x2)\rm \phi = ( x_1 \lor x_1 \lor x_2 ) \land ( \overline{x_1} \lor \overline{x_2} \lor \overline{x_2} ) \land ( \overline{x_1} \lor x_2 \lor x_2 )ϕ=(x1∨x1∨x2)∧(x1∨x2∨x2)∧(x1∨x2∨x2)
构造一个 无向图 ,
使得 布尔逻辑公式 是可满足的 , 当且仅当 , 无向图中有一个 k\rm kk 团 ;
k\rm kk 团就是无向图中 k\rm kk 个节点子集 , 每两个节点之间都有边相连 ;
证明过程 : 从 给定的 3-SAT 布尔逻辑公式 ϕ=(x1∨x1∨x2)∧(x1‾∨x2‾∨x2‾)∧(x1‾∨x2∨x2)\rm \phi = ( x_1 \lor x_1 \lor x_2 ) \land ( \overline{x_1} \lor \overline{x_2} \lor \overline{x_2} ) \land ( \overline{x_1} \lor x_2 \lor x_2 )ϕ=(x1∨x1∨x2)∧(x1∨x2∨x2)∧(x1∨x2∨x2) 中 , 构造出一个无向图 出来 , 使得该无向图可以满足 " 布尔逻辑公式 是可满足的 , 当且仅当 , 无向图中有一个 k\rm kk 团 "
【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )相关推荐
- 【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题 | 旅行商问题 | 子集和问题 )
文章目录 一.顶点覆盖问题 二.哈密顿路径问题 三.旅行商问题 四.子集和问题 五.NP 完全问题 一.顶点覆盖问题 顶点覆盖 ( Vertex Cover ) : 给定一个 无向图 G\rm GG ...
- 【计算理论】计算复杂性 ( 证明团问题是 NP 完全问题 )
文章目录 一.团问题是 NP 完全问题 证明思路 二.证明团问题是 NP 完全问题 一.团问题是 NP 完全问题 证明思路 证明一个命题是 NP\rm NPNP 完全问题 : ① 证明是 NP\rm ...
- 【计算理论】计算复杂性 ( NP 完全问题 - 布尔可满足性问题 ★ | 布尔可满足性问题是 NP 完全问题证明思路 ) ★
文章目录 一.NP 完全问题 - 布尔可满足性问题 ★ 二.布尔可满足性问题是 NP 完全问题证明思路 一.NP 完全问题 - 布尔可满足性问题 ★ 布尔可满足性问题 ( Boolean Satisf ...
- 【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )
文章目录 一.独立集问题 二.独立集问题是 NP 完全问题证明思路 二.证明独立集问题是 NP 完全问题 一.独立集问题 无向图的独立集 , 指的是在无向图中找到点集的子集 , 使得它们两两之间 , ...
- 【计算理论】计算复杂性 ( 多项式时间规约 | NP 完全 ★ | 布尔可满足性问题 ) ★
文章目录 一.多项式时间规约 分析 二.NP 完全 ★ ( 计算理论最重要的概念 ) 一.多项式时间规约 分析 多项式时间规约概念 : [计算理论]计算复杂性 ( 多项式等价引入 | 多项式时间规约 ...
- 【计算理论】计算复杂性 ( NP 类不同表述 | 团问题 | P 对 NP 问题 )
文章目录 一.NP 类不同表述 二.团问题 三.P 对 NP 问题 ( P vs NP ) 一.NP 类不同表述 NP\rm NPNP 对应的 确定性图灵机 表述 : NP\rm NPNP 类就是有 ...
- 【计算理论】计算复杂性 ( coNP 问题 | coNP 完全 | P、NP、coNP 相互关系 )
文章目录 一.coNP 类 二.coNP 完全 三.P.NP.coNP 相互关系 一.coNP 类 如果 语言 L\rm LL 在 coNP\rm coNPcoNP 中 , 那么 该语言的补集在 NP ...
- 【计算理论】计算复杂性 ( P 类 | 有效算法函数 | NP 直觉 | NP 简介 | NP 类严格数学定义 )
文章目录 一.P 类 二.有效算法函数 三.NP 直觉 四.NP 简介 五.NP 严格数学定义 一.P 类 时间复杂度类 : 定义 时间复杂度类 TIME(t(n))\rm TIME( t(n) )T ...
- 【计算理论】计算理论总结 ( P 、NP 、NPC 总结 ) ★★
文章目录 一.P 类 二.NP 类 三.NPC 类 ( NP 完全 ) 四.P .NP .NPC 三者关系 一.P 类 P\rm PP 类 : ★ 所有 能够被 确定性 单个带子图灵机 , 在 多项式 ...
最新文章
- [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距
- 操作系统 VS 编程语言 UNIX VS C语言
- 爱情,是我一生中最虔诚的信仰
- linux服务器磁盘扩容的方法
- Elasticsearch2.3.2创建索引java代码及异常处理
- PHP array_merge()函数与示例
- Linux基础(3)--搭建最小的Linux系统
- 常用的分布式唯一ID生成方案
- 会真香吗?周某表示不会签约直播打工,想在老家种地
- CodeForces Round #290 Div.2
- 回文数问题,两数互换位置问题(不用第三个变量)
- bzoj 4289 TAX —— 点边转化
- 滴滴巨亏109亿后,裁员2000人,补偿方案已出,员工争着被裁
- PHP 大括号{} 的使用
- 如何去掉腾讯网址安全中心提醒
- 支付宝第三方在线支付接口详解
- 一阶线性偏微分方程通解法和特征线法(一)| 两个自变量情况 | 偏微分方程(七)
- 欢迎来到地狱(隐写术)
- 华为harmonyos2.0哪里下载,华为HarmonyOS最新官方版-华为HarmonyOS2.0最新下载地址-游侠软件下载...
- 如何看待大数据「杀熟」?