通过单元传播实现全局弧一致性及QCSP求解技术
1. 约束问题概述
在约束满足问题(CSP)领域,有两种重要的约束类型值得深入探讨:“Among”约束和广义序列约束(gen - sequence constraint)。同时,量化约束满足问题(QCSP)作为CSP的扩展,也有新的求解技术被提出。
2. “Among”约束
“Among”约束应用于一个包含k个变量的序列 ⟨V1, …, Vk⟩,它规定了该序列中至少有min个且至多有max个变量的值取自特定集合S。更正式地,当一个赋值元组 ⟨d1, …, dk⟩ 满足 min ≤ |⟨d1, …, dk⟩ ∩ S| ≤ max 时,among(⟨V1, …, Vk⟩, S, min, max) 约束得到满足。
为了简化表示,我们可以考虑 among(⟨V1, …, Vk⟩, {1}, min, max) 这种情况,此时所有变量的定义域为 {0, 1},S 为 {1}。对于任意的 among(⟨X1, …, Xk⟩, S′, min, max) 约束,我们可以引入新变量 ⟨V1, …, Vk⟩,并在 Xi 和 Vi 之间施加约束,使得 Vi = 1 当且仅当 Xi 的值在 S′ 中。
我们可以通过构建一个具有 max 个状态(q0, …, qmax)的确定性有限自动机(DFA)来对 “Among” 约束进行合取范式(CNF)编码。其中,状态 qmin, …, qmax 为接受状态,输入字母表包含两个条件 Vi 和 ¬Vi。转移函数规定:Vi 输入会使状态从 qj 转移到 qj + 1,¬Vi 输入则使状态从 qj 回到 qj。这样,DFA 的状态就记录了取值在 S 中的变量数量,当所有 k
超级会员免费看
订阅专栏 解锁全文
40

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



