约束式编程学习笔记[8] 简单的不完全求解器

6 Some incomplete constraint solvers

  1. Q: 解释“‘customise’ the general framework to a specific language”
    A: 提示:比如:用hyper-arc consistency能剪掉一些定义域,但是剪了之后的集合不好表示,这就不行。
    interval arithmetics就有这类问题,所以最后取了各个区间的凸包。

6.1 A useful lemma

  1. Q: hyper-arc consistency和domain reduction有何联系?
    A: 回忆上一章内容:reduction(剪枝)分为剪定义域和剪约束,其中利用单个约束剪定义域的最一般情况就是hyper-arc consistency.
    hyper-arc consistent CSP不可能再通过单个约束剪任何定义域。
  2. Q: 如何理解“the HYPER-ARC CONSISTENCY rule is the strongest.”
    A: 在所有使用单个约束剪定义域的方法中,该规则是最强的(即可以达到理论上最优的定义域缩减效果)
    在具体问题中,如果使用其它办法达到了hyper-arc consistency,那也就是达到某种意义的“最强”“最优”了。

6.2 Equality and disequality constraints

  1. Q: 对于proof system EQU,涉及相等的可以使用集合的交,涉及不等的却只考察了 y = a y=a y=a x = a x=a x=a的情况,没有对一般的 x = y x=y x=y情况给出剪枝规则,这为什么没有影响其最优性?
    A: 这是一个具有误导性的问题。
    注意, x ≠ y , x ∈ { 0 , 1 } , y { 1 , 2 } x\ne y, x\in\{0,1\},y\{1,2\} x=y,x{ 0,1},y{ 1,2}是剪不了的。只要定义域中至少有2个元素,不等约束就剪不了。
  2. Q: 为什么说EQU是不完全的?
    A: 例如 x = y , x ≠ y x=y,x\ne y x=y,x=y造成的矛盾其无法捕捉到,则closed under the rules时既不成功也不失败。
    回忆:

to bring the initial CSP to some specific, simpler form that usually satisfies some specific local consistency notion.

6.3 Boolean constraints

  1. Q: propositional formula x ∧ y x\wedge y xy就是AND constraint吗?
    A: 不是。AND constraint指的是 x ∧ y = z x\wedge y = z xy=z,而propositional formula实际上相当于指定某表达式为1,即 x ∧ y = 1 x\wedge y = 1 xy=1.
  2. Q: 通过有限次、equivalence preserving的Preprocess过程,可以得到形式()
    A: 所有约束都形如 x = y , ¬ x = y , x ∧ y = z , x ∨ y = z x=y,\neg x=y,x\wedge y=z,x\vee y=z x=y,¬x=y,xy=z,xy=z. 注意其中 x , y , z x,y,z x,y,z都是布尔变量,而非一般的布尔表达式。过程中可能引入许多新的变量。
  3. Q: 如何理解“each of these rules can yield a failed CSP”. 明明没有看到任何 ⊥ \perp 啊?
    A: x = 1 x=1 x=1是定义域,而不是约束。因为1是domain element. 所以如果定义域缩减到空就是fail.
  4. Q: BOOL system在什么意义下有最优性?
    A: 其能达成hyper-arc consistency(暴力讨论可证明),而删除其任意一条规则就不能了。

猜你喜欢

转载自blog.csdn.net/tritone/article/details/121173941