In (Gerla and Sessa, Fuzzy logic and Soft Computing, Kluwer, Nor-well, 1999, pp. 19-31) a methodology that allows to manage uncertain and imprecise information in the frame of the declarative paradigm of logic Program...
详细信息
In (Gerla and Sessa, Fuzzy logic and Soft Computing, Kluwer, Nor-well, 1999, pp. 19-31) a methodology that allows to manage uncertain and imprecise information in the frame of the declarative paradigm of logic programming has been proposed. With this aim, a Similarity relation R between function and predicate symbols in the language of a logic program is considered. Approximate inferences are then possible since similarity relation allows us to manage alternative instances of entities that can be considered "equal" with a given degree. The declarative semantics of the proposed transformation technique of logic programs is analyzed. The notion of fuzzy least Herbrand model is also introduced. In this paper the corresponding operational semantics is provided by introducing a modified version of SLD resolution. This top-down refutation procedure overcomes failure situations in the unification process by using the similarity, relation. A generalized notion of most general unifier provides a numeric value which gives a measure of the exploited approximation. In this way, the SLID resolution is enhanced since it is possible both to handle uncertain or imprecise information, and to compute approximate answer substitutions, with an associated approximation-degee, when failures of the exact inference process occur. It can lead to the implementation of a more general PROLOG interpreter, without detracting from the elegance of the language. (C) 2002 Elsevier Science B.V. All rights reserved.
The single most serious issue in the development of a parallel implementation of non-deterministic programming languages and systems (e.g., logic programming, constraint programming, search-based artificial intelligen...
详细信息
The single most serious issue in the development of a parallel implementation of non-deterministic programming languages and systems (e.g., logic programming, constraint programming, search-based artificial intelligence systems) is the dynamic management of the binding environments-i.e., the ability to associate with each parallel computation the correct set of bindings/values representing the solution generated by that particular branch of the non-deterministic computation. The problem has been abstracted and formally studied previously (ACM Trans. Program. Lang. Syst. 15(4) (1993) 659;New Generation Comput. 17(3) (1999) 285), but to date only relatively inefficient data structures (ACM Trans. Program. Lang. Syst. (2002);New Generation Comput. 17(3) (1999) 285;J. Funct. logic Program. Special issue #1 (1999)) have been developed to solve it. We provide a very efficient solution to the problem (O(Ig n) per operation). This is a significant improvement over previously best known Omega((3)rootn) solution. Our solution is provably optimal for the pointer machine model. We also show how the solution can be extended to handle the abstraction of search problems in object-oriented systems, with the same time complexity. (C) 2002 Elsevier Science Ltd. All rights reserved.
Referential actions are specialized triggers for automatically maintaining referential integrity in databases. While the local effects of referential actions can be grasped easily, it is far from obvious what the glob...
详细信息
Referential actions are specialized triggers for automatically maintaining referential integrity in databases. While the local effects of referential actions can be grasped easily, it is far from obvious what the global semantics of a set of interacting referential actions should be. In particular, when using procedural execution models, ambiguities due to the execution ordering can occur. No global, declarative semantics of referential actions has yet been defined. We show that the well-known logic programming semantics provide a natural global semantics of referential actions that is based on their local characterization: To capture the global meaning of a set RA of referential actions, we first define their abstract (but non-constructive) intended semantics. Next, we formalize RA as a logic program P-RA. The declarative, logic programming semantics of P-RA then provide the constructive, global semantics of the referential actions. So, we do not define a semantics for referential actions, but we show that there exists a unique natural semantics if one is ready to accept (i) the intuitive local semantics of local referential actions, (ii) the formalization of those and of the local "effect-propagating" rules, and (iii) the well-founded or stable model semantics from logic programming as "reasonable" global semantics for local rules. We first focus on the subset of referential actions for deletions only. We prove the equivalence of the logic programming semantics and the abstract semantics via a game-theoretic characterization, which provides additional insight into the meaning of interacting referential actions. In this case a unique maximal admissible solution exists, computable by a PTIME algorithm. Second, we investigate the general case-including modifications. We show that in this case there can be multiple maximal admissible subsets and that all maximal admissible subsets can be characterized as 3-valued stable models of P-RA. We show that for a given set of
We propose a modular method for proving termination of general logic programs (i.e. logic programs with negation). It is based on the notion of acceptable programs, but it allows us to prove termination in a truly mod...
详细信息
We propose a modular method for proving termination of general logic programs (i.e. logic programs with negation). It is based on the notion of acceptable programs, but it allows us to prove termination in a truly modular way. We consider programs consisting of a hierarchy of modules and supply a general result for proving termination by dealing with each module separately. For programs which are in a certain sense well-behaved, namely well-moded or well-typed programs, we derive both a simple verification technique and an iterative proof method. Some examples show how our system allows for greatly simplified proofs.
An effective algorithm for handling constraints to solve the generator maintenance scheduling (GMS) problem is presented. The proposed algorithm of constraint logic programming (CLP) synthesises logic programming, con...
详细信息
An effective algorithm for handling constraints to solve the generator maintenance scheduling (GMS) problem is presented. The proposed algorithm of constraint logic programming (CLP) synthesises logic programming, constraint satisfaction technique (CST), and branch and bound search schemes to provide an efficient and flexible approach to the problem. The constraints of the problem cannot only be conveniently managed by the logic programming but also be actively used to reduce the search space by the CST. Once the infeasible solutions are pruned away from the search space, the depth-first branch and bound search strategy is then used for determining the optimal solution. The practical GMS problem of Taiwan Power (Taipower) system is solved by the proposed CLP algorithm for demonstrating its effectiveness. To exhibit the efficiency of the proposed algorithm, the results obtained are compared with those from the established methods of simulated annealing (SA) and lagrangian relaxation (LR).
In the context of the abstract interpretation theory, we study the relations among various abstract domains for groundness analysis of logic programs. We reconstruct the well-known domain Pos as a logical domain in a ...
详细信息
In the context of the abstract interpretation theory, we study the relations among various abstract domains for groundness analysis of logic programs. We reconstruct the well-known domain Pos as a logical domain in a fully automatic way and we prove that it is the best abstract domain which can be set up from the property of groundness by applying logic operators only. We propose a new notion of optimality which precisely captures the relation between Pos and its natural concrete domain. This notion enables us to discriminate between the various abstract domains for groundness analysis from a computational point of view and to compare their relative precision, Finally, we propose a new domain for groundness analysis which has the advantage of being independent from the specific program and we show its optimality, (C) 2002 Published by Elsevier Science B.V.
Most of the work conducted so far in the field of logic programming has focused on representing static knowledge, i.e., knowledge that does not evolve with time. To overcome this limitation, in a recent paper, the aut...
详细信息
Most of the work conducted so far in the field of logic programming has focused on representing static knowledge, i.e., knowledge that does not evolve with time. To overcome this limitation, in a recent paper, the authors introduced dynamic logic programming. There, they studied and defined the declarative and operational semantics of sequences of logic programs (or dynamic logic programs). Each program in the sequence contains knowledge about some given state, where different states may, for example, represent different time periods or different sets of priorities. But how, in concrete situations, is a sequence of logic programs built? For instance, in the domain of actions, what are the appropriate sequences of programs that represent the performed actions and their effects? Whereas dynamic logic programming provides a way for, given the sequence, determining what should follow, it does not provide a good practical language for the specification of the sequence of updates which may be conditional on the intervening states. Here we define the language LUPS-"Language for dynamic updates"-designed for specifying changes to logic programs. Given an initial knowledge base (as a logic program) LUPS provides a way for sequentially updating it. The declarative meaning of a sequence of sets of update actions in LUPS is defined by the semantics of the dynamic logic program generated by those actions. Additionally, we provide a translation of the sequence of update statements sets into a single logic program written in a meta-language, in such a way that the stable models of the resulting program correspond to the previously defined declarative semantics. Finally, we exhibit the usage of LUPS in several application domains. (C) 2002 Elsevier Science B.V. All rights reserved.
logic programs under Answer Sets semantics can be studied, and actual computation can be carried out, by means of representing them by directed graphs. Several reductions of logic programs to directed graphs are now a...
详细信息
logic programs under Answer Sets semantics can be studied, and actual computation can be carried out, by means of representing them by directed graphs. Several reductions of logic programs to directed graphs are now available. We compare our proposed representation, called Extended Dependency Graph, to the Block Graph representation recently defined by Linke [Proc. IJCAI-2001, 2001, pp. 641-648]. On the relevant fragment of well-founded irreducible programs, extended dependency and block graph turns out to be isomorphic. So, we argue that graph representation of general logic programs should be abandoned in favor of graph representation of well-founded irreducible programs, which are more concise, more uniform in structure while being equally expressive. (C) 2002 Elsevier Science B.V. All rights reserved.
The addition of preferences to normal logic pro-rams is a convenient way to represent many aspects of default reasoning. If the derivation of an atom A(1) is preferred to that of an atom A(2) a preference rule can be ...
详细信息
The addition of preferences to normal logic pro-rams is a convenient way to represent many aspects of default reasoning. If the derivation of an atom A(1) is preferred to that of an atom A(2) a preference rule can be defined so that A(2) is derived only if A(1) is not. Although such situations can be modelled directly using default negation, it is often easier to define preference rules than it is to add negation to the bodies of rules. As first noted by Govindarajan et al. [Proc. Internat. Conf. on logic programming, 1995, pp. 731-746], for certain grammars, it may be easier to disambiguate parses using preferences than by enforcing disambiguation in the grammar rules themselves. In this paper we define a general fixed-point semantics for preference logic programs based on an embedding into the well-founded semantics, and discuss its features and relation to previous preference logic semantics. We then study how preference logic grammars are used in data standardization, the commercially important process of extracting useful information from poorly structured textual data. This process includes correcting misspellings and truncations that occur in data, extraction of relevant C, 41 information via parsing, and correcting inconsistencies in the extracted information. The declarativity of Prolog offers natural advantages for data standardization, and a commercial standardizer has been implemented using Prolog. However, we show that the use of preference logic grammars allow construction of a much more powerful and declarative commercial standardizer, and discuss in detail how the use of the non-monotonic construct of preferences leads to improved commercial software. (C) 2002 Elsevier Science B.V. All rights reserved.
Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wi...
详细信息
Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic programming language, including executable constructs such as sequential conjunction, disjunction, and existential quantification, as well as specification constructs such as general predicates, assumptions and universal quantification. A declarative semantics is defined for this wide-spectrum language based on executions. Executions are partial functions from states to states, where a state is represented as a set of bindings. The semantics is used to define the meaning of programs and specifications, including parameters and recursion. To complete the calculus, a notion of correctness-preserving refinement over programs in the wide-spectrum language is defined and refinement laws for developing programs are introduced. The refinement calculus is illustrated using example derivations and prototype tool support is discussed.
暂无评论