The aim of program specialization is to optimize programs by exploiting certain knowledge about the context in which the program will execute. There exist many program manipulation techniques which allow specializing ...
详细信息
The aim of program specialization is to optimize programs by exploiting certain knowledge about the context in which the program will execute. There exist many program manipulation techniques which allow specializing the program in different ways. Among them, one of the best known techniques is partial evaluation, often referred to simply as program specialization, which optimizes programs by specializing them for (partially) known input data. In this work we describe abstract specialization, a technique whose main features are: (1) specialization is performed with respect to "abstract" values rather than "concrete" ones, and (2) abstract interpretation rather than standard interpretation of the program is used in order to propagate information about execution states. The concept of abstract specialization is at the heart of the specialization system in CiaoPP, the Ciao system preprocessor. In this paper we present a unifying view of the different specialization techniques used in CiaoPP and discuss their potential applications by means of examples. The applications discussed include program parallelization, optimization of dynamic scheduling (concurrency), and integration of partial evaluation techniques.
Abstract interpretation is a systematic methodology to design static program analysis which has been studied extensively in the logic programming community, because of the potential for optimizations in logic programm...
详细信息
Abstract interpretation is a systematic methodology to design static program analysis which has been studied extensively in the logic programming community, because of the potential for optimizations in logic programming compilers and the sophistication of the analyses which require conceptual support. With the emergence of efficient generic abstract interpretation algorithms for logic programming, the main burden in building an analysis is the abstract domain which gives a safe approximation of the concrete domain of computation. However, accurate abstract domains for logic programming are often complex not only because of the relational nature of logic programming languages and of their typical interprocedural control-flow, but also because of the variety of analyses to perform, their interdependence, and the need to maintain structural information. The purpose of this paper is to propose conceptual and software support for the design of abstract domains. It contains two main contributions: the notion of open product and a generic pattern domain. The open product is a new, language independent, way of combining abstract domains allowing each combined domain to benefit from information from the other components through the notions of queries and open operations. It provides a framework to approximate Cousots' reduced product, while reusing existing implementations and providing methodological guidance on how to build domains for interaction and composition. It is orthogonal and complementary to Granger's product which improves the direct product by a decreasing iteration sequence based on refinements but lets the domains interact only after the individual operations. The generic pattern domain Pat(R) automatically upgrades a domain D with structural information yielding a more accurate domain Pat(D) without additional design or implementation cost. The two contributions are orthogonal and can be combined in various ways to obtain sophisticated domains while imposin
Recently there has been increased interest in logic programming-based default reasoning approaches which are not using negation-as-failure in their object language. Instead, default reasoning is modelled by rules and ...
详细信息
Recently there has been increased interest in logic programming-based default reasoning approaches which are not using negation-as-failure in their object language. Instead, default reasoning is modelled by rules and a priority relation among them. In this paper we compare the expressive power of two approaches in this family of logics: Defeasible logic, and sceptical logic programming without Negation as Failure (LPwNF). Our results show that the former has a strictly stronger expressive power. The difference is caused by the latter logic's failure to capture the idea of teams of rules supporting a specific conclusion. (C) 2000 Published by Elsevier Science Inc. All rights reserved.
We present a recently started research project. The goal of the project is to integrate into one system a number of techniques, execution mechanisms and development tools that were designed in various areas in logic P...
详细信息
We present a recently started research project. The goal of the project is to integrate into one system a number of techniques, execution mechanisms and development tools that were designed in various areas in logic programming in the past. Main components are: a strong support for (declarative) knowledge representation, including aspects of incomplete knowledge, first order logic constraints and definitional knowledge;integration of different computational mechanisms, including resolution, abduction, tabling and constraint solving;integration within the development environment of semantics-based development tools, including (source-level) optimization, abstract interpretation based analysis and termination analysis. In developing this new system, we hope to contribute to an effort of semi-automating (part of) the software development process. We plan to experiment with a number of applications to test the system. Main applications in focus are in temporal reasoning, planning and scheduling, and machine learning.
A new knowledge representation language, called QDLP, which extends DLP to deal with uncertain values is introduced. Each (quantitative) rule is assigned a certainty degree interval (a subinterval of [0,1]). The propa...
详细信息
A new knowledge representation language, called QDLP, which extends DLP to deal with uncertain values is introduced. Each (quantitative) rule is assigned a certainty degree interval (a subinterval of [0,1]). The propagation of uncertainty information from the premises to the conclusion of a quantitative rule is achieved by means of triangular norms (T-norms). Different T-norms induce different semantics for one given quantitative program. In this sense, QDLP is parameterized and each choice of a T-norm induces a different QDLP language. Each T-norm is eligible for events with determinate relationships (e.g., independence, exclusiveness) between them. Since there are infinitely many T-norms, it turns out that there is a family of infinitely many QDLP languages. This family is carefully studied and the set of QDLP languages which generalize traditional DLP is precisely singled out. Algorithms for computing the minimal models of quantitative programs are proposed.
In this paper, we present an extended relational calculus for expressing queries in functional-logic deductive databases. This calculus is based on first-order logic and handles relation predicates, equalities and ine...
详细信息
In this paper, we present an extended relational calculus for expressing queries in functional-logic deductive databases. This calculus is based on first-order logic and handles relation predicates, equalities and inequalities over partially defined terms, and approximation equations. For the calculus formulas, we have studied syntactic conditions in order to ensure the domain independence property. Finally, we have studied its equivalence w.r.t. the original query language, which is based on equality and inequality constraints.
A logic programming formalization of action domains has been well-studied and some work exists on the combination with learning methods. We extend previous work to deal with the indirect effects of actions and to solv...
详细信息
In this paper, we describe an improvement of a calculation procedure of logic programs. The procedure proposed before is the combination of a replacement procedure of logical formulae and a transformation procedure of...
详细信息
In this paper, we describe an improvement of a calculation procedure of logic programs. The procedure proposed before is the combination of a replacement procedure of logical formulae and a transformation procedure of equations to disjunctive normal form, and it can calculate logical consequences of the completion of any given first-order logic program (FLP), which is equivalent to the FLP in two-valued logic, soundly and completely in three-valued logic. The new procedure is also the combination of them, but the transformation procedure is improved to be able to calculate two-valued logical consequences of the FLP more than the old one. We prove that it can calculate logical consequences of a completed program, which is not equivalent to the completion of the FLP, soundly and completely in three-valued logic.
A Natural Language Querying System is presented (NL-SIIUE). It enables the access to the Universidade de Évora Information System (SIIUE) heterogeneous databases. Dialog management is essential for the correct in...
详细信息
Reasoning on the Web is receiving an increasing attention because of emerging fields such as Web adaption and Semantic Web. Indeed, the advanced functionalities striven for in these fields call for reasoning capabilit...
详细信息
暂无评论