6,576 research outputs found

    Logic Programming Applications: What Are the Abstractions and Implementations?

    Full text link
    This article presents an overview of applications of logic programming, classifying them based on the abstractions and implementations of logic languages that support the applications. The three key abstractions are join, recursion, and constraint. Their essential implementations are for-loops, fixed points, and backtracking, respectively. The corresponding kinds of applications are database queries, inductive analysis, and combinatorial search, respectively. We also discuss language extensions and programming paradigms, summarize example application problems by application areas, and touch on example systems that support variants of the abstractions with different implementations

    Learning programs by learning from failures

    Full text link
    We describe an inductive logic programming (ILP) approach called learning from failures. In this approach, an ILP system (the learner) decomposes the learning problem into three separate stages: generate, test, and constrain. In the generate stage, the learner generates a hypothesis (a logic program) that satisfies a set of hypothesis constraints (constraints on the syntactic form of hypotheses). In the test stage, the learner tests the hypothesis against training examples. A hypothesis fails when it does not entail all the positive examples or entails a negative example. If a hypothesis fails, then, in the constrain stage, the learner learns constraints from the failed hypothesis to prune the hypothesis space, i.e. to constrain subsequent hypothesis generation. For instance, if a hypothesis is too general (entails a negative example), the constraints prune generalisations of the hypothesis. If a hypothesis is too specific (does not entail all the positive examples), the constraints prune specialisations of the hypothesis. This loop repeats until either (i) the learner finds a hypothesis that entails all the positive and none of the negative examples, or (ii) there are no more hypotheses to test. We introduce Popper, an ILP system that implements this approach by combining answer set programming and Prolog. Popper supports infinite problem domains, reasoning about lists and numbers, learning textually minimal programs, and learning recursive programs. Our experimental results on three domains (toy game problems, robot strategies, and list transformations) show that (i) constraints drastically improve learning performance, and (ii) Popper can outperform existing ILP systems, both in terms of predictive accuracies and learning times.Comment: Accepted for the machine learning journa

    Automated Error-Detection and Repair for Compositional Software Specifications

    Get PDF

    Inductive Logic Programming in Databases: from Datalog to DL+log

    Full text link
    In this paper we address an issue that has been brought to the attention of the database community with the advent of the Semantic Web, i.e. the issue of how ontologies (and semantics conveyed by them) can help solving typical database problems, through a better understanding of KR aspects related to databases. In particular, we investigate this issue from the ILP perspective by considering two database problems, (i) the definition of views and (ii) the definition of constraints, for a database whose schema is represented also by means of an ontology. Both can be reformulated as ILP problems and can benefit from the expressive and deductive power of the KR framework DL+log. We illustrate the application scenarios by means of examples. Keywords: Inductive Logic Programming, Relational Databases, Ontologies, Description Logics, Hybrid Knowledge Representation and Reasoning Systems. Note: To appear in Theory and Practice of Logic Programming (TPLP).Comment: 30 pages, 3 figures, 2 tables

    Sketched Answer Set Programming

    Full text link
    Answer Set Programming (ASP) is a powerful modeling formalism for combinatorial problems. However, writing ASP models is not trivial. We propose a novel method, called Sketched Answer Set Programming (SkASP), aiming at supporting the user in resolving this issue. The user writes an ASP program while marking uncertain parts open with question marks. In addition, the user provides a number of positive and negative examples of the desired program behaviour. The sketched model is rewritten into another ASP program, which is solved by traditional methods. As a result, the user obtains a functional and reusable ASP program modelling her problem. We evaluate our approach on 21 well known puzzles and combinatorial problems inspired by Karp's 21 NP-complete problems and demonstrate a use-case for a database application based on ASP.Comment: 15 pages, 11 figures; to appear in ICTAI 201

    Contributions to artificial intelligence: the IIIA perspective

    Get PDF
    La intel·ligència artificial (IA) és un camp científic i tecnològic relativament nou dedicat a l'estudi de la intel·ligència mitjançant l'ús d'ordinadors com a eines per produir comportament intel·ligent. Inicialment, l'objectiu era essencialment científic: assolir una millor comprensió de la intel·ligència humana. Aquest objectiu ha estat, i encara és, el dels investigadors en ciència cognitiva. Dissortadament, aquest fascinant però ambiciós objectiu és encara molt lluny de ser assolit i ni tan sols podem dir que ens hi haguem acostat significativament. Afortunadament, però, la IA també persegueix un objectiu més aplicat: construir sistemes que ens resultin útils encara que la intel·ligència artificial de què estiguin dotats no tingui res a veure amb la intel·ligència humana i, per tant, aquests sistemes no ens proporcionarien necessàriament informació útil sobre la naturalesa de la intel·ligència humana. Aquest objectiu, que s'emmarca més aviat dins de l'àmbit de l'enginyeria, és actualment el que predomina entre els investigadors en IA i ja ha donat resultats impresionants, tan teòrics com aplicats, en moltíssims dominis d'aplicació. A més, avui dia, els productes i les aplicacions al voltant de la IA representen un mercat anual de desenes de milers de milions de dòlars. Aquest article resumeix les principals contribucions a la IA fetes pels investigadors de l'Institut d'Investigació en Intel·ligència Artificial del Consell Superior d'Investigacions Científiques durant els darrers cinc anys.Artificial intelligence is a relatively new scientific and technological field which studies the nature of intelligence by using computers to produce intelligent behaviour. Initially, the main goal was a purely scientific one, understanding human intelligence, and this remains the aim of cognitive scientists. Unfortunately, such an ambitious and fascinating goal is not only far from being achieved but has yet to be satisfactorily approached. Fortunately, however, artificial intelligence also has an engineering goal: building systems that are useful to people even if the intelligence of such systems has no relation whatsoever with human intelligence, and therefore being able to build them does not necessarily provide any insight into the nature of human intelligence. This engineering goal has become the predominant one among artificial intelligence researchers and has produced impressive results, ranging from knowledge-based systems to autonomous robots, that have been applied to many different domains. Furthermore, artificial intelligence products and services today represent an annual market of tens of billions of dollars worldwide. This article summarizes the main contributions to the field of artificial intelligence made at the IIIA-CSIC (Artificial Intelligence Research Institute of the Spanish Scientific Research Council) over the last five years

    Inductive logic programming at 30

    Full text link
    Inductive logic programming (ILP) is a form of logic-based machine learning. The goal of ILP is to induce a hypothesis (a logic program) that generalises given training examples and background knowledge. As ILP turns 30, we survey recent work in the field. In this survey, we focus on (i) new meta-level search methods, (ii) techniques for learning recursive programs that generalise from few examples, (iii) new approaches for predicate invention, and (iv) the use of different technologies, notably answer set programming and neural networks. We conclude by discussing some of the current limitations of ILP and discuss directions for future research.Comment: Extension of IJCAI20 survey paper. arXiv admin note: substantial text overlap with arXiv:2002.11002, arXiv:2008.0791

    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