16 std::set<storm::expressions::Variable>
const& rowVariables,
18 std::set<storm::expressions::Variable>
const& columnVariables,
19 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>>
const& rowColumnMetaVariablePairs,
20 std::set<storm::expressions::Variable>
const& nondeterminismVariables,
21 std::map<std::string, storm::expressions::Expression> labelToExpressionMap,
22 std::unordered_map<std::string, RewardModelType>
const& rewardModels)
24 rowVariables, rowExpressionAdapter, columnVariables, rowColumnMetaVariablePairs, nondeterminismVariables,
25 labelToExpressionMap, rewardModels) {
32 std::set<storm::expressions::Variable>
const& rowVariables, std::set<storm::expressions::Variable>
const& columnVariables,
33 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>>
const& rowColumnMetaVariablePairs,
34 std::set<storm::expressions::Variable>
const& nondeterminismVariables, std::map<std::string,
storm::dd::Bdd<Type>> labelToBddMap,
35 std::unordered_map<std::string, RewardModelType>
const& rewardModels)
37 rowVariables, columnVariables, rowColumnMetaVariablePairs, nondeterminismVariables, labelToBddMap, rewardModels) {
45 std::unordered_map<std::string, NewRewardModelType> newRewardModels;
47 for (
auto const& e : this->getRewardModels()) {
48 newRewardModels.emplace(e.first, e.second.template toValueType<NewValueType>());
51 auto newLabelToBddMap = this->getLabelToBddMap();
52 newLabelToBddMap.erase(
"init");
53 newLabelToBddMap.erase(
"deadlock");
55 return std::make_shared<Mdp<Type, NewValueType>>(this->getManagerAsSharedPointer(), this->getReachableStates(), this->getInitialStates(),
56 this->getDeadlockStates(), this->getTransitionMatrix().template toValueType<NewValueType>(),
57 this->getRowVariables(), this->getColumnVariables(), this->getRowColumnMetaVariablePairs(),
58 this->getNondeterminismVariables(), newLabelToBddMap, newRewardModels);
Mdp(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 >(), ModelType type=ModelType::Mdp)
Constructs a model from the given data.