1#ifndef PROBFD_SOLVERS_MDP_SOLVER_H
2#define PROBFD_SOLVERS_MDP_SOLVER_H
4#include "probfd/solver_interface.h"
6#include "probfd/fdr_types.h"
7#include "probfd/progress_report.h"
8#include "probfd/task_proxy.h"
9#include "probfd/task_state_space.h"
11#include "downward/utils/logging.h"
18class ProbabilisticTask;
19class TaskCostFunctionFactory;
20class TaskEvaluatorFactory;
31 mutable utils::LogProxy log_;
34 const std::shared_ptr<ProbabilisticTask> task_;
36 const std::unique_ptr<TaskStateSpace> task_mdp_;
37 const std::shared_ptr<FDRCostFunction> task_cost_function_;
40 const std::shared_ptr<TaskEvaluatorFactory> heuristic_factory_;
44 const double max_time_;
45 const std::string policy_filename;
46 const bool print_fact_names;
53 utils::Verbosity verbosity,
54 std::vector<std::shared_ptr<::Evaluator>> path_dependent_evaluators,
56 std::shared_ptr<TaskEvaluatorFactory> heuristic_factory,
57 std::optional<value_t> report_epsilon,
60 std::string policy_filename,
61 bool print_fact_names);
A registry for print functions related to search progress.
Definition progress_report.h:33
An interface that describes an MDP solver.
Definition solver_interface.h:28
Base interface for MDP solvers.
Definition mdp_solver.h:30
bool solve() override
Runs the encapsulated MDP on the global problem.
virtual std::unique_ptr< FDRMDPAlgorithm > create_algorithm()=0
Factory method a new instance of the encapsulated MDP algorithm.
MDPSolver(utils::Verbosity verbosity, std::vector< std::shared_ptr<::Evaluator > > path_dependent_evaluators, bool cache, std::shared_ptr< TaskEvaluatorFactory > heuristic_factory, std::optional< value_t > report_epsilon, bool report_enabled, double max_time, std::string policy_filename, bool print_fact_names)
Constructs the MDP solver from the given arguments.
virtual void print_additional_statistics() const
Print additional algorithm statistics to std::cout.
Definition mdp_solver.h:78
virtual std::string get_algorithm_name() const =0
Returns the name of the encapsulated MDP algorithm.
This namespace contains the solver interface base class for various search algorithms.
Definition bisimulation_heuristic_search_algorithm.h:17
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8