Generalize learned constraints with ASP
ginkgo
uses ASP techniques to automatically generalize learned conflict constraints to make them applicable to other PDDL problem instances.
ginkgo
proceeds in a four-step approach:
- Conflict constraints are extracted while solving a logic program with
xclasp
, a variant ofclasp
extended with facilities for logging learned constraints. - The learned constraints are generalized by abstraction over the time domain, which results in candidate properties.
- The candidate properties are validated, using an induction-based proof method or a simpler, state-wise method.
- Valid generalized constraints can finally be reused via generalized constraint feedback, that is, by enriching logic programs with the newly generalized constraints.
ginkgo
is built with cmake
and requires a compiler capable of C++14 as well as boost
and jsoncpp
.
ginkgo
requires clasp
, xclasp
, and gringo
binaries at runtime.
The optional graphical output requires GTKmm
.
ginkgo
consists of the following tools:
ginkgo-produce
accepts a PDDL instance and domain as input (as ASP facts, such as obtained withplasp
) and generalizes a specified number of learned constraints.ginkgo-consume
performs generalized constraint feedback. That is, a given is solved again but enriched with a specific number of constraints previously generalized withginkgo-produce
.ginkgo-consume
was primarily implemented for benchmarking and demonstration purposes.ginkgo-analyze
uses the statistical output of the above two tools and aggregates the results for easier evaluation.ginkgo-evaluate
displays a graphical evaluation of the statistical analyses.
Use the option --help
for a full list of options of each of the respective tools.
-
Martin Gebser, Roland Kaminski, Benjamin Kaufmann, Patrick Lühne, Javier Romero, and Torsten Schaub: Answer Set Solving with Generalized Learned Constraints. In: Technical Communications of the 32nd International Conference on Logic Programming, 2016, pp. 9:1–9:14
-
Patrick Lühne: Generalizing Learned Knowledge in Answer Set Solving. M.Sc. Thesis, 2015, Hasso Plattner Institute, Potsdam