Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(420)

Unified Diff: src/search/lazy_search.cc

Issue 5311065: issue232
Patch Set: removed debugging messages Created 13 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/search/lazy_search.cc
===================================================================
--- a/src/search/lazy_search.cc
+++ b/src/search/lazy_search.cc
@@ -203,13 +203,14 @@
}
static SearchEngine *_parse(OptionParser &parser) {
+ parser.document_synopsis("Lazy best first search", "");
Plugin<OpenList<OpenListEntryLazy > >::register_open_lists();
- parser.add_option<OpenList<OpenListEntryLazy> *>("open");
- parser.add_option<bool>("reopen_closed", false,
- "reopen closed nodes");
+ parser.add_option<OpenList<OpenListEntryLazy> *>("open", "open list");
+ parser.add_option<bool>("reopen_closed",
+ "reopen closed nodes", "false");
parser.add_list_option<Heuristic *>(
- "preferred", vector<Heuristic *>(),
- "use preferred operators of these heuristics");
+ "preferred",
+ "use preferred operators of these heuristics", "[]");
SearchEngine::add_options_to_parser(parser);
Options opts = parser.parse();
@@ -226,14 +227,28 @@
static SearchEngine *_parse_greedy(OptionParser &parser) {
- parser.add_list_option<ScalarEvaluator *>("evals");
+ parser.document_synopsis("Greedy search (lazy)", "");
+ parser.document_note(
+ "Open lists",
+ "In most cases, lazy greedy best first search uses "
+ "an alternation open list with one queue for each evaluator. "
+ "If preferred operator heuristics are used, it adds an "
+ "extra queue for each of these evaluators that includes "
+ "only the nodes that are generated with a preferred operator. "
+ "If only one evaluator and no preferred operator heuristic is used, "
+ "the search does not use an alternation open list "
+ "but a standard open list with only one queue.");
+ parser.add_list_option<ScalarEvaluator *>("evals", "scalar evaluators");
parser.add_list_option<Heuristic *>(
- "preferred", vector<Heuristic *>(),
- "use preferred operators of these heuristics");
- parser.add_option<bool>("reopen_closed", false,
- "reopen closed nodes");
- parser.add_option<int>("boost", DEFAULT_LAZY_BOOST,
- "boost value for preferred operator open lists");
+ "preferred",
+ "use preferred operators of these heuristics", "[]");
+ parser.add_option<bool>("reopen_closed",
+ "reopen closed nodes", "false");
+ parser.add_option<int>(
+ "boost",
+ "boost value for alternation queues that are restricted "
+ "to preferred operator nodes",
+ OptionParser::to_str(DEFAULT_LAZY_BOOST));
SearchEngine::add_options_to_parser(parser);
Options opts = parser.parse();
@@ -270,14 +285,28 @@
}
static SearchEngine *_parse_weighted_astar(OptionParser &parser) {
+ parser.document_synopsis(
+ "(Weighted) A* search (lazy)",
+ "Weighted A* is a special case of lazy best first search.");
+ parser.document_note(
+ "Open lists",
+ "In the general case, it uses an alternation open list "
+ "with one queue for each evaluator h that ranks the nodes "
+ "by g + w * h. If preferred operator heuristics are used, "
+ "it adds for each of the evaluators another such queue that "
+ "only inserts nodes that are generated by preferred operators. "
+ "In the special case with only one evaluator and no preferred "
+ "operator heuristics, it uses a single queue that "
+ "is ranked by g + w * h. ");
parser.add_list_option<ScalarEvaluator *>("evals");
karpase 2012/10/24 13:49:19 Shouldn't there be a second parameter saying "Scal
malte.helmert 2012/10/24 16:50:12 Yes, I think so. Added.
parser.add_list_option<Heuristic *>(
- "preferred", vector<Heuristic *>(),
- "use preferred operators of these heuristics");
- parser.add_option<bool>("reopen_closed", true, "reopen closed nodes");
- parser.add_option<int>("boost", DEFAULT_LAZY_BOOST,
- "boost value for preferred operator open lists");
- parser.add_option<int>("w", 1, "heuristic weight");
+ "preferred",
+ "use preferred operators of these heuristics", "[]");
+ parser.add_option<bool>("reopen_closed", "reopen closed nodes", "true");
+ parser.add_option<int>("boost",
+ "boost value for preferred operator open lists",
+ OptionParser::to_str(DEFAULT_LAZY_BOOST));
+ parser.add_option<int>("w", "heuristic weight", "1");
SearchEngine::add_options_to_parser(parser);
Options opts = parser.parse();

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b