AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
vdiff_successor_sampler.h
1#ifndef PROBFD_SUCCESSOR_SAMPLERS_VDIFF_SUCCESSOR_SAMPLER_H
2#define PROBFD_SUCCESSOR_SAMPLERS_VDIFF_SUCCESSOR_SAMPLER_H
3
4#include "probfd/algorithms/successor_sampler.h"
5
6#include "probfd/distribution.h"
7
8#include <memory>
9
10// Forward Declarations
11namespace utils {
12class RandomNumberGenerator;
13}
14
16
17template <typename Action>
18class VDiffSuccessorSampler : public algorithms::SuccessorSampler<Action> {
19 const std::shared_ptr<utils::RandomNumberGenerator> rng_;
20 const bool prefer_large_gaps_;
21
22 Distribution<StateID> biased_;
23
24public:
25 explicit VDiffSuccessorSampler(int random_seed, bool prefer_large_gaps);
26
27 explicit VDiffSuccessorSampler(
28 std::shared_ptr<utils::RandomNumberGenerator> rng,
29 bool prefer_large_gaps);
30
31protected:
32 StateID sample(
33 StateID state,
34 Action action,
35 const Distribution<StateID>& successors,
36 algorithms::StateProperties& properties) override;
37};
38
39} // namespace probfd::successor_samplers
40
41#include "probfd/successor_samplers/vdiff_successor_sampler_impl.h"
42
43#endif // PROBFD_SUCCESSOR_SAMPLERS_VDIFF_SUCCESSOR_SAMPLER_H
This namespace contains implementations of transition successor samplers.
Definition arbitrary_sampler.h:7