876 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

    Towards a Rule Interchange Language for the Web

    Get PDF
    This articles discusses rule languages that are needed for a a full deployment of the SemanticWeb. First, it motivates the need for such languages. Then, it presents ten theses addressing (1) the rule and/or logic languages needed on the Web, (2) data and data processing, (3) semantics, and (4) engineering and rendering issues. Finally, it discusses two options that might be chosen in designing a Rule Interchange Format for the Web

    Timetabling in constraint logic programming

    Get PDF
    In this paper we describe the timetabling problem and its solvability in a Constraint Logic Programming Language. A solution to the problem has been developed and implemented in ECLiPSe, since it deals with finite domains, it has well-defined interfaces between basic building blocks and supports good debugging facilities. The implemented timetable was based on the existing, currently used, timetables at the School of Informatics at out university. It integrates constraints concerning room and period availability

    Moulinog:A generator of random student assignments written in prolog

    Get PDF

    kLog: A Language for Logical and Relational Learning with Kernels

    Full text link
    We introduce kLog, a novel approach to statistical relational learning. Unlike standard approaches, kLog does not represent a probability distribution directly. It is rather a language to perform kernel-based learning on expressive logical and relational representations. kLog allows users to specify learning problems declaratively. It builds on simple but powerful concepts: learning from interpretations, entity/relationship data modeling, logic programming, and deductive databases. Access by the kernel to the rich representation is mediated by a technique we call graphicalization: the relational representation is first transformed into a graph --- in particular, a grounded entity/relationship diagram. Subsequently, a choice of graph kernel defines the feature space. kLog supports mixed numerical and symbolic data, as well as background knowledge in the form of Prolog or Datalog programs as in inductive logic programming systems. The kLog framework can be applied to tackle the same range of tasks that has made statistical relational learning so popular, including classification, regression, multitask learning, and collective classification. We also report about empirical comparisons, showing that kLog can be either more accurate, or much faster at the same level of accuracy, than Tilde and Alchemy. kLog is GPLv3 licensed and is available at http://klog.dinfo.unifi.it along with tutorials
    • …
    corecore