Author manuel
Recipients jendrik, malte, manuel
Date 2017-04-26.17:34:58
I put a pull request on bitbucket. Up to now, I did the minimal changes to
eliminate Heuristic from plugins. During the process of this change I stumbled
over following issues:

1. Change predefinition option --heuristic to --evaluator.

2. Enable description for all evaluators, not only for heuristics. The
description for FFHeuristic is "ff", which is the plugin key. At the moment
Evaluator provides the function get_description() (which was formerly a function
of Heuristic only). It returns "n.a." for classes that do not inherit from

3. Get rid of dynamic_cast for checking if Evaluator is a Heuristic. The cast
ensures that caching and counting evaluations is done for Heuristic only. I
suggest to add following functions to Evaluator: bool
cache_evaluation_results(), bool count_evaluations().  

4. Classes that inherit from Evaluator are forced to implement the virtual
function get_involved_heuristics(). Consequently, each evaluator must define it.
I suggest to define the function in Evaluator with an empty body ({}). Then, the
classes are free to redefine the function.

5. ConstEvaluator can inherit from Evaluator, because the requirement that a
search needs at least one Heuristic does not hold anymore.

I am not sure if we want to cover some of these issues now, or add them to the
issue tracker.
Date User Action Args
2017-04-26 17:34:58manuelsetmessageid: <>
2017-04-26 17:34:58manuelsetrecipients: + manuel, malte, jendrik
2017-04-26 17:34:58manuellinkissue718 messages
2017-04-26 17:34:58manuelcreate