Revision 3 as of 2011-08-09 11:35:02

Clear message

2011-08-09

Help: Experimental automatically generated documentation.

heuristics

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:

FF heuristic

See also LAMA-FF synergy.

ff(cost_type = NORMAL)

Language features supported:

Properties:

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:

Landmark-count heuristic

See also LAMA-FF 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 LandmarksDefinition) Language features supported:

Properties:

Landmark-cut heuristic

lmcut(cost_type = NORMAL)

Language features supported:

Properties:

Merge-and-shrink heuristic

Note: The numbering of the composition and collapsing options has changed in July 2010. Please adapt them when using old experiment scripts (reduce old value by 1).

mas(max_states, max_states_before_merge, count = 1, merge_strategy = MERGE_LINEAR_CG_GOAL_LEVEL, shrink_strategy = SHRINK_HIGH_F_LOW_H, simplify_labels = true, expensive_statistics = false, merge_mixing_parameter = -1, cost_type = NORMAL)

Language features supported:

Properties:

IPC-Max Heuristic

max(heuristics, cost_type = NORMAL)

Selective-max heuristic

selmax(heuristics, alpha = 1, classifier = NB, conf_threshold = 0.6, training_set = 100, eval_always = 0, random_sel = false, retime = false, sample = Probe, uniform = false, zero_threshold = false, cost_type = NORMAL)

Language features supported:

Properties:

openlists

Alternation open list

alternates between several open lists.

alt(openlists, boost = 0)

Preferred operators: Preferred operators are only taken from sub-open-lists that do not consider the evaluated state a dead end. Dead ends: A state is considered a dead end if either all alternated open lists agree that it is a dead end or at least one reliable open list considers is a dead end. A state is never inserted into a sub-open-list that considers it a dead end. Note: The treatment of dead ends is different from the one described in the [http://tr.informatik.uni-freiburg.de/reports/report258/report00258.ps.gz technical report] "The More, the Merrier: Combining Heuristic Estimators for Satisficing Planning (Extended Version)" (Department of Computer Science at Freiburg University, No. 258, 2010)

Pareto open list

Selects one of the Pareto-optimal (regarding the sub-evaluators) entries for removal.

pareto(evals, pref_only = false, state_uniform_selection = false)

Standard open list

Standard open list that uses a single evaluator

single(eval, pref_only = false)

Bucket-based open list

Bucket-based open list implementation that uses a single evaluator

single_buckets(eval, pref_only = false)

Tie-breaking open list

tiebreaking(evals, pref_only = false, unsafe_pruning = true)

search engines

A* search (eager)

A* is a special case of eager best first search that uses g+h as f-function. We break ties using the evaluator. Closed nodes are re-opened.

astar(eval, pathmax = false, mpd = false, cost_type = NORMAL, bound = 2147483647)

mpd option: This option is currently only present for the A* algorithm and not for the more general eager search, because the current implementation of multi-path depedence does not support general open lists.

eager(open, reopen_closed = false, pathmax = false, f_eval = 0, preferred = [], cost_type = NORMAL, bound = 2147483647)

Greedy search (eager)

eager_greedy(evals, preferred = [], boost = 0, cost_type = NORMAL, bound = 2147483647)

Open list: In most cases, eager greedy best first search uses an alternation open list with one queue for each evaluator. If preferred operator heuristics are used, it adds an extra queue for each of these evaluators that includes only the nodes that are generated with a preferred operator. If only one evaluator and no preferred operator heuristic is used, the search does not use an alternation open list but a standard open list with only one queue. Closed nodes: Closed node are not re-opened

Enforced hill-climbing

ehc(h, bfs_use_cost = false, preferred_usage = PRUNE_BY_PREFERRED, preferred = [], cost_type = NORMAL, bound = 2147483647)

iterated(engine_configs, pass_bound = true, repeat_last = false, continue_on_fail = false, continue_on_solve = true, plan_counter = 0, cost_type = NORMAL, bound = 2147483647)

Note 1: We do no cache values between search iterations at the moment. If you perform a LAMA-style iterative search, heuristic values will be computed multiple times. Adding heuristic caching is [http://issues.fast-downward.org/issue108 issue108]. Note 2: Use heuristic predefinition to avoid duplicate preprocessing (e.g. in the merge-and-shrink heuristic) when using the same heuristic multiple times. Note 3: If you reuse the same landmark count heuristic (using heuristic predefinition) between iterations, the path data (that is, landmark status for each visited state) will be saved between iterations.

lazy(open, reopen_closed = false, preferred = [], cost_type = NORMAL, bound = 2147483647)

Greedy search (lazy)

lazy_greedy(evals, preferred = [], reopen_closed = false, boost = 1000, cost_type = NORMAL, bound = 2147483647)

Open lists: In most cases, lazy greedy best first search uses an alternation open list with one queue for each evaluator. If preferred operator heuristics are used, it adds an extra queue for each of these evaluators that includes only the nodes that are generated with a preferred operator. If only one evaluator and no preferred operator heuristic is used, the search does not use an alternation open list but a standard open list with only one queue.

(Weighted) A* search (lazy)

Weighted A* is a special case of lazy best first search.

lazy_wastar(evals, preferred = [], reopen_closed = true, boost = 1000, w = 1, cost_type = NORMAL, bound = 2147483647)

Open lists: In the general case, it uses an alternation open list with one queue for each evaluator h that ranks the nodes by g + w * h. If preferred operator heuristics are used, it adds for each of the evaluators another such queue that only inserts nodes that are generated by preferred operators. In the special case with only one evaluator and no preferred operator heuristics, it uses a single queue that is ranked by g + w * h.

scalar evaluators

g-value evaluator

Returns the current g-value of the search.

g()

Preference evaluator

Returns 0 if preferred is true and 1 otherwise.

pref()

Sum evaluator

Calculates the sum of the sub-evaluators.

sum(evalsat least one scalar evaluator)

Weighted evaluator

Multiplies the value of the scalar evaluator with the given weight.

weight(eval, weight)

landmarks graphs

Exhaustive Landmarks

Exhaustively checks for each fact if it is a landmark.This check is done using relaxed planning.

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)

Relevant options: reasonable_orders, only_causal_landmarks

h^m Landmarks

The landmark generation method introduced by Keyder, Richter & Helmert (ECAI 2010).

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)

Relevant options: m, reasonable_orders, conjunctive_landmarks, no_orders

Merged Landmarks

Merges the landmarks and orderings from the parameter landmarks

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)

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

RHW Landmarks

The landmark generation method introduced by Richter, Helmert and Westphal (AAAI 2008).

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)

relevant_options: reasonable_orders, only_causal_landmarks, disjunctive_landmarks, no_orders

Zhu/Givan Landmarks

The landmark generation method introduced by Zhu & Givan (ICAPS 2003 Doctoral Consortium).

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)

Relevant options: reasonable_orders, no_orders

synergys

lm_ff_syn

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

Help output finished. Peak memory: 2500 KB