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
4
#include "
storm/solver/stateelimination/StateEliminator.h
"
5
6
#include "
storm/storage/BitVector.h
"
7
8
namespace
storm
{
9
namespace
solver {
10
namespace
stateelimination {
11
12
template
<
typename
ValueType>
13
class
ConditionalStateEliminator
:
public
StateEliminator
<ValueType> {
14
public
:
15
enum class
StateLabel
{
NONE
,
PHI
,
PSI
};
16
17
ConditionalStateEliminator
(
storm::storage::FlexibleSparseMatrix<ValueType>
& transitionMatrix,
18
storm::storage::FlexibleSparseMatrix<ValueType>
& backwardTransitions, std::vector<ValueType>& oneStepProbabilities,
19
storm::storage::BitVector
& phiStates,
storm::storage::BitVector
& psiStates);
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;
35
storm::storage::BitVector
& phiStates;
36
storm::storage::BitVector
& psiStates;
37
StateLabel
filterLabel;
38
};
39
40
}
// namespace stateelimination
41
}
// namespace solver
42
}
// namespace storm
43
44
#endif
// STORM_SOLVER_STATEELIMINATION_CONDITIONALSTATEELIMINATOR_H_
BitVector.h
StateEliminator.h
storm::solver::stateelimination::ConditionalStateEliminator
Definition
ConditionalStateEliminator.h:13
storm::solver::stateelimination::ConditionalStateEliminator::StateLabel
StateLabel
Definition
ConditionalStateEliminator.h:15
storm::solver::stateelimination::ConditionalStateEliminator::StateLabel::PHI
@ PHI
storm::solver::stateelimination::ConditionalStateEliminator::StateLabel::NONE
@ NONE
storm::solver::stateelimination::ConditionalStateEliminator::StateLabel::PSI
@ PSI
storm::solver::stateelimination::ConditionalStateEliminator::setFilter
void setFilter(StateLabel const &stateLabel)
Definition
ConditionalStateEliminator.cpp:63
storm::solver::stateelimination::ConditionalStateEliminator::setFilterPhi
void setFilterPhi()
Definition
ConditionalStateEliminator.cpp:53
storm::solver::stateelimination::ConditionalStateEliminator::unsetFilter
void unsetFilter()
Definition
ConditionalStateEliminator.cpp:68
storm::solver::stateelimination::ConditionalStateEliminator::setFilterPsi
void setFilterPsi()
Definition
ConditionalStateEliminator.cpp:58
storm::solver::stateelimination::ConditionalStateEliminator::isFilterPredecessor
bool isFilterPredecessor() const override
Definition
ConditionalStateEliminator.cpp:48
storm::solver::stateelimination::ConditionalStateEliminator::filterPredecessor
bool filterPredecessor(storm::storage::sparse::state_type const &state) override
Definition
ConditionalStateEliminator.cpp:34
storm::solver::stateelimination::ConditionalStateEliminator::updateValue
void updateValue(storm::storage::sparse::state_type const &state, ValueType const &loopProbability) override
Definition
ConditionalStateEliminator.cpp:22
storm::solver::stateelimination::ConditionalStateEliminator::updatePredecessor
void updatePredecessor(storm::storage::sparse::state_type const &predecessor, ValueType const &probability, storm::storage::sparse::state_type const &state) override
Definition
ConditionalStateEliminator.cpp:27
storm::solver::stateelimination::StateEliminator
Definition
StateEliminator.h:11
storm::storage::BitVector
A bit vector that is internally represented as a vector of 64-bit values.
Definition
BitVector.h:18
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
ConditionalStateEliminator.h
Generated by
1.9.8