4942
Comment:
|
5797
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
'''Warning:''' See [[OptionCaveats|OptionCaveats]] for using cost types with Landmarks | This feature type can be bound to variables using {{{let(variable_name, variable_definition, expression)}}} where {{{expression}}} can use {{{variable_name}}}. Predefinitions using {{{--evaluator}}}, {{{--heuristic}}}, and {{{--landmarks}}} are automatically transformed into {{{let}}}-expressions but are deprecated. |
Line 12: | Line 12: |
lm_exhaust(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_exhaust(verbosity=normal, only_causal_landmarks=false) |
Line 15: | Line 15: |
* ''reasonable_orders'' (bool): generate reasonable orders | * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output |
Line 17: | Line 21: |
* ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''no_orders'' (bool): discard all orderings * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment '''Relevant options:''' reasonable_orders, only_causal_landmarks |
|
Line 23: | Line 22: |
Language features supported: | Supported language features: |
Line 25: | Line 25: |
Line 26: | Line 27: |
Line 27: | Line 29: |
Line 28: | Line 31: |
lm_hm(m=2, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_hm(m=2, conjunctive_landmarks=true, verbosity=normal, use_orders=true) |
Line 31: | Line 34: |
* ''m'' (int): subset size (if unsure, use the default of 2) * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output * ''use_orders'' (bool): use orders between landmarks |
|
Line 32: | Line 43: |
* ''m'' (int): subset size (if unsure, use the default of 2) * ''reasonable_orders'' (bool): generate reasonable orders * ''only_causal_landmarks'' (bool): keep only causal landmarks * ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''no_orders'' (bool): discard all orderings * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment '''Relevant options:''' m, reasonable_orders, conjunctive_landmarks, no_orders |
Supported language features: * '''conditional_effects:''' ignored, i.e. not supported |
Line 42: | Line 48: |
Line 43: | Line 50: |
Line 44: | Line 52: |
lm_merged(lm_factories, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_merged(lm_factories, verbosity=normal) |
Line 47: | Line 55: |
* ''lm_factories'' (list of [[Doc/LandmarkFactory|LandmarkFactory]]): * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output |
|
Line 48: | Line 62: |
* ''lm_factories'' (list of [[Doc/LandmarkFactory|LandmarkFactory]]): * ''reasonable_orders'' (bool): generate reasonable orders * ''only_causal_landmarks'' (bool): keep only causal landmarks * ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''no_orders'' (bool): discard all orderings * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment |
|
Line 56: | Line 63: |
'''Relevant options:''' Depends on landmarks |
|
Line 61: | Line 66: |
Language features supported: | Supported language features: |
Line 63: | Line 69: |
== RHW Landmarks == The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008). |
== HPS Orders == Adds reasonable orders described in the following paper * Jörg Hoffmann, Julie Porteous and Laura Sebastia.<<BR>> [[https://jair.org/index.php/jair/article/view/10390/24882|Ordered Landmarks in Planning]].<<BR>> ''Journal of Artificial Intelligence Research'' 22:215-278. 2004. |
Line 66: | Line 79: |
lm_rhw(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_reasonable_orders_hps(lm_factory, verbosity=normal) |
Line 69: | Line 82: |
* ''lm_factory'' ([[Doc/LandmarkFactory|LandmarkFactory]]): * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output |
|
Line 70: | Line 89: |
* ''reasonable_orders'' (bool): generate reasonable orders * ''only_causal_landmarks'' (bool): keep only causal landmarks * ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''no_orders'' (bool): discard all orderings * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment '''Relevant Options:''' reasonable_orders, only_causal_landmarks, disjunctive_landmarks, no_orders |
'''Obedient-reasonable orders:''' Hoffmann et al. (2004) suggest obedient-reasonable orders in addition to reasonable orders. Obedient-reasonable orders were later also used by the LAMA planner (Richter and Westphal, 2010). They are "reasonable orders" under the assumption that all (non-obedient) reasonable orders are actually "natural", i.e., every plan obeys the reasonable orders. We observed experimentally that obedient-reasonable orders have minimal effect on the performance of LAMA (Büchner et al., 2023) and decided to remove them in issue1089. |
Line 78: | Line 91: |
Language features supported: * '''conditional_effects:''' supported == Zhu/Givan Landmarks == The landmark generation method introduced by Zhu & Givan (ICAPS 2003 Doctoral Consortium). |
Supported language features: * '''conditional_effects:''' supported if subcomponent supports them == RHW Landmarks == The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008). |
Line 83: | Line 100: |
lm_zg(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_rhw(disjunctive_landmarks=true, verbosity=normal, use_orders=true, only_causal_landmarks=false) |
Line 86: | Line 103: |
* ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output * ''use_orders'' (bool): use orders between landmarks * ''only_causal_landmarks'' (bool): keep only causal landmarks |
|
Line 87: | Line 112: |
* ''reasonable_orders'' (bool): generate reasonable orders * ''only_causal_landmarks'' (bool): keep only causal landmarks * ''disjunctive_landmarks'' (bool): keep disjunctive landmarks * ''conjunctive_landmarks'' (bool): keep conjunctive landmarks * ''no_orders'' (bool): discard all orderings * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment '''Relevant options:''' reasonable_orders, no_orders |
Supported language features: |
Line 95: | Line 114: |
Language features supported: | * '''conditional_effects:''' supported == Zhu/Givan Landmarks == The landmark generation method introduced by Zhu & Givan (ICAPS 2003 Doctoral Consortium). {{{ lm_zg(verbosity=normal, use_orders=true) }}} * ''verbosity'' ({silent, normal, verbose, debug}): Option to specify the verbosity level. * {{{silent}}}: only the most basic output * {{{normal}}}: relevant information to monitor progress * {{{verbose}}}: full output * {{{debug}}}: like verbose with additional debug output * ''use_orders'' (bool): use orders between landmarks Supported language features: |
Line 97: | Line 134: |
/* moin code generated by txt2tags 2.6b (http://txt2tags.sf.net) */ /* cmdline: txt2tags */ |
Contents
A landmark factory specification is either a newly created instance or a landmark factory that has been defined previously. This page describes how one can specify a new landmark factory instance. For re-using landmark factories, see Landmark Predefinitions.
This feature type can be bound to variables using let(variable_name, variable_definition, expression) where expression can use variable_name. Predefinitions using --evaluator, --heuristic, and --landmarks are automatically transformed into let-expressions but are deprecated.
Exhaustive Landmarks
Exhaustively checks for each fact if it is a landmark.This check is done using relaxed planning.
lm_exhaust(verbosity=normal, only_causal_landmarks=false)
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
only_causal_landmarks (bool): keep only causal landmarks
Supported language features:
conditional_effects: ignored, i.e. not supported
h^m Landmarks
The landmark generation method introduced by Keyder, Richter & Helmert (ECAI 2010).
lm_hm(m=2, conjunctive_landmarks=true, verbosity=normal, use_orders=true)
m (int): subset size (if unsure, use the default of 2)
conjunctive_landmarks (bool): keep conjunctive landmarks
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
use_orders (bool): use orders between landmarks
Supported language features:
conditional_effects: ignored, i.e. not supported
Merged Landmarks
Merges the landmarks and orderings from the parameter landmarks
lm_merged(lm_factories, verbosity=normal)
lm_factories (list of LandmarkFactory):
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
Precedence: Fact landmarks take precedence over disjunctive landmarks, orderings take precedence in the usual manner (gn > nat > reas > o_reas).
Note: Does not currently support conjunctive landmarks
Supported language features:
conditional_effects: supported if all components support them
HPS Orders
Adds reasonable orders described in the following paper
Jörg Hoffmann, Julie Porteous and Laura Sebastia.
Ordered Landmarks in Planning.
Journal of Artificial Intelligence Research 22:215-278. 2004.
lm_reasonable_orders_hps(lm_factory, verbosity=normal)
lm_factory (LandmarkFactory):
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
Obedient-reasonable orders: Hoffmann et al. (2004) suggest obedient-reasonable orders in addition to reasonable orders. Obedient-reasonable orders were later also used by the LAMA planner (Richter and Westphal, 2010). They are "reasonable orders" under the assumption that all (non-obedient) reasonable orders are actually "natural", i.e., every plan obeys the reasonable orders. We observed experimentally that obedient-reasonable orders have minimal effect on the performance of LAMA (Büchner et al., 2023) and decided to remove them in issue1089.
Supported language features:
conditional_effects: supported if subcomponent supports them
RHW Landmarks
The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008).
lm_rhw(disjunctive_landmarks=true, verbosity=normal, use_orders=true, only_causal_landmarks=false)
disjunctive_landmarks (bool): keep disjunctive landmarks
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
use_orders (bool): use orders between landmarks
only_causal_landmarks (bool): keep only causal landmarks
Supported language features:
conditional_effects: supported
Zhu/Givan Landmarks
The landmark generation method introduced by Zhu & Givan (ICAPS 2003 Doctoral Consortium).
lm_zg(verbosity=normal, use_orders=true)
verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent: only the most basic output
normal: relevant information to monitor progress
verbose: full output
debug: like verbose with additional debug output
use_orders (bool): use orders between landmarks
Supported language features:
conditional_effects: We think they are supported, but this is not 100% sure.