中文

约束编程视为规则编程

人工智能 2007-05-23 v2 编程语言

摘要

我们在此研究约束编程可被完全简化为规则编程的自然情形。为此我们首先解释如何使用由简单一阶公式表示的规则来计算约束满足问题。随后我们考虑基于预定义显式给定约束的约束满足问题。为解决这些问题,我们首先从这些显式给定的约束中推导规则,并将计算过程限制为反复应用这些规则,并结合标记。我们在此考虑两种类型的规则。第一种类型我们称为等式规则,导致一种新的本地一致性概念,称为规则一致性,相对于任意仪数(称为超弧一致性)的约束,其一致性较弱。对于布尔约束,规则一致性与布尔约束传播规则的闭包相吻合。第二种类型的规则称为成员规则,可对规则编程中的弧一致性提供特征描述。为显示该规则编程方法对约束编程的可行性,我们展示了如何自动生成这两种类型的规则,作为\cite{MS98b}中所述的{\tt CHR}规则。这使得以约束逻辑编程方式实现该方法成为可能。我们通过讨论各种示例说明了该方法对约束编程的有用性,包括布尔约束、两个多值逻辑的典型示例、处理描述多边形场景的瓦尔茨语言的约束、以及Allen对时间逻辑的定性方法。

关键词

引用

@article{arxiv.cs/0003076,
  title  = {Constraint Programming viewed as Rule-based Programming},
  author = {Krzysztof R. Apt and Eric Monfroy},
  journal= {arXiv preprint arXiv:cs/0003076},
  year   = {2007}
}

备注

39 pages. To appear in Theory and Practice of Logic Programming Journal