Results 1  10
of
71
Constraint Hierarchies
 LISP AND SYMBOLIC COMPUTATION
, 1992
"... Constraints allow programmers and users to state declaratively a relation that should be maintained, rather than requiring them to write procedures to maintain the relation themselves. They are thus useful in such applications as programming languages, user interface toolkits, and simulation package ..."
Abstract

Cited by 164 (15 self)
 Add to MetaCart
Constraints allow programmers and users to state declaratively a relation that should be maintained, rather than requiring them to write procedures to maintain the relation themselves. They are thus useful in such applications as programming languages, user interface toolkits, and simulation packages. In many situations, it is desirable to be able to state both required and preferential constraints. The required constraints must hold. Since the other constraints are merely preferences, the system should try to satisfy them if possible, but no error condition arises if it cannot. A constraint hierarchy consists of a set of constraints, each labeled as either required or preferred at some strength. An arbitrary number of different strengths is allowed. In the discussion of a theory of constraint hierarchies, we present alternate ways of selecting among competing possible solutions, and prove a number of propositions about the relations among these alternatives. We then outline algorit...
Multiway versus Oneway Constraints in User Interfaces: Experience with the DeltaBlue Algorithm
, 1993
"... this paper we argue that many user interface construction problems are handled more naturally and elegantly by multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algo ..."
Abstract

Cited by 96 (18 self)
 Add to MetaCart
this paper we argue that many user interface construction problems are handled more naturally and elegantly by multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algorithm in two user interface toolkits. Finally, we provide performance figures demonstrating that multiway constraint solvers can be entirely competitive in performance with oneway constraint solvers
Preference Logic Programming
 In Proc. 12th Intl. Conf. on Logic Programming
, 1995
"... Preference logic programming (PLP) is an extension of constraint logic programming (CLP) for declaratively specifying problems requiring optimization or comparison and selection among alternative solutions to a query. In the PLP framework, the definite clauses of a constraint logic program are augme ..."
Abstract

Cited by 35 (7 self)
 Add to MetaCart
(Show Context)
Preference logic programming (PLP) is an extension of constraint logic programming (CLP) for declaratively specifying problems requiring optimization or comparison and selection among alternative solutions to a query. In the PLP framework, the definite clauses of a constraint logic program are augmented by two new kinds of clauses, which we call optimization clauses and arbiter clauses. Optimization clauses specify which predicates are to be optimized and arbiter clauses specify the criteria to be used for optimization. We illustrate their use with representative examples: one from dynamic programming and another from ambiguity resolution in grammars. We formalize the semantics of PLP using concepts from modal logic: Essentially, each world in the possibleworlds semantics for a preference logic program is a model of the program, and an ordering over these worlds is enforced by the arbiter clauses in the program. We introduce a new notion called preferential consequence to refer to tru...
The design and implementation of Kaleidoscopeâ€™90, A constraint imperative programming language
 Proc. IEEE Intl. Conf. on Computer Languages
, 1992
"... Two major paradigms in computer programming languages are imperative and declarative programming. We describe a scheme for languages that integrate specific features from these two paradigms into a new framework: Constraint Imperative Programming. Along with the framework, we discuss the design and ..."
Abstract

Cited by 30 (4 self)
 Add to MetaCart
(Show Context)
Two major paradigms in computer programming languages are imperative and declarative programming. We describe a scheme for languages that integrate specific features from these two paradigms into a new framework: Constraint Imperative Programming. Along with the framework, we discuss the design and implementation of a particular instance of this framework, Kaleidoscopeâ€™90. From the imperative paradigm, constraint imperative programming adopts explicit control flow, state, and assignment. From the declarative paradigm, it adopts explicit, systemmaintained constraints (relations that should hold). There is a strong practical motivation for making this integration: in a typical application, some portions are most clearly described using imperative constructs, while other portions are most clearly described using constraints. By using a constraint imperative language, the most suitable paradigm can be used as appropriate. 1
Generalized Local Propagation: A Framework for Solving Constraint Hierarchies
 In Proceedings of the Second International Conference on Principles and Practice of Constraint Programming
, 1996
"... . `Constraint hierarchy' is a nonmonotonic system that allows programmers to describe overconstrained realworld problems by specifying constraints with hierarchical preferences, and has been applied to various areas. An important aspect of constraint hierarchies is the existence of efficient ..."
Abstract

Cited by 29 (0 self)
 Add to MetaCart
. `Constraint hierarchy' is a nonmonotonic system that allows programmers to describe overconstrained realworld problems by specifying constraints with hierarchical preferences, and has been applied to various areas. An important aspect of constraint hierarchies is the existence of efficient satisfaction algorithms based on local propagation. However, past localpropagation algorithms have been limited to multiway equality constraints. We overcome this by reformulating constraint hierarchies with a more strict definition, and proposing generalized local propagation as a theoretical framework for studying constraint hierarchies and local propagation. Then, we show that global semimonotonicity in satisfying hierarchies turns out to be a practically useful property in generalized local propagation. Finally, we discuss the relevance of generalized local propagation with our previous DETAIL algorithm for solving hierarchies of multiway equality constraints. Keywords: constraint hierar...
Bounding the Optimum of Constraint Optimization Problems
, 1997
"... Solving constraint optimization problems is computationally so expensive that it is often impossible to provide a guaranteed optimal solution, either when the problem is too large, or when time is bounded. In these cases, local search algorithms usually provide good solutions. However, and even if a ..."
Abstract

Cited by 25 (6 self)
 Add to MetaCart
Solving constraint optimization problems is computationally so expensive that it is often impossible to provide a guaranteed optimal solution, either when the problem is too large, or when time is bounded. In these cases, local search algorithms usually provide good solutions. However, and even if an optimality proof is unreachable, it is often desirable to have some guarantee on the quality of the solution found, in order to decide if it is worthwile to spend more time on the problem. This paper is dedicated to the production of intervals, that bound as precisely as possible the optimum of Valued Constraint Satisfaction Problems (VCSP). Such intervals provide an upper bound on the distance of the best available solution to the optimum i.e., on the quality of the optimization performed. Experimental results on random VCSPs and real problems are given. Motivations The Constraint Satisfaction Problem framework is very convenient for representing and solving various problems, related t...
Locally Simultaneous Constraint Satisfaction
, 1994
"... . Local propagation is often used in graphical user interfaces to solve constraint systems that describe structures and layouts of figures. However, algorithms based on local propagation cannot solve simultaneous constraint systems because local propagation must solve constraints individually. We pr ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
. Local propagation is often used in graphical user interfaces to solve constraint systems that describe structures and layouts of figures. However, algorithms based on local propagation cannot solve simultaneous constraint systems because local propagation must solve constraints individually. We propose the `DETAIL' algorithm, which efficiently solves systems of constraints with strengths, even if they must be solved simultaneously, by `dividing' them as much as possible. In addition to multiway constraints, it handles various other types of constraints, for example, constraints solved with the least squares method. Furthermore, it unifies the treatment of different types of constraints in a single system. We implemented a prototype constraint solver based on this algorithm, and evaluated its performance. 1 Introduction Local propagation is an efficient constraint satisfaction algorithm that takes advantage of potential locality of constraint systems. It is often used in graphical u...
Preference Queries in Deductive Databases
 New Generation Computing
, 1995
"... Traditional database query languages such as Datalog and SQL allow the user to specify only mandatory requirements on the data to be retrieved from a database. In many applications, it may be natural to express not only mandatory requirements but also preferences on the data to be retrieved. Lacroix ..."
Abstract

Cited by 20 (2 self)
 Add to MetaCart
(Show Context)
Traditional database query languages such as Datalog and SQL allow the user to specify only mandatory requirements on the data to be retrieved from a database. In many applications, it may be natural to express not only mandatory requirements but also preferences on the data to be retrieved. Lacroix and Lavency [12] extended SQL with a notion of preference and showed how the resulting query language could still be translated into the domain relational calculus. We explore the use of preference in databases in the setting of Datalog. We introduce the formalism of preference datalog programs (PDP) as preference logic programs without uninterpreted function symbols for this purpose. PDPs extend datalog not only with constructs to specify which predicate is to be optimized and the criterion for optimization but also with constructs to specify which predicate to be relaxed and the criterion to be used for relaxation. We can show that all of the soft requirements in [12] can be directly enco...
Relaxation in Constraint Logic Languages
 In Proceedings of the ACM Symposium on Principles of Programming Languages
, 1995
"... Optimization and relaxation are two important operations that naturally arise in many applications requiring the use of constraints, e.g., engineering design, scheduling, decision support, etc. In optimization, we are interested in finding the optimal solutions to a set of constraints with respect t ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
Optimization and relaxation are two important operations that naturally arise in many applications requiring the use of constraints, e.g., engineering design, scheduling, decision support, etc. In optimization, we are interested in finding the optimal solutions to a set of constraints with respect to an objective function. In many applications, optimal solutions may be difficult or impossible to obtain, and hence we are interested in finding suboptimal solutions, by either relaxing the constraints or relaxing the objective function. The contribution of this paper lies in providing a logical framework for performing optimization and relaxation in a constraint logic programming language. Our proposed framework is called preference logic programming (PLP), and its use for optimization was discussed in [4]. Essentially, in PLP we can designate certain predicates as optimization predicates, and we can specify the objective function by stating preference criteria for determing the optimal so...
An Incremental Hierarchical Constraint Solver
 PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING
, 1993
"... This paper presents an incremental method to solve hierarchies of constraints over finite domains, which borrows techniques developed in intelligent backtracking, and finds locallypredicatebetter solutions. A prototype implementation of this method, IHCS, was written in C and can be integrated wit ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
(Show Context)
This paper presents an incremental method to solve hierarchies of constraints over finite domains, which borrows techniques developed in intelligent backtracking, and finds locallypredicatebetter solutions. A prototype implementation of this method, IHCS, was written in C and can be integrated with different programming environments. In particular, with Prolog producing an instance of an HCLP language. Possible applications of IHCS are briefly illustrated with a timetabling and a set covering problem. Because of its portability and incremental nature, IHCS is well suited for reactive systems, allowing the interactive introduction and removal of preferred constraints.