Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparseMarkovAutomatonCslHelper.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4
13
14namespace storm {
15
16class Environment;
17
18namespace modelchecker {
19namespace helper {
20
22 public:
23 template<typename ValueType, typename std::enable_if<storm::NumberTraits<ValueType>::SupportsExponential, int>::type = 0>
24 static std::vector<ValueType> computeBoundedUntilProbabilities(Environment const& env, storm::solver::SolveGoal<ValueType>&& goal,
25 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
26 std::vector<ValueType> const& exitRateVector,
27 storm::storage::BitVector const& markovianStates, storm::storage::BitVector const& phiStates,
28 storm::storage::BitVector const& psiStates,
29 std::pair<double, std::optional<double>> const& boundsPair);
30
31 template<typename ValueType, typename std::enable_if<!storm::NumberTraits<ValueType>::SupportsExponential, int>::type = 0>
33 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
34 std::vector<ValueType> const& exitRateVector,
35 storm::storage::BitVector const& markovianStates, storm::storage::BitVector const& phiStates,
36 storm::storage::BitVector const& psiStates,
37 std::pair<double, std::optional<double>> const& boundsPair);
38
39 template<typename ValueType>
41 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
42 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
43 storm::storage::BitVector const& phiStates,
44 storm::storage::BitVector const& psiStates, bool qualitative,
45 bool produceScheduler);
46
47 template<typename ValueType, typename RewardModelType>
49 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
50 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
51 std::vector<ValueType> const& exitRateVector,
52 storm::storage::BitVector const& markovianStates,
53 RewardModelType const& rewardModel, bool produceScheduler);
54
55 template<typename ValueType, typename RewardModelType>
57 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
58 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
59 std::vector<ValueType> const& exitRateVector,
60 storm::storage::BitVector const& markovianStates,
61 RewardModelType const& rewardModel,
62 storm::storage::BitVector const& psiStates, bool produceScheduler);
63
64 template<typename ValueType>
66 storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
67 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
68 std::vector<ValueType> const& exitRateVector,
69 storm::storage::BitVector const& markovianStates,
70 storm::storage::BitVector const& psiStates, bool produceScheduler);
71};
72
73} // namespace helper
74} // namespace modelchecker
75} // namespace storm
static MDPSparseModelCheckingHelperReturnType< ValueType > computeTotalRewards(Environment const &env, OptimizationDirection dir, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &exitRateVector, storm::storage::BitVector const &markovianStates, RewardModelType const &rewardModel, bool produceScheduler)
static std::vector< ValueType > computeBoundedUntilProbabilities(Environment const &env, storm::solver::SolveGoal< ValueType > &&goal, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, std::vector< ValueType > const &exitRateVector, storm::storage::BitVector const &markovianStates, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates, std::pair< double, std::optional< double > > const &boundsPair)
static MDPSparseModelCheckingHelperReturnType< ValueType > computeReachabilityRewards(Environment const &env, OptimizationDirection dir, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &exitRateVector, storm::storage::BitVector const &markovianStates, RewardModelType const &rewardModel, storm::storage::BitVector const &psiStates, bool produceScheduler)
static std::vector< ValueType > computeBoundedUntilProbabilities(Environment const &env, storm::solver::SolveGoal< ValueType > &&goal, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, std::vector< ValueType > const &exitRateVector, storm::storage::BitVector const &markovianStates, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates, std::pair< double, std::optional< double > > const &boundsPair)
static MDPSparseModelCheckingHelperReturnType< ValueType > computeUntilProbabilities(Environment const &env, OptimizationDirection dir, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &backwardTransitions, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates, bool qualitative, bool produceScheduler)
static MDPSparseModelCheckingHelperReturnType< ValueType > computeReachabilityTimes(Environment const &env, OptimizationDirection dir, storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &exitRateVector, storm::storage::BitVector const &markovianStates, storm::storage::BitVector const &psiStates, bool produceScheduler)
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
A class that holds a possibly non-square matrix in the compressed row storage format.
solver::OptimizationDirection OptimizationDirection