Patrick Lühne
624ddc38aa
The IDs of derived predicates within problems were accidentally starting with 1 again, colliding with the IDs of derived predicates in the domain. With this fix, the IDs are continuously incremented, even after switching from domain to problem. |
||
---|---|---|
app | ||
doc | ||
encodings | ||
include/plasp | ||
instances | ||
lib | ||
packaging/arch | ||
src | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
LICENSE.md | ||
README.md |
plasp
ASP planning tools for PDDL
Overview
plasp
3 is in early development and not intended for productive use yet.
plasp
translates planning problem instances to ASP facts.
plasp
3 supports the input languages PDDL 3.1 (only basic features currently) and SAS (full support of SAS 3), which is used by Fast Downward.
Please get in touch with Patrick Lühne if you have any suggestions.
Usage
Translating PDDL to ASP Facts
PDDL instances are translated to ASP facts as follows:
$ plasp domain.pddl problem.pddl
Alternatively, PDDL instances may first be translated to SAS, the output format of Fast Downward.
$ ./fast-downward.py --translate --build=release64 domain.pddl problem.pddl
This creates a file called output.sas
, which may now be translated by plasp
.
$ plasp output.sas
Solving the Translated Instance
The translated instance can finally be solved incrementally with clingo
and a meta encoding, for instance, sequential-incremental.lp
:
$ plasp domain.pddl problem.pddl > instance.lp
$ clingo encodings/sequential-incremental.lp instance.lp
Command-Line Interface
$ plasp [options] file...
plasp
automatically detects the language of the input program.
See command-line interface for more details.
Output Format
plasp
provides a uniform output format for SAS and PDDL input problems.
See output format for more details.
If you want to write your own meta encoding for plasp
’s output, this simple example encoding gets you started.
Building
plasp
requires boost
and is built via CMake and a C++ compiler.
See building for more details.
Contributors
- Patrick Lühne
- Martin Gebser (encodings)
- Torsten Schaub (encodings)
Earlier Versions
- René Knaebel
- Murat Knecht