Class DTMCStationary<S>

java.lang.Object
org.oristool.models.gspn.chains.DTMCStationary<S>
Type Parameters:
S - type of DTMC states
All Implemented Interfaces:
Function<com.google.common.graph.MutableValueGraph<S,Double>,Map<S,Double>>

public abstract class DTMCStationary<S> extends Object implements Function<com.google.common.graph.MutableValueGraph<S,Double>,Map<S,Double>>
Computation of the stationary distribution of a DTMC.

LU factorization is used to solve the linear system of stationary probabilities.

The DTMC can be periodic, but it must be irreducible.

  • Method Details

    • epsilon

      public abstract double epsilon()
      Returns the threshold used to decide whether a probability value should be considered equal to 0.0 in the transition probabilities between states and in the output distribution.

      By default, it is equal to 1e-9.

      Returns:
      the threshold used in comparisons to 0.0
    • monitor

      public abstract AnalysisMonitor monitor()
      Returns the monitor used by this analysis. It is used to stop the analysis early and to notify messages to the user.

      By default, an always-false, message-discarding monitor is used.

      Returns:
      the monitor used by this analysis
    • logger

      public abstract AnalysisLogger logger()
      Returns the logger used by this analysis. It is used to print progress information.

      By default, logs are discarded.

      Returns:
      the logger used by this analysis
    • builder

      public static <S> DTMCStationary.Builder<S> builder()
      Creates a builder for analysis configurations (with default values).
      Type Parameters:
      S - type of DTMC states
      Returns:
      a builder of TimedAnalysis instances.
    • apply

      public Map<S,Double> apply(com.google.common.graph.MutableValueGraph<S,Double> dtmc)
      Runs this analysis on a DTMC.
      Specified by:
      apply in interface Function<com.google.common.graph.MutableValueGraph<S,Double>,Map<S,Double>>
      Parameters:
      dtmc - the input DTMC
      Returns:
      a map from states of the DTMC to their stationary probability