1#ifndef STORM_MODELS_SPARSE_NONDETERMINISTICMODEL_H_
2#define STORM_MODELS_SPARSE_NONDETERMINISTICMODEL_H_
11template<
typename ValueType>
21template<
class ValueType,
typename RewardModelType = StandardRewardModel<ValueType>>
65 bool dropUnreachableStates =
true,
66 bool preserveModelType =
false)
const;
70 virtual void writeDotToStream(std::ostream& outStream,
size_t maxWidthLabel = 30,
bool includeLabeling =
true,
72 std::vector<ValueType>
const* secondValue =
nullptr, std::vector<uint_fast64_t>
const* stateColoring =
nullptr,
73 std::vector<std::string>
const* colors =
nullptr, std::vector<uint_fast64_t>* scheduler =
nullptr,
74 bool finalizeOutput =
true)
const override;
Base class for all sparse models.
virtual uint_fast64_t getNumberOfChoices() const override
Returns the number of choices ine the model.
CRewardModelType RewardModelType
The base class of sparse nondeterministic models.
std::vector< uint_fast64_t > const & getNondeterministicChoiceIndices() const
Retrieves the vector indicating which matrix rows represent non-deterministic choices of a certain st...
virtual ~NondeterministicModel()=default
virtual void printModelInformationToStream(std::ostream &out) const override
Prints information about the model to the specified stream.
std::shared_ptr< storm::models::sparse::Model< ValueType, RewardModelType > > applyScheduler(storm::storage::Scheduler< ValueType > const &scheduler, bool dropUnreachableStates=true, bool preserveModelType=false) const
Applies the given scheduler to this model.
virtual void reduceToStateBasedRewards() override
Converts the transition rewards of all reward models to state-based rewards.
virtual void writeDotToStream(std::ostream &outStream, size_t maxWidthLabel=30, bool includeLabeling=true, storm::storage::BitVector const *subsystem=nullptr, std::vector< ValueType > const *firstValue=nullptr, std::vector< ValueType > const *secondValue=nullptr, std::vector< uint_fast64_t > const *stateColoring=nullptr, std::vector< std::string > const *colors=nullptr, std::vector< uint_fast64_t > *scheduler=nullptr, bool finalizeOutput=true) const override
uint_fast64_t getChoiceIndex(storm::storage::StateActionPair const &stateactPair) const
For a state/action pair, get the choice index referring to the state-action pair.
A bit vector that is internally represented as a vector of 64-bit values.
This class defines which action is chosen in a particular state of a non-deterministic model.