Storm 1.10.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Mdp.h
Go to the documentation of this file.
1#ifndef STORM_MODELS_SYMBOLIC_MDP_H_
2#define STORM_MODELS_SYMBOLIC_MDP_H_
3
5
6namespace storm {
7namespace models {
8namespace symbolic {
9
13template<storm::dd::DdType Type, typename ValueType = double>
14class Mdp : public NondeterministicModel<Type, ValueType> {
15 public:
17
18 Mdp(Mdp<Type, ValueType> const& other) = default;
19 Mdp& operator=(Mdp<Type, ValueType> const& other) = default;
20
21 Mdp(Mdp<Type, ValueType>&& other) = default;
22 Mdp& operator=(Mdp<Type, ValueType>&& other) = default;
23
42 Mdp(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
43 storm::dd::Bdd<Type> deadlockStates, storm::dd::Add<Type, ValueType> transitionMatrix, std::set<storm::expressions::Variable> const& rowVariables,
44 std::shared_ptr<storm::adapters::AddExpressionAdapter<Type, ValueType>> rowExpressionAdapter,
45 std::set<storm::expressions::Variable> const& columnVariables,
46 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
47 std::set<storm::expressions::Variable> const& nondeterminismVariables,
48 std::map<std::string, storm::expressions::Expression> labelToExpressionMap = std::map<std::string, storm::expressions::Expression>(),
49 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
50
67 Mdp(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
68 storm::dd::Bdd<Type> deadlockStates, storm::dd::Add<Type, ValueType> transitionMatrix, std::set<storm::expressions::Variable> const& rowVariables,
69 std::set<storm::expressions::Variable> const& columnVariables,
70 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
71 std::set<storm::expressions::Variable> const& nondeterminismVariables,
72 std::map<std::string, storm::dd::Bdd<Type>> labelToBddMap = std::map<std::string, storm::dd::Bdd<Type>>(),
73 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
74
75 template<typename NewValueType>
76 std::shared_ptr<Mdp<Type, NewValueType>> toValueType() const;
77};
78
79} // namespace symbolic
80} // namespace models
81} // namespace storm
82
83#endif /* STORM_MODELS_SYMBOLIC_MDP_H_ */
This class represents a discrete-time Markov decision process.
Definition Mdp.h:14
Mdp & operator=(Mdp< Type, ValueType > &&other)=default
NondeterministicModel< Type, ValueType >::RewardModelType RewardModelType
Definition Mdp.h:16
Mdp(Mdp< Type, ValueType > const &other)=default
Mdp & operator=(Mdp< Type, ValueType > const &other)=default
Mdp(Mdp< Type, ValueType > &&other)=default
std::shared_ptr< Mdp< Type, NewValueType > > toValueType() const
Definition Mdp.cpp:45
storm::dd::Add< Type, ValueType > transitionMatrix
Definition Model.h:410
Base class for all nondeterministic symbolic models.
LabParser.cpp.