⇤ ← Revision 1 as of 2014-01-27 10:59:03
2717
Comment:
|
2020
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
* ''sublists'' (list of [[Doc/OpenList|OpenList]]): sub open lists * ''boost'' (int): boost value for sub-open-lists that are restricted to preferred operator nodes '''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 it 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 [[Doc/Heuristic|Heuristic]] Estimators for Satisficing Planning (Extended Version)" (Department of Computer Science at Freiburg University, No. 258, 2010) |
* ''sublists'' (list of [[Doc/OpenList|OpenList]]): open lists between which this one alternates * ''boost'' (int): boost value for contained open lists that are restricted to preferred successors |
Line 28: | Line 22: |
* ''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. | * ''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. |
Line 39: | Line 33: |
Bucket-based open list implementation that uses a single evaluator | Bucket-based open list implementation that uses a single evaluator. Ties are broken in FIFO order. |
Contents
Alternation open list
alternates between several open lists.
alt(sublists, boost=0)
sublists (list of OpenList): open lists between which this one alternates
boost (int): boost value for contained open lists that are restricted to preferred successors
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)
evals (list of ScalarEvaluator): 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.
Standard open list
Standard open list that uses a single evaluator
single(eval, pref_only=false)
eval (ScalarEvaluator): scalar evaluator
pref_only (bool): insert only nodes generated by preferred operators
Bucket-based open list
Bucket-based open list implementation that uses a single evaluator. Ties are broken in FIFO order.
single_buckets(eval, pref_only=false)
eval (ScalarEvaluator): scalar evaluator
pref_only (bool): insert only nodes generated by preferred operators
Tie-breaking open list
tiebreaking(evals, pref_only=false, unsafe_pruning=true)
evals (list of ScalarEvaluator): 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