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
16
17namespace storm {
18namespace analysis {
19
20template<typename ValueType>
22 public:
27
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,
55
56 private:
57 Monotonicity checkTransitionMonRes(ValueType function, VariableType param, Region region);
58
59 ValueType& getDerivative(ValueType function, VariableType var);
60
62
63 boost::container::flat_map<ValueType, boost::container::flat_map<VariableType, ValueType>> derivatives;
64};
65} // namespace analysis
66} // namespace storm
utility::parametric::VariableType< ValueType >::type VariableType
storage::ParameterRegion< ValueType > Region
static std::pair< bool, bool > checkDerivative(ValueType const &derivative, storage::ParameterRegion< ValueType > const &reg)
Checks if a derivative >=0 or/and <=0.
utility::parametric::CoefficientType< ValueType >::type CoefficientType
MonotonicityResult< VariableType >::Monotonicity Monotonicity
Monotonicity checkLocalMonotonicity(std::shared_ptr< Order > const &order, uint_fast64_t state, VariableType const &var, storage::ParameterRegion< ValueType > const &region)
Checks for local monotonicity at the given state.
A class that holds a possibly non-square matrix in the compressed row storage format.
MonotonicityKind
The results of monotonicity checking for a single Parameter Region.