Differences between revisions 5 and 6
Revision 5 as of 2014-01-27 18:28:57
Size: 3809
Comment: fixed link
Revision 6 as of 2014-01-27 18:29:23
Size: 3809
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
 * '''conditional effects:''' Not all heuristics support conditional effects. See [[Doc\Heuristic]] for details. Also, as of this writing, support for conditional effects is still somewhat buggy/incomplete. Some constructs lead to translator crashes. This is especially true for operators that have multiple conditional effects affecting the same variable, or several variables that the translator groups into a single finite-domain variable.
 * '''axioms:''' Not all heuristics support axioms. See [[Doc\Heuristic]] for details.
 * '''conditional effects:''' Not all heuristics support conditional effects. See [[Doc/Heuristic]] for details. Also, as of this writing, support for conditional effects is still somewhat buggy/incomplete. Some constructs lead to translator crashes. This is especially true for operators that have multiple conditional effects affecting the same variable, or several variables that the translator groups into a single finite-domain variable.
 * '''axioms:''' Not all heuristics support axioms. See [[Doc/Heuristic]] for details.

Back to the HomePage.

PDDL support of Fast Downward

On this page, we collect information regarding the subset of PDDL that is supported by Fast Downward. So far, this is not an exhaustive list, but we hope that it will become more comprehensive over time. If you want to contribute information or have a question, please get in touch! (See the contact information on the HomePage.)

General information

Fast Downward aims to support PDDL 2.2 level 1 plus the :action-costs requirement from PDDL 3.1. For a definition of the various "levels" of PDDL, see p. 63 the paper "PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains" by Maria Fox and Derek Long (JAIR 20:61-124, 2003).

This means that the following major parts of PDDL are unsupported:

  • All aspects of numerical planning. These are introduced at level 2 of PDDL. Exception: some numerical features are part of the :action-costs requirement of PDDL 3.1, and these are supported by the planner.

  • All aspects of temporal planning. These are introduced at level 3 of PDDL and above.
  • Soft goals and preferences. These are introduced in PDDL 3.0.
  • Object fluents. These are introduced in PDDL 3.1.

Expressed positively, this means that the following features of PDDL are supported beyond basic STRIPS, with some limitations mentioned below:

  • all ADL features such as quantified and conditional effects and negation, disjunction and quantification in conditions
  • axioms and derived predicates (introduced in PDDL 2.2)
  • action costs (introduced in PDDL 3.1)

Limitations

  • PDDL types: (either ...) types are not supported

  • conditional effects: Not all heuristics support conditional effects. See Doc/Heuristic for details. Also, as of this writing, support for conditional effects is still somewhat buggy/incomplete. Some constructs lead to translator crashes. This is especially true for operators that have multiple conditional effects affecting the same variable, or several variables that the translator groups into a single finite-domain variable.

  • axioms: Not all heuristics support axioms. See Doc/Heuristic for details.

  • universal conditions: Universal conditions in preconditions, effect conditions and the goal are internally compiled into axioms by the planner. Therefore, heuristics that do not support axioms (see previous point) do not support universal conditions either.

  • action costs: Action costs must be non-negative integers (i.e., not fractional), and each action may contain at most one effect affecting (total-cost), which may not be part of conditional effects. These are the same restrictions that were in use for IPC 2008 and IPC 2011.

These limitations are somewhat likely to be lifted in the future, but progress is slow.

Bugs

Some features are supported in theory, but currently affected by bugs. In addition to the issues with conditional effects mentioned above which are somewhere between a bug and a missing feature, we are currently aware of the following bugs:

  • http://issues.fast-downward.org/issue293: type names that clash with predicate names cause errors (Strictly speaking, I think this is not a bug, but since other planners do support such domains and there is at least one example of such a domain in the IPC suite, the planner behaviour in this respect should be changed.)

  • http://issues.fast-downward.org/issue294: negative literals in :init cause trouble

The above list might be outdated by the time you are reading this. Follow the links to the issue tracker to be sure. If the list is no longer outdated, it would be great if you could send us a note so that we can remedy this. (See contact information on HomePage.)

FastDownward: PddlSupport (last edited 2018-09-13 13:25:17 by JendrikSeipp)