Kuroiwa's Biased Exploration code base ported to modern fast downward #241
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds three OPEN list implementations (Kuroiwa and Beck, ICAPS2022, https://github.com/Kurorororo/biased-exploration) ported for the current fast downward. I am not the original author of the source code. I reproduced the results for Softmin (the most performant) and it is quite impressive.
softmin
: Open list that randomly selects h with a probability that is a softmax over different h values. Works with a single heuristic function.softmin_heap
: same, but uses a heap.softmin_type_based
: Similar totype_based
, it works with multiple evaluators. Instead of selecting buckets uniform randomly, uses the softmin criteria.linear_weighted
,linear_weighted_heap
,linear_weighted_type_based
: Open list that randomly selects h with a probability that is linearly interpolated between max/min h, and its variants.nth
,nth_type_based
: Open list that randomly selects from the n th best element.I am open to adding
softmin
andsoftmin_type_based
variants only, removing the less-performant variants.softmin_heap
may be useful depending on the action cost.Another opportunity might be to remove existing type-based open list, given that
softmin_type_based
is better theoretically & empirically.