Validated Constraint Compilation
نویسندگان
چکیده
We propose a method of using validated interval constraint contraction operators to build routines for numerical computation libraries. We illustrate the method by using it to construct a procedure that e ciently computes a small interval containing f 1(h) where f(x) = x sin(x). This can be transformed into a numerical routine by returning the midpoint of the interval and signalling an exception if the relative width of the interval exceeds a speci ed bound. We compare the interval method with a strictly numerical approach. The chief advantage of our method is that it results in a procedure which returns an interval that is guaranteed to contain the correct solution (assuming of course that the hardware and the compiler meet the necessary speci cations). By automating those parts of the computation which could e ect the correctness of the procedure, we reduce the number of places where the programmer can err. The user is free to design complex algorithms for solving the problem at hand, with the restriction that the algorithm consists of applying a sequence of validated constraint contractors which are constructed automatically from the constraint set specifying the problem. Modulo assumptions about the correctness of the contractors, the only error that the user can make is to produce a procedure which returns intervals that are too large too be useful. This is in contrast to traditional methods which always return answers with 52 bits of precision but with little or no indication of how many of those bits are correct.
منابع مشابه
Procedural Code Generation vs Static Expansion in Modelling Languages for Constraint Programming
To make constraint programming easier to use by the nonprogrammers, a lot of work has been devoted to the design of front-end modelling languages using logical and algebraic notations instead of programming constructs. The transformation to an executable constraint program can be performed by fundamentally two compilation schemas: either by a static expansion of the model in a flat constraint s...
متن کاملExperiments in Extraction of Coarse Grain Parallelism from Constraint Programs
This paper reports on experimental research on extraction of coarse grain parallelism from constraint systems. Constraint speciications are compiled into task level procedural parallel programs in C. Three issues found to be important are: (i) inclusion of operations over structured types as primitives in the representation, (ii) inclusion of modularity in the constraint systems, and (iii) use ...
متن کاملCompiling Constraint Handling Rules to Java: A Reconstruction
In this report, we provide a detailed description of the compilation scheme the K.U.Leuven JCHR system uses to compile CHR to efficient Java code. We start from a relatively straightforward adaptation of the traditional CHR compilation scheme for Prolog, and gradually add all its basic optimizations. Next, we show why this compilation scheme is not suited for compilation to an imperative host l...
متن کاملEffectiveness of Optimizing Compilation for CLP(R)
Constraint Logic Programming (CLP) languages extend logic programming by allowing constraints from diierent domains such as real numbers or Boolean functions. They have proved to be ideal for expressing problems that require interactive mathematical modelling and complex combinatorial optimization problems. However, CLP languages have mainly been considered as research systems, useful for rapid...
متن کاملEffective compilation of constraint models
Compiling solver-independent constraint models to solver input typically involves flattening, the decomposition of complex expressions into simpler expressions, introducing additional variables and constraints. In previous work [8], we have informally proposed extending flattening problem instances with common subexpression elimination(CSE), a widespread optimisation technique that has not yet ...
متن کامل