弧一致性Arc consistency算法(AC3, AC4, AC6, AC2001)整理

AC3:再判断一致性时,会对前面已判断过的再次判断

AC4:改进AC3,在初始化时会存储所有判断,在移除值后,不用进行constraint check,只需traversal S lists和update counter。在不牵扯约束具体内容的情况下,已经具有最优的最差时间复杂度

AC5:将约束的形式具体化为几种常用函数。对于函数约束,每个弧只需进行一次判断,大大缩减判断次数

AC6:优化AC4。AC4在初始化时,对于每个值都要找出所有与其匹配的值,以证明该值的有效性。而AC6只寻找一个匹配值,如果这个值从其值域中删除了,再寻找下一个匹配值。

AC7:强调一致性判断的双向性,避免了一些不必要的双向检查。

 

有三个变量x,y,z,约束为:c1 ≡ x ≤ y,c2 ≡ y ≠ z,定义域为D(x)=D(y)={1,2,3,4},D(z)={3}. 

AC3:

AC4:

AC6:

只需要S lists,细粒度

AC2001:

遵循与AC3相同的框架,但通过在每个约束上存储每个值的最小支持(如AC6)来实现最优化。但信息存储和使用方式不同。AC2001不使用列表S[xj,vj]来存储每个值的最小支持,而使用包含vj的指针Last[xi,vi,xj]。

Algorithm

Condition

Time

Space

GAC3

AC

AC3

AC on binary networks

AC4

AC on binary normalized networks

AC6

AC on binary normalized networks

AC2001

AC on binary normalized networks

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值