This paper studies peek arc consistency, a reasoning technique that extends the wellknown arc consistency technique for constraint satisfaction. In contrast to other more costly extensions of arc consistency that have been studied in the literature, peek arc consistency requires only linear space and quadratic time and can be parallelized in a straightforward way such that it runs in linear time with a linear number of processors. We demonstrate that for various constraint languages, peek arc consistency gives a polynomial-time decision procedure for the constraint satisfaction problem. We also present an algebraic characterization of those constraint languages that can be solved by peek arc consistency, and study the robustness of the algorithm.
IntroductionBackground. A basic knowledge reasoning task that has been studied in many incarnations is to decide the satisfiability of given relationships on variables, where, for instance, variables may represent objects such as temporal events or spatial regions, and relationships may express precedence, containment, overlap, disjointness, and so forth. Instances of this reasoning task can typically be modeled using the constraint satisfaction problem (CSP), a computational problem in which the input consists of a set of constraints on variables, and the question is whether or not there is an assignment to the variables satisfying all of the constraints. While the CSP is in general NP-hard, researchers have, in numerous settings, aimed to identify restricted sets of relationships under which the CSP is polynomial-time decidable; we refer to sets of relationships as constraint languages.Arc consistency is an algorithmic technique for constraint satisfaction that has been heavily studied and for which highly efficient implementations that are linear in both time and space are known. Arc consistency provides a one-sided satisfiability check. It may detect an inconsistency, which always implies that the input instance is unsatisfiable. While the converse does not hold in general, it has been shown to hold for some particular constraint languages, that is, arc consistency provides a decision procedure for satisfiability for these languages. Examples include the language of boolean Horn clauses; various graph homomorphism problems, for example, homomorphisms to orientations of finite paths [13]; and all constraint languages where satisfiability is first-order definable [1].Curiously, arc consistency typically cannot be used as a decision procedure for infinite-domain constraint languages, by which we mean constraint languages under which variables can take on infinitely many values. In many cases, a reason for this is that arc consistency performs inference by considering unary (arity 1) projections of relations, and all such projections are already equal to the full domain of the language. As an example, consider the binary relations ≤ and = interpreted over the domain of rational numbers Q. For each of these relations, both of the two possible unary projections are equal t...