Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2009, Lecture Notes in Computer Science
We develop a module-based framework for constraint modeling where it is possible to combine different constraint modeling languages and exploit their strengths in a flexible way. In the framework a constraint model consists of modules with clear input/output interfaces. When combining modules, apart from the interface, a module is a black box whose internals are invisible to the outside world. Inside a module a chosen constraint language (approaches such as CP, ASP, SAT, and MIP) can be used. This leads to a clear modular semantics where the overall semantics of the whole constraint model is obtained from the semantics of individual modules. The framework supports multi-language modeling without the need to develop a complicated joint semantics and enables the use of alternative semantical underpinnings such as default negation and classical negation in the same model. Furthermore, computational aspects of the framework are considered and, in particular, possibilities of benefiting from the known module structure in solving constraint models are studied.
2012
Arc-Consistency algorithms are the most commonly used filtering techniques to prune the search space in Constraint Satisfaction Problems (CSPs). 2-consistency is a similar technique that guarantees that any instantiation of a value to a variable can be consistently extended to any second variable. Thus, 2-consistency can be stronger than arc-consistency in binary CSPs. In this work we present a new algorithm to achieve 2consistency called 2-C4. This algorithm is a reformulation of AC4 algorithm that is able to reduce unnecessary checking and prune more search space than AC4. The experimental results show that 2-C4 was able to prune more search space than arc-consistency algorithms in non-normalized instances. Furthermore, 2-C4 was more efficient than other 2-consistency algorithms presented in the literature.
Journal of Logic Programming, 1998
The Constraint Logic Programming (CLP) Scheme was introduced by Jaar and Lassez. The scheme gave a formal framework, based on constraints, for the basic operational, logical and algebraic semantics of an extended class of logic programs. This paper presents for the ®rst time the semantic foundations of CLP in a self-contained and complete package. The main contributions are threefold. First, we extend the original conference paper by presenting de®nitions and basic semantic constructs from ®rst principles, giving new and complete proofs for the main lemmas. Importantly, we clarify which theorems depend on conditions such as solution compactness, satisfaction completeness and independence of constraints. Second, we generalize the original results to allow for incompleteness of the constraint solver. This is important since almost all CLP systems use an incomplete solver. Third, we give conditions on the (possibly incomplete) solver which ensure that the operational semantics is con¯uent, that is, has independence of literal scheduling. Ó 1998 Elsevier Science Inc. All rights reserved.
The Journal of Logic Programming, 1998
The Constraint Logic Programming (CLP) Scheme was introduced by Jaar and Lassez. The scheme gave a formal framework, based on constraints, for the basic operational, logical and algebraic semantics of an extended class of logic programs. This paper presents for the ®rst time the semantic foundations of CLP in a self-contained and complete package. The main contributions are threefold. First, we extend the original conference paper by presenting de®nitions and basic semantic constructs from ®rst principles, giving new and complete proofs for the main lemmas. Importantly, we clarify which theorems depend on conditions such as solution compactness, satisfaction completeness and independence of constraints. Second, we generalize the original results to allow for incompleteness of the constraint solver. This is important since almost all CLP systems use an incomplete solver. Third, we give conditions on the (possibly incomplete) solver which ensure that the operational semantics is con¯uent, that is, has independence of literal scheduling.
Software: Practice and Experience, 2004
Logic programming requires that the programmer convert a problem into a set of constraints based on predicates. Choosing the predicates and introducing appropriate constraints can be intricate and error-prone. If the problem domain is structured enough, we can let the programmer express the problem in terms of more abstract, higherlevel constraints. A compiler can then convert the higher-level program into a logicprogramming formalism. The compiler writer can experiment with alternative lowlevel representations of the higher-level constraints in order to achieve a high-quality translation. The programmer can then take advantage of both a reduction in complexity and an improvement in runtime speed for all problems within the domain.
2005
Many and diverse combinatorial problems have been solved successfully using finite-domain constraint programming. However, to apply constraint programming to a particular domain, the problem must first be modelled as a constraint satisfaction or optimisation problem. Since constraints provide a rich language, typically many alternative models exist. Formulating a good model therefore requires a great deal of expertise. This paper describes CONJURE, a system that refines a specification of a problem in the abstract constraint specification language ESSENCE into a set of alternative constraint models. Refinement is compositional: alternative constraint models are generated by composing refinements of the components of the specification. Experimental results demonstrate that CONJURE is able to generate a variety of models for practical problems from their ESSENCE specifications.
Lecture Notes in Computer Science, 1995
In this note we will investigate a form of logic programming with constraints. The constraints that we consider will not be restricted to statements on real numbers as in CLP(R), see . Instead our constraints will be arbitrary global constraints. The basic idea is that the applicability of a given rule is not predicated on the fact that individual variables satisfy certain constraints, but rather on the fact that the least model of the set rules that are ultimately applicable satisfy the constraint of the rule. Thus the role of clauses will be slightly different than in the usual Logic Programming with constraints. In fact, the paradigm we present is closely related to stable model semantics of general logic programming . We will define the notion of a constraint model of our constraint logic program and show that stable models of logic programs as well as the supported models of logic programs are just special cases of constraint models of constraint logic programs.
1994
S {cons(a, cons(b, cons(c, cons(d, nil))))} i-* {nil} X {cons(a, cons(b, cons(c, cons(d, nil)))), cons(b, cons(c, cons(d, nil)))) YD. list.j MO-{ con(b, cons(c, cons(d, nil))), cons(c, cons(d, nil))) YO non-nit-list,,b XD. . { cons(c, cons(d, nil))) yD list., where list.,,b denotes the set of all lists constructed from a and b, and non-nil-list. ,b denotes the set of all non-empty lists constructed from a and b. 3.2 Logic Programs The construction of set constraints for logic programs is similar to that for imperative programs. However, for logic programs, there is a choice for the underlying operational semantics used in the analysis. We begin by illustrating the construction of constraints corresponding to a bottom-up execution. Again we introduce a set variable for each program variable. We also introduce set variables Ret,, for each predicate p, to collect the set of "return" values for that predicate. Consider the following logic program and constraints constructed to model the bottom-up semantics of the program. p(x) :q(X), r(x). Ret, _2 P(X) q(a).
Mathématiques et sciences humaines, 2008
-Opérations projectives sur contraintes relationnelles Étant donné un ensemble de variables et un ensemble de valeurs, par contrainte (relationnelle), nous entendons tout ensemble de fonctions du premier ensemble vers le deuxième ensemble. Sont ici considérées deux opérations spéciales sur les contraintes, appelées projection existentielle et projection universelle en raison de leur similitude avec les quantificateurs existentiel et universel dans un calcul prédicatif. On explore le pouvoir expressif des deux opérations, c'est-à-dire, les propriétés générales de la variété de contraintes qui peuvent être produites à partir de quelques contraintes initiales et en appliquant ces opérations une ou plusieurs fois. Sont également présentés quelques commentaires en ce qui concerne le pouvoir expressif d'un système plus large, comprenant les opérations projectives et booléennes (i.e., complémentation, union et intersection) sur les contraintes. mots clés-Contrainte, Pouvoir expressif, Projection, Relation summary-Given a set of variables and a set of values, by a (relational) constraint we mean any set of functions from the former to the latter. Two special operations on constraints are considered, called existential and universal projections, because of their similarity with existential and universal quantifiers in a predicate calculus. The expressive power of both operations is explored, i.e., the general properties of the variety of constraints which may be produced starting from some initial constraint and applying those operations one or more times. A few comments are added concerning the expressive power of a larger system, comprising projective and Boolean operations (i.e., complementation, union and intersection) on constraints.
Theory of Computing Systems, 2008
We classify the computational complexity of all constraint satisfaction problems where the constraint language is preserved by all permutations of the domain. A constraint language is preserved by all permutations of the domain if and only if all the relations in the language can be defined by boolean combinations of the equality relation. We call the corresponding constraint languages equality constraint languages.
In this note we will investigate a form of logic programming with constraints. The constraints that we consider will not be restricted to statements on real numbers as in CLP(R), see . Instead our constraints will be arbitrary global constraints. The basic idea is that the applicability of a given rule is not predicated on the fact that individual variables satisfy certain constraints, but rather on the fact that the least model of the set rules that are ultimately applicable satisfy the constraint of the rule. Thus the role of clauses will be slightly different than in the usual Logic Programming with constraints. In fact, the paradigm we present is closely related to stable model semantics of general logic programming . We will define the notion of a constraint model of our constraint logic program and show that stable models of logic programs as well as the supported models of logic programs are just special cases of constraint models of constraint logic programs.
Proceedings of the Ieee International Conference on Computer Systems and Applications, 2006
The past decade witnessed rapid development of constraint satisfaction technologies. More and more algorithms are now able to solve larger and harder problems. However, owing to the fact that constraints are inherently declarative, attention is quickly turning toward developing high-level programming languages within which such problems can be modeled and then solved. Along this direction, this paper presents DEPICT, the language. Its use is illustrated through modeling a couple of benchmark examples. The paper continues with a description of a prototype system within which such models may be interpreted. The paper concludes with a description of a sample run of the interpreter that shows how one such model is typically solved.
Artificial Intelligence, 2010
Journal of Symbolic Computation, 1989
Constraint logic programming (CLP) is an extension of logic programming by introducing the facility of writing and solving constraints in a certain domain. CAL (Contrainte avec Logique) is a CLP language in which (possibly non-linear) polynomial equations can be written as constraints, while almost all the other CLP languages proposed so far have concentrated only on linear equations and inequations. This paper describes a general semantics of CLP including CAL, and shows the validity of CAL in this framework.
Constraints
This paper compares the efficiency of a number of Constraint Logic Programming (CLP) systems in the setting of finite domains as well as a specific aspect of their expressiveness (that concerning reification and meta-constraints). There are two key reasons for adopting CLP technology for solving a problem. The first is its expressiveness enabling a declarative solution with readable code which is vital for maintenance and the second is the provision of an efficient implementation for the computationally expensive procedures. However, CLP systems differ significantly both in how solutions may be expressed and the efficiency of their execution and it is important that both these factors are taken into account when choosing the best CLP system for a particular application. This paper aids this choice by illustrating differences between the systems, indicating their particular strengths and weaknesses.
Tools in Artificial Intelligence, 2008
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93, 1993
Central to constraint logic programming (CLP) languages is the notion of a global constraint solver which is queried to direct execution and to which constraints are monotonically added. We present a methodology for use in the compilation of CLP languages which is designed to reduce the overhead of the global constraint solver. This methodology is based on three optimizations. The first, refinement, involves adding new constraints, which in effect make information available earlier in the computation, guiding subsequent execution away from unprofitable choices. The second, removal, involves eliminating constraints from the solver when they are redundant. The last, reordering, involves moving constraint addition later and constraint remowd earlier in the computation. Determining the applicability of each optimization requires sophisticated global analysis. These analyses are based on abstract interpretation and provide information about potential and definite interaction between constraints.
1998
Abstract We compare two (apparently) rather different set-based constraint languages, and we show that, in spite of their different origins and aims, there are large classes of constraint formulae for which both proposals provide suitable procedures for testing constraint satisfiability with respect to a given privileged interpretation.
2006
In this note we will investigate a form of logic programming with constraints. The constraints that we consider will not be restricted to statements on real numbers as in CLP(R), see [15]. Instead our constraints will be arbitrary global constraints. The basic idea is that the applicability of a given rule is not predicated on the fact that individual variables satisfy certain constraints, but rather on the fact that the least model of the set rules that are ultimately applicable satisfy the constraint of the rule. Thus the role of clauses will be slightly different than in the usual Logic Programming with constraints. In fact, the paradigm we present is closely related to stable model semantics of general logic programming [13]. We will define the notion of a constraint model of our constraint logic program and show that stable models of logic programs as well as the supported models of logic programs are just special cases of constraint models of constraint logic programs. Our def...
2004
Combinatorial optimization is a powerful paradigm for representing complex problems. It has a wide range of applications such as planning, scheduling, resource sharing, in many domains such as transportation, production, mass marketing, network management, human resources management. Constraint satisfaction techniques provide efficient algorithms to prune search spaces.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.