Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2016-04-11 16:44:31
Size: 2348
Editor: XmlRpcBot
Comment:
Revision 7 as of 2019-11-22 20:01:09
Size: 5352
Editor: XmlRpcBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
 * Martin Wehrle, Malte Helmert, Yusra Alkhazraji and Robert Mattmüller.<<BR>>
 [[The Relative Pruning Power of Strong Stubborn Sets and Expansion Core|http://www.aaai.org/ocs/index.php/ICAPS/ICAPS13/paper/view/6053/6185]].<<BR>>
 In ''Proceedings of the 23rd International Conference on Automated Planning and Scheduling (ICAPS 2013)'', pp. 251-259. AAAI Press 2013.
 * Martin Wehrle, Malte Helmert, Yusra Alkhazraji and Robert Mattmueller.<<BR>>
 [http://www.aaai.org/ocs/index.php/ICAPS/ICAPS13/paper/view/6053/6185 The Relative Pruning Power of Strong Stubborn Sets and Expansion Core].<<BR>>
 In ''Proceedings of the 23rd International Conference on Automated Planning and Scheduling (ICAPS 2013)'', pp. 251-259. AAAI Press, 2013.
Line 22: Line 22:
stubborn_sets_ec() stubborn_sets_ec(min_required_pruning_ratio=0.0, expansions_before_checking_pruning_ratio=1000)
Line 25: Line 25:
 * ''min_required_pruning_ratio'' (double [0.0, 1.0]): disable pruning if the pruning ratio is lower than this value after 'expansions_before_checking_pruning_ratio' expansions
 * ''expansions_before_checking_pruning_ratio'' (int [0, infinity]): number of expansions before deciding whether to disable pruning
'''Automatically disable pruning:''' Using stubborn sets to prune operators often reduces the required number of expansions but computing the prunable operators has a non-negligible runtime overhead. Whether the decrease in expansions outweighs the increased computational costs depends on the task at hand. Using the options 'min_required_pruning_ratio' (M) and 'expansions_before_checking_pruning_ratio' (E) it is possible to automatically disable pruning after E expansions if the ratio of pruned vs. non-pruned operators is lower than M. In detail, let B and A be the total number of operators before and after pruning summed over all previous expansions. We call 1-(A/B) the pruning ratio R. If R is lower than M after E expansions, we disable pruning for all subsequent expansions, i.e., consider all applicable operators when generating successor states. By default, pruning is never disabled (min_required_pruning_ratio = 0.0). In experiments on IPC benchmarks, stronger results have been observed with automatic disabling (min_required_pruning_ratio = 0.2, expansions_before_checking_pruning_ratio=1000).
Line 26: Line 30:
Line 29: Line 32:
 * Yusra Alkhazraji, Martin Wehrle, Robert Mattmüller and Malte Helmert.<<BR>>
 [[A Stubborn Set Algorithm for Optimal Planning|http://ai.cs.unibas.ch/papers/alkhazraji-et-al-ecai2012.pdf]].<<BR>>
 In ''Proceedings of the 20th European Conference on Artificial Intelligence (ECAI 2012)'', pp. 891-892. IOS Press 2012.
 * Yusra Alkhazraji, Martin Wehrle, Robert Mattmueller and Malte Helmert.<<BR>>
 [https://ai.dmi.unibas.ch/papers/alkhazraji-et-al-ecai2012.pdf A Stubborn Set Algorithm for Optimal Planning].<<BR>>
 In ''Proceedings of the 20th European Conference on Artificial Intelligence (ECAI 2012)'', pp. 891-892. IOS Press, 2012.
Line 34: Line 37:
 [[Efficient Stubborn Sets: Generalized Algorithms and Selection Strategies|http://www.aaai.org/ocs/index.php/ICAPS/ICAPS14/paper/view/7922/8042]].<<BR>>  [http://www.aaai.org/ocs/index.php/ICAPS/ICAPS14/paper/view/7922/8042 Efficient Stubborn Sets: Generalized Algorithms and Selection Strategies].<<BR>>
Line 38: Line 41:
stubborn_sets_simple() stubborn_sets_simple(min_required_pruning_ratio=0.0, expansions_before_checking_pruning_ratio=1000)
Line 41: Line 44:
/* moin code generated by txt2tags 2.6b (http://txt2tags.sf.net) */  * ''min_required_pruning_ratio'' (double [0.0, 1.0]): disable pruning if the pruning ratio is lower than this value after 'expansions_before_checking_pruning_ratio' expansions
 * ''expansions_before_checking_pruning_ratio'' (int [0, infinity]): number of expansions before deciding whether to disable pruning
'''Automatically disable pruning:''' Using stubborn sets to prune operators often reduces the required number of expansions but computing the prunable operators has a non-negligible runtime overhead. Whether the decrease in expansions outweighs the increased computational costs depends on the task at hand. Using the options 'min_required_pruning_ratio' (M) and 'expansions_before_checking_pruning_ratio' (E) it is possible to automatically disable pruning after E expansions if the ratio of pruned vs. non-pruned operators is lower than M. In detail, let B and A be the total number of operators before and after pruning summed over all previous expansions. We call 1-(A/B) the pruning ratio R. If R is lower than M after E expansions, we disable pruning for all subsequent expansions, i.e., consider all applicable operators when generating successor states. By default, pruning is never disabled (min_required_pruning_ratio = 0.0). In experiments on IPC benchmarks, stronger results have been observed with automatic disabling (min_required_pruning_ratio = 0.2, expansions_before_checking_pruning_ratio=1000).

/* moin code generated by txt2tags 2.6 (http://txt2tags.org) */

Prune or reorder applicable operators.

No pruning

This is a skeleton method that does not perform any pruning, i.e., all applicable operators are applied in all expanded states.

null()

StubbornSetsEC

Stubborn sets represent a state pruning method which computes a subset of applicable operators in each state such that completeness and optimality of the overall search is preserved. As stubborn sets rely on several design choices, there are different variants thereof. The variant 'StubbornSetsEC' resolves the design choices such that the resulting pruning method is guaranteed to strictly dominate the Expansion Core pruning method. For details, see

  • Martin Wehrle, Malte Helmert, Yusra Alkhazraji and Robert Mattmueller.
    [http://www.aaai.org/ocs/index.php/ICAPS/ICAPS13/paper/view/6053/6185 The Relative Pruning Power of Strong Stubborn Sets and Expansion Core].
    In Proceedings of the 23rd International Conference on Automated Planning and Scheduling (ICAPS 2013), pp. 251-259. AAAI Press, 2013.

stubborn_sets_ec(min_required_pruning_ratio=0.0, expansions_before_checking_pruning_ratio=1000)
  • min_required_pruning_ratio (double [0.0, 1.0]): disable pruning if the pruning ratio is lower than this value after 'expansions_before_checking_pruning_ratio' expansions

  • expansions_before_checking_pruning_ratio (int [0, infinity]): number of expansions before deciding whether to disable pruning

Automatically disable pruning: Using stubborn sets to prune operators often reduces the required number of expansions but computing the prunable operators has a non-negligible runtime overhead. Whether the decrease in expansions outweighs the increased computational costs depends on the task at hand. Using the options 'min_required_pruning_ratio' (M) and 'expansions_before_checking_pruning_ratio' (E) it is possible to automatically disable pruning after E expansions if the ratio of pruned vs. non-pruned operators is lower than M. In detail, let B and A be the total number of operators before and after pruning summed over all previous expansions. We call 1-(A/B) the pruning ratio R. If R is lower than M after E expansions, we disable pruning for all subsequent expansions, i.e., consider all applicable operators when generating successor states. By default, pruning is never disabled (min_required_pruning_ratio = 0.0). In experiments on IPC benchmarks, stronger results have been observed with automatic disabling (min_required_pruning_ratio = 0.2, expansions_before_checking_pruning_ratio=1000).

Stubborn sets simple

Stubborn sets represent a state pruning method which computes a subset of applicable operators in each state such that completeness and optimality of the overall search is preserved. As stubborn sets rely on several design choices, there are different variants thereof. The variant 'StubbornSetsSimple' resolves the design choices in a straight-forward way. For details, see the following papers:

stubborn_sets_simple(min_required_pruning_ratio=0.0, expansions_before_checking_pruning_ratio=1000)
  • min_required_pruning_ratio (double [0.0, 1.0]): disable pruning if the pruning ratio is lower than this value after 'expansions_before_checking_pruning_ratio' expansions

  • expansions_before_checking_pruning_ratio (int [0, infinity]): number of expansions before deciding whether to disable pruning

Automatically disable pruning: Using stubborn sets to prune operators often reduces the required number of expansions but computing the prunable operators has a non-negligible runtime overhead. Whether the decrease in expansions outweighs the increased computational costs depends on the task at hand. Using the options 'min_required_pruning_ratio' (M) and 'expansions_before_checking_pruning_ratio' (E) it is possible to automatically disable pruning after E expansions if the ratio of pruned vs. non-pruned operators is lower than M. In detail, let B and A be the total number of operators before and after pruning summed over all previous expansions. We call 1-(A/B) the pruning ratio R. If R is lower than M after E expansions, we disable pruning for all subsequent expansions, i.e., consider all applicable operators when generating successor states. By default, pruning is never disabled (min_required_pruning_ratio = 0.0). In experiments on IPC benchmarks, stronger results have been observed with automatic disabling (min_required_pruning_ratio = 0.2, expansions_before_checking_pruning_ratio=1000).

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