AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
merge_scoring_function_single_random.h
1#ifndef MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_SINGLE_RANDOM_H
2#define MERGE_AND_SHRINK_MERGE_SCORING_FUNCTION_SINGLE_RANDOM_H
3
4#include "downward/merge_and_shrink/merge_scoring_function.h"
5
6#include <memory>
7
8namespace utils {
9class RandomNumberGenerator;
10}
11
12namespace merge_and_shrink {
13class MergeScoringFunctionSingleRandom : public MergeScoringFunction {
14 int random_seed; // only for dump options
15 std::shared_ptr<utils::RandomNumberGenerator> rng;
16
17 virtual std::string name() const override;
18 virtual void
19 dump_function_specific_options(utils::LogProxy& log) const override;
20
21public:
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;
26
27 virtual bool requires_init_distances() const override { return false; }
28
29 virtual bool requires_goal_distances() const override { return false; }
30};
31} // namespace merge_and_shrink
32
33#endif