Package jline.lang.processes
Class MarkovProcess
java.lang.Object
jline.lang.processes.Process
jline.lang.processes.MarkovProcess
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
MarkedMarkovProcess
A class for a continuous time Markov chain
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMarkovProcess(Matrix infGen) Creates a CTMC with the specified infinitesimal generatorMarkovProcess(Matrix infGen, boolean isFinite) Creates a CTMC with the specified infinitesimal generator and finite flagMarkovProcess(Matrix infGen, boolean isFinite, Matrix stateSpace) Creates a CTMC with the specified infinitesimal generator, finite flag, and state space -
Method Summary
Modifier and TypeMethodDescriptionstatic MarkovProcessCreate CTMC from sample system aggregation (dispatches based on input type).static MarkovProcessCreate CTMC from a SampleResult containing multi-node state trajectories.static MarkovProcessfromSampleSysAggr(Matrix samples) Create CTMC from sample system aggregation (assuming unit sojourn times)static MarkovProcessfromSampleSysAggr(Matrix samples, Matrix sojournTimes) Create CTMC from sample system aggregationstatic MarkovProcessfromSampleSysAggr(Matrix samples, Matrix sojournTimes, int numStates) Create CTMC from sample system aggregationGet the infinitesimal generator matrixdoublegetProbState(int state) Get probability of a specific state using steady-state analysisgetProbState(Matrix state) Get probability of a specific state using Cramer's ruleGet the state spacebooleanisFinite()Check if the CTMC is finitestatic MarkovProcessrand(int nStates) Create a random CTMCsample()Sample from the CTMCsample(int n) Sample n state transitions from the CTMC starting from steady-stateSample n state transitions from the CTMCvoidsetStateSpace(Matrix stateSpace) Set the state spacesolve()Solve the CTMC for steady-state probabilitiestoDTMC()Convert to DTMC using uniformizationtoDTMC(double q) Get time-reversed CTMC
-
Field Details
-
infGen
-
stateSpace
-
isfinite
protected boolean isfinite
-
-
Constructor Details
-
MarkovProcess
Creates a CTMC with the specified infinitesimal generator- Parameters:
infGen- the infinitesimal generator matrix
-
MarkovProcess
Creates a CTMC with the specified infinitesimal generator and finite flag- Parameters:
infGen- the infinitesimal generator matrixisFinite- whether the CTMC is finite
-
MarkovProcess
Creates a CTMC with the specified infinitesimal generator, finite flag, and state space- Parameters:
infGen- the infinitesimal generator matrixisFinite- whether the CTMC is finitestateSpace- the state space representation
-
-
Method Details
-
toDTMC
Convert to DTMC using uniformization- Returns:
- the equivalent DTMC
-
toDTMC
-
toTimeReversed
Get time-reversed CTMC- Returns:
- time-reversed CTMC
-
setStateSpace
Set the state space- Parameters:
stateSpace- the state space matrix
-
getGenerator
Get the infinitesimal generator matrix- Returns:
- the generator matrix
-
getProbState
public double getProbState(int state) Get probability of a specific state using steady-state analysis- Parameters:
state- the state index (0-based)- Returns:
- the probability of the specified state
-
getProbState
Get probability of a specific state using Cramer's rule- Parameters:
state- the state vector (if state space is defined) or single state index- Returns:
- the probability matrix containing the state probability
-
solve
Solve the CTMC for steady-state probabilities- Returns:
- the steady-state probability vector
-
sample
Sample from the CTMC -
sample
Sample n state transitions from the CTMC starting from steady-state- Parameters:
n- number of state transitions to sample- Returns:
- matrix containing sampled states (column vector)
-
sample
Sample n state transitions from the CTMC- Parameters:
n- number of state transitions to samplepi0- initial state distribution (if null, uses steady-state)random- random number generator- Returns:
- matrix containing sampled states (column vector)
-
getStateSpace
Get the state space- Returns:
- the state space matrix
-
isFinite
public boolean isFinite()Check if the CTMC is finite- Returns:
- true if finite
-
rand
Create a random CTMC- Parameters:
nStates- number of states- Returns:
- random CTMC
-
fromSampleSysAggr
Create CTMC from sample system aggregation- Parameters:
samples- matrix where each row is a sample trajectory, each column is a time stepsojournTimes- matrix of sojourn times corresponding to each state in samples- Returns:
- CTMC constructed from samples by estimating transition rates
-
fromSampleSysAggr
Create CTMC from sample system aggregation- Parameters:
samples- matrix where each row is a sample trajectory, each column is a time stepsojournTimes- matrix of sojourn times corresponding to each state in samplesnumStates- number of states (if -1, infer from data)- Returns:
- CTMC constructed from samples by estimating transition rates
-
fromSampleSysAggr
Create CTMC from sample system aggregation (assuming unit sojourn times)- Parameters:
samples- matrix where each row is a sample trajectory, each column is a time step- Returns:
- CTMC constructed from samples with unit time steps
-
fromSampleSysAggr
Create CTMC from a SampleResult containing multi-node state trajectories. Matches MATLAB MarkovProcess.fromSampleSysAggr(sa) where sa has .state{} and .t fields.- Parameters:
sa- the SampleResult from sampleSysAggr()- Returns:
- CTMC constructed from sampled state trajectories
-
fromSampleSysAggr
Create CTMC from sample system aggregation (dispatches based on input type).- Parameters:
sa- the sample aggregation object (Matrix or SampleResult)- Returns:
- CTMC constructed from samples
-