Skip to content

SubtaskGenerator

This page describes different subtask (abstraction) generators. They are used by the additive cartesian cegar heuristic .

Abstraction by goals#

For each goal atom of the original task one subproblem is generated having only the atom as its goal.

goals(order=hadd_down, random_seed=-1)

  • order ({original, random, hadd_up, hadd_down}): ordering of goal or landmark facts
    • original: according to their (internal) variable index
    • random: according to a random permutation
    • hadd_up: according to their h^add value, lowest first
    • hadd_down: according to their h^add value, highest first
  • random_seed (int [-1, infinity]): Set to -1 (default) to use the global random number generator. Set to any other value to use a local random number generator with the given seed.

Abstraction by landmarks#

For each fact landmark of the delete relaxation of the original task one subproblem is generated having only the landmark as goal. This is a generalization of abstractions by goals.

landmarks(order=hadd_down, random_seed=-1, combine_facts=true)

  • order ({original, random, hadd_up, hadd_down}): ordering of goal or landmark facts
    • original: according to their (internal) variable index
    • random: according to a random permutation
    • hadd_up: according to their h^add value, lowest first
    • hadd_down: according to their h^add value, highest first
  • random_seed (int [-1, infinity]): Set to -1 (default) to use the global random number generator. Set to any other value to use a local random number generator with the given seed.
  • combine_facts (bool): combine landmark facts with domain abstraction

No abstraction#

Copies of the original task are used as subproblems.

original(copies=1)

  • copies (int [1, infinity]): number of task copies