Differences between revisions 14 and 28 (spanning 14 versions)
Revision 14 as of 2016-06-06 17:27:23
Size: 4942
Editor: XmlRpcBot
Comment:
Revision 28 as of 2024-01-11 22:26:37
Size: 5799
Editor: XmlRpcBot
Comment:
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 */

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

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.

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