In this paper, we propose an explicit, non-strict representation of search trees in constraint-logic object-oriented programming. Our search tree representation includes boththe non-deterministic and deterministic be...
详细信息
In order to properly test software, test data of a certain quality is needed. However, useful test data is often unavailable because existing or hand-crafted data might not be diverse enough to enable desired test cas...
详细信息
Answer Set programming (ASP) has become the paradigm of choice in the field of logicprogramming and non-monotonic reasoning. Withthe design of new and efficient solvers, ASP has been successfully adopted in a wide r...
详细信息
this tutorial provides an overview and introduction to declarative programming exploiting multiple paradigms, in particular, functional, logic, and constraintprogramming. To demonstrate the possibility to support the...
详细信息
this tutorial provides an overview and introduction to declarative programming exploiting multiple paradigms, in particular, functional, logic, and constraintprogramming. To demonstrate the possibility to support these paradigms within a single programming model, we survey the features of the declarative multi-paradigm language Curry.
We describe the design, implementation, and empirical evaluation of some automated exercises that we are using in a lecture on constraintprogramming. Topics are propositional satisfiability, resolution, the DPLL algo...
详细信息
We describe the design, implementation, and empirical evaluation of some automated exercises that we are using in a lecture on constraintprogramming. Topics are propositional satisfiability, resolution, the DPLL algorithm, with extension to DPLL(T), and FD solving with arc consistency. the automation consists of a program for grading student answers, and in most cases also a program for generating random problem instances. the exercises are part of the autotool Eassessment framework. the implementation language is Haskell. You can try them at https://***/cgi-bin/Trial. cgi?lecture=199.
Graph algorithms that are based on the computation of one or more paths are often written in an implicitly non-deterministic way, which suggests that the result of the algorithm does not depend on a particular path, b...
详细信息
Graph algorithms that are based on the computation of one or more paths are often written in an implicitly non-deterministic way, which suggests that the result of the algorithm does not depend on a particular path, but any paththat satisfies a given property. Such algorithms provide an additional challenge in typical implementations, because one needs to replace the non-determinism with an actual implementation. In this paper we explore the effects of using non-determinism explicitly in the functionallogicprogramming language Curry. To that end we consider three algorithms and implement them in a prototypically non-deterministic fashion.
the CO4 language is a Haskell-like language for specifying constraint systems over structured finite domains. A CO4 constraint system is solved by an automatic transformation into a satisfiability problem in propositi...
详细信息
the CO4 language is a Haskell-like language for specifying constraint systems over structured finite domains. A CO4 constraint system is solved by an automatic transformation into a satisfiability problem in propositional logicthat is handed to an external SAT solver. We investigate the problem of predicting the size of formulas produced by the CO4 compiler. the goal is to help the programmer in understanding the resource consumption of CO4 on his *** present a basic cost model, with some experimental data, and discuss ongoing work towards static analysis. It turns out that analysis steps will use constraint systems as well.
the proceedings contain 12 papers. the topics discussed include: embedding defeasible logic programs into generalized logic programs;describing and measuring the complexity of SAT encodings for constraint programs;PPI...
the proceedings contain 12 papers. the topics discussed include: embedding defeasible logic programs into generalized logic programs;describing and measuring the complexity of SAT encodings for constraint programs;PPI - a portable prolog interface for Java;declarative evaluation of ontologies with rules;automated exercises for constraintprogramming;complex certainty factors for rule based systems - detecting inconsistent argumentations;declarative multi-paradigm programming;interpreting XPath by iterative pattern matching with paisley;exploring non-determinism in graph algorithms;curry without success;a partial evaluator for curry;and automatic testing of operation invariance.
A novel argumentation semantics of defeasible logic programs (DeLP) is presented. Our goal is to build a semantics, which respects existing semantics and intuitions of "classical" logicprogramming. Generali...
详细信息
A novel argumentation semantics of defeasible logic programs (DeLP) is presented. Our goal is to build a semantics, which respects existing semantics and intuitions of "classical" logicprogramming. Generalized logic programs (GLP) are selected as an appropriate formalism for studying both undermining and rebutting. Our argumentation semantics is based on a notion of conflict resolution strategy (CRS), in order to achieve an extended flexibility and generality. Our argumentation semantics is defined in the frame of assumption-based framework (ABF), which enables a unified view on different non-monotonic formalisms. We present an embedding of DeLP into an instance of ABF. Consequently, argumentation semantics defined for ABF are applicable to DeLP. Finally, DeLP with CRS is embedded into GLP. this transformation enables to commute argumentation semantics of a DeLP via semantics of the corresponding GLP.
As a first step to combine the two programming paradigms - objectoriented programming and logicprogramming - we have introduced a generic default mapping for JAVA objects and PROLOG terms. this mapping can be used wi...
详细信息
As a first step to combine the two programming paradigms - objectoriented programming and logicprogramming - we have introduced a generic default mapping for JAVA objects and PROLOG terms. this mapping can be used without any modification to the JAVA classes that stand behind the objects. We also can generate automatically JAVA classes from predicates in PROLOG that map to each other. Apart from the default mapping it is further possible to customise the mapping by JAVA annotations. this allows for different Prolog-Views on a given class in JAVA. the data exchange format between JAVA and PROLOG is a simple textual representation of the JAVA objects and of the terms in PROLOG. Because this textual representation already conforms PROLOG's syntax, it can be directly used within PROLOG. In a second step we have to develop the link between JAVA and PROLOG that executes the mapping and communication. We already have presented a connector architecture for PROLOG and JAVA and an example interface that successfully uses our object term mapping with high performance. However, this interface depends heavily on a single PROLOG implementation: SWI-PROLOG. But as we have a generic mapping between JAVA objects and PROLOG terms, we also strive for an interface that also is generic and can be used independently of the PROLOG implementation. In this paper, we present the Portable Prolog Interface (PPI) for JAVA that uses the standard streams stdin, stdout and stderr to communicate with a PROLOG instance. Because these standard streams are available for all popular operating systems and are used by most of the PROLOG implementations for the user interaction, the PPI works for a broad range of PROLOG implementations. We evaluate our new generic interface PPI with different PROLOG engines and without changing the underlying JAVA or PROLOG source code of our tests.
暂无评论