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 of
claspextended 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.
Building and Installation
ginkgo is built with
cmake and requires a compiler capable of C++14 as well as
gringo binaries at runtime.
The optional graphical output requires
ginkgo consists of the following tools:
ginkgo-produceaccepts a PDDL instance and domain as input (as ASP facts, such as obtained with
plasp) and generalizes a specified number of learned constraints.
ginkgo-consumeperforms generalized constraint feedback. That is, a given is solved again but enriched with a specific number of constraints previously generalized with
ginkgo-consumewas primarily implemented for benchmarking and demonstration purposes.
ginkgo-analyzeuses the statistical output of the above two tools and aggregates the results for easier evaluation.
ginkgo-evaluatedisplays 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