Differences between revisions 5 and 8 (spanning 3 versions)
Revision 5 as of 2015-09-10 15:22:40
Size: 2459
Editor: XmlRpcBot
Comment:
Revision 8 as of 2015-10-29 10:45:08
Size: 3703
Editor: XmlRpcBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
Chooses an entry uniformly randomly with probability 'epsilon', otherwise it returns the minimum entry. 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.
Line 18: Line 23:
Line 60: Line 64:
== Type-based open list ==
Uses multiple evaluators to assign entries to buckets. All entries in a bucket have the same evaluator values. When retrieving an entry, a bucket is chosen uniformly at random and one of the contained entries is selected uniformly randomly. The algorithm is based on

 * Fan Xie, Martin Mueller, Robert Holte, Tatsuya Imai.<<BR>>
 [[http://www.aaai.org/ocs/index.php/AAAI/AAAI14/paper/view/8472/8705|Type-Based Exploration with Multiple Search Queues for Satisficing Planning]].<<BR>>
 In ''Proceedings of the Twenty-Eigth AAAI Conference Conference on Artificial Intelligence (AAAI 2014)'', pp. 2395-2401. AAAI Press 2014.

{{{
type_based(evaluators)
}}}

 * ''evaluators'' (list of [[Doc/ScalarEvaluator|ScalarEvaluator]]): Evaluators used to determine the bucket for each entry.

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

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

Type-based open list

Uses multiple evaluators to assign entries to buckets. All entries in a bucket have the same evaluator values. When retrieving an entry, a bucket is chosen uniformly at random and one of the contained entries is selected uniformly randomly. The algorithm is based on

type_based(evaluators)
  • evaluators (list of ScalarEvaluator): Evaluators used to determine the bucket for each entry.

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