AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
vbiased_successor_sampler.h
1#ifndef PROBFD_SUCCESSOR_SAMPLERS_VBIASED_SUCCESSOR_SAMPLER_H
2#define PROBFD_SUCCESSOR_SAMPLERS_VBIASED_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 VBiasedSuccessorSampler : public algorithms::SuccessorSampler<Action> {
19 Distribution<StateID> biased_;
20 std::shared_ptr<utils::RandomNumberGenerator> rng_;
21
22public:
23 explicit VBiasedSuccessorSampler(int random_seed);
24
25 explicit VBiasedSuccessorSampler(
26 std::shared_ptr<utils::RandomNumberGenerator> rng);
27
28protected:
29 StateID sample(
30 StateID state,
31 Action action,
32 const Distribution<StateID>& successors,
33 algorithms::StateProperties& properties) override;
34};
35
36} // namespace probfd::successor_samplers
37
38#include "probfd/successor_samplers/vbiased_successor_sampler_impl.h"
39
40#endif // PROBFD_SUCCESSOR_SAMPLERS_VBIASED_SUCCESSOR_SAMPLER_H
This namespace contains implementations of transition successor samplers.
Definition arbitrary_sampler.h:7