268,834 research outputs found

    Using criticalities as a heuristic for Answer Set Programming

    Get PDF
    Answer Set Programming is a new paradigm based on logic programming. The main component of answer set programming is a system that finds the answer sets of logic programs. Generally, systems utilize some heuristics to choose new literals at the choice points. The heuristic used in this process is one of the key factors for the performance of the system. A new heuristic for answer set programming has been developed. This heuristic is inspired by hierarchical planning. The notion of criticality, which was introduced for generating abstraction hierarchies in hierarchical planning, is used in this heuristic. The resulting system (CSMODELS) uses this new heuristic and is based on the system SMODELS. The experimental results show that this new heuristic is promising for answer set programming. CSMODELS generally takes less time than SMODELS to find an answer set

    Temporal Answer Set Programming

    Get PDF
    Answer Set Programming (ASP) has become a popular way for representing different kinds of scenarios from knowledge representation in Artificial Intelligence. Frequently, these scenarios involve a temporal component which must be considered. In ASP, time is usually represented as a variable whose values are defined by an extensional predicate with a finite domain. Dealing with a finite temporal interval has some disadvantages. First, checking the existence of a plan is not possible and second, it also makes difficult to decide whether two programs are strongly equivalent. If we extend the syntax of Answer Set Programming by using temporal operators from temporal modal logics, then infinite time can be considered, so the aforementioned disadvantages can be overcome. This extension constitutes, in fact, a formalism called Temporal Equilibrium Logic, which is based on Equilibrium Logic (a logical characterisation of ASP). Although recent contributions have shown promising results, Temporal Equilibrium Logic is still a novel paradigm and there are many gaps to fill. Our goal is to keep developing this paradigm, filling those gaps and turning it into a suitable framework for temporal reasoning

    Using Answer Set Programming in the Development of Verified Software

    Get PDF
    Software forms a key component of many modern safety and security critical systems. One approach to achieving the required levels of assurance is to prove that the software is free from bugs and meets its specification. If a proof cannot be constructed it is important to identify the root cause as it may be a flaw in the specification or a bug. Novice users often find this process frustrating and discouraging, and it can be time-consuming for experienced users. The paper describes a commercial application based on Answer Set Programming called Riposte. It generates simple counter-examples for false and unprovable verification conditions (VCs). These help users to understand why problematic VC are false and makes the development of verified software easier and faster

    Combinatorial Methods in Grid based Meshing

    Full text link
    This paper describes a novel method of generating hex-dominant meshes using pre-computed optimal subdivisions of the unit cube in a grid-based approach. Our method addresses geometries that are standard in mechanical engineering and often must comply with the restrictions of subtractive manufacturability. A central component of our method is the set of subdivisions we pre-compute with Answer Set Programming. Despite being computationally expensive, we obtain optimal meshes of up to 35 nodes available to our method in a template fashion. The first step in our grid-based method generates a coarse Precursor Mesh for meshing complete parts representing the bar stock. Then, the resulting mesh is generated in a subtractive manner by inserting and fitting the pre-generated subdivisions into the Precursor Mesh. This step guarantees that the elements are of good quality. In the final stage, the mesh nodes are mapped to geometric entities of the target geometry to get an exact match. We demonstrate our method with multiple examples showing the strength of this approach

    Communicating answer set programs

    Get PDF
    Answer set programming i s a form of declarative programming that has proven very successful in succinctly formulating and solving complex problems. Although mechanisms for representing and reasoning with the combined answer set programs of multiple agents have already been proposed, the actual gain in expressivity when adding communication has not been thoroughly studied. We show that allowing simple programs to talk to each other results in the same expressivity as adding negation-as-failure. Furthermore, we show that the ability to focus on one program in a network of simple programs results in the same expressivity as adding disjunction in the head of the rules

    A Multi-Engine Approach to Answer Set Programming

    Full text link
    Answer Set Programming (ASP) is a truly-declarative programming paradigm proposed in the area of non-monotonic reasoning and logic programming, that has been recently employed in many applications. The development of efficient ASP systems is, thus, crucial. Having in mind the task of improving the solving methods for ASP, there are two usual ways to reach this goal: (i)(i) extending state-of-the-art techniques and ASP solvers, or (ii)(ii) designing a new ASP solver from scratch. An alternative to these trends is to build on top of state-of-the-art solvers, and to apply machine learning techniques for choosing automatically the "best" available solver on a per-instance basis. In this paper we pursue this latter direction. We first define a set of cheap-to-compute syntactic features that characterize several aspects of ASP programs. Then, we apply classification methods that, given the features of the instances in a {\sl training} set and the solvers' performance on these instances, inductively learn algorithm selection strategies to be applied to a {\sl test} set. We report the results of a number of experiments considering solvers and different training and test sets of instances taken from the ones submitted to the "System Track" of the 3rd ASP Competition. Our analysis shows that, by applying machine learning techniques to ASP solving, it is possible to obtain very robust performance: our approach can solve more instances compared with any solver that entered the 3rd ASP Competition. (To appear in Theory and Practice of Logic Programming (TPLP).)Comment: 26 pages, 8 figure
    • …
    corecore