智能表约束过滤算法:原理、实现与性能评估
1. 广义弧一致性(GAC)与智能表约束
广义弧一致性(GAC)是约束满足问题(CSP)中的一个重要属性,它依赖于支持(support)的概念。对于一个约束 $c$,其支持是指在 $scp(c)$ 上的一个元组,该元组既有效又被 $c$ 所允许。对于约束 $c$ 中的文字 $(x, a)$,其在 $c$ 上的支持是指包含 $(x, a)$ 的 $c$ 的支持。
定义 1:一个约束 $c$ 是广义弧一致的(GAC),当且仅当该约束的所有文字在 $c$ 上都有支持。一个 CSP 是 GAC 的,当且仅当它的所有约束都是 GAC 的。
对于智能表约束 $sc$,每个智能元组 $\sigma$ 对应一个小的 CSP $P_{\sigma} = (X_{\sigma}, C_{\sigma})$,其中 $X_{\sigma} = scp(sc)$ 且 $C_{\sigma} = \sigma$。从 $\sigma$ 得到的 $sc$ 的经典支持元组恰好是 $sols(P_{\sigma})$ 中的解。因此,$sc$ 的完整支持集等于 $\bigcup_{\sigma \in table(sc)} sols(P_{\sigma})$。
我们的目标是高效地识别并移除 $sc$ 中没有支持的有效文字。虽然为每个智能元组 $\sigma$ 计算 $sols(P_{\sigma})$ 可能代价高昂,但我们通过限制与智能元组 $\sigma$ 关联的任何 CSP $P_{\sigma}$ 的约束图为无环图,并且 $P_{\sigma}$ 是一个合取式,从而实现了智能元组的高效处理。
超级会员免费看
订阅专栏 解锁全文
1797

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



