diff --git a/README.md b/README.md index 8c34d7f..fcd6b40 100644 --- a/README.md +++ b/README.md @@ -4,66 +4,72 @@ ## Overview -`plasp` 3 is in early development and not intended for productive use yet. +`plasp` is a tool collection for planning in [*answer set programming*](https://en.wikipedia.org/wiki/Answer_set_programming). +`plasp` 3 supports the input languages [PDDL 3.1](https://helios.hud.ac.uk/scommv/IPC-14/software.html) (except for advanced features such as durative actions, numerical fluents, and preferences) and [SAS](http://www.fast-downward.org/TranslatorOutputFormat) (full support of SAS 3), which is used by [Fast Downward](http://www.fast-downward.org/). -`plasp` translates planning problem instances to ASP facts. -`plasp` 3 supports the input languages [PDDL 3.1](https://helios.hud.ac.uk/scommv/IPC-14/software.html) (only basic features currently) and [SAS](http://www.fast-downward.org/TranslatorOutputFormat) (full support of SAS 3), which is used by [Fast Downward](http://www.fast-downward.org/). +The most notable tool provided by `plasp` is `plasp translate`, which translates PDDL descriptions to ASP facts. -Please get in touch with [Patrick Lühne](https://www.luehne.de) if you have any suggestions. - -## Usage - -### Translating PDDL to ASP Facts +## Translating PDDL to ASP Facts PDDL instances are translated to ASP facts as follows: -```bash -$ plasp domain.pddl problem.pddl +```sh +plasp translate domain.pddl problem.pddl ``` Alternatively, PDDL instances may first be translated to SAS, the output format of [Fast Downward](http://www.fast-downward.org/). -```bash -$ ./fast-downward.py --translate --build=release64 domain.pddl problem.pddl +```sh +./fast-downward.py --translate --build=release64 domain.pddl problem.pddl ``` -This creates a file called `output.sas`, which may now be translated by `plasp`. +This creates a file called `output.sas`, which may now be translated by `plasp` as well. -```bash -$ plasp output.sas +```sh +plasp translate 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`](encodings/sequential-incremental.lp): -```bash -$ plasp domain.pddl problem.pddl > instance.lp -$ clingo encodings/sequential-incremental.lp instance.lp +```sh +plasp translate domain.pddl problem.pddl > instance.lp +clingo encodings/sequential-incremental.lp instance.lp ``` -## Command-Line Interface - -```bash -$ plasp [options] file... -``` - -`plasp` automatically detects the language of the input program. - -See [command-line interface](doc/command-line-interface.md) for more details. - -## Output Format - -`plasp` provides a uniform output format for SAS and PDDL input problems. +### Translator Output Format +`plasp translate` provides a uniform output format for SAS and PDDL input problems. See [output format](doc/output-format.md) for more details. -If you want to write your own meta encoding for `plasp`’s output, this [simple example encoding](encodings/sequential-incremental.lp) gets you started. +If you want to write your own meta encoding for `plasp translate`’s output, this [simple example encoding](encodings/sequential-incremental.lp) gets you started. + +## Provided Tools + +```sh +plasp [