Gabi, Malte, and I discovered two bugs in the ehc() plugin while the issue tracker was down last week. Malte documented the following on Discord which I now copy here to record it also on the tracker:
The ehc() plugin seems to have two bugs related to preferred operator usage:
1. The internal variable use_preferred is set to true iff the ehc evaluator "h" is one of the preferred evaluators "preferred". We believe this is wrong; it should be set to true iff "preferred" is nonempty. This only affects configurations that use "preferred", but don't include "h", which is something we perhaps never tested.
2. In "create_ehc_open_list_factory", the creation of the tie-breaking open list passes the arguments "evals, false, true", but it should be "evals, true, false". We switched this up when we changed from Options objects to positional arguments. The effect of this switch-up is that "rank_preferred_first" semantically behaves more or less the same as "prune_by_preferred". When repairing this, we should observe that these two configurations behave more differently from each other than they currently do.
|