7877
Comment:
|
5801
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
A landmark graph specification is either a newly created instance or a landmark graph that has been defined previously. This page describes how one can specify a new landmark graph instance. For re-using landmark graphs, see [[OptionSyntax#Landmark_Predefinitions|Landmark_Predefinitions]]. | 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 [[OptionSyntax#Landmark_Predefinitions|Landmark Predefinitions]]. |
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(cost_type=NORMAL, 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: |
* ''cost_type'' ({NORMAL, ONE, PLUSONE}): Operator cost adjustment type. No matter what this setting is, axioms will always be considered as actions of cost 0 by the heuristics that treat axioms as actions. * {{{NORMAL}}}: all actions are accounted for with their real cost * {{{ONE}}}: all actions are accounted for as unit cost * {{{PLUSONE}}}: all actions are accounted for as their real cost + 1 (except if all actions have original cost 1, in which case cost 1 is used). This is the behaviour known for the heuristics of the LAMA planner. This is intended to be used by the heuristics, not search engines, but is supported for both. * ''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 21: | 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 |
Supported language features: * '''conditional_effects:''' ignored, i.e. not supported |
Line 28: | Line 27: |
Line 29: | Line 29: |
Line 30: | Line 31: |
lm_hm(m=2, cost_type=NORMAL, 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 33: | 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 34: | Line 43: |
* ''m'' (int): subset size (if unsure, use the default of 2) * ''cost_type'' ({NORMAL, ONE, PLUSONE}): Operator cost adjustment type. No matter what this setting is, axioms will always be considered as actions of cost 0 by the heuristics that treat axioms as actions. * {{{NORMAL}}}: all actions are accounted for with their real cost * {{{ONE}}}: all actions are accounted for as unit cost * {{{PLUSONE}}}: all actions are accounted for as their real cost + 1 (except if all actions have original cost 1, in which case cost 1 is used). This is the behaviour known for the heuristics of the LAMA planner. This is intended to be used by the heuristics, not search engines, but is supported for both. * ''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 48: | Line 48: |
Line 49: | Line 50: |
Line 50: | Line 52: |
lm_merged(lm_graphs, cost_type=NORMAL, 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 53: | 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 54: | Line 62: |
* ''lm_graphs'' (list of [[Doc/LandmarkGraph|LandmarkGraph]]): * ''cost_type'' ({NORMAL, ONE, PLUSONE}): Operator cost adjustment type. No matter what this setting is, axioms will always be considered as actions of cost 0 by the heuristics that treat axioms as actions. * {{{NORMAL}}}: all actions are accounted for with their real cost * {{{ONE}}}: all actions are accounted for as unit cost * {{{PLUSONE}}}: all actions are accounted for as their real cost + 1 (except if all actions have original cost 1, in which case cost 1 is used). This is the behaviour known for the heuristics of the LAMA planner. This is intended to be used by the heuristics, not search engines, but is supported for both. * ''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 66: | Line 63: |
'''Relevant options:''' Depends on landmarks |
|
Line 71: | Line 66: |
== RHW Landmarks == The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008). |
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.<<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 74: | Line 79: |
lm_rhw(cost_type=NORMAL, 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 77: | 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 78: | Line 89: |
* ''cost_type'' ({NORMAL, ONE, PLUSONE}): Operator cost adjustment type. No matter what this setting is, axioms will always be considered as actions of cost 0 by the heuristics that treat axioms as actions. * {{{NORMAL}}}: all actions are accounted for with their real cost * {{{ONE}}}: all actions are accounted for as unit cost * {{{PLUSONE}}}: all actions are accounted for as their real cost + 1 (except if all actions have original cost 1, in which case cost 1 is used). This is the behaviour known for the heuristics of the LAMA planner. This is intended to be used by the heuristics, not search engines, but is supported for both. * ''reasonable_orders'' (bool): generate reasonable 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. 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 |
Line 84: | Line 111: |
* ''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 |
Supported language features: * '''conditional_effects:''' supported |
Line 91: | Line 117: |
Line 92: | Line 119: |
Line 93: | Line 121: |
lm_zg(cost_type=NORMAL, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false, lm_cost_type=NORMAL) | lm_zg(verbosity=normal, use_orders=true) |
Line 96: | Line 124: |
* ''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 97: | Line 131: |
* ''cost_type'' ({NORMAL, ONE, PLUSONE}): Operator cost adjustment type. No matter what this setting is, axioms will always be considered as actions of cost 0 by the heuristics that treat axioms as actions. * {{{NORMAL}}}: all actions are accounted for with their real cost * {{{ONE}}}: all actions are accounted for as unit cost * {{{PLUSONE}}}: all actions are accounted for as their real cost + 1 (except if all actions have original cost 1, in which case cost 1 is used). This is the behaviour known for the heuristics of the LAMA planner. This is intended to be used by the heuristics, not search engines, but is supported for both. * ''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 109: | Line 133: |
/* moin code generated by txt2tags 2.6b (http://txt2tags.sf.net) */ /* cmdline: txt2tags */ |
* '''conditional_effects:''' We think they are supported, but this is not 100% sure. |
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.