Fork 0
Commit Graph

860 Commits

Author SHA1 Message Date
Patrick Lühne af325e3991
Version bump after release 3.1.1. 2017-11-25 17:52:52 +01:00
Patrick Lühne 31542c6adc
Version bump for release 3.1.1. 2017-11-25 17:21:45 +01:00
Patrick Lühne 2d0e4b09fa
Updated changelog with variable name replacement. 2017-11-25 17:18:50 +01:00
Patrick Lühne 2288fa891e
Replacing user-defined variable names.
This replaces all user-defined variable names with continuously numbered
ones so that they don’t lead to syntax problems in ASP, while still
unique and distinguishable. For instance, this avoids problems when
variable names contain hyphens, which are allowed in PDDL identifiers
but not in ASP variables.
2017-11-25 00:37:09 +01:00
Patrick Lühne 7c02b46f7c
Version bump after release 3.1.0. 2017-11-17 19:33:21 +01:00
Patrick Lühne 1c44dfcda7
Version bump for release 3.1.0. 2017-11-17 18:43:02 +01:00
Patrick Lühne 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 Lühne 0ff78f43e6
Added PDDL 3.1 feature support documentation. 2017-11-17 18:27:35 +01:00
Patrick Lühne 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 Lühne 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 Lühne 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 Lühne f7e089042d
Updated documentation to new output format. 2017-11-17 17:12:34 +01:00
Patrick Lühne ce4fe6a113
Fixed typo. 2017-11-17 15:39:21 +01:00
Patrick Lühne 3e2adf6db4
Added “known issues” file. 2017-11-17 15:39:21 +01:00
Patrick Lühne 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 Lühne 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 Lühne c283adc42a
Minor formatting. 2017-11-17 00:47:35 +01:00
Patrick Lühne 9281592c39
Rephrased change log for 3.1.0 for clarity. 2017-11-17 00:18:51 +01:00
Patrick Lühne 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 Lühne 23130134bb
Made translator descriptions more concise. 2017-11-16 18:11:38 +01:00
Patrick Lühne 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 Lühne 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 Lühne 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 Lühne 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 Lühne 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 Lühne b063f5047e
Added basic normalization tests.
These tests make sure that simple PDDL descriptions are preserved by
2017-11-15 16:01:26 +01:00
Patrick Lühne 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 Lühne 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ühne 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 Lühne f0e553df23
Minor formatting. 2017-11-08 17:11:36 +01:00
Patrick Lühne 0d0a4337a2
Updated Catch to 2.0.1. 2017-11-04 20:54:39 +01:00
Patrick Lühne 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 Lühne 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 Lühne 4faa8813e4
Added removed Boost dependency to change log. 2017-10-28 17:33:26 +02:00
Patrick Lühne dd1b2f9636
Removed Boost dependency from building instructions. 2017-10-28 17:31:37 +02:00
Patrick Lühne a31d8638e7
Fixed typos in documentation. 2017-10-28 17:30:41 +02:00
Patrick Lühne 6af0d4ec7a
Removed Boost dependency from Arch PKGBUILD. 2017-10-28 17:16:18 +02:00
Patrick Lühne 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 Lühne 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 Lühne 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
2017-10-28 16:45:29 +02:00
Patrick Lühne 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 Lühne 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 Lühne 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 Lühne 6d07fcbd6c
Moved initial state translation to new header. 2017-10-27 16:38:01 +02:00
Patrick Lühne 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 Lühne 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 Lühne 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 Lühne 9803710ff3
Fixed typo. 2017-10-25 19:00:54 +02:00
Patrick Lühne 4d8525f52d
Added comment for consistency. 2017-10-25 18:03:11 +02:00