Negation has traditionally been a difficult issue in logicprogramming. Most of Prolog programmers have been restricted to use just a weak negation technique, like negation as failure. Many alternative semantics were ...
详细信息
Negation has traditionally been a difficult issue in logicprogramming. Most of Prolog programmers have been restricted to use just a weak negation technique, like negation as failure. Many alternative semantics were proposed for achieving constructive negation in the last 20 years, but no implementation was provided so far because of its exponential complexity and the difficulty for developing it. First effective implementations of constructive negation into standard Prolog compilers are available just recently, around 2003, provided by our previous works. In this paper we present an extension of our implementations by introducing types in programs, thus improving usability as well as efficiency in some cases of our implementations of constructive negation. This can make constructive negation an interesting approach for its use in data bases querying, web search, filtered search, ontologies querying, coding rules, business rules, etc. Thanks to the use of types, our constructive negation can provide concrete values as results, instead of constraints (as in our previous works). We provide details about the semantics and the implementation in our approaches of classical, finite constructive, and intensional negation. The paper also includes some practical examples additionally allowing for providing measurements of computational behavior.
Dynamical modeling has proven useful for understanding how complex biological processes emerge from the many components and interactions composing genetic regulatory networks (GRNs). However, the development of models...
详细信息
Dynamical modeling has proven useful for understanding how complex biological processes emerge from the many components and interactions composing genetic regulatory networks (GRNs). However, the development of models is hampered by large uncertainties in both the network structure and parameter values. To remedy this problem, the models are usually developed through an iterative process based on numerous simulations, confronting model predictions with experimental data and refining the model structure and/or parameter values to repair the inconsistencies. In this paper, we propose an alternative to this gene rate-and-test approach. We present a four-step method for the systematic construction and analysis of discrete models of GRNs by means of a declarative approach. Instead of instantiating the models as in classical modeling approaches, the biological knowledge on the network structure and its dynamics is formulated in the form of constraints. The compatibility of the network structure with the constraints is queried and in case of inconsistencies, some constraints are relaxed. Common properties of the consistent models are then analyzed by means of dedicated languages. Two such languages are introduced in the paper. Removing questionable constraints or adding interesting ones allows to further analyze the models. This approach allows to identify the best experiments to be carried out, in order to discriminate sets of consistent models and refine our knowledge on the system functioning. We test the feasibility of our approach, by applying it to the re-examination of a model describing the nutritional stress response in the bacterium Escherichia coli. (C) 2009 Elsevier Ireland Ltd. All rights reserved.
Model-driven simulation can make the design and delivery of instruction more efficient and effective. We describe two computational models that support both the design and delivery of instruction. BEST (the Bench-mark...
详细信息
ISBN:
(纸本)9783642028113
Model-driven simulation can make the design and delivery of instruction more efficient and effective. We describe two computational models that support both the design and delivery of instruction. BEST (the Bench-marked Experiential System for Training) can guide experts through the space of domain problems during the knowledge engineering phase of instructional design;it can guide trainees through the space of training objectives during instruction. PRESTO (Pedagogically Relevant Engineering of Scenarios for Training Objectives) builds scenarios on the fly to elicit the knowledge of experts during instructional design, and to satisfy the instructional objectives of trainees.
Although negation is an active area of research in logicprogramming, sound and complete implementations are still absent from actual Prolog systems. One of the most promising techniques in the literature is intension...
详细信息
Although negation is an active area of research in logicprogramming, sound and complete implementations are still absent from actual Prolog systems. One of the most promising techniques in the literature is intensional negation (IN), which follows a transformational approach: for each predicate p in a program its negative counterpart intneg(p) is generated. However, implementations of IN have not been included in Prolog environments due, in part, to the lack of details and explicit techniques, such as the treatment of universally quantified goals. In this paper, we describe a variant of IN, which we have called constructive intensional negation (CIN). Unlike earlier proposals, CIN does not resort to a dedicated resolution strategy when dealing with universally quantified formulae, which has been instrumental in having an effective implementation. Therefore, pure SLD resolution is used, what enables the reuse of existing Prolog implementation technology. Among the contributions of this work we can mention not only a full implementation being tested for its integration in the Ciao Prolog system but also some formal results ensuring soundness and completeness with their associated proofs.
Tracers provide users with useful information about program executions. In this article, we propose a "tracer driver". From a single tracer, it provides a powerful front-end enabling multiple dynamic analysi...
详细信息
Tracers provide users with useful information about program executions. In this article, we propose a "tracer driver". From a single tracer, it provides a powerful front-end enabling multiple dynamic analysis tools to be easily implemented, while limiting the overhead of the trace generation. The relevant execution events are specified by flexible event patterns and a large variety of trace data can be given either systematically or "on demand". The proposed tracer driver has been designed in the context of constraint logic programming (CLP);experiments have been made within GNU-Prolog. Execution views provided by existing tools have been easily emulated with a negligible overhead. Experimental measures show that the flexibility and power of the described architecture lead to good performance. The tracer driver overhead is inversely proportional to the average time between two traced events. Whereas the principles of the tracer driver are independent of the traced programming language, it is best suited for high-level languages, such as CLP, where each traced execution event encompasses numerous low-level execution steps. Furthermore, CLP is especially hard to debug. The current environments do not provide all the useful dynamic analysis tools. They can significantly benefit froth our tracer driver which enables dynamic analyses to be integrated at a very low cost.
Tabled constraint logic programming is a powerful execution mechanism for dealing with constraint logic programming without worrying about fixpoint computation. Various applications, e.g. in the fields of program anal...
详细信息
Tabled constraint logic programming is a powerful execution mechanism for dealing with constraint logic programming without worrying about fixpoint computation. Various applications, e.g. in the fields of program analysis and model checking, have been proposed. Unfortunately, a high-level system for developing new applications is lacking, and programmers are forced to resort to complicated ad hoc solutions. This papers presents TCHR, a high-level framework for tabled constraint logic programming. It integrates in a light-weight manner constraint Handling Rules (CHR), a high-level language for constraint solvers, with tabled logicprogramming. The framework is easily instantiated with new application-specific constraint domains. Various high-level operations can be instantiated to control performance. In particular, we propose a novel, generalized technique for compacting answer sets.
In this paper we introduce a class of constraintlogic programs such that their termination can be proved by using affine level mappings. We show that membership to this class is decidable in polynomial time.
In this paper we introduce a class of constraintlogic programs such that their termination can be proved by using affine level mappings. We show that membership to this class is decidable in polynomial time.
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.
Constrained search problems (eg. scheduling, planning, resource allocation, placement, routing etc.) appear frequently at different levels of decisions. They are usually characterized by many types of constraints, whi...
详细信息
ISBN:
(纸本)9783540690450
Constrained search problems (eg. scheduling, planning, resource allocation, placement, routing etc.) appear frequently at different levels of decisions. They are usually characterized by many types of constraints, which make them unstructured and difficult to solve (NP-complete). Traditional mathematical programming approaches are deficient because their representation of constraints is artificial (using 0-1 variables). Unlike traditional approaches, constraint logic programming (CLP) provides for a natural representation of heterogeneous constraints. In CLP we state the problem requirements by constraints;we do not need to specify how to meet these requirements. In this paper we propose a declarative framework for decision support system (DSS) for constrained search problems implemented by CLP and relational SQL database. We illustrate this concept by the implementation of a DSS for scheduling problems with external resources in different production organization environments.
This work presents the performance comparison of two conceptually different approaches for a mixed model non-permutation flowshop production line. The demand is a semi-dynamic demand with a fixed job sequence for the ...
详细信息
ISBN:
(纸本)9783540788256
This work presents the performance comparison of two conceptually different approaches for a mixed model non-permutation flowshop production line. The demand is a semi-dynamic demand with a fixed job sequence for the first station. Resequencing is permitted where stations have access to intermediate or centralized resequencing buffers. The access to the buffers is restricted by the number of available buffer places and the physical size of the products. An exact approach, using constraint logic programming (CLP), and a heuristic approach, a Genetic Algorithm (GA), were applied.
暂无评论