509 research outputs found
Specifying and Exploiting Non-Monotonic Domain-Specific Declarative Heuristics in Answer Set Programming
Domain-specific heuristics are an essential technique for solving
combinatorial problems efficiently. Current approaches to integrate
domain-specific heuristics with Answer Set Programming (ASP) are unsatisfactory
when dealing with heuristics that are specified non-monotonically on the basis
of partial assignments. Such heuristics frequently occur in practice, for
example, when picking an item that has not yet been placed in bin packing.
Therefore, we present novel syntax and semantics for declarative specifications
of domain-specific heuristics in ASP. Our approach supports heuristic
statements that depend on the partial assignment maintained during solving,
which has not been possible before. We provide an implementation in ALPHA that
makes ALPHA the first lazy-grounding ASP system to support declaratively
specified domain-specific heuristics. Two practical example domains are used to
demonstrate the benefits of our proposal. Additionally, we use our approach to
implement informed} search with A*, which is tackled within ASP for the first
time. A* is applied to two further search problems. The experiments confirm
that combining lazy-grounding ASP solving and our novel heuristics can be vital
for solving industrial-size problems
A Multi-Engine Approach to Answer Set Programming
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: extending
state-of-the-art techniques and ASP solvers, or 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
The DLV System for Knowledge Representation and Reasoning
This paper presents the DLV system, which is widely considered the
state-of-the-art implementation of disjunctive logic programming, and addresses
several aspects. As for problem solving, we provide a formal definition of its
kernel language, function-free disjunctive logic programs (also known as
disjunctive datalog), extended by weak constraints, which are a powerful tool
to express optimization problems. We then illustrate the usage of DLV as a tool
for knowledge representation and reasoning, describing a new declarative
programming methodology which allows one to encode complex problems (up to
-complete problems) in a declarative fashion. On the foundational
side, we provide a detailed analysis of the computational complexity of the
language of DLV, and by deriving new complexity results we chart a complete
picture of the complexity of this language and important fragments thereof.
Furthermore, we illustrate the general architecture of the DLV system which
has been influenced by these results. As for applications, we overview
application front-ends which have been developed on top of DLV to solve
specific knowledge representation tasks, and we briefly describe the main
international projects investigating the potential of the system for industrial
exploitation. Finally, we report about thorough experimentation and
benchmarking, which has been carried out to assess the efficiency of the
system. The experimental results confirm the solidity of DLV and highlight its
potential for emerging application areas like knowledge management and
information integration.Comment: 56 pages, 9 figures, 6 table
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
Qualitative Uncertainty Orderings Revised
AbstractIn recent decades, qualitative approaches to probabilistic uncertainty have been receiving wider and wider attention. We propose a new characterization of some of the most adopted partial preference orders by providing an uniform axiomatic treatment of a variety of qualitative uncertainty notions. We prove a representation result that connects qualitative notions of partial uncertainty to their numerical counterparts. We also describe an executable specification, in the declarative framework of Answer Set Programming, that constitutes the core engine for the qualitative management of uncertainty. Some basic reasoning tasks are also identified
- …