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