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