We study in this paper the use of consistency techniques and local propagation methods, originally developed for constraints over finite domains, for solving boolean constraints in constraint logic programming (CLP). ...
详细信息
We study in this paper the use of consistency techniques and local propagation methods, originally developed for constraints over finite domains, for solving boolean constraints in constraint logic programming (CLP). To this aim, we first present a boolean CLP language clp(B/FD) built upon a CLP language over finite domains clp(FD) which uses a propagation-based constraint solver. It is based on a single primitive constraint which allows the boolean solver to be encoded at a low level. The boolean solver obtained in this way is both very simple and very efficient: on average it is eight times faster than the CHIP propagation-based boolean solver, i.e. nearly an order of magnitude faster, and infinitely better than the CHIP boolean unification solver. It also performs on average several times faster than special-purpose stand-alone boolean solvers. We then present in a second time several simplifications of the above approach, leading to the design of a very simple and compact dedicated boolean solver. This solver can be implemented in a WAM-based logical engine with a minimal extension limited to four new abstract instructions. This clp(B) system provides a further factor two speedup w.r.t. clp(B/FD).
The incorporation of global program analysis into recent compilers for constraint logic programming (CLP) languages has greatly improved the efficiency of compiled programs. We present a global analyser based on abstr...
详细信息
We propose a model-based approach to automated 3D extraction of buildings from aerial images. We focus on a reconstruction strategy that is not restricted to a small class of buildings. Therefore, we employ a generic ...
详细信息
We propose a model-based approach to automated 3D extraction of buildings from aerial images. We focus on a reconstruction strategy that is not restricted to a small class of buildings. Therefore, we employ a generic modeling approach which relies on the well-defined combination of building part models, Building parts are classified by their roof type. Starting from low-level image features we combine data-driven and model-driven processes within a multilevel aggregation hierarchy, thereby using a tight coupling of 2D image and 3D object modeling and processing, ending up in complex 3D building estimations of shape and location, Due to the explicit representation of well-defined processing states in terms of model-based 2D and 3D descriptions at all levels of modeling and data aggregation, our approach reveals a great potential for reliable building extraction. (C) 1998 Academic Press.
constraint logic programming (CLP) languages extend logicprogramming by allowing the use of constraints from different domains such as real numbers or Boolean functions. They have proved to be ideal for expressing pr...
详细信息
constraint logic programming (CLP) languages extend logicprogramming by allowing the use of constraints from different domains such as real numbers or Boolean functions. They have proved to be ideal for expressing problems that require interactive mathematical modeling and complex combinatorial optimization problems. However, CLP languages have mainly been considered as research systems, useful for rapid prototyping, but not really competitive with more conventional programming languages where efficiency is a more important consideration. One promising approach to improving the performance of CLP systems is the use of powerful program optimizations to reduce the cost of constraint solving. We extend work in this area by;describing a new optimizing compiler for the CLP language CLP(R). The compiler implements six powerful optimizations: reordering of constraints, bypass of the constraint solver, splitting and dead-code elimination, removal of redundant constraints, removal of redundant variables, and specialization of constraints which cannot fail. Each program optimization is designed to remove the overhead of constraint solving when possible and keep the number of constraints in the store as small as possible. We systematically evaluate the effectiveness of each optimization in isolation and in combination. Our empirical evaluation of the compiler verifies that optimizing compilation can be made efficient enough to allow compilation of real-world programs and that it is worth performing such compilation because it gives significant time and space performance improvements.
Modular programs are built as a combination of separate modules, which may be developed and verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics o...
详细信息
Modular programs are built as a combination of separate modules, which may be developed and verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of its individual modules. In the field of logicprogramming, the need for a compositional semantics has been long recognized, however, while for definite (i.e. negation-free) logic programs a few such semantics have been proposed, in the literature of normal logic programs (programs which employ the negation operator), compositionality has received scarce attention. This is mainly due to the fact that normal programs typically have a nonmonotonic behavior, which is difficult to fit in a compositional framework. Here we propose a declarative compositional semantics for general logic programs. First, a compositional semantics for first-order modules is presented and proved correct wrt the set of logical consequences of the module in three-valued logic. In a second stage, the obtained results are applied to modular normal logic programs, obtaining a semantics which is correct with respect to the set of logical consequences of the completion of the program and - in contrast with the other approaches - which is always computable. This semantics might be regarded as a compositional counterpart of Kunen's semantics. Finally we discuss and show how these results have to be modified in order to be applied to normal constraintlogic programs. (C) 1998-Elsevier Science B.V. All rights reserved.
Various proof methods have been proposed to solve the implication problem, i.e. proving that properties of the form: For All(P --> Q) - where P and Q denote conjunctions of atoms - are logical consequences of logic...
详细信息
Various proof methods have been proposed to solve the implication problem, i.e. proving that properties of the form: For All(P --> Q) - where P and Q denote conjunctions of atoms - are logical consequences of logic programs. Nonetheless, it is commonplace to say that it is still quite a difficult problem. Besides, the advent of the constraint logic programming scheme constitutes not only a major step towards the achievement of efficient declarative logicprogramming systems but also a new held to explore. By recasting and simplifying the implication problem in the constraint logic programming (CLP) framework, we define a generic proof method for the implication problem, which we prove sound from the algebraic point of view. We present four examples using CLP(N), CLP(RT), CLP(Sigma*) and RISC-CLP(R). The logical point of view of the constraint logic programming scheme enables the automation of the proof method. At last, we prove the unsolvability of the implication problem, we point out the origins of the incompleteness of the proposed proof method and we identify two classes of programs for which we give a decision procedure for the implication problem. (C) 1998 Elsevier Science Inc. All rights reserved.
In this article we introduce the notion of Heyting completion in abstract interpretation. We prove that Heyting completion provides a model for Cousot's reduced cardinal power of abstract domains and that it suppl...
详细信息
In this article we introduce the notion of Heyting completion in abstract interpretation. We prove that Heyting completion provides a model for Cousot's reduced cardinal power of abstract domains and that it supplies a logical basis to specify relational domains for program analysis and abstract interpretation. We study the algebraic properties of Heyting completion in relation with other well-known domain transformers, like reduced product and disjunctive completion. This provides a uniform algebraic setting where complex abstract domains can be specified by simple logic formulas, or as solutions of recursive abstract domain equations, involving few basic operations for domain construction, all characterized by a clean logical interpretation. We apply our framework to characterize directionality and condensing in downward closed analysis of (constraint) logic programs.
This work is dedicated to the study of the exploration of OR parallelism in constraint logic programming for distributed environment. logicprogramming, which the most meaningful language is Prolog, has as premise the...
详细信息
This work is dedicated to the study of the exploration of OR parallelism in constraint logic programming for distributed environment. logicprogramming, which the most meaningful language is Prolog, has as premise the use of the logic of predicates as computational language. constraint logic programming or CLP is an extension of the logicprogramming, where efficiency and the possibility to execute new kinds of problems are searched. A variable in CLP can belong to specific domains as, for example, Real or Boolean. The main concept introduced is the constraint. constraint is an equation that represents a certain information over a variable and its relation with others variables. The use of constraints was proposed to decrease search space in the program execution. Although it is more efficient than classic logicprogramming, for some real applications, the performance of CLP languages still is unsatisfactory. So, it is necessary to search alternatives as parallel execution. The exploration of implicit parallelism in programs in logic has already demonstrated promising results. Several models have been proposed and implemented using the two main sources of parallelism - AND and OR — in an isolated or combined form. The main objective of this work is to present the pclp(FD) model of exploration of multi-sequential OR parallelism for a distributed memory environment. The pclp(FD) model is characterized for the existence of some workers, each one of them possessing a complete abstract machine. Task scheduling is executed by one dynamic and distributed policy. A task in pclp(FD) is equivalent to a choice point and an execution context. Execution context is formed by portions of the stack of the exporter. So that importer has access to the execution context, it uses incremental copy, which is one of the several possible techniques. The copy is characterized for sending execution stacks of the exporter to a private area of the importer, that is, each worker possesses its
作者:
HIRAISHI, KSchool of Information Science
Japan Advanced Institute of Science and Technology Hokuriku 15 Asahi-dai Tatsunokuchi Nomi-gun Ishikawa 923-12 Japan
The aim of this research is to utilize constraint logic programming (CLP) far solving decision making problems in Operations Research/Management Science. In this research, a new constraint logic programming language K...
详细信息
The aim of this research is to utilize constraint logic programming (CLP) far solving decision making problems in Operations Research/Management Science. In this research, a new constraint logic programming language Keyed CLP is developed. Keyed CLP has some characteristic features for solving problems in OR/MS. Key arguments can be attached to each predicate, where each key represents the functional dependency in the predicate, and is used for improving computational efficiency and readability of programs. In addition, Keyed CLP has built-in predicates for solving linear optimization problems. To illustrate these features, several examples of decisions making problems are solved by Keyed CLP.
The incorporation of global program analysis into recent compilers for constraint logic programming (CLP) languages has greatly improved the efficiency of compiled programs. We present a global analyser based on abstr...
详细信息
The incorporation of global program analysis into recent compilers for constraint logic programming (CLP) languages has greatly improved the efficiency of compiled programs. We present a global analyser based on abstract interpretation. Unlike traditional optimizers, whose designs tend to be ad hoc, the analyser has been designed with flexibility in mind. The analyser is incremental, allowing substantial program transformations by a compiler without requiring redundant re-computation of analysis data. The analyser is also generic in that it can perform a large number of different program analyses. Furthermore, the analyser has an object-oriented design, enabling it to be adapted to different applications easily and allowing it to be used with various CLP languages with simple modifications. As an example of this generality, we sketch the use of the analyser in two different applications involving two distinct CLP languages: an optimizing compiler for CLP(R) programs and an application for detecting occur-check problems in Prolog programs. (C) 1998 by John Whey & Sons Ltd.
暂无评论