1#ifndef PROBFD_MDP_ALGORITHM_H
2#define PROBFD_MDP_ALGORITHM_H
4#include "probfd/policy.h"
5#include "probfd/progress_report.h"
6#include "probfd/type_traits.h"
13template <
typename,
typename>
28template <
typename State,
typename Action>
The interface representing heuristic functions.
Definition mdp_algorithm.h:16
Interface for MDP algorithm implementations.
Definition mdp_algorithm.h:29
virtual std::unique_ptr< PolicyType > compute_policy(MDPType &mdp, EvaluatorType &heuristic, param_type< State > state, ProgressReport progress, double maxtime)=0
Computes a partial policy for the input state.
virtual Interval solve(MDPType &mdp, EvaluatorType &heuristic, param_type< State > state, ProgressReport progress, double max_time)=0
Runs the MDP algorithm for the initial state state with a maximum time limit.
virtual void print_statistics(std::ostream &) const
Prints algorithm statistics to the specified output stream.
Definition mdp_algorithm.h:63
Basic interface for MDPs.
Definition mdp_algorithm.h:14
A registry for print functions related to search progress.
Definition progress_report.h:33
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
Represents a closed interval over the extended reals as a pair of lower and upper bound.
Definition interval.h:12