布尔子句集与最小不可满足子集的探索
1. 最小不可满足子集(MUS)的基础概念
在可满足性问题(SAT)中,对于一个不可满足的SAT实例Σ,其最小不可满足子集(MUS)是Σ的一个不可满足子句集,且不能在不恢复其可满足性的情况下进一步缩小。正式定义如下:
- 定义1 :子句集Γ是Σ的最小不可满足子集(MUS),当且仅当:
1. Γ ⊆ Σ;
2. Γ 不可满足;
3. 对于任意 Δ ⊂ Γ,Δ 可满足。
例如,设Σ = {¬d ∨ e, b ∨ ¬c, ¬d, ¬a ∨ b, a, a ∨ ¬c ∨ ¬e, ¬a ∨ c ∨ d, ¬b},Σ 不可满足且包含两个MUS,分别是 {a, ¬a ∨ b, ¬b} 和 {b ∨ ¬c, ¬d, a, ¬a ∨ c ∨ d, ¬b}。
根据子句在Σ不可满足性中所起的作用,可将子句分为以下几类:
| 子句类型 | 定义 | 示例(基于上述Σ) |
| ---- | ---- | ---- |
| 必要子句 | 属于Σ的所有MUS的子句,移除任意必要子句可恢复Σ的一致性 | “a” 和 “¬b” |
| 潜在必要子句 | 至少属于Σ的一个MUS但并非所有MUS的子句,移除一个潜在必要子句不能恢复Σ的一致性 | 除 “¬d ∨ e”、“a ∨ ¬c ∨ ¬e”、“a” 和 “¬b” 之外的子句 |
| 非必要子句 | 不属于任何MUS的子句,移除任意组合的非必要子句都不能恢复一致性 | “¬d ∨ e” 和 “a ∨ ¬c ∨ ¬e” |
虽然有许多方法可从Σ中提取一个MUS,但这些方法无法考虑该MU
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



