15,088 research outputs found
A Linear Logic Programming Language for Concurrent Programming over Graph Structures
We have designed a new logic programming language called LM (Linear Meld) for
programming graph-based algorithms in a declarative fashion. Our language is
based on linear logic, an expressive logical system where logical facts can be
consumed. Because LM integrates both classical and linear logic, LM tends to be
more expressive than other logic programming languages. LM programs are
naturally concurrent because facts are partitioned by nodes of a graph data
structure. Computation is performed at the node level while communication
happens between connected nodes. In this paper, we present the syntax and
operational semantics of our language and illustrate its use through a number
of examples.Comment: ICLP 2014, TPLP 201
Logic Programming Applications: What Are the Abstractions and Implementations?
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
Relating Weight Constraint and Aggregate Programs: Semantics and Representation
Weight constraint and aggregate programs are among the most widely used logic
programs with constraints. In this paper, we relate the semantics of these two
classes of programs, namely the stable model semantics for weight constraint
programs and the answer set semantics based on conditional satisfaction for
aggregate programs. Both classes of programs are instances of logic programs
with constraints, and in particular, the answer set semantics for aggregate
programs can be applied to weight constraint programs. We show that the two
semantics are closely related. First, we show that for a broad class of weight
constraint programs, called strongly satisfiable programs, the two semantics
coincide. When they disagree, a stable model admitted by the stable model
semantics may be circularly justified. We show that the gap between the two
semantics can be closed by transforming a weight constraint program to a
strongly satisfiable one, so that no circular models may be generated under the
current implementation of the stable model semantics. We further demonstrate
the close relationship between the two semantics by formulating a
transformation from weight constraint programs to logic programs with nested
expressions which preserves the answer set semantics. Our study on the
semantics leads to an investigation of a methodological issue, namely the
possibility of compact representation of aggregate programs by weight
constraint programs. We show that almost all standard aggregates can be encoded
by weight constraints compactly. This makes it possible to compute the answer
sets of aggregate programs using the ASP solvers for weight constraint
programs. This approach is compared experimentally with the ones where
aggregates are handled more explicitly, which show that the weight constraint
encoding of aggregates enables a competitive approach to answer set computation
for aggregate programs.Comment: To appear in Theory and Practice of Logic Programming (TPLP), 2011.
30 page
Sketched Answer Set Programming
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
Constrained tGAP for generalisation between scales: the case of Dutch topographic data
This article presents the results of integrating large- and medium-scale data into a unified data structure. This structure can be used as a single non-redundant representation for the input data, which can be queried at any arbitrary scale between the source scales. The solution is based on the constrained topological Generalized Area Partition (tGAP), which stores the results of a generalization process applied to the large-scale dataset, and is controlled by the objects of the medium-scale dataset, which act as constraints on the large-scale objects. The result contains the accurate geometry of the large-scale objects enriched with the generalization knowledge of the medium-scale data, stored as references in the constraint tGAP structure. The advantage of this constrained approach over the original tGAP is the higher quality of the aggregated maps. The idea was implemented with real topographic datasets from The Netherlands for the large- (1:1000) and medium-scale (1:10,000) data. The approach is expected to be equally valid for any categorical map and for other scales as well
- …