3.3.1 Complexity of Arc Consistency

弧一致性是传播约束的最古老和最着名的方式。 这确实是一个非常简单和自然的概念,它保证域中的每个值都与每个约束一致。

REF-ARF [51]可能是第一个将特征看起来类似于弧一致性的系统之一(即使非正式描述不能确定等效性)。 在Waltz [124]和Gaschnig [61]的论文中,由于提出了实现电弧一致性的算法,因此对应性更加明显。 但关于这一主题的开创性论文归功于Mackworth,他是第一个明确界定二元约束的弧一致性概念的人[86],他将定义和算法扩展到非二元约束[88],并分析了复杂性[89]。

我以最一般的形式给出了弧一致性的定义,即对于任意约束网络(在这种情况下,它通常称为广义弧一致性)。 在其第一次正式演示中,Mackworth将定义限制在二进制规范化网络中。

constraint c is arc consistent:D is arc consistent on c for all xi ∈ X(c)

variable xi is arc consistent on constraint c:all values in D(xi) are consistent with c in D

从历史上看,许多关于约束满足的论文都简化了网络二进制和规范化的假设。 这样做的优点是符号变得更加简单(见3.1节),新概念更容易呈现。 但这有一些我们必须记住的奇怪效果。

首先,名称'arc consistency'与二进制网络绑定得非常紧密,即使二进制和非二进制约束的定义完全相同,在非二进制约束上也经常使用不同的名称来表示一致性。 有些论文使用超弧一致性或域一致性(hyper arc consistency, or domain consistency),但最常见的名称是广义弧一致性(generalized arc consistency)。 在下文中,我将无差别地使用弧一致性(AC)或广义弧一致性(GAC),但是当网络明确是非二进制时我将使用GAC。

将AC与二进制归一化网络相关联的第二个奇怪效果是弧一致性和二次一致性概念之间的混淆。 (正如我们将在3.4节中看到的那样,2-consistency保证了对变量值的任何实例化都可以一致地扩展到任何第二个变量。)在二进制网络上,2-consistency至少与AC一样强。 当二进制网络规范化时,弧一致性和2一致性是等价的。 但是,一般情况下并非如此。 以下示例表明,在非规范化二进制网络上,2一致性严格强于AC,并且广义弧一致性和2一致性在任意网络上都是无法比拟的。

3.3.1 Complexity of Arc Consistency
有许多与GAC推理相关的问题。 值得分析它们的复杂性。 Bessiere等人已经描述了可以询问约束的五个问题[21]。 有些问题更多是学术性的,而其他问题则是传播算法的核心。 一般可以询问这些问题,也可以询问特定类别的约束,例如给定的全局约束(参见第3.8.2节)。 这些问题可以适应我们将在后面部分介绍的其他地方一致性。 在下文中,我使用符号PROBLEM [data]来引用带有输入'data'的PROBLEM实例。

GACSUPPORT:GACSUPPORT是所有通用弧一致性算法的核心。 GACSUPPORT通常会逐个询问所有值。

ISITGAC:ISITGAC具有实践和理论重要性。 如果对特定约束强制执行GAC是昂贵的,我们可能首先测试是否有必要启动传播算法(即,约束是否已经是GAC)。 在学术方面,这个问题通常用于比较不同级别的局部一致性。

NOGACWIPEOUT:在通过回溯过程进行搜索期间维护GAC时,会发生NOGACWIPEOUT。 在搜索树中的每个节点处(即,在每个实例化变量的值之后),我们想知道是否可以在不擦除域的情况下使剩余网络成为GAC。 如果没有,我们必须取消分配已经实例化的其中一个变量。

MAXGAC:要求Arc一致性算法(参见下一小节)返回网络的弧一致性闭包,即GAC的子域和任何较大的子域不是GAC。 MAXGAC描述了这种“极大”问题。

GACDOMAIN:GACDOMAIN返回弧一致性闭包,即GAC算法计算的域。 GACDOMAIN不是一个决策问题,因为它计算“是”或“否”以外的其他内容。 在[20,21]中,Bessiere等人表明,所有五个问题一般都是NP难的。 此外,在任何特定类型的约束条件下,NP-硬度因子都暗示了其他问题的NP-硬度。

在3.2中给出了定理3.26中的依赖性的总结。 请注意,因为图3.2中从问题A到问题B的每个箭头意味着A可以被重写为对B的多项式调用次数,我们立即得出B的易处理性意味着A的易处理性。而决策问题GACSUPPORT,I SITGAC 和NOGACWIPEOUT在NP中,MAXGAC可能在NP之外。 事实上,MAXGAC一般都是DP完整的。 DP复杂性类包含的问题是NP中的问题与coNP中的问题的结合[101]。

假设,则GAC推理因此一般不易处理。 实际上,在具有任何类型约束的网络上实施GAC的算法可以实现的最佳复杂度在中,其中e是约束的数量,r是约束的最大arity。

虽然与GAC无关,但约束蕴涵([70])是约束求解器用于加速传播的第六个问题。 可以安全地从网络断开所需的约束。

在D上实施c意味着D⊆c.ENTAILED通常是coNP完全的。 蕴涵的难以解决和GAC问题的难以处理之间没有依赖关系。 在C类约束条件下,ENTAILED可以是易处理的,GAC可以解决难以处理的问题,或者相反的问题,或者易于处理或难以处理的问题。

猜你喜欢

转载自blog.csdn.net/weixin_38354912/article/details/84574945
arc