We plan to change the way heuristics are evaluated. Instead of calling
evaluate() and then asking for information (heuristic value, dead end detection,
preferred operators), the plan is to have one function that returns all required
information in one object (EvaluationResult). Optional parameters which default
to true specify which information is required.
Use cases:
In the sampling procedure of iPDB, we are interested in whether a state is a
dead end (but not its heuristic value or preferred operators). This can be
computed much faster than computing the full heuristic value.
In the landmark heuristic with the landmark synergy, computing preferred
operators can require additional overhead that can be avoided if they are not
needed.
|