Differences between revisions 3 and 6 (spanning 3 versions)
Revision 3 as of 2015-07-18 02:55:46
Size: 2025
Editor: XmlRpcBot
Comment:
Revision 6 as of 2015-09-11 10:00:20
Size: 2881
Editor: XmlRpcBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
alt(sublists=, boost=0) alt(sublists, boost=0)
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
Line 16: Line 30:
pareto(evals=, pref_only=false, state_uniform_selection=false) pareto(evals, pref_only=false, state_uniform_selection=false)
Line 26: Line 40:
single(eval=, pref_only=false) single(eval, pref_only=false)
Line 35: Line 49:
single_buckets(eval=, pref_only=false) single_buckets(eval, pref_only=false)
Line 43: Line 57:
tiebreaking(evals=, pref_only=false, unsafe_pruning=true) tiebreaking(evals, pref_only=false, unsafe_pruning=true)

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

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

FastDownward: Doc/OpenList (last edited 2024-01-11 22:26:38 by XmlRpcBot)