15template<
typename ValueType,
typename RewardValueType>
16storm::storage::sparse::ModelComponents<ValueType, storm::models::sparse::StandardRewardModel<RewardValueType>>
17DeterministicModelParser<ValueType, RewardValueType>::parseDeterministicModel(std::string
const& transitionsFilename, std::string
const& labelingFilename,
18 std::string
const& stateRewardFilename,
19 std::string
const& transitionRewardFilename,
20 std::string
const& choiceLabelingFilename,
23 storm::storage::SparseMatrix<ValueType> transitions(
26 uint_fast64_t stateCount = transitions.getColumnCount();
32 storm::storage::sparse::ModelComponents<ValueType, storm::models::sparse::StandardRewardModel<RewardValueType>> result(std::move(transitions),
36 std::optional<std::vector<RewardValueType>> stateRewards;
37 if (stateRewardFilename !=
"") {
42 std::optional<storm::storage::SparseMatrix<RewardValueType>> transitionRewards;
43 if (transitionRewardFilename !=
"") {
45 result.transitionMatrix);
48 if (stateRewards || transitionRewards) {
49 result.rewardModels.insert(std::make_pair(
50 "", storm::models::sparse::StandardRewardModel<RewardValueType>(std::move(stateRewards), std::nullopt, std::move(transitionRewards))));
54 std::optional<storm::models::sparse::ChoiceLabeling> choiceLabeling;
55 if (!choiceLabelingFilename.empty()) {
62template<
typename ValueType,
typename RewardValueType>
63storm::models::sparse::Dtmc<ValueType, storm::models::sparse::StandardRewardModel<RewardValueType>>
65 std::string
const& stateRewardFilename, std::string
const& transitionRewardFilename,
68 parseDeterministicModel(transitionsFilename, labelingFilename, stateRewardFilename, transitionRewardFilename, choiceLabelingFilename, options);
72template<
typename ValueType,
typename RewardValueType>
75 std::string
const& stateRewardFilename, std::string
const& transitionRewardFilename,
78 parseDeterministicModel(transitionsFilename, labelingFilename, stateRewardFilename, transitionRewardFilename, choiceLabelingFilename, options);
79 parserResult.rateTransitions =
true;
This class represents a continuous-time Markov chain.
This class represents a discrete-time Markov chain.
Loads a deterministic model (Dtmc or Ctmc) from files.
static storm::models::sparse::Dtmc< ValueType, storm::models::sparse::StandardRewardModel< RewardValueType > > parseDtmc(std::string const &transitionsFilename, std::string const &labelingFilename, std::string const &stateRewardFilename="", std::string const &transitionRewardFilename="", std::string const &choiceLabelingFilename="", ExplicitModelParserOptions const &options=ExplicitModelParserOptions())
Parse a Dtmc.
static storm::models::sparse::Ctmc< ValueType, storm::models::sparse::StandardRewardModel< RewardValueType > > parseCtmc(std::string const &transitionsFilename, std::string const &labelingFilename, std::string const &stateRewardFilename="", std::string const &transitionRewardFilename="", std::string const &choiceLabelingFilename="", ExplicitModelParserOptions const &options=ExplicitModelParserOptions())
Parse a Ctmc.
static storm::storage::SparseMatrix< ValueType > parseDeterministicTransitions(std::string const &filename, ExplicitModelParserOptions const &options=ExplicitModelParserOptions())
Load a deterministic transition system from file and create a sparse adjacency matrix whose entries r...
static storm::storage::SparseMatrix< ValueType > parseDeterministicTransitionRewards(std::string const &filename, storm::storage::SparseMatrix< MatrixValueType > const &transitionMatrix)
Load the transition rewards for a deterministic transition system from file and create a sparse adjac...
static storm::models::sparse::ChoiceLabeling parseChoiceLabeling(uint_fast64_t choiceCount, std::string const &filename, boost::optional< std::vector< uint_fast64_t > > const &nondeterministicChoiceIndices=boost::none)
Parses the given file and returns the resulting choice labeling.
static storm::models::sparse::StateLabeling parseAtomicPropositionLabeling(uint_fast64_t stateCount, std::string const &filename)
Parses the given file and returns the resulting state labeling.
static std::vector< ValueType > parseSparseStateReward(uint_fast64_t stateCount, std::string const &filename)
Reads a state reward file and puts the result in a state reward vector.
Contains all file parsers and helper classes.