Differences between revisions 8 and 9
Revision 8 as of 2021-08-06 16:41:03
Size: 1890
Editor: XmlRpcBot
Comment:
Revision 9 as of 2023-01-18 16:47:32
Size: 2658
Editor: XmlRpcBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
linear(random_seed=-1, update_option=use_random, variable_order=CG_GOAL_LEVEL) linear(random_seed=-1, update_option=use_random, variable_order=cg_goal_level)
Line 19: Line 19:
 * ''update_option'' ({use_first, use_second, use_random}): When the merge tree is used within another merge strategy, how should it be updated when a merge different to a merge from the tree is performed: choose among use_first, use_second, and use_random to choose which node of the tree should survive and represent the new merged index. Specify use_first (use_second) to let the node represententing the index that would have been merged earlier (later) survive. use_random chooses a random node.
 * ''variable_order'' ({CG_GOAL_LEVEL, CG_GOAL_RANDOM, GOAL_CG_LEVEL, RANDOM, LEVEL, REVERSE_LEVEL}): the order in which atomic transition systems are merged
 * ''update_option'' ({use_first, use_second, use_random}): When the merge tree is used within another merge strategy, how should it be updated when a merge different to a merge from the tree is performed.
  * {{{use_first}}}: the node representing the index that would have been merged earlier survives
  * {{{use_second}}}: the node representing the index that would have been merged later survives
  * {{{use_random}}}: a random node (of the above two) survives
 * ''variable_order'' ({cg_goal_level, cg_goal_random, goal_cg_level, random, level, reverse_level}): the order in which atomic transition systems are merged
  * {{{cg_goal_level}}}: variables are prioritized first if they have an arc to a previously added variable, second if their goal value is defined and third according to their level in the causal graph
  * {{{cg_goal_random}}}: variables are prioritized first if they have an arc to a previously added variable, second if their goal value is defined and third randomly
  * {{{goal_cg_level}}}: variables are prioritized first if their goal value is defined, second if they have an arc to a previously added variable, and third according to their level in the causal graph
  * {{{random}}}: variables are ordered randomly
  * {{{level}}}: variables are ordered according to their level in the causal graph
  * {{{reverse_level}}}: variables are ordered reverse to their level in the causal graph

This page describes the available merge trees that can be used to precompute a merge strategy, either for the entire task or a given subset of transition systems of a given factored transition system. Merge trees are typically used in the merge strategy of type 'precomputed', but they can also be used as fallback merge strategies in 'combined' merge strategies.

Linear merge trees

These merge trees implement several linear merge orders, which are described in the paper:

linear(random_seed=-1, update_option=use_random, variable_order=cg_goal_level)
  • random_seed (int [-1, infinity]): Set to -1 (default) to use the global random number generator. Set to any other value to use a local random number generator with the given seed.

  • update_option ({use_first, use_second, use_random}): When the merge tree is used within another merge strategy, how should it be updated when a merge different to a merge from the tree is performed.

    • use_first: the node representing the index that would have been merged earlier survives

    • use_second: the node representing the index that would have been merged later survives

    • use_random: a random node (of the above two) survives

  • variable_order ({cg_goal_level, cg_goal_random, goal_cg_level, random, level, reverse_level}): the order in which atomic transition systems are merged

    • cg_goal_level: variables are prioritized first if they have an arc to a previously added variable, second if their goal value is defined and third according to their level in the causal graph

    • cg_goal_random: variables are prioritized first if they have an arc to a previously added variable, second if their goal value is defined and third randomly

    • goal_cg_level: variables are prioritized first if their goal value is defined, second if they have an arc to a previously added variable, and third according to their level in the causal graph

    • random: variables are ordered randomly

    • level: variables are ordered according to their level in the causal graph

    • reverse_level: variables are ordered reverse to their level in the causal graph

FastDownward: Doc/MergeTree (last edited 2024-01-11 22:26:37 by XmlRpcBot)