'Characterise a search heuristic.
If lower values indicate better results, return negatives to
correctly integrate the sorting procedure.
Parameters
rule : Rule
Evaluate this rule.
Returns
res : float
Evaluation function result.'

def evaluate_rule(self, rule):

    raise NotImplementedError
