In Probabilistic logic programming (PLP) the most commonly studied inference task is to compute the marginal probability of a query given a program. In this paper, we consider two other important tasks in the PLP sett...
详细信息
In Probabilistic logic programming (PLP) the most commonly studied inference task is to compute the marginal probability of a query given a program. In this paper, we consider two other important tasks in the PLP setting: the Maximum-A-Posteriori (MAP) inference task, which determines the most likely values for a subset of the random variables given evidence on other variables, and the Most Probable Explanation (MPE) task, the instance of MAP where the query variables are the complement of the evidence variables. We present a novel algorithm, included in the PITA reasoner, which tackles these tasks by representing each problem as a Binary Decision Diagram and applying a dynamic programming procedure on it. We compare our algorithm with the version of ProbLog that admits annotated disjunctions and can perform MAP and MPE inference. Experiments on several synthetic datasets show that PITA outperforms ProbLog in many cases.
A new trend in programming languages is to merge multiple paradigms, rather than focusing on one as it was customary in the past. Most modern languages provide native support for imperative and functional programming,...
详细信息
ISBN:
(纸本)9781450375078
A new trend in programming languages is to merge multiple paradigms, rather than focusing on one as it was customary in the past. Most modern languages provide native support for imperative and functional programming, object-orientation and even concurrency. The typical mechanism used to blend heterogeneous language concepts is to rely on functions. Functions are a very well understood, usually offer an excellent abstraction over diverging models of computation, but are unsuitable to interface logic programming, unfortunately. Embedding a full logic programming language into a host is also unsatisfactory, as it impedes the ability to make data flow from one paradigm to the other. As an answer to these issues, we propose logicKit, a library that aims to bridge the gap between logic programming and other traditional paradigms. logicKit is a Prolog-inspired language that blends seamlessly into Swift. Predicates are first-class objects in the host language and data can flow in and out of a logic program, without the need for any data serialization/parsing. Our framework is distributed in the form of a Swift library that can be imported in any Swift project effortlessly. We elaborate on our motivation for developing logicKit and present the library by the means of examples.
Reaction systems (RS) are a computational framework inspired by the functioning of living cells, suitable to model the main mechanisms of biochemical reactions. RS have shown to be useful also for computer science app...
详细信息
Finding the responsible of an unpleasant situation is often difficult, especially in artificial agent societies. SCIFF is a language to define formal rules and protocols in agent societies, and an abductive proof-proc...
详细信息
Mainstream programming languages nowadays tends to be more and more multi-paradigm ones, by integrating diverse programming paradigms—e.g., object-oriented programming (OOP) and functional programming (FP). logic-pro...
详细信息
This paper introduces a combination of regreßion and belief revision to allow agents to deal with inconsistencies while executing plans. Starting from an inconsistent history consisting of actions and observation...
详细信息
logic programming (LP) is considered to be relatively simple for non-programmers, and allows the developer to focus on developing facts and rules of a logical derivation, and not on algorithms. Secure multiparty compu...
详细信息
Spatial data is ubiquitous in our data-driven society. The logic programming community has been investigating the use of spatial data in different settings. Despite the success of this research, the Geographic Informa...
详细信息
The early days of German and Swiss programming have been integrated into computing folklore as part of the prehistory of ALGOL. However, this narrative has bundled the many ways of trying to think about computing and ...
详细信息
The early days of German and Swiss programming have been integrated into computing folklore as part of the prehistory of ALGOL. However, this narrative has bundled the many ways of trying to think about computing and programming in the German-speaking world into the royal main road leading up to ALGOL. This does not do justice to some interesting interactions between logic and programming happening in the 1950s. In particular, Turing's machines were read and interpreted in no less than three quite different ways during the short time span between 1952 and 1958. Using the institutional and personal context of this period, the encounters between logic and programming in these years are discussed.
In the context of planning and reasoning about actions and change, we call an action reversible when its effects can be reverted by applying other actions, returning to the original state. Renewed interest in this are...
详细信息
暂无评论