Confluence and Semantics of Constraint Simplification Rules

Constraints (Impact Factor: 1.15). 03/1998; DOI: 10.1023/A:1009842826135
Source: DBLP

ABSTRACT . Constraint Simplification Rules (CSR) is a subset of the Constraint Handling Rules (CHR) language. CHR is a powerful special-purpose declarative programming language for writing constraint solvers. The CSR subset of CHR forms essentially a committed-choice language consisting of guarded rules with multiple heads that replace constraints by simpler ones until they are solved. This paper gives declarative and operational semantics as well as soundness and completeness results for CSR programs. In this paper, we introduce a notion of confluence for CSR programs. Confluence is an essential syntactical property of any constraint solver. It ensures that the solver will always compute the same result for a given set of constraints independent of which rules are applied. It also means that it does not matter for the result in which order the constraints arrive at the constraint solver. We give a decidable, sufficient and necessary syntactic condition for confluence of terminating CSR progra...

1 Bookmark
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Constraint Handling Rules (CHR) is a concurrent committed- choice constraint programming language, developed in the 1990s for the implementation of constraint solvers. It is traditionally an extension to other programming languages { especially constraint logic programming languages { but has been used increasingly as a general-purpose program- ming language in the recent past. With CHR, one can specify, implement and analyse algorithms in a concise and compact manner by executable inference rules.
  • Source
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Along the years, many researches in the Artificial Intelligence (AI) field seek for new algorithms to reduce the amount of memory and time consumed for general searches in the family of constraint satisfaction problems. Normally, these improvements are reached with the use of some heuristics which either prune useless tree search branches or even "indicate" the path to reach the solution (many times, the optimal solution) more easily. Many heuristics were proposed in the literature, like Static/ Dynamic Highest Degree heuristic (SHD/DHD), Most Constraint Variable (MCV), Least Constraining Value (LCV), and while some can be used at the pre-processing time, others just at running time. In this paper we propose a new pre-processing search heuristic to reduce the amount of backtracking calls, namely the Least Suggested Value First (LSVF). LSVF emerges as a practical solution whenever the LCV can not distinguish how much a value is constrained. We present a pedagogical example to introduce the heuristics, realized through the general Constraint Logic Programming CHR v , as well as the preliminary results.
    International Journal of Advanced Research in Artificial Intelligence. 01/2012; 1(9).

Full-text (2 Sources)

Available from
May 30, 2014