This paper describes our research into the expansion of the spreadsheet paradigm by the incorporation of solvers for systems of linear and finite-domain constraints. An extended spreadsheet system, called Intellisheet...
详细信息
ISBN:
(纸本)0780371984
This paper describes our research into the expansion of the spreadsheet paradigm by the incorporation of solvers for systems of linear and finite-domain constraints. An extended spreadsheet system, called Intellisheet, allows the entry of expressions that represent linear and finite-domain constraints, along with arithmetic expressions, in individual cells. The systems of constraints that have been entered are automatically solved by constraint solvers and the resulting solutions are displayed in the cells that contain the expressions or in other assigned cells. Intellisheet's GUI also has some special features to facilitate constraint programming. Incorporating constraint solvers extends the scope of the spreadsheet paradigm to declarative programming and provides an easier way to solve a broad class of problems, including linear optimization and discrete problems.
We describe here an implemented small programming language, called Alma-0, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These...
详细信息
We describe here an implemented small programming language, called Alma-0, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These additions encourage declarative programming and make it a more attractive vehicle for problems that involve search. We illustrate the use of Alma-0 by presenting solutions to a number of classical problems, including alpha-beta search, STRIPS planning, knapsack, and Eight Queens. These solutions are substantially simpler than their counterparts written in the imperative or in the logic programming style and can be used for different purposes without any modification. We also discuss here the implementation of Alma-0 and an operational, executable, semantics of a large subset of the language.
We describe here an implemented small programming language, called Alma-O, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These...
详细信息
We describe here an implemented small programming language, called Alma-O, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These additions encourage declarative programming and make it a more attractive vehicle for problems that involve search. We illustrate the use of Alma-O by presenting solutions to a number of classical problems, including α-β search, STRIPS planning, knapsack, and Eight Queens. These solutions are substantially simpler than their counterparts written in the imperative or in the logic programming style and can be used for different purposes without any modification. We also discuss here the implementation of Alma-O and an operational, executable, semantics of a large subset of the language.
In this paper we present a study of the problem of handling constraints made by conjunctions of positive and negative literals based on the predicate symbols =, is an element of, boolean OR, and parallel to (i.e., dis...
详细信息
In this paper we present a study of the problem of handling constraints made by conjunctions of positive and negative literals based on the predicate symbols =, is an element of, boolean OR, and parallel to (i.e., disjointness of two sets) in a (hybrid) universe of finite sets. We also review and compare the main techniques considered to represent finite sets in the context of logic languages. The resulting constraint algorithms are embedded in a Constraint Logic programming (CLP) language which provides finite sets-along with basic set-theoretic operations-as first-class objects of the language. The language-called CLP(SET)-is an instance of the general CLP framework, and as such it inherits all the general features and theoretical results of this scheme. We provide, through programming examples, a taste of the expressive power offered by programming in CLP(SET).
Set-grouping and aggregation are powerful operations of practical interest in database query languages. An aggregate operation is a function that maps a set to some value, e.g., the maximum or minimum in the set, the ...
详细信息
Set-grouping and aggregation are powerful operations of practical interest in database query languages. An aggregate operation is a function that maps a set to some value, e.g., the maximum or minimum in the set, the cardinality of this set, the summation of all its members, etc. Since aggregate operations are typically non-monotonic in nature, recursive programs making use of aggregate operations must be suitably restricted in order that they have a well-defined meaning. In a recent paper we showed that partial-order clauses provide a well-structured means of formulating aggregate operations with recursion. In this paper, we consider the problem of expressing partial-order programs via negation-as-failure (NF), a well-known non-monotonic operation in logic programming.(*1) We show a natural translation of partial-order programs to normal logic programs: Any cost-monotonic partial-order program P is translated to a stratified normal program such that the declarative semantics of P is defined as the stratified semantics of the translated program. The ability to effect such a translation is significant because the resulting normal programs do not make any explicit use of the aggregation capability, yet they are concise and intuitive. The success of this translation is due to the fact that the translated program is a stratified normal program. That would not be the case for other more general classes of programs than cost-monotonic partial-order programs. We therefore develop in stages a refined translation scheme that does not require the translated programs to be stratified, but requires the use of a suitable semantics. The class of normal programs originating from this refined translation scheme is itself interesting: Every program in this class has a clear intended total mode!, although these programs are in general neither stratified nor call-consistent, and do not have a stable model. The partial model given by the well-founded semantics is consistent with the in
The problem of partitioning grid-based applications for parallel computing can be solved easily and intuitively in a logic programming language such as Prolog, using only the single assignment property of the logic va...
详细信息
The problem of partitioning grid-based applications for parallel computing can be solved easily and intuitively in a logic programming language such as Prolog, using only the single assignment property of the logic variable, and not the backtracking. We show that such a logic program can be transformed in a systematic way into a circular functional program, which runs 10 times faster than the original logic program, The transformation proceeds in a number of steps. The first step is novel, and we give a correctness proof. Our reasoning also uses a novel combination of concepts from both the logical and functional paradigms. Copyright (C) 1999 John Wiley & Sons, Ltd.
We present the architecture and a performance assessment of an extensible query optimizer written in Venus. Venus is a general-purpose active-database rule language embedded in C++. Following the developments in exten...
详细信息
ISBN:
(纸本)1581131461
We present the architecture and a performance assessment of an extensible query optimizer written in Venus. Venus is a general-purpose active-database rule language embedded in C++. Following the developments in extensible database query optimizers, first in rule-based form, followed by optimizers written as object-oriented programs, the Venus-based optimizer avails to the advantages of both. Venus' modular structure allows us to go a step further and provide extensibility in search by defining parameterized search components in a declarative form that has the additional effect of integrating heuristic and cost-based optimization. We compare optimizers developed with Volcano, OPT++ and Venus. Venus' optimizing compiler yields code whose performance is comparable with Volcano and OPT++ on smaller queries. The ability to introduce additional pruning heuristics yields better scalability on larger queries. Evaluation of the system using quantitative software metrics supports a claim that the Venus-based optimizer is more easily maintained and extended than are its predecessors.
Can we evaluate a logic program declaratively? That is, can a logic program be evaluated correctly and efficiently, independent of query modes and rule/predicate ordering, finding a complete set of answers, and termin...
详细信息
Can we evaluate a logic program declaratively? That is, can a logic program be evaluated correctly and efficiently, independent of query modes and rule/predicate ordering, finding a complete set of answers, and terminating properly? the answer could be "yes", at least for a good subclass of logic programs, based on our investigation and experimentation using a deductive database approach. In this paper, an n-queens problem, a classical logic program, is used as a running example to demonstrate the methodology. Our analysis shows that binding analysis and constraint exploration are two essential issues in the realization of declarative logic programming. The limitations of our methodology are also discussed in the paper. (C) 1998 Elsevier Science Inc. All rights reserved.
This paper introduces a new approach to optimal design and detailing of reinforced concrete biaxial columns using genetic algorithms (GAs). For a biaxial column with a given set of design requirements (section size, a...
详细信息
This paper introduces a new approach to optimal design and detailing of reinforced concrete biaxial columns using genetic algorithms (GAs). For a biaxial column with a given set of design requirements (section size, axial load and bending about both axes of the column), it is shown how GAs conduct a global search to identify the optimal reinforcement bar sizes and bar detailing arrangements. These satisfy maximum bending capacity about both axes of the column section and minimise the area of the reinforcements which leads to an economical design. In detailing reinforcement bar arrangements within the column section, the British Standard (BS8110) requirements are considered to ensure that both the ultimate limit state (ULS) and the buildability (ease of construction) requirements are satisfied. A declarative approach is used to check the exact bending capacities of the section about both axes of the column for the reinforcement bar detailing suggested by the GA, approved/modified and adopted by the designer. This is a final check which ensures that the column is designed and detailed properly and is capable of carrying the design loads safely. The human computer interaction (HCI) issue is an important focus of the current research in which the role of the designer as a decision maker and the role of the computer a decision support tool is maintained and enhanced. (C) 1998 Elsevier Science Ltd. All rights reserved.
The concept of definitional tree by Antoy serves to introduce control information into the bare set of rules of a constructor-based term rewriting system (TRS). TRSs whose rules can be arranged into a definitional tre...
详细信息
The concept of definitional tree by Antoy serves to introduce control information into the bare set of rules of a constructor-based term rewriting system (TRS). TRSs whose rules can be arranged into a definitional tree are called inductively sequential. By relying on the existence of such a definitional tree, an optimal rewriting strategy, the outermost-needed strategy, is defined. Optimality was proved with respect to the Huet-Levy theory of neededness. In this paper, we prove that strongly sequential and inductively sequential constructor-based TRSs coincide. We also show that outermost-needed rewriting only reduces strongly needed redexes. (C) 1998 Elsevier Science B.V.
暂无评论