1#ifndef MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_H
2#define MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_H
13namespace merge_and_shrink {
14class FactoredTransitionSystem;
15class MergeScoringFunction {
16 virtual std::string name()
const = 0;
17 virtual void dump_function_specific_options(utils::LogProxy &)
const {}
23 MergeScoringFunction();
24 virtual ~MergeScoringFunction() =
default;
25 virtual std::vector<double> compute_scores(
26 const FactoredTransitionSystem &fts,
27 const std::vector<std::pair<int, int>> &merge_candidates) = 0;
28 virtual bool requires_init_distances()
const = 0;
29 virtual bool requires_goal_distances()
const = 0;
32 virtual void initialize(
const TaskProxy &) {
36 void dump_options(utils::LogProxy &log)
const;