Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2014-01-27 10:59:03
Size: 7493
Editor: XmlRpcBot
Comment:
Revision 15 as of 2018-09-21 00:01:04
Size: 4442
Editor: XmlRpcBot
Comment:
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]].

'''Warning:''' See [[OptionCaveats|OptionCaveats]] for using cost types with Landmarks
Line 8: 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(reasonable_orders=false, only_causal_landmarks=false, disjunctive_landmarks=true, conjunctive_landmarks=true, no_orders=false)
Line 11: 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.
Line 20: Line 20:
 * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment
Line 23: Line 22:
Language features supported:
 * '''conditional_effects:''' ignored, i.e. not supported
Line 26: Line 27:
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 32:
 * ''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 37:
 * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment
Line 46: Line 42:
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 46:
 * ''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 52:
 * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment
Line 67: Line 58:
Language features supported:
 * '''conditional_effects:''' supported if all components support them
Line 70: Line 63:
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 67:
 * ''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 72:
 * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment
Line 86: Line 74:
Language features supported:
 * '''conditional_effects:''' supported
Line 89: Line 79:
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 83:
 * ''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 88:
 * ''lm_cost_type'' ({NORMAL, ONE, PLUSONE}): landmark action cost adjustment
Line 104: Line 89:

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.

Warning: See OptionCaveats for using cost types with Landmarks

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.

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