Skip to content

uni-tue-kn/funspec4dtmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FunSpec4DTMC
A Tool for Modelling Discrete-Time Markov Chains (DTMCs) Using Functional Specification

We present a tool [1] for the analysis of finite discrete-time Markov chains (DTMCs). As a novelty, the tool offers functional specification of DTMCs and implements forward algorithms to compute the stationary state distribution of the DTMC or derive its transition matrix . In addition, we implement nine direct and iterative algorithms to compute various metrics of DTMCs based on including an algorithm to determine the period of the DTMC.

Main window of FunSpec4DTMC [1].

Motivation

The tool is intended for production purposes as well as a platform for teaching the functional specification of DTMCs.

  • Status quo: analysis tools and libraries for teaching that utilize
  • Gap: Library to apply the functional specification of DTMCs

For this reason FunSpec4DTMC offers the following specification types:

Conventional Specification of DTMCs

  • Conventional Specification of DTMCs
    • States
    • Stochastic transition matrix holding transition probabilities
  • Computation of consecutive state distributions
  • Computation of the stationary state distribution
    • Initial state distribution
    • Consecutive state distributions

Functional Specification of DTMCs

  • Functional specification [2]
    • States
      • Initial state distribution
    • Factors
      • Factor distribution
    • State distribution function
      • Stochastic recursive equation
  • Computation of consecutive states
  • Computation of consecutive state distributions
    • Forward algorithms
      • Input:
      • Output:
        • Consecutive state distribution
          • Additional input
          • State transition matrix not needed
        • State transition matrix
  • Advantages over conventional specification
    • Intuitive modelling of complex systems with a possibly multidimensional state and factor space
    • Simplified derivation of the transition matrix
    • Memory-efficient computation of consecutive state distributions

The tool FunSpec4DTMC

  • Python 3 library published under GPLv3
    • Simulation library
    • Intuitive GUI for simplified use
  • Multiple project tabs, analysis dialogues, and means for visualization
  • Four phases of FunSpec4DTMC’s analysis process for DTMCs

Analysis process of FunSpec4DTMC. Taken from [1].

Computation Methods for the stationary state distribution

  • Direct algorithms to calculate the stationary state distribution
  • Iterative algorithms to calculate the stationary state distribution
    • DTMC random walk
      • simulation
    • Calculation of the limiting distribution
      • applicable to aperiodic DTMCs
    • Matrix powering
      • applicable to aperiodic DTMCs and to DTMCs with a period of
    • Calculation of the Cesaro limit
    • Modified calculation of the Cesaro limit [2]
      • analysis of transition structures to compute the period

Implementation

  • Object-oriented class hierarchy that leverages many design patterns
    • e. g.: model-view-controller, observer pattern, strategy pattern
  • Minimum dependence on external libraries
    • NumPy for matrix multiplication and memory mapping
    • SciPy to use common distributions
    • Cython for runtime optimization
    • Matplotlib for figure plotting
    • NetworkX for graph visualization
    • PyQt5 for GUI programming

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages