Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2014-04-20 17:57:04
Size: 2767
Editor: JendrikSeipp
Comment:
Revision 4 as of 2016-12-21 12:41:54
Size: 0
Editor: MalteHelmert
Comment: The preprocessor is gone.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Output of the Fast Downward preprocessor =

This page describes the output format of the preprocessor component of Fast Downward. The output has the filename {{{output}}}, but is sometimes called ''PRE''. The preprocessor takes the {{{output.sas}}} file generated by the translator and adds three sections. The common sections are described in TranslatorOutputFormat.

== Preprocessor file format ==

The following sections are added:

  1. [[#sg|Successor Generator section]]
  1. [[#dtg|Domain Transition Graphs section]]
  1. [[#cg|Causal Graph section]]

<<Anchor(sg)>>
=== Preprocessor file format: Successor Generator section ===

This section is a textual representation of the successor generator that is used when the search computes a state's successors.

<<Anchor(dtg)>>
=== Preprocessor file format: Domain Transition Graphs section ===

There is one section {{{begin_DTG ... end_DTG}}} for each variable of
the problem. The k-th section of this kind corresponds to the DTG for
variable #k.

Each section has the following structure:

{{{
begin_DTG
[Block for value 0]
[Block for value 1]
...
[Block for last value]
end_DTG
}}}

Each block describes the outgoing arcs of the corresponding node in
the DTG. So for example, the fifth block (#4) in the third (#2) DTG
section describes the outgoing transitions in the DTG for variable #2
for the value #4. Such a value block looks like follows:

{{{
number of transitions
[description of first transition]
[description of second transition]
...
[description of last transition]
}}}

Each description of a transition looks like the following:

{{{
target value
operator/axiom number
number of conditions for the transition
variable/value pair for the first transition condition
variable/value pair for the second transition condition
...
variable/value pair for the last transition condition
}}}

The "target value" is the value for the DTG variable that is achieved
by the transition.

The operator/axiom number is the number of the operator or axiom that
is associated with the transition. (Whether it refers to an axiom or
operator depends on whether the DTG variable is derived or not.)
Operators and axioms are numbered in the order in which they appear in
the PRE file; counting starts from 0 in both cases.

The description of the variable/value pairs is the same as elsewhere
(e.g. in operator preconditions).

For example, the description for a given transition could look like this:

{{{
1
16
2
4 0
40 0
}}}

This means that this transition reaches value #1, corresponds to
operator or axiom #16, and has two associated conditions: variable #4
must have the value 0, and variable #40 must also have the value 0.