AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
successor_sampler.h
1#ifndef PROBFD_ALGORITHMS_SUCCESSOR_SAMPLER_H
2#define PROBFD_ALGORITHMS_SUCCESSOR_SAMPLER_H
3
4#include "probfd/types.h"
5
6// Forward Declarations
7namespace probfd {
8template <typename>
9class Distribution;
10}
11
12namespace probfd::algorithms {
13class StateProperties;
14}
15
16namespace probfd::algorithms {
17
25template <typename Action>
26class SuccessorSampler {
27public:
28 virtual ~SuccessorSampler() = default;
29
41 virtual StateID sample(
42 StateID state,
43 Action action,
44 const Distribution<StateID>& successor_dist,
45 StateProperties& properties) = 0;
46
51 virtual void print_statistics(std::ostream&) const {}
52};
53
54} // namespace probfd::algorithms
55
56#endif // PROBFD_ALGORITHMS_SUCCESSOR_SAMPLER_H
A convenience class that represents a finite probability distribution.
Definition task_state_space.h:27
Interface providing access to various state properties during heuristic search.
Definition state_properties.h:22
virtual StateID sample(StateID state, Action action, const Distribution< StateID > &successor_dist, StateProperties &properties)=0
Samples a successor from the successor distribution of a transition.
virtual void print_statistics(std::ostream &) const
Prints statistics, e.g. the number of queries made to the interface.
Definition successor_sampler.h:51
This namespace contains implementations of SSP search algorithms.
Definition acyclic_value_iteration.h:22
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8
A StateID represents a state within a StateIDMap. Just like Fast Downward's StateID type,...
Definition types.h:22