传播与惰性子句生成:原理与应用
1. 传播与单位传播算法
在逻辑推理中,传播是一个重要的概念,它通过单位传播来确定当前决策的逻辑结果。单位传播算法用于找出赋值 $A$ 与理论 $T$ 的所有单位消解。其定义如下,其中 $C$ 表示子句:
[
up(A, C) =
\begin{cases}
{\perp} & \forall l \in C. \neg l \in A \
A \sqcup {l} & \exists l \in C, \neg l \notin A, \forall l’ \in (C \setminus {l}). \neg l’ \in A \
A & \text{otherwise}
\end{cases}
]
[
UP(A, T) = lfp.(\lambda a. \bigsqcup_{C \in T} up(a, C))(A)
]
2. 原子约束与传播规则
2.1 原子约束
原子约束表示传播过程中变量域的基本变化。对于整数变量,原子约束可以是 $x_i \leq d$、$x_i \geq d$、$x_i \neq d$ 或 $x_i = d$,其中 $x_i$ 是整数变量,$d$ 是整数。对于集合变量,原子约束可以是 $e \in S_i$ 或 $e \notin S_i$,其中 $e$ 是整数,$S_i$ 是集合变量。此外,还有原子约束 false ,表示传播直接导致不可满足性。
2.2 传播规则
传播规则定义为 $
超级会员免费看
订阅专栏 解锁全文

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



