Two-terminal directed acyclic graphs (st-dags) are used to model problems in many areas and, hence, measures for their topology are needed. Complexity Index (CI) is one such measure and is defined as the minimum numbe...
详细信息
Two-terminal directed acyclic graphs (st-dags) are used to model problems in many areas and, hence, measures for their topology are needed. Complexity Index (CI) is one such measure and is defined as the minimum number of node reductions required to reduce a given st-dag into a single-arc graph, when used along with series and parallel reductions. In this research we present a constraint logic programming algorithm (implemented in ILOG's OPL-Optimization programming Language) for the generation of st-dags with a given CI. To this end the complexity graph with a maximum matching of CI, the dominator tree, the reverse dominator tree and the st-dag are characterized by a set of constraints. Then a multi-phase algorithm is presented which searches the space described by the set of constraints. Finally, the computational performance of the algorithm is tested. (C) 2003 Elsevier Inc. All rights reserved.
作者:
Roventa, EYork Univ
Glendon Coll Dept Comp Sci Toronto ON M4N 3M6 Canada
This paper presents an enhancement of the CARESS system-A constraint Approximative Reasoning System Support-introduced in (Popescu and Roventa, 1994). CARESS is an experimental system with primarily two objectives: (1...
详细信息
This paper presents an enhancement of the CARESS system-A constraint Approximative Reasoning System Support-introduced in (Popescu and Roventa, 1994). CARESS is an experimental system with primarily two objectives: (1) to study fuzzy knowledge representation and manipulation techniques and to implement them in PROLOG III, and (2) to develop a knowledge programming environment for building expert systems. We discuss here the use of meta-programming, constraint logic programming and approximate reasoning for the design of expert systems. It has already been proven that meta-programming and logicprogramming are powerful techniques for expert system design. Fuzzy logic can be used to model one kind of uncertainty. constraint logic programming is useful for dealing with the constraints given by operations using fuzzy sets.
Multi Agent Systems (MAS) have become the key technology for decomposing complex problems in order to solve them more efficiently, or for problems distributed in nature. However, many industrial applications besides t...
详细信息
Multi Agent Systems (MAS) have become the key technology for decomposing complex problems in order to solve them more efficiently, or for problems distributed in nature. However, many industrial applications besides their distributed nature, also involve a large number of parameters and constraints among them, i.e. they are combinatorial. Solving such particularly hard problems efficiently requires programming tools that combine MAS technology with a programming schema that facilitates the modeling and solution of constraints. This paper presents MACLP (Multi Agent constraint logic programming), a logic-programming platform for building, in a declarative way, multi agent systems with constraint-solving capabilities. MACLP extends CSPCONS, a logicprogramming system that permits distributed program execution through communicating sequential Prolog processes with constraints, by providing all the necessary facilities for communication between agents. These facilities abstract from the programmer all the low-level details of the communication and allow him to focus on the development of the agent itself. (C) 2002 Elsevier Science Inc. All rights reserved.
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment,...
详细信息
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment, hoHH(C), of the logic: a higher-order logicprogramming language with typed lambda-abstraction, implication and universal quantification in goals and constraints, and give a modified model theory for this fragment. Both formal systems are shown sound and complete for their respective semantics. We also solve the impredicativity problem in lambda Prolog semantics, namely how to give a definition of truth without appealing to induction on subformula structure. In the last section we give a simple semantics-based conservative extension proof that the language hoHH(C) satisfies a uniformity property along the lines of [39]. (C) 2017 Elsevier B.V. All rights reserved.
Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint Log...
详细信息
Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint logic programming tool {log} provides a decision procedure for deciding the satisfiability of formulas involving very general forms of finite sets, although it does not provide cardinality constraints. In this paper we adapt and integrate a decision procedure for a theory of finite sets with cardinality into {log}. The proposed solver is proved to be a decision procedure for its formulas. Besides, the new CLP instance is implemented as part of the {log} tool. In turn, the implementation uses Howe and King's Prolog SAT solver and Prolog's CLP(Q) library. as an integer linear programming solver. The empirical evaluation of this implementation based on +250 real verification conditions shows that it can be useful in practice.
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds o...
详细信息
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds of variables: for terms, for hedges, and for function symbols. constraints involve equations between unranked terms and atoms for regular hedge language membership. We study algebraic semantics of CLP(H) programs, define a sound, terminating, and incomplete constraint solver, investigate two fragments of constraints for which the solver returns a complete set of solutions, and describe classes of programs that generate such constraints.
The embedding of constraint satisfaction on the domain of discourse into a rule-based programming paradigm like logicprogramming provides a powerful reasoning tool. We present an application in spatial reasoning that...
详细信息
The embedding of constraint satisfaction on the domain of discourse into a rule-based programming paradigm like logicprogramming provides a powerful reasoning tool. We present an application in spatial reasoning that uses this combination to produce a clear, concise, yet very expressive system through its ability to manipulate partial information. Three-dimensional solid objects in constructive solid geometry representation are manipulated, and their spatial relationship with one another, points, or regions is reasoned about. The language used to develop this application is QUAD-CLP(R), an experimental constraint logic programming language of our own design, which is equipped with a solver for quadratic and linear arithmetic constraints over the reals.
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of corr...
详细信息
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of correct and efficient generators becomes a very challenging task. In this article we use constraint logic programming (CLP) to systematically develop generators of structurally complex test data structures. We follow a declarative approach that allows us to separate the issue of (i) defining the test data structure in terms of its properties, from that of (ii) efficiently generating data structure instances. This separation helps establish the correctness of the developed test case generators. We rely on a symbolic representation and we take advantage of efficient search strategies provided by CLP systems for generating test instances. Through a running example taken from the literature on BET, we illustrate our test generation framework and we show that CLP allows us to develop easily understandable and efficient test generators. Additionally, we propose a program transformation technique whose goal is to make the evaluation of these CLP-based generators much more efficient and we demonstrate its effectiveness on a number of complex test data structures.
The comparative study published in this journal by Fernandez and Hill benchmarked some constraintprogramming systems on a set of well-known puzzles. The current article examines the positive and negative aspects of t...
详细信息
The comparative study published in this journal by Fernandez and Hill benchmarked some constraintprogramming systems on a set of well-known puzzles. The current article examines the positive and negative aspects of this kind of benchmarking. The article analyses some pitfalls in benchmarking, recalling previous published results from benchmarking different kinds of software, and explores some issues in comparative benchmarking of CLP systems. A benchmarking exercise should cover a broad set of representative problems and a broad set of programming constructs. This can be achieved using two kinds of berchmarking: Applications Benchmarking and Unit Testing. The article reports the authors' experiences with these two kinds of benchmarking in the context of the CHIC-2 Esprit project. The benchmarks were used to unit test different features of the CLP system ECLiPSe and to compare application development with different high-level constraint platforms. The conclusion is that, in deciding which system to use on a new application, it is less useful to compare standard features of CLP systems, than to compare their relevant functionalities.
A quantum annealer exploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby p...
详细信息
A quantum annealer exploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby potentially outperforming classical computing systems. However, despite quantum annealers having recently become commercially available, there are relatively few high-level programming models that target these devices. In this article, we show how to compile a subset of Prolog enhanced with support for constraint logic programming into a two-local Ising-model Hamiltonian suitable for execution on a quantum annealer. In particular, we describe the series of transformations one can apply to convert constraintlogic programs expressed in Prolog into an executable form that bears virtually no resemblance to a classical machine model yet that evaluates the specified constraints in a fully parallel manner. We evaluate our efforts on a 1,095-qubit D-Wave 2X quantum annealer and describe the approach's associated capabilities and shortcomings.
暂无评论