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