1#ifndef MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_SINGLE_RANDOM_H
2#define MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_SINGLE_RANDOM_H
4#include "downward/merge_and_shrink/merge_scoring_function.h"
9class RandomNumberGenerator;
12namespace merge_and_shrink {
13class MergeScoringFunctionSingleRandom :
public MergeScoringFunction {
15 std::shared_ptr<utils::RandomNumberGenerator> rng;
17 virtual std::string name()
const override;
19 dump_function_specific_options(utils::LogProxy& log)
const override;
22 explicit MergeScoringFunctionSingleRandom(
int random_seed);
23 virtual std::vector<double> compute_scores(
24 const FactoredTransitionSystem& fts,
25 const std::vector<std::pair<int, int>>& merge_candidates)
override;
27 virtual bool requires_init_distances()
const override {
return false; }
29 virtual bool requires_goal_distances()
const override {
return false; }