14template<
typename ValueType,
typename RewardModelType>
23 typedef std::vector<std::vector<boost::optional<storm::storage::BitVector>>>
TransitionMatrix;
40 std::vector<uint_fast64_t>
const& initialMemoryStates,
bool onlyInitialStatesRelevant =
true);
42 std::vector<uint_fast64_t>&& initialMemoryStates,
bool onlyInitialStatesRelevant =
true);
50 uint_fast64_t
getSuccessorMemoryState(uint_fast64_t
const& currentMemoryState, uint_fast64_t
const& modelTransitionIndex)
const;
63 template<
typename ValueType,
typename RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>>
71 std::vector<uint_fast64_t> initialMemoryStates;
72 bool onlyInitialStatesRelevant;
Base class for all sparse models.
This class manages the labeling of the state space with a number of (atomic) labels.
TransitionMatrix const & getTransitionMatrix() const
bool isOnlyInitialStatesRelevantSet() const
MemoryStructure product(MemoryStructure const &rhs) const
Builds the product of this memory structure and the given memory structure.
MemoryStructure(TransitionMatrix const &transitionMatrix, storm::models::sparse::StateLabeling const &memoryStateLabeling, std::vector< uint_fast64_t > const &initialMemoryStates, bool onlyInitialStatesRelevant=true)
Creates a memory structure with the given transition matrix, the given memory state labeling,...
std::vector< std::vector< boost::optional< storm::storage::BitVector > > > TransitionMatrix
std::vector< uint_fast64_t > const & getInitialMemoryStates() const
std::string toString() const
uint_fast64_t getSuccessorMemoryState(uint_fast64_t const ¤tMemoryState, uint_fast64_t const &modelTransitionIndex) const
storm::models::sparse::StateLabeling const & getStateLabeling() const
uint_fast64_t getNumberOfStates() const
This class builds the product of the given sparse model and the given memory structure.