×

约束编程被视为基于规则的编程。 (英语) Zbl 1066.68518号

摘要:我们在这里研究一种自然情况,即约束编程可以完全简化为基于规则的编程。为此,我们首先解释了如何使用简单的一阶公式表示的规则来计算约束满足问题。然后我们考虑基于预定义的显式给定约束的约束满足问题。为了解决这些问题,我们首先从这些显式给定的约束中导出规则,并将计算过程限制为重复应用这些规则,并结合标记。这里我们考虑两种规则。第一种类型,我们称之为等式规则,导致了一种新的局部一致性概念,称为规则一致性,对于任意arity的约束,它比弧一致性弱(称为超弧一致性K.万豪酒店P.J.斯塔基[有约束的规划(1998年;Zbl 0935.68098号)]). 对于布尔约束,规则一致性与布尔约束的已知传播规则下的闭包一致。
第二类规则,我们称之为成员规则,产生了基于规则的弧一致性特征。为了证明这种基于规则的约束编程方法的可行性,我们展示了如何自动生成这两种类型的规则,如Frühwirth的CHR规则。这将通过约束逻辑编程实现这种编程方法。我们通过讨论各种示例来说明这种约束编程方法的有用性,包括布尔约束、两个多值逻辑的典型示例、处理Waltz语言描述多面体场景的约束以及Allen的时序逻辑定性方法。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)

关键词:

有限域规则一致性

软件:

克莱尔
PDF格式BibTeX公司 XML格式引用
全文: 内政部