Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Dtmc.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace storm {
9namespace models {
10namespace sparse {
11
15template<class ValueType, typename RewardModelType = StandardRewardModel<ValueType>>
16class Dtmc : public DeterministicModel<ValueType, RewardModelType> {
17 public:
26 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
27
36 std::unordered_map<std::string, RewardModelType>&& rewardModels = std::unordered_map<std::string, RewardModelType>());
37
45
46 Dtmc(Dtmc<ValueType, RewardModelType> const& dtmc) = default;
48
51
52 virtual ~Dtmc() = default;
53
54 virtual void reduceToStateBasedRewards() override;
55};
56
57// Instantiated in Dtmc.cpp; prevents hidden consumers from duplicating the vtable/RTTI.
58extern template class Dtmc<double>;
60extern template class Dtmc<storm::RationalNumber>;
62extern template class Dtmc<storm::Interval>;
63extern template class Dtmc<storm::RationalInterval>;
64extern template class Dtmc<storm::RationalFunction>;
65
66} // namespace sparse
67} // namespace models
68} // namespace storm
DeterministicModel(ModelType modelType, storm::storage::sparse::ModelComponents< ValueType, RewardModelType > const &components)
Constructs a model from the given data.
This class represents a discrete-time Markov chain.
Definition Dtmc.h:16
Dtmc(storm::storage::sparse::ModelComponents< ValueType, RewardModelType > const &components)
Constructs a model from the given data.
Definition Dtmc.cpp:29
Dtmc(storm::storage::SparseMatrix< ValueType > &&transitionMatrix, storm::models::sparse::StateLabeling &&stateLabeling, std::unordered_map< std::string, RewardModelType > &&rewardModels=std::unordered_map< std::string, RewardModelType >())
Constructs a model by moving the given data.
Definition Dtmc.cpp:21
Dtmc & operator=(Dtmc< ValueType, RewardModelType > const &dtmc)=default
Dtmc(storm::storage::sparse::ModelComponents< ValueType, RewardModelType > &&components)
Definition Dtmc.cpp:35
Dtmc(Dtmc< ValueType, RewardModelType > &&dtmc)=default
virtual void reduceToStateBasedRewards() override
Converts the transition rewards of all reward models to state-based rewards.
Definition Dtmc.cpp:41
Dtmc(Dtmc< ValueType, RewardModelType > const &dtmc)=default
virtual ~Dtmc()=default
Dtmc & operator=(Dtmc< ValueType, RewardModelType > &&dtmc)=default
Dtmc(storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::models::sparse::StateLabeling const &stateLabeling, std::unordered_map< std::string, RewardModelType > const &rewardModels=std::unordered_map< std::string, RewardModelType >())
Constructs a model from the given data.
Definition Dtmc.cpp:13
This class manages the labeling of the state space with a number of (atomic) labels.
A class that holds a possibly non-square matrix in the compressed row storage format.