3600
Comment: add text for causal graph
|
← Revision 4 as of 2016-12-21 12:41:54 ⇥
0
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. <<Anchor(cg)>> === Preprocessor file format: Causal Graph section === This has a similar structure as a DTG description. It looks like this: {{{ begin_CG [Block for variable #0] [Block for variable #1] ... [Block for last variable] end_CG }}} Each variable block describes the outgoing arcs for this vertex of the graph, in this format: {{{ number of arcs [description of first arc] [description of second arc] ... [description of last arc] }}} Each arc description is a pair {{{target weight}}} where target is the variable (i.e., causal graph vertex) that the arc points to, and weight is a "weight" for this arc (the number of DTG transitions that induce this arc). The weight information is not currently used for anything in particular; it is included as an additional piece of information. |