7493
Comment:
|
4352
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
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 8: | Line 10: |
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(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false) |
Line 11: | Line 13: |
* ''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. |
|
Line 20: | Line 18: |
* ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment | |
Line 23: | Line 20: |
Language features supported: * '''conditional_effects:''' ignored, i.e. not supported |
|
Line 26: | Line 25: |
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, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false) |
Line 31: | Line 30: |
* ''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. |
|
Line 40: | Line 35: |
* ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment | |
Line 46: | Line 40: |
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, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false) |
Line 50: | Line 44: |
* ''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. |
* ''lm_factories'' (list of [[Doc/LandmarkFactory|LandmarkFactory]]): |
Line 60: | Line 50: |
* ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment | |
Line 67: | Line 56: |
Language features supported: * '''conditional_effects:''' supported if all components support them |
|
Line 70: | Line 61: |
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_rhw(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false) |
Line 74: | Line 65: |
* ''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. |
|
Line 83: | Line 70: |
* ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment | |
Line 86: | Line 72: |
Language features supported: * '''conditional_effects:''' supported |
|
Line 89: | Line 77: |
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(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false) |
Line 93: | Line 81: |
* ''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. |
|
Line 102: | Line 86: |
* ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment | |
Line 104: | Line 87: |
Language features supported: * '''conditional_effects:''' We think they are supported, but this is not 100% sure. |
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.
Exhaustive Landmarks
Exhaustively checks for each fact if it is a landmark.This check is done using relaxed planning.
lm_exhaust(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
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
Relevant options: reasonable_orders, only_causal_landmarks
Language features supported:
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, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
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
Relevant options: m, reasonable_orders, conjunctive_landmarks, no_orders
Merged Landmarks
Merges the landmarks and orderings from the parameter landmarks
lm_merged(lm_factories, reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
lm_factories (list of 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
Precedence: Fact landmarks take precedence over disjunctive landmarks, orderings take precedence in the usual manner (gn > nat > reas > o_reas).
Relevant options: Depends on landmarks
Note: Does not currently support conjunctive landmarks
Language features supported:
conditional_effects: supported if all components support them
RHW Landmarks
The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008).
lm_rhw(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
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
Relevant Options: reasonable_orders, only_causal_landmarks, disjunctive_landmarks, no_orders
Language features supported:
conditional_effects: supported
Zhu/Givan Landmarks
The landmark generation method introduced by Zhu & Givan (ICAPS 2003 Doctoral Consortium).
lm_zg(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
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
Relevant options: reasonable_orders, no_orders
Language features supported:
conditional_effects: We think they are supported, but this is not 100% sure.