Revision 8 as of 2014-01-27 21:06:39

Clear message

A heuristic specification is either a newly created heuristic instance or a heuristic that has been defined previously. This page describes how one can specify a new heuristic instance. For re-using heuristics, see Heuristic Predefinitions.

Definitions of properties in the descriptions below:

Additive heuristic

add(cost_type=NORMAL)

Language features supported:

Properties:

Blind heuristic

Returns cost of cheapest action for non-goal states, 0 for goal states

blind(cost_type=NORMAL)

Language features supported:

Properties:

Context-enhanced additive heuristic

cea(cost_type=NORMAL)

Language features supported:

Properties:

Causal graph heuristic

cg(cost_type=NORMAL)

Language features supported:

Properties:

Canonical PDB

cpdbs(cost_type=NORMAL, patterns=None, combo=false, max_states=1000000)

FF heuristic

See also Synergy.

ff(cost_type=NORMAL)

Language features supported:

Properties:

Genetic Algorithm PDB

gapdb(pdb_max_size=50000, num_collections=5, num_episodes=30, mutation_probability=0.01, disjoint=false, cost_type=NORMAL)

Goal count heuristic

goalcount(cost_type=NORMAL)

Language features supported:

Properties:

h^m heuristic

hm(m=2, cost_type=NORMAL)

Language features supported:

Properties:

Max heuristic

hmax(cost_type=NORMAL)

Language features supported:

Properties:

iPDB

the pattern selection procedure by Haslum et al. (AAAI 2007); see also Sievers et al. (SoCS 2012) for implementation notes

ipdb(pdb_max_size=2000000, collection_max_size=20000000, num_samples=1000, min_improvement=10, cost_type=NORMAL)

Landmark-count heuristic

See also Synergy

lmcount(lm_graph, admissible=false, optimal=false, pref=false, alm=true, cost_type=NORMAL)

Note: to use optimal=true, you must build the planner with USE_LP=1. See LPBuildInstructions.

Optimal search: when using landmarks for optimal search (admissible=true), you probably also want to enable the mpd option of the A* algorithm to improve heuristic estimates

cost_type parameter: only used when admissible=true (see LandmarkGraph)

Language features supported:

Properties:

Landmark-cut heuristic

lmcut(cost_type=NORMAL)

Language features supported:

Properties:

Merge-and-shrink heuristic

Note: The parameter space and syntax for the merge-and-shrink heuristic has changed significantly in August 2011.

merge_and_shrink(merge_strategy=MERGE_LINEAR_CG_GOAL_LEVEL, shrink_strategy=shrink_fh(max_states=50000, max_states_before_merge=50000, shrink_f=high, shrink_h=low), reduce_labels=true, expensive_statistics=false, cost_type=NORMAL)

shrink_fh(max_states=N)`

shrink_bisimulation(max_states=infinity, threshold=1, greedy=true, initialize_by_h=false, group_by_h=false)`

shrink_bisimulation(max_states=N, greedy=false, initialize_by_h=true, group_by_h=true)`

Language features supported:

Properties:

Pattern database heuristic

TODO

pdb(cost_type=NORMAL, max_states=1000000, pattern=None)

Zero-One PDB

zopdbs(cost_type=NORMAL, patterns=None, combo=false, max_states=1000000)