2270
Comment:
|
← Revision 7 as of 2023-07-28 10:15:12 ⇥
0
This page has long been replaced by Doc/OpenList. It wasn't detected as orphaned because it referenced itself.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Back to the HomePage. = Open lists = * [[#alt|alternation open list]] * [[#pareto|pareto open list]] * [[#single|standard open list]] * [[#single_buckets|bucket-based open list]] * [[#tiebreaking|tie-breaking open list]] <<Anchor(alt)>> === Alternation open list === {{{ alt(open_list1, open_list2, ..., boost=1000) }}} Alternates between several open lists. * `open_list1, open_list2, ...` (comma-separated list of [[OpenList]]s): open lists * `boost` (int): boost value for successful sub-open-lists <<Anchor(pareto)>> === Pareto open list === {{{ pareto(evaluator1, evaluator2, ..., pref_only=false, state_uniform_selection=false) }}} Selects one of the Pareto-optimal (regarding the sub-evaluators) entry for removal. * `evaluator1, evaluator2, ...` (comma-separated list of [[ScalarEvaluator]]s): scalar evaluators * `pref_only` (bool): insert only nodes generated by preferred operators * `state_uniform_selection` (bool): When removing an entry, we select a non-dominated bucket and return its oldest entry. If this option is false, we select uniformly from the non-dominated buckets; if the option is true, we weight the buckets with the number of entries. <<Anchor(single)>> === Standard open list === {{{ single(evaluator, pref_only=false) }}} Standard open list that uses a single evaluator. * `evaluator` (ScalarEvaluator): scalar evaluator * `pref_only` (bool): insert only nodes generated by preferred operators <<Anchor(single_buckets)>> === Bucket-based open list === {{{ single_buckets(evaluator, pref_only=false) }}} Bucket-based open list implementation that uses a single evaluator. * `evaluator` (ScalarEvaluator): scalar evaluator * `pref_only` (bool): insert only nodes generated by preferred operators <<Anchor(tiebreaking)>> === Tie-breaking open list === {{{ tiebreaking(evaluator1, evaluator2, ..., pref_only=false, unsafe_pruning=true) }}} * `evaluator1, evaluator2, ...` (comma-separated list of [[ScalarEvaluator]]s): scalar evaluators * `pref_only` (bool): insert only nodes generated by preferred operators * `unsafe_pruning` (bool): allow unsafe pruning when the main evaluator regards a state a dead end |