Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BaierUpperRewardBoundsComputer.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <functional>
5#include <vector>
6
7namespace storm {
8namespace storage {
9template<typename ValueType>
10class SparseMatrix;
11}
12
13namespace modelchecker {
14namespace helper {
15
16template<typename ValueType>
18 public:
30 BaierUpperRewardBoundsComputer(storm::storage::SparseMatrix<ValueType> const& transitionMatrix, std::vector<ValueType> const& rewards,
31 std::vector<ValueType> const& oneStepTargetProbabilities, std::function<uint64_t(uint64_t)> const& stateToScc = {});
32
47 storm::storage::SparseMatrix<ValueType> const& backwardTransitions, std::vector<ValueType> const& rewards,
48 std::vector<ValueType> const& oneStepTargetProbabilities, std::function<uint64_t(uint64_t)> const& stateToScc = {});
49
54 ValueType computeUpperBound();
55
67 static std::vector<ValueType> computeUpperBoundOnExpectedVisitingTimes(storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
68 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
69 std::vector<ValueType> const& oneStepTargetProbabilities);
70
78 static std::vector<ValueType> computeUpperBoundOnExpectedVisitingTimes(storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
79 std::vector<ValueType> const& oneStepTargetProbabilities);
80
89 static std::vector<ValueType> computeUpperBoundOnExpectedVisitingTimes(storm::storage::SparseMatrix<ValueType> const& transitionMatrix,
90 storm::storage::SparseMatrix<ValueType> const& backwardTransitions,
91 std::vector<ValueType> const& oneStepTargetProbabilities,
92 std::function<uint64_t(uint64_t)> const& stateToScc);
93
94 private:
95 storm::storage::SparseMatrix<ValueType> const& transitionMatrix;
96 storm::storage::SparseMatrix<ValueType> const* backwardTransitions;
97 std::function<uint64_t(uint64_t)> stateToScc;
98 std::vector<ValueType> const& rewards;
99 std::vector<ValueType> const& oneStepTargetProbabilities;
100};
101} // namespace helper
102} // namespace modelchecker
103} // namespace storm
ValueType computeUpperBound()
Computes an upper bound on the expected rewards.
static std::vector< ValueType > computeUpperBoundOnExpectedVisitingTimes(storm::storage::SparseMatrix< ValueType > const &transitionMatrix, storm::storage::SparseMatrix< ValueType > const &backwardTransitions, std::vector< ValueType > const &oneStepTargetProbabilities)
Computes for each state an upper bound for the maximal expected times each state is visited.
A class that holds a possibly non-square matrix in the compressed row storage format.
LabParser.cpp.
Definition cli.cpp:18