|
Storm 1.11.1.1
A Modern Probabilistic Model Checker
|
This class lifts parameter choices to nondeterminism: For each row in the given matrix that considerd par parameters, the resulting matrix will have one row group consisting of 2^par rows. More...
#include <RobustParameterLifter.h>
Classes | |
| class | RobustAbstractValuation |
Public Types | |
| typedef storm::utility::parametric::VariableType< ParametricType >::type | VariableType |
| typedef storm::utility::parametric::CoefficientType< ParametricType >::type | CoefficientType |
| typedef storm::analysis::MonotonicityResult< VariableType >::Monotonicity | Monotonicity |
Public Member Functions | |
| RobustParameterLifter (storm::storage::SparseMatrix< ParametricType > const &pMatrix, std::vector< ParametricType > const &pVector, storm::storage::BitVector const &selectedRows, storm::storage::BitVector const &selectedColumns, bool generateRowLabels=false, bool useMonotonicity=false) | |
| Lifts the parameter choices to nondeterminisim. | |
| void | specifyRegion (storm::storage::ParameterRegion< ParametricType > const ®ion, storm::solver::OptimizationDirection const &dirForParameters) |
| void | specifyRegion (storm::storage::ParameterRegion< ParametricType > const ®ion, storm::solver::OptimizationDirection const &dirForParameters, storm::storage::BitVector const &selectedRows) |
| Specifies the region for the parameterlifter, the Bitvector works as a fixed (partial) scheduler, this might not give sound results! | |
| void | specifyRegion (storm::storage::ParameterRegion< ParametricType > const ®ion, storm::solver::OptimizationDirection const &dirForParameters, std::shared_ptr< storm::analysis::Order > reachabilityOrder, std::shared_ptr< storm::analysis::LocalMonotonicityResult< VariableType > > localMonotonicityResult) |
| Specifies the region for the parameterlifter, the reachability order is used to see if there is local monotonicity, such that a fixed (partial) scheduler can be used. | |
| storm::storage::SparseMatrix< Interval > const & | getMatrix () const |
| std::vector< Interval > const & | getVector () const |
| std::vector< std::set< VariableType > > const & | getOccurringVariablesAtState () const |
| std::map< VariableType, std::set< uint_fast64_t > > const & | getOccuringStatesAtVariable () const |
| bool | isCurrentRegionAllIllDefined () const |
This class lifts parameter choices to nondeterminism: For each row in the given matrix that considerd par parameters, the resulting matrix will have one row group consisting of 2^par rows.
When specifying a region, each row within the row group is evaluated w.r.t. one vertex of the region. The given vector is handled similarly. However, if a vector entry considers a parameter that does not occur in the corresponding matrix row, the parameter is directly set such that the vector entry is maximized (or minimized, depending on the specified optimization direction).
Definition at line 41 of file RobustParameterLifter.h.
| typedef storm::utility::parametric::CoefficientType<ParametricType>::type storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::CoefficientType |
Definition at line 44 of file RobustParameterLifter.h.
| typedef storm::analysis::MonotonicityResult<VariableType>::Monotonicity storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::Monotonicity |
Definition at line 45 of file RobustParameterLifter.h.
| typedef storm::utility::parametric::VariableType<ParametricType>::type storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::VariableType |
Definition at line 43 of file RobustParameterLifter.h.
| storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::RobustParameterLifter | ( | storm::storage::SparseMatrix< ParametricType > const & | pMatrix, |
| std::vector< ParametricType > const & | pVector, | ||
| storm::storage::BitVector const & | selectedRows, | ||
| storm::storage::BitVector const & | selectedColumns, | ||
| bool | generateRowLabels = false, |
||
| bool | useMonotonicity = false |
||
| ) |
Lifts the parameter choices to nondeterminisim.
The computation is performed on the submatrix specified by the selected rows and columns
| pMatrix | the parametric matrix |
| pVector | the parametric vector (the vector size should equal the row count of the matrix) |
| selectedRows | a Bitvector that specifies which rows of the matrix and the vector are considered. |
| selectedColumns | a Bitvector that specifies which columns of the matrix are considered. |
Definition at line 49 of file RobustParameterLifter.cpp.
| storm::storage::SparseMatrix< Interval > const & storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::getMatrix | ( | ) | const |
Definition at line 391 of file RobustParameterLifter.cpp.
| std::map< typename RobustParameterLifter< ParametricType, ConstantType >::VariableType, std::set< uint_fast64_t > > const & storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::getOccuringStatesAtVariable | ( | ) | const |
Definition at line 195 of file RobustParameterLifter.cpp.
| const std::vector< std::set< typename RobustParameterLifter< ParametricType, ConstantType >::VariableType > > & storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::getOccurringVariablesAtState | ( | ) | const |
Definition at line 189 of file RobustParameterLifter.cpp.
| std::vector< Interval > const & storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::getVector | ( | ) | const |
Definition at line 396 of file RobustParameterLifter.cpp.
| bool storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::isCurrentRegionAllIllDefined | ( | ) | const |
Definition at line 401 of file RobustParameterLifter.cpp.
| void storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::specifyRegion | ( | storm::storage::ParameterRegion< ParametricType > const & | region, |
| storm::solver::OptimizationDirection const & | dirForParameters | ||
| ) |
Definition at line 170 of file RobustParameterLifter.cpp.
| void storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::specifyRegion | ( | storm::storage::ParameterRegion< ParametricType > const & | region, |
| storm::solver::OptimizationDirection const & | dirForParameters, | ||
| std::shared_ptr< storm::analysis::Order > | reachabilityOrder, | ||
| std::shared_ptr< storm::analysis::LocalMonotonicityResult< VariableType > > | localMonotonicityResult | ||
| ) |
Specifies the region for the parameterlifter, the reachability order is used to see if there is local monotonicity, such that a fixed (partial) scheduler can be used.
| region | the region |
| dirForParameters | the optimization direction |
| reachabilityOrder | a (possibly insufficient) reachability order, used for local monotonicity |
| void storm::transformer::RobustParameterLifter< ParametricType, ConstantType >::specifyRegion | ( | storm::storage::ParameterRegion< ParametricType > const & | region, |
| storm::solver::OptimizationDirection const & | dirForParameters, | ||
| storm::storage::BitVector const & | selectedRows | ||
| ) |
Specifies the region for the parameterlifter, the Bitvector works as a fixed (partial) scheduler, this might not give sound results!
| region | the region |
| dirForParameters | the optimization direction |
| selectedRows | a Bitvector that specifies which rows of the matrix and the vector are considered. |