Commit Graph

858 Commits

Author SHA1 Message Date
2d0e4b09fa
Updated changelog with variable name replacement. 2017-11-25 17:18:50 +01:00
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
7c02b46f7c
Version bump after release 3.1.0. 2017-11-17 19:33:21 +01:00
1c44dfcda7
Version bump for release 3.1.0. 2017-11-17 18:43:02 +01:00
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
0ff78f43e6
Added PDDL 3.1 feature support documentation. 2017-11-17 18:27:35 +01:00
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
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
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
f7e089042d
Updated documentation to new output format. 2017-11-17 17:12:34 +01:00
ce4fe6a113
Fixed typo. 2017-11-17 15:39:21 +01:00
3e2adf6db4
Added “known issues” file. 2017-11-17 15:39:21 +01:00
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
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
c283adc42a
Minor formatting. 2017-11-17 00:47:35 +01:00
9281592c39
Rephrased change log for 3.1.0 for clarity. 2017-11-17 00:18:51 +01:00
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
23130134bb
Made translator descriptions more concise. 2017-11-16 18:11:38 +01:00
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
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
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
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
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
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
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
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
f0e553df23
Minor formatting. 2017-11-08 17:11:36 +01:00
0d0a4337a2
Updated Catch to 2.0.1. 2017-11-04 20:54:39 +01:00
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
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
4faa8813e4
Added removed Boost dependency to change log. 2017-10-28 17:33:26 +02:00
dd1b2f9636
Removed Boost dependency from building instructions. 2017-10-28 17:31:37 +02:00
a31d8638e7
Fixed typos in documentation. 2017-10-28 17:30:41 +02:00
6af0d4ec7a
Removed Boost dependency from Arch PKGBUILD. 2017-10-28 17:16:18 +02:00
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
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
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
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
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
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
6d07fcbd6c
Moved initial state translation to new header. 2017-10-27 16:38:01 +02:00
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
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
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
9803710ff3
Fixed typo. 2017-10-25 19:00:54 +02:00
4d8525f52d
Added comment for consistency. 2017-10-25 18:03:11 +02:00
d0b7f89925
Removed unwanted newlines at the end of output. 2017-10-25 17:01:19 +02:00
032fa14f61
Updated tagline to match plasp’s recently extended tool set. 2017-10-14 02:37:46 +02:00