Storm
1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
MonotonicityChecker.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <boost/container/flat_map.hpp>
4
#include <map>
5
6
#include "
storm-pars/modelchecker/region/monotonicity/LocalMonotonicityResult.h
"
7
#include "
storm-pars/modelchecker/region/monotonicity/MonotonicityResult.h
"
8
#include "
storm-pars/modelchecker/region/monotonicity/Order.h
"
9
#include "
storm-pars/storage/ParameterRegion.h
"
10
#include "
storm/storage/SparseMatrix.h
"
11
#include "
storm/storage/expressions/BinaryRelationExpression.h
"
12
#include "
storm/storage/expressions/ExpressionManager.h
"
13
#include "
storm/storage/expressions/RationalFunctionToExpression.h
"
14
#include "
storm/utility/constants.h
"
15
#include "
storm/utility/solver.h
"
16
17
namespace
storm
{
18
namespace
analysis {
19
20
template
<
typename
ValueType>
21
class
MonotonicityChecker
{
22
public
:
23
typedef
typename
utility::parametric::VariableType<ValueType>::type
VariableType
;
24
typedef
typename
utility::parametric::CoefficientType<ValueType>::type
CoefficientType
;
25
typedef
typename
MonotonicityResult<VariableType>::Monotonicity
Monotonicity
;
26
typedef
typename
storage::ParameterRegion<ValueType>
Region
;
27
33
MonotonicityChecker
(
storage::SparseMatrix<ValueType>
const
& matrix);
34
42
static
std::pair<bool, bool>
checkDerivative
(ValueType
const
& derivative,
storage::ParameterRegion<ValueType>
const
& reg);
43
53
Monotonicity
checkLocalMonotonicity
(std::shared_ptr<Order>
const
& order, uint_fast64_t state,
VariableType
const
& var,
54
storage::ParameterRegion<ValueType>
const
& region);
55
56
private
:
57
Monotonicity
checkTransitionMonRes(ValueType function,
VariableType
param,
Region
region);
58
59
ValueType& getDerivative(ValueType function,
VariableType
var);
60
61
storage::SparseMatrix<ValueType>
matrix;
62
63
boost::container::flat_map<ValueType, boost::container::flat_map<VariableType, ValueType>> derivatives;
64
};
65
}
// namespace analysis
66
}
// namespace storm
BinaryRelationExpression.h
ExpressionManager.h
LocalMonotonicityResult.h
MonotonicityResult.h
Order.h
ParameterRegion.h
RationalFunctionToExpression.h
SparseMatrix.h
storm::analysis::MonotonicityChecker
Definition
MonotonicityChecker.h:21
storm::analysis::MonotonicityChecker::VariableType
utility::parametric::VariableType< ValueType >::type VariableType
Definition
MonotonicityChecker.h:23
storm::analysis::MonotonicityChecker::Region
storage::ParameterRegion< ValueType > Region
Definition
MonotonicityChecker.h:26
storm::analysis::MonotonicityChecker::checkDerivative
static std::pair< bool, bool > checkDerivative(ValueType const &derivative, storage::ParameterRegion< ValueType > const ®)
Checks if a derivative >=0 or/and <=0.
Definition
MonotonicityChecker.cpp:120
storm::analysis::MonotonicityChecker::CoefficientType
utility::parametric::CoefficientType< ValueType >::type CoefficientType
Definition
MonotonicityChecker.h:24
storm::analysis::MonotonicityChecker::Monotonicity
MonotonicityResult< VariableType >::Monotonicity Monotonicity
Definition
MonotonicityChecker.h:25
storm::analysis::MonotonicityChecker::checkLocalMonotonicity
Monotonicity checkLocalMonotonicity(std::shared_ptr< Order > const &order, uint_fast64_t state, VariableType const &var, storage::ParameterRegion< ValueType > const ®ion)
Checks for local monotonicity at the given state.
Definition
MonotonicityChecker.cpp:14
storm::storage::ParameterRegion
Definition
ParameterRegion.h:12
storm::storage::SparseMatrix
A class that holds a possibly non-square matrix in the compressed row storage format.
Definition
SparseMatrix.h:328
constants.h
storm::analysis::MonotonicityKind
MonotonicityKind
The results of monotonicity checking for a single Parameter Region.
Definition
MonotonicityKind.h:9
storm
Definition
AutomaticSettings.cpp:13
solver.h
storm::utility::parametric::CoefficientType::type
void type
Definition
parametric.h:25
storm::utility::parametric::VariableType::type
void type
Definition
parametric.h:17
src
storm-pars
modelchecker
region
monotonicity
MonotonicityChecker.h
Generated by
1.9.8