Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::analysis::MonotonicityResult< VariableType > Class Template Reference

#include <MonotonicityResult.h>

Public Types

enum class  Monotonicity {
  Incr , Decr , Constant , Not ,
  Unknown
}
 The results of monotonicity checking for a single Parameter Region. More...
 

Public Member Functions

 MonotonicityResult ()
 Constructs a new MonotonicityResult object.
 
void addMonotonicityResult (VariableType var, Monotonicity mon)
 Adds a new variable with a given Monotonicity to the map.
 
void updateMonotonicityResult (VariableType var, Monotonicity mon, bool force=false)
 Updates the Monotonicity of a variable based on its value so far and a new value.
 
Monotonicity getMonotonicity (VariableType var) const
 Returns the current monotonicity of a given parameter.
 
bool isMonotone (VariableType var) const
 
std::map< VariableType, MonotonicitygetMonotonicityResult () const
 Returns the results so far.
 
void splitBasedOnMonotonicity (std::set< VariableType > const &consideredVariables, std::set< VariableType > &monotoneIncr, std::set< VariableType > &monotoneDecr, std::set< VariableType > &notMontone) const
 
std::pair< std::set< VariableType >, std::set< VariableType > > splitVariables (std::set< VariableType > const &consideredVariables) const
 
std::string toString () const
 Constructs a string output of all variables and their corresponding Monotonicity.
 
bool isDone () const
 Checks if the result is complete.
 
bool isDoneForVar (VariableType) const
 
bool existsMonotonicity ()
 Checks if there is any variable that is monotone.
 
bool isAllMonotonicity () const
 Returns if all Variables are monotone.
 
void setDone (bool done=true)
 Sets the done bool to the given truth value.
 
void setSomewhereMonotonicity (bool done=true)
 Sets the somewhereMonotonicity bool to the given truth value.
 
void setAllMonotonicity (bool done=true)
 Sets the allMonotonicity bool to the given truth value.
 
void setDoneForVar (VariableType)
 
void setDoneVariables (std::set< VariableType > doneVariables)
 
std::shared_ptr< MonotonicityResult< VariableType > > copy () const
 Constructs a new MonotonicityResult object that is a copy of the current one.
 

Detailed Description

template<typename VariableType>
class storm::analysis::MonotonicityResult< VariableType >

Definition at line 14 of file MonotonicityResult.h.

Member Enumeration Documentation

◆ Monotonicity

template<typename VariableType >
enum class storm::analysis::MonotonicityResult::Monotonicity
strong

The results of monotonicity checking for a single Parameter Region.

Enumerator
Incr 

the result is monotonically increasing

Decr 

the result is monotonically decreasing

Constant 

the result is constant

Not 

the result is not monotonic

Unknown 

the monotonicity result is unknown

Definition at line 19 of file MonotonicityResult.h.

Constructor & Destructor Documentation

◆ MonotonicityResult()

template<typename VariableType >
storm::analysis::MonotonicityResult< VariableType >::MonotonicityResult ( )

Constructs a new MonotonicityResult object.

Definition at line 12 of file MonotonicityResult.cpp.

Member Function Documentation

◆ addMonotonicityResult()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::addMonotonicityResult ( VariableType  var,
Monotonicity  mon 
)

Adds a new variable with a given Monotonicity to the map.

Parameters
varThe variable that is to be added.
monThe Monotonicity of the variable.

Definition at line 19 of file MonotonicityResult.cpp.

◆ copy()

template<typename VariableType >
std::shared_ptr< MonotonicityResult< VariableType > > storm::analysis::MonotonicityResult< VariableType >::copy ( ) const

Constructs a new MonotonicityResult object that is a copy of the current one.

Returns
Pointer to the copy

Definition at line 178 of file MonotonicityResult.cpp.

◆ existsMonotonicity()

template<typename VariableType >
bool storm::analysis::MonotonicityResult< VariableType >::existsMonotonicity ( )

Checks if there is any variable that is monotone.

Definition at line 154 of file MonotonicityResult.cpp.

◆ getMonotonicity()

template<typename VariableType >
MonotonicityResult< VariableType >::Monotonicity storm::analysis::MonotonicityResult< VariableType >::getMonotonicity ( VariableType  var) const

Returns the current monotonicity of a given parameter.

Parameters
varThe parameter.
Returns
Incr, Decr, Constant, Not or Unknown.

Definition at line 61 of file MonotonicityResult.cpp.

◆ getMonotonicityResult()

template<typename VariableType >
std::map< VariableType, typename MonotonicityResult< VariableType >::Monotonicity > storm::analysis::MonotonicityResult< VariableType >::getMonotonicityResult ( ) const

Returns the results so far.

Returns
The parameter / Monotonicity map

Definition at line 70 of file MonotonicityResult.cpp.

◆ isAllMonotonicity()

template<typename VariableType >
bool storm::analysis::MonotonicityResult< VariableType >::isAllMonotonicity ( ) const

Returns if all Variables are monotone.

Definition at line 173 of file MonotonicityResult.cpp.

◆ isDone()

template<typename VariableType >
bool storm::analysis::MonotonicityResult< VariableType >::isDone ( ) const

Checks if the result is complete.

Definition at line 139 of file MonotonicityResult.cpp.

◆ isDoneForVar()

template<typename VariableType >
bool storm::analysis::MonotonicityResult< VariableType >::isDoneForVar ( VariableType  var) const

Definition at line 144 of file MonotonicityResult.cpp.

◆ isMonotone()

template<typename VariableType >
bool storm::analysis::MonotonicityResult< VariableType >::isMonotone ( VariableType  var) const

Definition at line 213 of file MonotonicityResult.cpp.

◆ setAllMonotonicity()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::setAllMonotonicity ( bool  done = true)

Sets the allMonotonicity bool to the given truth value.

Definition at line 168 of file MonotonicityResult.cpp.

◆ setDone()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::setDone ( bool  done = true)

Sets the done bool to the given truth value.

Definition at line 129 of file MonotonicityResult.cpp.

◆ setDoneForVar()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::setDoneForVar ( VariableType  variable)

Definition at line 134 of file MonotonicityResult.cpp.

◆ setDoneVariables()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::setDoneVariables ( std::set< VariableType >  doneVariables)

Definition at line 189 of file MonotonicityResult.cpp.

◆ setSomewhereMonotonicity()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::setSomewhereMonotonicity ( bool  done = true)

Sets the somewhereMonotonicity bool to the given truth value.

Definition at line 149 of file MonotonicityResult.cpp.

◆ splitBasedOnMonotonicity()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::splitBasedOnMonotonicity ( std::set< VariableType > const &  consideredVariables,
std::set< VariableType > &  monotoneIncr,
std::set< VariableType > &  monotoneDecr,
std::set< VariableType > &  notMontone 
) const

Definition at line 194 of file MonotonicityResult.cpp.

◆ splitVariables()

template<typename VariableType >
std::pair< std::set< VariableType >, std::set< VariableType > > storm::analysis::MonotonicityResult< VariableType >::splitVariables ( std::set< VariableType > const &  consideredVariables) const

Definition at line 75 of file MonotonicityResult.cpp.

◆ toString()

template<typename VariableType >
std::string storm::analysis::MonotonicityResult< VariableType >::toString ( ) const

Constructs a string output of all variables and their corresponding Monotonicity.

Returns
Results so far

Definition at line 95 of file MonotonicityResult.cpp.

◆ updateMonotonicityResult()

template<typename VariableType >
void storm::analysis::MonotonicityResult< VariableType >::updateMonotonicityResult ( VariableType  var,
Monotonicity  mon,
bool  force = false 
)

Updates the Monotonicity of a variable based on its value so far and a new value.

Parameters
varThe variable.
monThe new Monotonicity to be considered.

Definition at line 24 of file MonotonicityResult.cpp.


The documentation for this class was generated from the following files: