Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
PrioritizedStateEliminator.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace storm {
6namespace solver {
7namespace stateelimination {
8
10
11template<typename ValueType>
13 public:
14 typedef typename std::shared_ptr<StatePriorityQueue> PriorityQueuePointer;
15
18 std::vector<ValueType>& stateValues);
21 std::vector<storm::storage::sparse::state_type> const& statesToEliminate, std::vector<ValueType>& stateValues);
22
23 // Instantiaton of virtual methods.
24 virtual void updateValue(storm::storage::sparse::state_type const& state, ValueType const& loopProbability) override;
25 virtual void updatePredecessor(storm::storage::sparse::state_type const& predecessor, ValueType const& probability,
26 storm::storage::sparse::state_type const& state) override;
27 virtual void updatePriority(storm::storage::sparse::state_type const& state) override;
28
29 virtual void eliminateAll(bool eliminateForwardTransitions = true);
31
32 protected:
34 std::vector<ValueType>& stateValues;
35};
36
37} // namespace stateelimination
38} // namespace solver
39} // namespace storm
virtual void updatePriority(storm::storage::sparse::state_type const &state) override
PrioritizedStateEliminator(storm::storage::FlexibleSparseMatrix< ValueType > &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > &backwardTransitions, PriorityQueuePointer priorityQueue, std::vector< ValueType > &stateValues)
virtual void clearStateValues(storm::storage::sparse::state_type const &state)
virtual void eliminateAll(bool eliminateForwardTransitions=true)
virtual void updateValue(storm::storage::sparse::state_type const &state, ValueType const &loopProbability) override
virtual 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)
The flexible sparse matrix is used during state elimination.