Skip to content

Translator Options#

-h, --help#

show this help message and exit

--relaxed#

output relaxed task (no delete effects)

--full-encoding#

By default we represent facts that occur in multiple mutex groups only in one variable. Using this parameter adds these facts to multiple variables. This can make the meaning of the variables clearer, but increases the number of facts.

--invariant-generation-max-candidates INVARIANT_GENERATION_MAX_CANDIDATES#

max number of candidates for invariant generation (default: 100000). Set to 0 to disable invariant generation and obtain only binary variables. The limit is needed for grounded input files that would otherwise produce too many candidates.

--sas-file SAS_FILE#

path to the SAS output file (default: output.sas)

--invariant-generation-max-time INVARIANT_GENERATION_MAX_TIME#

max time for invariant generation (default: 300s)

--add-implied-preconditions#

infer additional preconditions. This setting can cause a severe performance penalty due to weaker relevance analysis (see issue7).

--keep-unreachable-facts#

keep facts that can't be reached from the initial state

--skip-variable-reordering#

do not reorder variables based on the causal graph. Do not use this option with the causal graph heuristic!

--keep-unimportant-variables#

keep variables that do not influence the goal in the causal graph

--keep-no-ops#

keep operators without effects in the output

--dump-task#

dump human-readable SAS+ representation of the task

--layer-strategy {min,max}#

How to assign layers to derived variables. 'min' attempts to put as many variables into the same layer as possible, while 'max' puts each variable into its own layer unless it is part of a cycle.

--condition-normalization-strategy {dnf,axiomatize_disjunctions,axiomatize_disjunctions_existentials}#

Strategy for normalizing PDDL conditions. Strategy 'dnf' converts conditions to disjunctive normal form, which may cause exponential blow-up for complex formulas but introduces few derived predicates. Strategy 'axiomatize_disjunctions' replaces every disjunction by a derived predicate, avoiding the DNF blow-up while preserving existential quantifiers. Strategy 'axiomatize_disjunctions_existentials' additionally replaces existential quantifiers in action conditions and goals with derived predicates. This typically introduces more derived predicates but avoids creating multiple operator instances.

Examples#

Translate with disabled invariant synthesis and find a plan with A* + LM-Cut:#

fast-downward.py domain.pddl problem.pddl --search "astar(lmcut())" --translate-options --invariant-generation-max-candidates 0
Note that the order of the arguments matters.

fast-downward.py -- --translate-options --help
The singular -- is used to skip passing a domain and problem file to the driver.