-
Notifications
You must be signed in to change notification settings - Fork 179
[issue220] Addendum: Update PDDL Support web page. #261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
docs/pddl-support.md
Outdated
| - **empty conditions:** Like Fox and Long ("PDDL2.1: An Extension to PDDL for | ||
| Expressing Temporal Planning Domains" by Maria Fox and Derek Long, JAIR | ||
| 20:61-124, 2003), Fast Downward allows empty conditions (i. e., preconditions | ||
| and goals). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would clarify here what you mean by "empty conditions". There are at least three ways to say "no preconditions" that I've seen:
- no
:preconditionblock at all - empty conjunction:
:precondition (and) - list with no arguments:
:precondition ()
I think we're talking about #3 here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also "i.e." doesn't work here. Conditions are not just used in preconditions and goals. Other places where conditions occur are axiom bodies and effect conditions in conditional effects. The phrase "i.e." requires that you define what a condition is here rather than just give examples. Perhaps use "e.g.,". (BTW, for "i.e." and "e.g.", it's customary not to have a space in the middle.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like you guessed, we indeed mean the third point. (Though the first one is also allowed and I think the second one as well.) Also, I agree that it should be "e.g." instead of "i.e.". I'll change this and give an example for an empty precondition for clarification.
docs/pddl-support.md
Outdated
| is used in the `:predicates` section. For example, defining `(somepredicate ?x - | ||
| (either type1 type2))` is allowed (but ignored). Furthermore, type validity | ||
| is not checked for the `:predicates` section. | ||
| - **empty list before type specification:** While most (if not all) PDDL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by "if not all" here?
"If not all" means "most of them do, and maybe all of them do, but we don't know this for sure". Do you mean "but not all" instead? Perhaps there parenthetical part can be dropped here entirely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We mean "most of them do, and maybe all of them do, but we don't know this for sure". I think without the part in parentheses people would wonder for which PDDL specifications this does not hold. How about changing "if not all" to "or maybe all"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps write "While all PDDL specifications we know"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me, I just pushed the change.
docs/pddl-support.md
Outdated
| is not checked for the `:predicates` section. | ||
| - **empty list before type specification:** While most (if not all) PDDL | ||
| specifications require at least one token before a type specification (e. g. | ||
| `(someobject1 someobject2 - sometype)`), Fast Downward only prints a warning, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should have no comma at the end of the line.
| Malik Ghallab, Adele Howe, Craig Knoblock, Ashwin Ram, Manuela Veloso, Daniel | ||
| Weld, and David Wilkins, Yale Center for Computational Vision and Control, | ||
| Technical Report CVC TR-98-003/DCS TR-1165, 1998) a type is essentially just | ||
| a unary predicate. Thus, defining a new predicate with the same name as a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of saying "is essentially just", I would say "can be used as".
| ## Notes on syntax checks | ||
|
|
||
| There exist multiple PDDL definitions and they differ in some aspects, this | ||
| section describes how Fast Downward handles such cases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a run-on sentence. Should have a period instead of a comma.
docs/pddl-support.md
Outdated
| These limitations are somewhat likely to be lifted in the future, but progress | ||
| is slow. | ||
|
|
||
| ## Notes on syntax checks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax checks is very technical about implementation, I would rather use "syntax". But also I don't think all of these are about syntax. For example, using types as predicates is not really about syntax because types and predicates have the same syntax. From the section intro, this seems to be about ambiguities in PDDL, so perhaps something like "## PDDL ambiguities" or "## PDDL corner cases" or something like that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree and will change it to "PDDL ambiguities".
We addressed multiple points related to invalid PDDL input files (issue220) in
an earlier change. This change updates the Fast Downward website to reflect
those changes. (No code changes.)