2020
Comment:
|
2459
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
== Epsilon-greedy open list == Chooses an entry uniformly randomly with probability 'epsilon', otherwise it returns the minimum entry. {{{ epsilon_greedy(eval, pref_only=false, epsilon=0.2) }}} * ''eval'' ([[Doc/ScalarEvaluator|ScalarEvaluator]]): scalar evaluator * ''pref_only'' (bool): insert only nodes generated by preferred operators * ''epsilon'' (double [0.0, 1.0]): probability for choosing the next entry randomly |
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
Epsilon-greedy open list
Chooses an entry uniformly randomly with probability 'epsilon', otherwise it returns the minimum entry.
epsilon_greedy(eval, pref_only=false, epsilon=0.2)
eval (ScalarEvaluator): scalar evaluator
pref_only (bool): insert only nodes generated by preferred operators
epsilon (double [0.0, 1.0]): probability for choosing the next entry randomly
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