赞
踩
无向图的独立集 , 指的是在无向图中找到点集的子集 , 使得它们两两之间 , 没有边相连 ;
下图中的无向图中 , 黄色的点集是独立集 ;
独立集问题也是一个 N P \rm NP NP 完全问题 ;
证明一个命题是 N P \rm NP NP 完全问题 :
① 证明是 N P \rm NP NP 问题 : 首先证明该问题是 N P \rm NP NP 问题 ;
② 证明是最难的 N P \rm NP NP 问题 : 然后证明所有的 N P \rm NP NP 问题 , 可以在多项式时间内规约到 该命题中 ; 也可以使用一个已经证明的 N P \rm NP NP 完全问题 , 在多项式时间内规约到 需要被证明的命题 ;
证明 独立集题 是 N P \rm NP NP 完全的 , 从已知的 N P \rm NP NP 完全问题出发 , 已知的 N P \rm NP NP 完全问题就是 3-SAT 问题 ,
如果 3-SAT 问题是 N P \rm NP NP 完全的话 ,
只要证明 3-SAT 问题 可以在 多项式时间内规约 到 独立集问题 中 , 3-SAT ≤ \leq ≤ 独立集问题 ,
就可以证明 独立集问题 是 N P \rm NP NP 完全问题 ;
将 3-SAT 问题 可以在 多项式时间内规约 到 独立集问题 中 ,
给定一个 3-SAT 问题 的 布尔逻辑公式 ,
ϕ = ( x ∨ y ∨ ¬ z ) ∧ ( ¬ x ∨ ¬ y ∨ z ) ∧ ( ¬ x ∨ y ∨ ¬ z ) \rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z) ϕ=(x∨y∨¬z)∧(¬x∨¬y∨z)∧(¬x∨y∨¬z)
构造一个 无向图 ,
使得 布尔逻辑公式 是可满足的 , 当且仅当 , 无向图中有一个 k \rm k k 独立集 ;
k \rm k k 独立集就是无向图中 k \rm k k 个节点子集 , 每两个节点之间都没有边相连 ;
证明过程 : 从 给定的 3-SAT 布尔逻辑公式 ϕ = ( x ∨ y ∨ ¬ z ) ∧ ( ¬ x ∨ ¬ y ∨ z ) ∧ ( ¬ x ∨ y ∨ ¬ z ) \rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z) ϕ=(x∨y∨¬z)∧(¬x∨¬y∨z)∧(¬x∨y∨¬z) 中 , 构造出一个无向图 出来 , 使得该无向图可以满足 " 布尔逻辑公式 是可满足的 , 当且仅当 , 无向图中有一个 k \rm k k 独立集 "
任意给出一个 3 3 3 合取范式 ,
ϕ = ( x ∨ y ∨ ¬ z ) ∧ ( ¬ x ∨ ¬ y ∨ z ) ∧ ( ¬ x ∨ y ∨ ¬ z ) \rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z) ϕ=(x∨y∨¬z)∧(¬x∨¬y∨z)∧(¬x∨y∨¬z)
将上述公式转为无向图 : 合取范式每个子项 , 转换为三元组 , 如下图所示 ;
无向图构造原则 : 互为否定的点集 , 连接在一起 ,
没有边相连 : 下图中 x , ¬ y , ¬ z \rm x , \lnot y , \lnot z x,¬y,¬z 互相不为否定 , 三个点之间没有边相连 ;
没有边相连 : 下图中
y
,
¬
x
,
¬
x
\rm y , \lnot x , \lnot x
y,¬x,¬x 互相不为否定 , 三个点之间没有边相连 ;
有边相连 : 下图中 ¬ z , z , ¬ z \rm \lnot z , z , \lnot z ¬z,z,¬z 有两个互相为否定 , 三个点之间有 2 2 2 条边相连 ;
有边相连 : 下图中 x , ¬ x , ¬ x \rm x , \lnot x , \lnot x x,¬x,¬x 有两个互相为否定 , 三个点之间有 2 2 2 条边相连 ,
构造好的无向图 :
如果 ϕ = ( x ∨ y ∨ ¬ z ) ∧ ( ¬ x ∨ ¬ y ∨ z ) ∧ ( ¬ x ∨ y ∨ ¬ z ) \rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z) ϕ=(x∨y∨¬z)∧(¬x∨¬y∨z)∧(¬x∨y∨¬z) 布尔逻辑公式可满足 ,
当且仅当 ,
上述最终形成的无向图中 , 一定存在着一个 3 3 3 个节点组成的独立集 ;
布尔逻辑公式中 , 给定一组真值 ,
x = t r u e , y = t r u e , z = t r u e \rm x=true , y=true , z=true x=true,y=true,z=true
那么 x , y , z , ¬ x , ¬ y , ¬ z \rm x , y, z , \lnot x , \lnot y , \lnot z x,y,z,¬x,¬y,¬z 中取值为真的就是独立子集 ,
因此 x , y , z \rm x , y, z x,y,z 是独立子集 ;
布尔逻辑公式中 , 给定一组真值 ,
x = f a l s e , y = 随 意 , z = f a l s e \rm x=false , y=随意 , z=false x=false,y=随意,z=false
那么 x , y , z , ¬ x , ¬ y , ¬ z \rm x , y, z , \lnot x , \lnot y , \lnot z x,y,z,¬x,¬y,¬z 中取值为真的就是独立子集 ,
因此 一个 ¬ x \rm \lnot x ¬x 两个 ¬ z \rm \lnot z ¬z 组成的点集 是独立子集 ;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。