LandmarkFactory
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.
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.
- verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent
: only the most basic outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: 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).
- 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 outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: 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_factories (list of LandmarkFactory):
- verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent
: only the most basic outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: 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 and obedient 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_factory (LandmarkFactory):
- verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent
: only the most basic outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: like verbose with additional debug output
Supported language features:
- conditional_effects: supported if subcomponent supports them
RHW Landmarks#
The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008).
- disjunctive_landmarks (bool): keep disjunctive landmarks
- verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent
: only the most basic outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: 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).
- verbosity ({silent, normal, verbose, debug}): Option to specify the verbosity level.
silent
: only the most basic outputnormal
: relevant information to monitor progressverbose
: full outputdebug
: 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.