Commit Graph
854 Commits
Author SHA1 Message Date
patrick b93e41d5bc Removed Arch PKGBUILD from repository.
The PKGBUILD for Arch Linux is already hosted at AUR, and there
shouldn’t be two sources for it.
2017-11-17 18:40:08 +01:00
patrick 0ff78f43e6 Added PDDL 3.1 feature support documentation. 2017-11-17 18:27:35 +01:00
patrick 0f039f0837 Excluding derived variables from inertia.
In the example encoding, derived variables were accidentally included in
the inertia rule, as this only checked the position of the parameter.
This commit fixes this by only allowing common variables (and not
derived ones) within the inertia rule.
2017-11-17 17:43:44 +01:00
patrick 9d04996b0a Minor formatting.
This change doesn’t affect derived variables, because these aren’t
affected by the “caused” predicate (the “caused” predicate requires a
variable to be in the postcondition of an action, and these may never be
derived variables).
2017-11-17 17:34:16 +01:00
patrick b2280c155a Fixed handling of goal in example encoding.
The example encoding assumed that derived predicates weren’t necessary
in the final time step. This is, however, incorrect, as the goal may
have a precondition that requires derived predicates. In this case, the
derived variables must be evaluated for the final time step.
2017-11-17 17:32:05 +01:00
patrick f7e089042d Updated documentation to new output format. 2017-11-17 17:12:34 +01:00
patrick ce4fe6a113 Fixed typo. 2017-11-17 15:39:21 +01:00
patrick 3e2adf6db4 Added “known issues” file. 2017-11-17 15:39:21 +01:00
patrick 8ff87985f5 Moved outdated encodings to separate directory.
These encodings need to be updated to match the new output format. Until
this is done, hide these files in a separate directory in order not to
confuse users.
2017-11-17 15:38:59 +01:00
patrick 9fde2b8e1b Updated cxxopts to 2.0.0.
Starting from version 2.0.0, cxxopts returns a ParseResult object
instead of storing the results directly within the Options structure.
Additionally, Booleans are handled slightly differently.

These two changes required some minor adjustment of the command-line
argument parsing code.
2017-11-17 00:51:51 +01:00
patrick c283adc42a Minor formatting. 2017-11-17 00:47:35 +01:00
patrick 9281592c39 Rephrased change log for 3.1.0 for clarity. 2017-11-17 00:18:51 +01:00
patrick 6889e97f47 Updated readme for release 3.1.0.
This adds a section about the new commands, updates out-of-date
references, and highlights the translator as the currently most
interesting component.
2017-11-16 18:24:27 +01:00
patrick 23130134bb Made translator descriptions more concise. 2017-11-16 18:11:38 +01:00
patrick 5af0c26650 Added tests for derived predicate numbering.
These tests ensure that derived predicates are numbered correctly,
whether they are introduced by the domain, the problem, or both.
2017-11-16 17:30:53 +01:00
patrick 39410ac98b Added normalization tests for nested expressions.
These tests ensure that nested expressions in preconditions and effects
are correctly flattened via derived predicates.
2017-11-16 17:23:08 +01:00
patrick 5621820fe4 Added normalization tests for negations.
These tests ensure that multiple negations are eliminated, negated
quantifiers are replaced appropriately, negations introduced by
reduction are correctly handled, and negated disjunctions and
conjunctions are replaced according to De Morgan’s rules.
2017-11-15 18:53:43 +01:00
patrick 9e9040cac0 Added normalization tests for “forall” statements.
These tests ensure that universal quantifiers are correctly reduced to
negated existential quantifiers over the negated argument via derived
predicates in preconditions (nested and not) and goal descriptions.
2017-11-15 17:26:56 +01:00
patrick 0cf84dd5ca Added normalization tests for implications.
These tests ensure that implications are correctly reduced to
disjunctions in preconditions (nested and not) and goal descriptions.
2017-11-15 16:34:48 +01:00
patrick b063f5047e Added basic normalization tests.
These tests make sure that simple PDDL descriptions are preserved by
normalization.
2017-11-15 16:01:26 +01:00
patrick 08a2eebe2c Removed obsolete test file.
This file will soon be replaced by a dedicated test suite in the pddl
library and is obsolete thus.
2017-11-15 16:01:22 +01:00
patrick 010e7bf41e Requiring goal to contain only one statement.
Previously, the parser read the first statement of the goal as its
precondition, but didn’t check that it was properly terminated with a
closing parenthesis. This allowed arbitrary text to be included within
the goal description without error, which was incorrect.

This commit fixes this issue and adds a corresponding unit test.
2017-11-15 15:52:10 +01:00
Patrick LühneandGitHub a1a80332ca Merge pull request #4 from mgebser/strips
Introduced flat representation of transition constraints, activated by
default with respect to the new constant _inertia.
2017-11-09 14:35:31 +01:00
patrick f0e553df23 Minor formatting. 2017-11-08 17:11:36 +01:00
patrick 0d0a4337a2 Updated Catch to 2.0.1. 2017-11-04 20:54:39 +01:00
patrick b21b4f47bf Made form of variables within values consistent.
Previously, variables referenced within values were unpacked within
values. This was inconsistent, because all predicates are usually used
in their unpacked form in the rest of the output format. This commit
makes this consistent by using variables in their packed form within
values, making it more compact to handle them.
2017-11-03 01:49:24 +01:00
patrick 3a7b61de68 Fixed syntax error at end of initial state facts.
Due to a mistake in commit 6d07fcb, the closing parenthesis and period
at the end of initial state facts was omitted. This adds these back in
order to solve this syntax error.
2017-11-01 16:00:48 +01:00
mgebser efee22a655 introduced flat representation of transition constraints, activated by default w.r.t. the new constant _inertia 2017-11-01 13:58:04 +01:00
patrick 4faa8813e4 Added removed Boost dependency to change log. 2017-10-28 17:33:26 +02:00
patrick dd1b2f9636 Removed Boost dependency from building instructions. 2017-10-28 17:31:37 +02:00
patrick a31d8638e7 Fixed typos in documentation. 2017-10-28 17:30:41 +02:00
patrick 6af0d4ec7a Removed Boost dependency from Arch PKGBUILD. 2017-10-28 17:16:18 +02:00
patrick 021e6c439c Removed Boost packages from Travis configuration.
As the Boost dependency isn’t required anymore, this commit removes the
Boost packages from the Travis configuration.
2017-10-28 16:50:45 +02:00
patrick e87f86af95 Removed Boost dependency in assertions.
Instead of using BOOST_ASSERT, this commit changes all assertions to
plain C-style assertions in order to drop the dependency to Boost.
2017-10-28 16:49:15 +02:00
patrick ca7ae883ee Removed Boost dependency in unit tests.
Some of the unit tests depended on Boost’s null_sink to redirect the
unwanted test output to /dev/null. This commit adds a simple
NullOutputStream as a replacement and removes the obsolete Boost
includes.
2017-10-28 16:45:29 +02:00
patrick 72fc7493b2 Removed Boost dependency in language distinction.
As Boost isn’t used in the rest of this project anymore, this commit
removes the unnecessary dependency to boost::bimap just for language
detection, and replaces it with a simple std::map instead.
2017-10-28 15:44:37 +02:00
patrick 1631a70a0b Ensuring that goal is variable-free.
Even though the parser shouldn’t be able to put variables into the goal
description, the AST theoretically allows for this case. This commit
adds a defensive check that goal descriptions are variable-free.
2017-10-27 17:10:35 +02:00
patrick 27f773e091 Added support for derived predicates in goals.
By accident, the support for derived predicates in goals was missing.
This commit adds this, in a very similar way to how normal predicates
are handled in the goal description.
2017-10-27 16:46:38 +02:00
patrick 6d07fcbd6c Moved initial state translation to new header. 2017-10-27 16:38:01 +02:00
patrick 6415f871d7 Error for derived predicates in initial state.
Previously, derived predicates in the initial state weren’t handled at
all. That’s not an issue, because derived predicates shouldn’t occur in
the initial state. However, as a defensive measure, this commit adds an
error thrown in such cases.
2017-10-27 16:27:33 +02:00
patrick feaef5a3fa Translating derived predicates of problems.
While derived predicates stemming from the domain were already
translated, the ones from the problem were missing. This commit fixes
that, although it duplicates the definition of “contains.”
2017-10-27 16:21:54 +02:00
patrick 624ddc38aa Fixed incorrect derived predicate IDs in problems.
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.
2017-10-25 19:01:11 +02:00
patrick 9803710ff3 Fixed typo. 2017-10-25 19:00:54 +02:00
patrick 4d8525f52d Added comment for consistency. 2017-10-25 18:03:11 +02:00
patrick d0b7f89925 Removed unwanted newlines at the end of output. 2017-10-25 17:01:19 +02:00
patrick 032fa14f61 Updated tagline to match plasp’s recently extended tool set. 2017-10-14 02:37:46 +02:00
patrick 8b487b0a82 Structured change log more nicely. 2017-10-14 02:31:04 +02:00
patrick f6eed53550 Minor formatting. 2017-10-14 02:13:47 +02:00
patrick cb61f7cc5e Making command-line options in change log more specific. 2017-10-14 02:13:47 +02:00
patrick 5ec4dd2aaf Added new commands to the change log. 2017-10-14 02:13:47 +02:00