AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
transition_sorter.h
1#ifndef PROBFD_ALGORITHMS_TRANSITION_SORTER_H
2#define PROBFD_ALGORITHMS_TRANSITION_SORTER_H
3
4#include "probfd/type_traits.h"
5#include "probfd/types.h"
6
7#include <vector>
8
9// Forward Declarations
10namespace probfd {
11template <typename>
12class Distribution;
13}
14
15namespace probfd::algorithms {
16class StateProperties;
17}
18
19namespace probfd::algorithms {
20
26template <typename State, typename Action>
28public:
29 virtual ~TransitionSorter() = default;
30
42 virtual void sort(
44 const std::vector<Action>& aops,
45 std::vector<Distribution<StateID>>& successors,
46 StateProperties& properties) = 0;
47};
48
49} // namespace probfd::algorithms
50
51#endif // PROBFD_ALGORITHMS_TRANSITION_SORTER_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
An interface used to reorder a list of transitions.
Definition transition_sorter.h:27
virtual void sort(param_type< State > state, const std::vector< Action > &aops, std::vector< Distribution< StateID > > &successors, StateProperties &properties)=0
Sorts a list of transitions.
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
typename std::conditional_t< is_cheap_to_copy_v< T >, T, const T & > param_type
Alias template defining the best way to pass a parameter of a given type.
Definition type_traits.h:25