Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
MultiValueStateEliminator.h
Go to the documentation of this file.
1
#pragma once
2
#include "
storm/solver/stateelimination/PrioritizedStateEliminator.h
"
3
4
namespace
storm
{
5
namespace
solver {
6
namespace
stateelimination {
7
8
class
StatePriorityQueue;
9
10
template
<
typename
ValueType>
11
class
MultiValueStateEliminator
:
public
PrioritizedStateEliminator
<ValueType> {
12
private
:
13
typedef
PrioritizedStateEliminator<ValueType>
super
;
14
15
public
:
16
typedef
typename
std::shared_ptr<StatePriorityQueue>
PriorityQueuePointer
;
17
typedef
typename
std::vector<ValueType>
ValueTypeVector
;
18
19
MultiValueStateEliminator
(
storm::storage::FlexibleSparseMatrix<ValueType>
& transitionMatrix,
20
storm::storage::FlexibleSparseMatrix<ValueType>
& backwardTransitions,
PriorityQueuePointer
priorityQueue
,
21
std::vector<ValueType>&
stateValues
, std::vector<ValueType>& additionalStateValues);
22
MultiValueStateEliminator
(
storm::storage::FlexibleSparseMatrix<ValueType>
& transitionMatrix,
23
storm::storage::FlexibleSparseMatrix<ValueType>
& backwardTransitions,
24
std::vector<storm::storage::sparse::state_type>
const
& statesToEliminate, std::vector<ValueType>&
stateValues
,
25
std::vector<ValueType>& additionalStateValues);
26
27
// Instantiaton of virtual methods.
28
void
updateValue
(
storm::storage::sparse::state_type
const
& state, ValueType
const
& loopProbability)
override
;
29
void
updatePredecessor
(
storm::storage::sparse::state_type
const
& predecessor, ValueType
const
& probability,
30
storm::storage::sparse::state_type
const
& state)
override
;
31
32
virtual
void
clearStateValues
(
storm::storage::sparse::state_type
const
& state)
override
;
33
34
private
:
35
std::vector<std::reference_wrapper<ValueTypeVector>> additionalStateValues;
36
};
37
38
}
// namespace stateelimination
39
}
// namespace solver
40
}
// namespace storm
PrioritizedStateEliminator.h
storm::solver::stateelimination::MultiValueStateEliminator
Definition
MultiValueStateEliminator.h:11
storm::solver::stateelimination::MultiValueStateEliminator::updatePredecessor
void updatePredecessor(storm::storage::sparse::state_type const &predecessor, ValueType const &probability, storm::storage::sparse::state_type const &state) override
Definition
MultiValueStateEliminator.cpp:35
storm::solver::stateelimination::MultiValueStateEliminator::ValueTypeVector
std::vector< ValueType > ValueTypeVector
Definition
MultiValueStateEliminator.h:17
storm::solver::stateelimination::MultiValueStateEliminator::PriorityQueuePointer
std::shared_ptr< StatePriorityQueue > PriorityQueuePointer
Definition
MultiValueStateEliminator.h:16
storm::solver::stateelimination::MultiValueStateEliminator::clearStateValues
virtual void clearStateValues(storm::storage::sparse::state_type const &state) override
Definition
MultiValueStateEliminator.cpp:47
storm::solver::stateelimination::MultiValueStateEliminator::updateValue
void updateValue(storm::storage::sparse::state_type const &state, ValueType const &loopProbability) override
Definition
MultiValueStateEliminator.cpp:27
storm::solver::stateelimination::PrioritizedStateEliminator
Definition
PrioritizedStateEliminator.h:13
storm::solver::stateelimination::PrioritizedStateEliminator::stateValues
std::vector< ValueType > & stateValues
Definition
PrioritizedStateEliminator.h:35
storm::solver::stateelimination::PrioritizedStateEliminator::priorityQueue
PriorityQueuePointer priorityQueue
Definition
PrioritizedStateEliminator.h:34
storm::storage::FlexibleSparseMatrix
The flexible sparse matrix is used during state elimination.
Definition
FlexibleSparseMatrix.h:21
storm::storage::sparse::state_type
uint64_t state_type
Definition
StateType.h:9
storm
LabParser.cpp.
Definition
cli.cpp:18
src
storm
solver
stateelimination
MultiValueStateEliminator.h
Generated by
1.9.8