查找约束网络 - 弧一致性

时间:2017-03-22 14:36:42

标签: math artificial-intelligence constraint-programming

我对弧一致性网络示例有疑问。它与代码无关。

我有一个网络R,变量X = {x1,x2,x3,x4,x5,x6,x7,x8},域D = {1,2,3,4}。 这是我的约束:

enter image description here

我的解决方案来自我的教授。但我不明白C24发生了什么/为什么C24没有发生任何事情。

enter image description here

我认为D2是2,3,4而D4是默认1,2,3,4。如果x2不等于x4(C24),则x4应为1.我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

约束c(xi,xj)是弧一致的iff对于每个值a∈Di存在值b∈Dj使得c(a,b)为真(反之亦然,i和j交换)。

如果您的约束是 xi< xj ,那么情况 Di = {1,2,3},Dj = {1,2,3,4} 不是弧一致的,因为没有xi∈{1 ,2,3}使 xi< 1 是的。要获得弧一致性,必须从Dj中消除1。

但是,使用约束 xi≠xj Di = {1,2,3},Dj = {1,2,3,4} 你已经拥有弧一致性,因为对于每个xj∈{1,2,3,4} ,存在一个xi∈{1,2,3} ,它使 xi ≠xj true(对于每个xi∈{1,2,3} ,都存在xj∈{1,2,3,4} xi≠xj true)。