共查询到20条相似文献,搜索用时 0 毫秒
1.
François Fages 《New Generation Computing》1991,9(3-4):425-443
We study a new fixpoint semantics for logic programs with negation. Our construction is intermediate between Van Gelder’s well-founded model and Gelfond and Lifschitz’s stable model semantics. We show first that the stable models of a logic programP are exactly the well-supported models ofP, i.e. the supported models with loop-free finite justifications. Then we associate to any logic programP a non-monotonic operator over the semilattice of justified interpretations, and we define in an abstract form its ordinal powers. We show that the fixpoints of this operator are the stable models ofP, and that its ordinal powers after some ordinala are extensions of the well-founded partial model ofP. In particular ifP has a well-founded model then that canonical model is also an ordinal power and the unique fixpoint of our operator. We show with examples of logic programs which have a unique stable model but no well-founded model that the converse is false. We relate also our work to Doyle’s truth maintenance system and some implementations of rule-based expert systems. 相似文献
2.
Verifying floating-point programs with constraint programming and abstract interpretation techniques
Static value analysis is a classical approach for verifying programs with floating-point computations. Value analysis mainly relies on abstract interpretation and over-approximates the possible values of program variables. State-of-the-art tools may however compute over-approximations that can be rather coarse for some very usual program expressions. In this paper, we show that constraint solvers can significantly refine approximations computed with abstract interpretation tools. More precisely, we introduce a hybrid approach combining abstract interpretation and constraint programming techniques in a single static and automatic analysis. This hybrid approach benefits from the strong points of abstract interpretation and constraint programming techniques, and thus, it is more effective than static analysers and constraint solvers, when used separately. We compared the efficiency of the system we developed—named rAiCp—with state-of-the-art static analyzers: rAiCp produces substantially more precise approximations and is able to check program properties on both academic and industrial benchmarks. 相似文献
3.
Lengning Liu Enrico Pontelli Tran Cao Son Miroslaw Truszczyński 《Artificial Intelligence》2010,174(3-4):295-315
We provide a new perspective on the semantics of logic programs with arbitrary abstract constraints. To this end, we introduce several notions of computation. We use the results of computations to specify answer sets of programs with constraints. We present the rationale behind the classes of computations we consider, and discuss the relationships among them. We also discuss the relationships among the corresponding concepts of answer sets. One of those concepts has several compelling characterizations and properties, and we propose it as the correct generalization of the answer-set semantics to the case of programs with arbitrary constraints. We show that several other notions of an answer set proposed in the literature for programs with constraints can be obtained within our framework as the results of appropriately selected classes of computations. 相似文献
4.
《Computer Languages, Systems and Structures》2003,29(3):45-73
This paper shows how logic programs can be used to implement the transition functions of denotational abstract interpretation. The logic variables express regularity in the abstract behaviour of commands. The technique has been applied to sign, class and escape analysis for object-oriented programs. We show that the time and space costs using logic programs for these analyses are smaller than those using a ground relational representation. Moreover, we show that, in the case of sign analysis, our technique requires less memory and has an efficiency comparable to that of an implementation based on binary decision diagrams. 相似文献
5.
Pierre-Emmanuel Hladik Hadrien Cambazard Narendra Jussien 《Journal of Systems and Software》2008,81(1):132-149
In this paper, we present an original approach (CPRTA for “Constraint Programming for solving Real-Time Allocation”) based on constraint programming to solve a static allocation problem of hard real-time tasks. This problem consists in assigning periodic tasks to distributed processors in the context of fixed priority preemptive scheduling. CPRTA is built on dynamic constraint programming together with a learning method to find a feasible processor allocation under constraints. Two efficient new approaches are proposed and validated with experimental results. Moreover, CPRTA exhibits very interesting properties. It is complete (if a problem has no solution, the algorithm is able to prove it); it is non-parametric (it does not require specific tuning) thus allowing a large diversity of models to be easily considered. Finally, thanks to its capacity to explain failures, it offers attractive perspectives for guiding the architectural design process. 相似文献
6.
Linguistic mechanisms for exception handling facilitate the production of reliable software and play an important role in fault tolerant computing. This paper describes the functional semantics of a Pascal-like language which supports exception handling and data abstraction. A program with exceptions is considered as having a standard semantics, as well as an exceptional semantics for each exception that may be signaled during its execution. Standard functional semantics methods provide rules to obtain the function representing the standard semantics. In this paper, we provide rules to determine the functions representing the exceptional semantics. We also describe a method for specifying and verifying the correctness of implementation of data types with exceptions. 相似文献
7.
Glasgow J.I. Jenkins M.A. Blevis E. Feret M.P. 《Knowledge and Data Engineering, IEEE Transactions on》1991,3(3):307-319
Nial is a programming language designed around a mathematical treatment of data as nested arrays. A goal of the research described is to integrate within Nial a functional style of programming based on the theory of arrays with the declarative capabilities of a logic programming environment. This is partially accomplished by storing logic clauses as arrays which can be manipulated using logic clauses. Arrays as terms are considered as part of the syntax of the clauses. The approach to logic programming is based on providing a flexible environment for experimenting with full clausal or Horn clause logic. A variety of predefined control strategies and the capability for user-defined control strategies have been provided. The expressive capabilities of combining logic and functional programming styles provides a suitable language for many application areas. The philosophy and design behind a combined logic/database model used to prototype a knowledge-based systems application are described 相似文献
8.
José Alberto Fernández Jorge Lobo Jack Minker V. S. Subrahmanian 《Annals of Mathematics and Artificial Intelligence》1993,8(3-4):449-474
We show that stable models of logic programs may be viewed as minimal models of programs that satisfy certain additional constraints. To do so, we transform the normal programs into disjunctive logic programs and sets of integrity constraints. We show that the stable models of the normal program coincide with the minimal models of the disjunctive program thatsatisfy the integrity constraints. As a consequence, the stable model semantics can be characterized using theextended generalized closed world assumption for disjunctive logic programs. Using this result, we develop a bottomup algorithm for function-free logic programs to find all stable models of a normal program by computing the perfect models of a disjunctive stratified logic program and checking them for consistency with the integrity constraints. The integrity constraints provide a rationale as to why some normal logic programs have no stable models. 相似文献
9.
Apara-functional programming language is a functional language that has been extended with special annotations that provide an extra degree of control over parallel evaluation. Of most interest are annotations that allow one to express the dynamic mapping of a program onto a known multiprocessor topology. Since it is quite desirable to provide a precise semantics for any programming language, in this paper adenotational semantics is given for a simple para-functional programming language with mapping annotations. A precise meaning is given not only to the normalfunctional behavior of the program (i.e., the answer), but also to theoperational notion of where (i.e., on what processor) expressions are evaluated. The latter semantics is accomplished through an abstract entity called anexecution tree.This research was supported in part by the National Science Foundation under Grants DCR-8403304 and DCR-8451415, and the Department of Energy under Grant DE-FG02-86ER25012. 相似文献
10.
《The Journal of Logic Programming》1995,22(2):91-149
In this paper, it is shown that a three-valued autoepistemic logic provides an elegant unifying framework for some of the major semantics of normal and disjunctive logic programs and logic programs with classical negation, namely, the stable semantics, the well-founded semantics, supported models, Fitting's semantics, Kunen's semantics, the stationary semantics, and answer sets. For the first time, so many semantics are embedded into one logic. The framework extends previous results—by Gelfond, Lifschitz, Marek, Subrahmanian, and Truszczynski —on the relationships between logic programming and Moore's autoepistemic logic. The framework suggests several new semantics for negation-as-failure. In particular, we will introduce the epistemic semantics for disjunctive logic programs. In order to motivate the epistemic semantics, an interesting class of applications called ignorance tests will be formalized; it will be proved that ignorance tests can be defined by means of the epistemic semantics, but not by means of the old semantics for disjunctive programs. The autoepistemic framework provides a formal foundation for an environment that integrates different forms of negation. The role of classical negation and various forms of negation-by-failure in logic programming will be briefly discussed. 相似文献
11.
We extend logic programming to deal with default reasoning by allowing the explicit representation of exceptions in addition to general rules. To formalise this extension, we modify the answer set semantics of Gelfond and Lifschitz, which allows both classical negation and negation as failure. We also propose a transformation which eliminates exceptions by using negation by failure. The transformed program can be implemented by standard logic programming methods, such as SLDNF. The explicit representation of rules and exceptions has the virtue of greater naturalness of expression. The transformed program, however, is easier to implement. 相似文献
12.
This paper addresses the aggregate production planning problem with different operational constraints, including production capacity, workforce level, factory locations, machine utilization, storage space and other resource limitations. Three production plants in North America and one in China are considered simultaneously. A pre-emptive goal programming model is developed to maximize profit, minimize repairing cost and maximize machine utilization of the Chinese production plant hierarchically. A set of data from a surface and materials science company is used to test the effectiveness and the efficiency of the proposed model. Results illustrate the flexibility and the robustness of the proposed model by adjusting goal priorities with respect to importance of each objective and the aspiration level with respect to desired target values. 相似文献
13.
Yisong Wang Jia-Huai You Fangzhen Lin Li Yan Yuan Mingyi Zhang 《Annals of Mathematics and Artificial Intelligence》2010,60(3-4):341-380
In the current practice of Answer Set Programming (ASP), evaluable functions are represented as special kinds of relations. This often makes the resulting program unnecessarily large when instantiated over a large domain. The extra constraints needed to enforce the relation as a function also make the logic program less transparent. In this paper, we consider adding evaluable functions to answer set logic programs. The class of logic programs that we consider here is that of weight constraint programs, which are widely used in ASP. We propose an answer set semantics to these extended weight constraint programs and define loop completion to characterize the semantics. Computationally, we provide a translation from loop completions of these programs to instances of the Constraint Satisfaction Problem (CSP) and use the off-the-shelf CSP solvers to compute the answer sets of these programs. A main advantage of this approach is that global constraints implemented in such CSP solvers become available to ASP. The approach also provides a new encoding for CSP problems in the style of weight constraint programs. We have implemented a prototype system based on these results, and our experiments show that this prototype system competes well with the state-of-the-art ASP solvers. In addition, we illustrate the utilities of global constraints in the ASP context. 相似文献
14.
Using the ideas from current investigations in Knowledge Representation we study the use of a class of logic programs for reasoning about infinite sets. Our programs reason about the codes for various infinite sets. Depending on the form of atoms allowed in the bodies of clauses we obtain a variety of completeness results for various classes of arithmetic sets of integers.AMS subject classification 68T27, 03B70 相似文献
15.
《The Journal of Logic and Algebraic Programming》2009,78(1):1-21
Preference logic programming (PLP) is an extension of logic programming for declaratively specifying problems requiring optimization or comparison and selection among alternative solutions to a query. PLP essentially separates the programming of a problem itself from the criteria specification of its solution selection. In this paper we present a declarative method for specifying preference logic programs. The method introduces a precise formalization for the syntax and semantics of PLP. The syntax of a preference logic program contains two disjoint sets of definite clauses, separating a core program specifying a general computational problem from its preference rules for optimization; the semantics of PLP is given based on the Herbrand model and fixed point theory, where how preferences affects the least Herbrand model of a logic program is interpreted as a sequence of meta-level mapping operations. In addition, we present an operational semantics based on a new resolution strategy and a memoized recursive algorithm for computing strictly stratified logic programs with well-formed preferences, and further show that the operational semantics of such a preference logic program is consistent to its declarative semantics. 相似文献
16.
Luc Jaulin 《Constraints》2016,21(4):557-576
This paper deals with the simultaneous localization and mapping problem (SLAM) for a robot. The robot has to build a map of its environment while localizing itself using a partially built map. It is assumed that (i) the map is made of point landmarks, (ii) the landmarks are indistinguishable, (iii) the only exteroceptive measurements correspond to the distance between the robot and the landmarks. This paper shows that SLAM can be cast into a constraint network the variables of which being trajectories, digraphs and subsets of \(\mathbb {R}^{n}.\) Then, we show how constraint propagation can be extended to deal with such generalized constraint networks. As a result, due to the redundancy of measurements of SLAM, we demonstrate that a constraint-based approach provides an efficient backtrack-free algorithm able to solve our SLAM problem in a guaranteed way. 相似文献
17.
M. H. Fazel Zarandi H. Khorshidian M. Akbarpour Shirazi 《Journal of Intelligent Manufacturing》2016,27(2):297-313
In this paper, a scheduling problem of minimizing the total of the earliness, tardiness and the number of preemption for the outbound trucks on a cross-dock system is considered. This problem, which is known to be NP-hard, is compatible with the concepts of just-in-time (JIT) production and supply chain management. A new multi-criteria model, with non-linear terms and integer variables, which cannot be solved efficiently for large sized problems, is proposed. This paper also shows how to map a JIT cross-dock model to a constraint satisfaction problem (CSP) and integer programming (IP). To solve the model for real size applications, a genetic algorithm (GA) is applied. Finally, a computational experiment is carried out to analyze the performances of CSP, GA and IP models with respect to modeling capability, solution quality and time. 相似文献
18.
Bike sharing systems need to be properly rebalanced to meet the demand of users and to operate successfully. However, the problem of Balancing Bike Sharing Systems (BBSS) is a demanding task: it requires the design of optimal tours and operating instructions for relocating bikes among stations to maximally comply with the expected future bike demands. In this paper, we tackle the BBSS problem by means of Constraint Programming (CP). First, we introduce two different CP models for the BBSS problem including two custom branching strategies that focus on the most promising routes. Second, we incorporate both models in a Large Neighborhood Search (LNS) approach that is adapted to the respective CP model. Third, we perform an experimental evaluation of our approaches on three different benchmark sets of instances derived from real-world bike sharing systems. We show that our CP models can be easily adapted to the different benchmark problem setups, demonstrating the benefit of using Constraint Programming to address the BBSS problem. Furthermore, in our experimental evaluation, we see that the pure CP (branch & bound) approach outperforms the state-of-the-art MILP on large instances and that the LNS approach is competitive with other existing approaches. 相似文献
19.
The subgraph isomorphism problem consists in deciding if there exists a copy of a pattern graph in a target graph. We introduce
in this paper a global constraint and an associated filtering algorithm to solve this problem within the context of constraint
programming. The main idea of the filtering algorithm is to label every node with respect to its relationships with other
nodes of the graph, and to define a partial order on these labels in order to express compatibility of labels for subgraph
isomorphism. This partial order over labels is used to filter domains. Labelings can also be strengthened by adding information
from the labels of neighbors. Such a strengthening can be applied iteratively until a fixpoint is reached. Practical experiments
illustrate that our new filtering approach is more effective on difficult instances of scale free graphs than state-of-the-art
algorithms and other constraint programming approaches. 相似文献
20.
Summary SEMANOL is a practical programming system for writing readable formal specifications of the syntax and semantics of programming languages. SEMANOL is based on a theory of semantics which embraces algorithmic (operational) and extensional (input/output) semantics. Specifications for large contemporary languages have been constructed in the formal language, SEMANOL (73), which is a readable high-level notation. A SEMANOL (73) specification can be executed (by an existing interpreter program); when given a program from the specified language, and its input, the execution of the SEMANOL (73) specification produces the program's output. The demonstrated executability of SEMANOL (73) provides important practical advantages. This paper includes discussions of the theory of semantics underlying SEMANOL, the syntax and semantics of the SEMANOL (73) language, the use of the SEMANOL (73) language in the SEMANOL method for describing programming languages, and the contrast between the Vienna definition method (VDL) and SEMANOL. 相似文献