Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ConditionalStateEliminator.h
Go to the documentation of this file.
1#pragma once
2
4
6
7namespace storm {
8namespace solver {
9namespace stateelimination {
10
11template<typename ValueType>
13 public:
14 enum class StateLabel { NONE, PHI, PSI };
15
17 storm::storage::FlexibleSparseMatrix<ValueType>& backwardTransitions, std::vector<ValueType>& oneStepProbabilities,
19
20 // Instantiaton of Virtual methods
21 void updateValue(storm::storage::sparse::state_type const& state, ValueType const& loopProbability) override;
22 void updatePredecessor(storm::storage::sparse::state_type const& predecessor, ValueType const& probability,
23 storm::storage::sparse::state_type const& state) override;
24 bool filterPredecessor(storm::storage::sparse::state_type const& state) override;
25 bool isFilterPredecessor() const override;
26
27 void setFilterPhi();
28 void setFilterPsi();
29 void setFilter(StateLabel const& stateLabel);
30 void unsetFilter();
31
32 private:
33 std::vector<ValueType>& oneStepProbabilities;
36 StateLabel filterLabel;
37};
38
39} // namespace stateelimination
40} // namespace solver
41} // namespace storm
bool filterPredecessor(storm::storage::sparse::state_type const &state) override
void updateValue(storm::storage::sparse::state_type const &state, ValueType const &loopProbability) override
ConditionalStateEliminator(storm::storage::FlexibleSparseMatrix< ValueType > &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > &backwardTransitions, std::vector< ValueType > &oneStepProbabilities, storm::storage::BitVector &phiStates, storm::storage::BitVector &psiStates)
void updatePredecessor(storm::storage::sparse::state_type const &predecessor, ValueType const &probability, storm::storage::sparse::state_type const &state) override
StateEliminator(storm::storage::FlexibleSparseMatrix< ValueType > &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > &backwardTransitions)
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
The flexible sparse matrix is used during state elimination.