2020
Comment:
|
2881
|
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. The algorithm is based on * Richard Valenzano, Nathan R. Sturtevant, Jonathan Schaeffer, and Fan Xie.<<BR>> [[http://www.aaai.org/ocs/index.php/ICAPS/ICAPS14/paper/view/7943/8066|A Comparison of Knowledge-Based GBFS Enhancements and Knowledge-Free Exploration]].<<BR>> In ''Proceedings of the Twenty-Fourth International Conference on Automated Planning and Scheduling (ICAPS 2014)'', pp. 375-379. AAAI Press 2014. {{{ 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. The algorithm is based on
Richard Valenzano, Nathan R. Sturtevant, Jonathan Schaeffer, and Fan Xie.
A Comparison of Knowledge-Based GBFS Enhancements and Knowledge-Free Exploration.
In Proceedings of the Twenty-Fourth International Conference on Automated Planning and Scheduling (ICAPS 2014), pp. 375-379. AAAI Press 2014.
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