Differences between revisions 14 and 15
Revision 14 as of 2016-04-12 17:43:09
Size: 4605
Editor: XmlRpcBot
Comment:
Revision 15 as of 2016-04-26 10:05:36
Size: 5150
Editor: XmlRpcBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
 * ''max_states'' (int): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.
 * ''max_states'' (int [-1, infinity]): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.
Line 34: Line 34:
shrink_fh(max_states=-1, max_states_before_merge=-1, threshold=-1, shrink_f=HIGH, shrink_h=LOW) shrink_fh(random_seed=-1, max_states=-1, max_states_before_merge=-1, threshold=-1, shrink_f=HIGH, shrink_h=LOW)
Line 37: Line 37:
 * ''max_states'' (int): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.
 * ''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.
* ''max_states'' (int [-1, infinity]): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.
Line 46: Line 48:
shrink_random(max_states=-1, max_states_before_merge=-1, threshold=-1) shrink_random(random_seed=-1, max_states=-1, max_states_before_merge=-1, threshold=-1)
Line 50: Line 52:
 * ''max_states'' (int): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.
 * ''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.
* ''max_states'' (int [-1, infinity]): maximum transition system size allowed at any time point.
 * ''max_states_before_merge'' (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.
 * ''threshold'' (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.

This page describes the various shrink strategies supported by the planner.

Bismulation based shrink strategy

This shrink strategy implements the algorithm described in the paper:

shrink_bisimulation(max_states=-1, max_states_before_merge=-1, threshold=-1, greedy=false, at_limit=RETURN)
  • max_states (int [-1, infinity]): maximum transition system size allowed at any time point.

  • max_states_before_merge (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.

  • threshold (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.

  • greedy (bool): use greedy bisimulation

  • at_limit ({RETURN, USE_UP}): what to do when the size limit is hit

shrink_bisimulation(max_states=infinity, threshold=1, greedy=true): Greedy bisimulation without size bound (called M&S-gop in the IJCAI 2011 paper).Combine this with the linear merge strategy REVERSE_LEVEL to match the heuristic in the paper. When we last ran experiments on interaction of shrink strategies with label reduction, this strategy performed best when used with label reduction before shrinking (and no label reduction before merging).

shrink_bisimulation(max_states=N, greedy=false): Exact bisimulation with a size limit (called DFP-bop in the IJCAI 2011 paper), where N is a numerical parameter for which sensible values include 1000, 10000, 50000, 100000 and 200000. Combine this with the linear merge strategy REVERSE_LEVEL to match the heuristic in the paper. When we last ran experiments on interaction of shrink strategies with label reduction, this strategy performed best when used with label reduction before shrinking (and no label reduction before merging).

f-preserving shrink strategy

This shrink strategy implements the algorithm described in the paper:

shrink_fh(random_seed=-1, max_states=-1, max_states_before_merge=-1, threshold=-1, shrink_f=HIGH, shrink_h=LOW)
  • 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.

  • max_states (int [-1, infinity]): maximum transition system size allowed at any time point.

  • max_states_before_merge (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.

  • threshold (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.

  • shrink_f ({HIGH, LOW}): prefer shrinking states with high or low f values

  • shrink_h ({HIGH, LOW}): prefer shrinking states with high or low h values

shrink_fh(max_states=N): f-preserving shrinking of transition systems (called HHH in the IJCAI 2011 paper, see shrink_bisimulation). Here, N is a numerical parameter for which sensible values include 1000, 10000, 50000, 100000 and 200000. Combine this with the linear merge strategy CG_GOAL_LEVEL to match the heuristic in the paper. When we last ran experiments on interaction of shrink strategies with label reduction, this strategy performed best when used with label reduction before merging (and no label reduction before shrinking).

Random

shrink_random(random_seed=-1, max_states=-1, max_states_before_merge=-1, threshold=-1)
  • 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.

  • max_states (int [-1, infinity]): maximum transition system size allowed at any time point.

  • max_states_before_merge (int [-1, infinity]): maximum transition system size allowed for two transition systems before being merged to form the synchronized product.

  • threshold (int [-1, infinity]): If a transition system, before being merged, surpasses this soft transition system size limit, the shrink strategy is called to possibly shrink the transition system.

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