Peter J. Stuckey

Learn More
The semantics of predicate logic as a programming language. Every logic program has a natural stratiication and an iterated least xed point model. Magic sets and bottom-up evaluation of well-founded models. Query restricted bottom-up evaluation of normal logic programs. Completeness of a top-down query evaluation procedure for stratiied databases. 42(More)
There is no standard modelling language for constraint programming (CP) problems. Most solvers have their own modelling language. This makes it difficult for modellers to experiment with different solvers for a problem. In this paper we present MiniZinc, a simple but expressive CP modelling language which is suitable for modelling problems for a range of(More)
The Constraint Logic Programming (CLP) Scheme was introduced by Ja€ar 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(More)
Constraint Handling Rules (CHRs) are a high-level rulebased programming language commonly used to write constraint solvers. The theoretical operational semantics for CHRs is highly non-deterministic and relies on writing confluent programs to have a meaningful behaviour. Implementations of CHRs use an operational semantics which is considerably finer than(More)
Multiple structural alignment is a fundamental problem in structural genomics. In this article, we define a reliable and robust algorithm, MUSTANG (MUltiple STructural AligNment AlGorithm), for the alignment of multiple protein structures. Given a set of protein structures, the program constructs a multiple alignment using the spatial information of the(More)
We investigate the semantics of aggregates (count, sum, : : :) in logic programs with function symbols and negation. In particular we address the meaning of programs with recursion through aggregation. We extend the two most successful semantic approaches to the problem of recursion through negation, well founded models and stable models, to programs with(More)
An unsatisfiable set of constraints is minimal if all its (strict) subsets are satisfiable. The task of type error diagnosis requires finding all minimal unsatisfiable subsets of a given set of constraints (representing an error), in order to generate the best explanation of the error. Similarly circuit error diagnosis requires finding all minimal(More)
This article presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several(More)
Examination timetabling is a well-studied combinatorial optimization problem. We present a new hybrid algorithm for examination timetabling, consisting of three phases: a constraint programming phase to develop an initial solution, a simulated annealing phase to improve the quality of solution, and a hill climbing phase for further improvement. The(More)