![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <markovchain/MarkovContinuousTime.hpp>


Public Member Functions | |
| double | calculateNextState (int chainNumber) |
| Calculates the next state and the next transition time for the chain chainNumber. | |
| virtual void | calculateStateProbabilities () |
| determine the probability of each state. | |
| MarkovContinuousTime (int _numberOfStates, int _numberOfChains, std::vector< T > states, TransitionMatrixType matrix, std::vector< int > startStates, simTimeType startTime, simTimeType stopTime) | |
| Creates a complete MarkovContinuousTime (full specification given). | |
| MarkovContinuousTime (int _numberOfChains) | |
| Creates an empty MarkovContinuousTime. the numberOfChains is required as an argument. | |
| void | prepareMatrixOfDistributions () |
| : fills in the matrix of distributions with generators for random values | |
| void | setStartTime (simTimeType _startTime) |
| setStartTime | |
| void | setStopTime (simTimeType _stopTime) |
| setStopTime | |
| void | setTransitionDistributionSpec (std::string distSpec) |
| set a Python compatible specification string for the random number distributions used for flexible transition statistics. | |
| void | startEvents () |
| : first prepares the matrix of distributions, then initializates all the structures needed. Sets the first Timeout | |
| virtual void | stateChangeNotification (const int &chainNumber) |
| : stateChangeNotification | |
| std::string | stringify (double x) const |
| stringify: converts a double to a string | |
| ~MarkovContinuousTime () | |
| destructor MarkovcontinuousTime | |
Protected Types | |
| typedef wns::container::Matrix < wns::distribution::Distribution *, 2 > | MatrixDistType |
| type for the matrix of distributions. | |
Protected Member Functions | |
| virtual void | onTimeout (const int &chainNumber) |
| onTimeout: changes to the new state, sets the next timeout | |
| virtual void | stopMarkovProcess () |
| stop the process (for all chains). No more state changes will happen. | |
Protected Attributes | |
| MatrixDistType | matrixDistribution |
| matrix of distributions | |
| simTimeType | startTime |
| start time | |
| simTimeType | stopTime |
| stop time | |
| std::string | transDistSpec |
| : flexible specification of the transition distribution | |
| double | transitionScale |
| transition scale: value to tune up (>1) or down (<1) the rate of state changes | |
Friends | |
| class | MarkovContinuousTimeTest |
Definition at line 54 of file MarkovContinuousTime.hpp.
typedef wns::container::Matrix<wns::distribution::Distribution*, 2> wns::markovchain::MarkovContinuousTime< T >::MatrixDistType [protected] |
Definition at line 380 of file MarkovContinuousTime.hpp.
| wns::markovchain::MarkovContinuousTime< T >::MarkovContinuousTime | ( | int | _numberOfChains | ) | [inline] |
Definition at line 63 of file MarkovContinuousTime.hpp.
| wns::markovchain::MarkovContinuousTime< T >::MarkovContinuousTime | ( | int | _numberOfStates, | |
| int | _numberOfChains, | |||
| std::vector< T > | states, | |||
| TransitionMatrixType | matrix, | |||
| std::vector< int > | startStates, | |||
| simTimeType | startTime, | |||
| simTimeType | stopTime | |||
| ) | [inline] |
Definition at line 78 of file MarkovContinuousTime.hpp.
| wns::markovchain::MarkovContinuousTime< T >::~MarkovContinuousTime | ( | ) | [inline] |
Definition at line 99 of file MarkovContinuousTime.hpp.
| double wns::markovchain::MarkovContinuousTime< T >::calculateNextState | ( | int | chainNumber | ) | [inline] |
Definition at line 138 of file MarkovContinuousTime.hpp.
| virtual void wns::markovchain::MarkovContinuousTime< T >::calculateStateProbabilities | ( | ) | [inline, virtual] |
Continuous Time Markov Chain: In theory, these equations are solved for vectorN: 1) vectorN * matrixT = 0 (you guess right, matrixT has one linear dependent row) 2) vectorN * vector1 = 1 This is performed by doing a singular value decomposition (SVD). Note that the result is only valid if the transition distribution is NegExp (Markov property). In some other cases and if p[state] is equal for all states, the results are ok, too. Especially the meanRate is Ok then.
Reimplemented from wns::markovchain::MarkovBase< T >.
Reimplemented in wns::markovchain::MarkovContinuousTimeTraffic.
Definition at line 324 of file MarkovContinuousTime.hpp.
| virtual void wns::markovchain::MarkovContinuousTime< T >::onTimeout | ( | const int & | chainNumber | ) | [inline, protected, virtual] |
Implements wns::events::MultipleTimeout< int >.
Definition at line 412 of file MarkovContinuousTime.hpp.
| void wns::markovchain::MarkovContinuousTime< T >::prepareMatrixOfDistributions | ( | ) | [inline] |
Definition at line 207 of file MarkovContinuousTime.hpp.
| void wns::markovchain::MarkovContinuousTime< T >::setStartTime | ( | simTimeType | _startTime | ) | [inline] |
Definition at line 108 of file MarkovContinuousTime.hpp.
| void wns::markovchain::MarkovContinuousTime< T >::setStopTime | ( | simTimeType | _stopTime | ) | [inline] |
Definition at line 117 of file MarkovContinuousTime.hpp.
| void wns::markovchain::MarkovContinuousTime< T >::setTransitionDistributionSpec | ( | std::string | distSpec | ) | [inline] |
Input: transitionDistributionSpec containing "X" as a placeholder e.g. "Pareto(1.2,X,0.0,1e100)" "Uniform(1.5*X,0.5*X)" "Norm(X,X*X)"
Definition at line 194 of file MarkovContinuousTime.hpp.
| void wns::markovchain::MarkovContinuousTime< T >::startEvents | ( | ) | [inline] |
Definition at line 255 of file MarkovContinuousTime.hpp.
| virtual void wns::markovchain::MarkovContinuousTime< T >::stateChangeNotification | ( | const int & | chainNumber | ) | [inline, virtual] |
| virtual void wns::markovchain::MarkovContinuousTime< T >::stopMarkovProcess | ( | ) | [inline, protected, virtual] |
Definition at line 438 of file MarkovContinuousTime.hpp.
| std::string wns::markovchain::MarkovContinuousTime< T >::stringify | ( | double | x | ) | const [inline] |
Definition at line 126 of file MarkovContinuousTime.hpp.
friend class MarkovContinuousTimeTest [friend] |
Definition at line 444 of file MarkovContinuousTime.hpp.
MatrixDistType wns::markovchain::MarkovContinuousTime< T >::matrixDistribution [protected] |
Definition at line 385 of file MarkovContinuousTime.hpp.
simTimeType wns::markovchain::MarkovContinuousTime< T >::startTime [protected] |
Definition at line 396 of file MarkovContinuousTime.hpp.
simTimeType wns::markovchain::MarkovContinuousTime< T >::stopTime [protected] |
Definition at line 401 of file MarkovContinuousTime.hpp.
std::string wns::markovchain::MarkovContinuousTime< T >::transDistSpec [protected] |
Definition at line 406 of file MarkovContinuousTime.hpp.
double wns::markovchain::MarkovContinuousTime< T >::transitionScale [protected] |
Definition at line 391 of file MarkovContinuousTime.hpp.
1.5.5