约束推理:原理、技术与应用
1. 对称性处理
在将问题建模为约束满足问题(CSP)时,常常会出现多个变量代表同一对象的不同实例的情况。例如,变量 $x_i$ 和 $x_j$ 可以表示一个班级在一周内必须安排的两门历史课程。若 $x_i$ 取值为周一上午 8 点,$x_j$ 取值为周四上午 9 点,或者反之,这两种赋值情况对于是否为问题的解并无影响,此时我们称 $x_i$ 和 $x_j$ 是对称的。这种对称性同样可能出现在值的层面。
对称性检测技术的目的在于避免搜索过程对对称的子树进行重复探索。这些技术可能会剪掉搜索树中包含解的分支,但前提是这些解在搜索树的其他部分存在对称解。以下是一些相关的处理技术:
- 值的对称性研究 :Freuder 在 1991 年通过定义值的可互换性提出了值的对称性问题,Cooper 在 1997 年将这一概念扩展到值的可替代性。此后,众多研究对各种对称性展开了探讨。
- 使用集合变量 :另一种减少建模问题时产生对称性的方法是使用集合变量而非整数变量。集合变量会被赋予一组值,而非单个值。例如,上述的 $x_i$ 和 $x_j$ 可以用一个集合变量 $s$ 来表示历史课程。同时,需要添加约束 $|s| = 2$ 以确保 $s$ 被赋予两个值,即一周内的两门历史课程。
- 集合变量的域表示 :由于让变量取集合值会导致可能的赋值数量呈指数级增长,因此集合变量的域通常不采用显式表示,而是用两个边界来表示。Gervet 在 1994 年用下界 $lb(s)$(必需值)和上界 $ub(s)$(可能值)来表示集合变量 $s$ 的域。例如,若 $lb(s)
超级会员免费看
订阅专栏 解锁全文


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



