33 research outputs found
Clingcon: The Next Generation
We present the third generation of the constraint answer set system clingcon,
combining Answer Set Programming (ASP) with finite domain constraint processing
(CP). While its predecessors rely on a black-box approach to hybrid solving by
integrating the CP solver gecode, the new clingcon system pursues a lazy
approach using dedicated constraint propagators to extend propagation in the
underlying ASP solver clasp. No extension is needed for parsing and grounding
clingcon's hybrid modeling language since both can be accommodated by the new
generic theory handling capabilities of the ASP grounder gringo. As a whole,
clingcon 3 is thus an extension of the ASP system clingo 5, which itself relies
on the grounder gringo and the solver clasp. The new approach of clingcon
offers a seamless integration of CP propagation into ASP solving that benefits
from the whole spectrum of clasp's reasoning modes, including for instance
multi-shot solving and advanced optimization techniques. This is accomplished
by a lazy approach that unfolds the representation of constraints and adds it
to that of the logic program only when needed. Although the unfolding is
usually dictated by the constraint propagators during solving, it can already
be partially (or even totally) done during preprocessing. Moreover, clingcon's
constraint preprocessing and propagation incorporate several well established
CP techniques that greatly improve its performance. We demonstrate this via an
extensive empirical evaluation contrasting, first, the various techniques in
the context of CSP solving and, second, the new clingcon system with other
hybrid ASP systems. Under consideration in Theory and Practice of Logic
Programming (TPLP)Comment: Under consideration in Theory and Practice of Logic Programming
(TPLP
Bounded Combinatorial Reconfiguration with Answer Set Programming
We develop an approach called bounded combinatorial reconfiguration for
solving combinatorial reconfiguration problems based on Answer Set Programming
(ASP). The general task is to study the solution spaces of source combinatorial
problems and to decide whether or not there are sequences of feasible solutions
that have special properties. The resulting recongo solver covers all metrics
of the solver track in the most recent international competition on
combinatorial reconfiguration (CoRe Challenge 2022). recongo ranked first in
the shortest metric of the single-engine solvers track. In this paper, we
present the design and implementation of bounded combinatorial reconfiguration,
and present an ASP encoding of the independent set reconfiguration problem that
is one of the most studied combinatorial reconfiguration problems. Finally, we
present empirical analysis considering all instances of CoRe Challenge 2022.Comment: 15 page
Doctoral Dissertation Design and Implementation of Linear LogicProgramming Languages
to my wife, Megumi ii
Compiling Resources in a Linear Logic Programming Language
There have been several proposals for logic programming language based on linear logic: Lolli [6], Lygon [5], LO [3], LinLog [2], Forum [8]. In addition, BinProlog allows the use of linear implications of affine logic (a variant of linear logic) [12, 13]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is therefore an important issue in the implementation of these languages. In [10], N. Tamura and Y. Kaneda proposed an abstract machine called LLPAM which is an extension of the standard WAM [14, 1] for a linear logic programming language called LLP. LLP is a superset of Prolog and a subset of Lolli. However, in the original LLPAM design, a resource formula was stored as a term in a heap memory and was not compiled into LLPAM code. In this paper, we describe an extension of LLPAM for compiling resource formulas. In our extension, resources are compiled into closures which consist of..
Abstract Translating a Linear Logic Programming Language into Java
languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is, therefore, an important issue in the implementation of these languages. Lolli, Lygon, and Forum are implemented as interpreter systems; Lolli is on SML and λProlog, Lygon is on Prolog, Forum is on SML, λProlog and Prolog. However, none of them have been implemented in Java. In this paper, we describe the Prolog Café 1 system which translates a linear logic programming language called LLP to Java via the LLPAM [12][5], an extension of the standard WAM [16][1] for LLP. LLP is a superset of Prolog and a subset of Lolli. The main difference from the first implementation [4] is resource compilation. That is to say, resource formulas are compiled into closures which consist of a reference of compiled code and a set of bindings for free variables. Calling these resources is integrated with the ordinary predicate invocation. Prolog Café is portable to any platform supporting Java and easily expandable with increasing Java’s class libraries. In performance, on average, Prolog Caf
Translating a Linear Logic . . .
There have been several proposals for logic programming language based on linear logic: Lolli [8], Lygon [7], LO [3], LinLog [2], Forum [11], HACL [10]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The e#cient handling of resource formulas is, therefore, an important issue in the implementation of these languages. Lolli, Lygon, and Forum are implemented as interpreter systems; Lolli is on SML and #Prolog, Lygon is on Prolog, Forum is on SML, #Prolog and Prolog. However, none of them have been implemented in Java. In thi
Logic Programming in a Fragment of Intuitionistic Temporal Linear Logic
1 Introduction Linear logic was introduced by J.-Y.Girard in 1987 [4] as a resource-consciousrefinement of classical logic. Since then a number of logic programming languages 2 M. Banbara, K. Kang, T. Hirai, and N. Tamura based on linear logic have been proposed: LO[1], ACL[12], Lolli[3][8][9], Lygon[5],Forum[13], and LLP[2][15]
Abstract
There have been several proposals for logic programming language based on linear logic: Lolli [6], Lygon [5], LO [3], LinLog [2], Forum [8]. In addition, BinProlog allows the use of linear implications of affine logic (a variant of linear logic) [12, 13]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is therefore an important issue in the implementation of these languages. In [10], N. Tamura and Y. Kaneda proposed an abstract machine called LLPAM which is an extension of the standard WAM [14, 1] for a linear logic programming language called LLP. LLP is a superset of Prolog and a subset of Lolli. However, in the original LLPAM design, a resource formula was stored as a term in a heap memory and was not compiled into LLPAM code. In this paper, we describe an extension of LLPAM for compiling resource formulas. In our extension, resources are compiled into closures which consist of compiled code and a variable binding environment.