Search This Blog

Saturday, June 30, 2018

Markov chain

From Wikipedia, the free encyclopedia

A Markov chain is "a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event".[1]

In probability theory and related fields, a Markov process, named after the Russian mathematician Andrey Markov, is a stochastic process that satisfies the Markov property[2][3] (sometimes characterized as "memorylessness"). Roughly speaking, a process satisfies the Markov property if one can make predictions for the future of the process based solely on its present state just as well as one could knowing the process's full history, hence independently from such history; i.e., conditional on the present state of the system, its future and past states are independent.

A Markov chain is a type of Markov process that has either discrete state space or discrete index set (often representing time), but the precise definition of a Markov chain varies.[4] For example, it is common to define a Markov chain as a Markov process in either discrete or continuous time with a countable state space (thus regardless of the nature of time),[5][6][7][8] but it is also common to define a Markov chain as having discrete time in either countable or continuous state space (thus regardless of the state space).[4]

Markov studied Markov processes in the early 20th century, publishing his first paper on the topic in 1906.[9][10][11] Random walks on integers and the gambler's ruin problem are examples of Markov processes.[12][13] Some variations of these processes were studied hundreds of years earlier in the context of independent variables.[14][15] Two important examples of Markov processes are the Wiener process, also known as the Brownian motion process, and the Poisson process,[16] which are considered the most important and central stochastic processes in the theory of stochastic processes,[17][18][19] and were discovered repeatedly and independently, both before and after 1906, in various settings.[20][21] These two processes are Markov processes in continuous time, while random walks on the integers and the gambler's ruin problem are examples of Markov processes in discrete time.[12][13]

Markov chains have many applications as statistical models of real-world processes,[22][23][24] such as studying cruise control systems in motor vehicles, queues or lines of customers arriving at an airport, exchange rates of currencies, storage systems such as dams, and population growths of certain animal species.[25] The algorithm known as PageRank, which was originally proposed for the internet search engine Google, is based on a Markov process.[26][27] Furthermore, Markov processes are the basis for general stochastic simulation methods known as Gibbs sampling and Markov Chain Monte Carlo, are used for simulating random objects with specific probability distributions, and have found extensive application in Bayesian statistics.[25][28][29]

The adjective Markovian is used to describe something that is related to a Markov process.[30]


A diagram representing a two-state Markov process, with the states labelled E and A. Each number represents the probability of the Markov process changing from one state to another state, with the direction indicated by the arrow. For example, if the Markov process is in state A, then the probability it changes to state E is 0.4, while the probability it remains in state A is 0.6.

Introduction


Russian mathematician Andrey Markov.

A Markov chain is a stochastic process with the Markov property. The term "Markov chain" refers to the sequence of random variables such a process moves through, with the Markov property defining serial dependence only between adjacent periods (as in a "chain"). It can thus be used for describing systems that follow a chain of linked events, where what happens next depends only on the current state of the system.

The system's state space and time parameter index need to be specified. The following table gives an overview of the different instances of Markov processes for different levels of state space generality and for discrete time v. continuous time:


Countable state space Continuous or general state space
Discrete-time (discrete-time) Markov chain on a countable or finite state space Harris chain (Markov chain on a general state space)
Continuous-time Continuous-time Markov process or Markov jump process Any continuous stochastic process with the Markov property, e.g., the Wiener process

Note that there is no definitive agreement in the literature on the use of some of the terms that signify special cases of Markov processes. Usually the term "Markov chain" is reserved for a process with a discrete set of times, i.e. a discrete-time Markov chain (DTMC),[31][31] but a few authors use the term "Markov process" to refer to a continuous-time Markov chain (CTMC) without explicit mention.[32][33][34] In addition, there are other extensions of Markov processes that are referred to as such but do not necessarily fall within any of these four categories (see Markov model). Moreover, the time index need not necessarily be real-valued; like with the state space, there are conceivable processes that move through index sets with other mathematical constructs. Notice that the general state space continuous-time Markov chain is general to such a degree that it has no designated term.

While the time parameter is usually discrete, the state space of a Markov chain does not have any generally agreed-on restrictions: the term may refer to a process on an arbitrary state space.[35] However, many applications of Markov chains employ finite or countably infinite state spaces, which have a more straightforward statistical analysis. Besides time-index and state-space parameters, there are many other variations, extensions and generalizations (see Variations). For simplicity, most of this article concentrates on the discrete-time, discrete state-space case, unless mentioned otherwise.

The changes of state of the system are called transitions. The probabilities associated with various state changes are called transition probabilities. The process is characterized by a state space, a transition matrix describing the probabilities of particular transitions, and an initial state (or initial distribution) across the state space. By convention, we assume all possible states and transitions have been included in the definition of the process, so there is always a next state, and the process does not terminate.

A discrete-time random process involves a system which is in a certain state at each step, with the state changing randomly between steps. The steps are often thought of as moments in time, but they can equally well refer to physical distance or any other discrete measurement. Formally, the steps are the integers or natural numbers, and the random process is a mapping of these to states. The Markov property states that the conditional probability distribution for the system at the next step (and in fact at all future steps) depends only on the current state of the system, and not additionally on the state of the system at previous steps.

Since the system changes randomly, it is generally impossible to predict with certainty the state of a Markov chain at a given point in the future. However, the statistical properties of the system's future can be predicted. In many applications, it is these statistical properties that are important.

A famous Markov chain is the so-called "drunkard's walk", a random walk on the number line where, at each step, the position may change by +1 or −1 with equal probability. From any position there are two possible transitions, to the next or previous integer. The transition probabilities depend only on the current position, not on the manner in which the position was reached. For example, the transition probabilities from 5 to 4 and 5 to 6 are both 0.5, and all other transition probabilities from 5 are 0. These probabilities are independent of whether the system was previously in 4 or 6.

Another example is the dietary habits of a creature who eats only grapes, cheese, or lettuce, and whose dietary habits conform to the following rules:
  • It eats exactly once a day.
  • If it ate cheese today, tomorrow it will eat lettuce or grapes with equal probability.
  • If it ate grapes today, tomorrow it will eat grapes with probability 1/10, cheese with probability 4/10 and lettuce with probability 5/10.
  • If it ate lettuce today, tomorrow it will eat grapes with probability 4/10 or cheese with probability 6/10. It will not eat lettuce again tomorrow.
This creature's eating habits can be modeled with a Markov chain since its choice tomorrow depends solely on what it ate today, not what it ate yesterday or any other time in the past. One statistical property that could be calculated is the expected percentage, over a long period, of the days on which the creature will eat grapes.

A series of independent events (for example, a series of coin flips) satisfies the formal definition of a Markov chain. However, the theory is usually applied only when the probability distribution of the next step depends non-trivially on the current state.

History

Andrey Markov studied Markov chains in the early 20th century. Markov was interested in studying an extension of independent random sequences, motivated by a disagreement with Pavel Nekrasov who claimed independence was necessary for the weak law of large numbers to hold.[36] In his first paper on Markov chains, published in 1906, Markov showed that under certain conditions the average outcomes of the Markov chain would converge to a fixed vector of values, so proving a weak law of large numbers without the independence assumption,[9][10][11] which had been commonly regarded as a requirement for such mathematical laws to hold.[11] Markov later used Markov chains to study the distribution of vowels in Eugene Onegin, written by Alexander Pushkin, and proved a central limit theorem for such chains.[9]

In 1912 Poincaré studied Markov chains on finite groups with an aim to study card shuffling. Other early uses of Markov chains include a diffusion model, introduced by Paul and Tatyana Ehrenfest in 1907, and a branching process, introduced by Francis Galton and Henry William Watson in 1873, preceding the work of Markov.[9][10] After the work of Galton and Watson, it was later revealed that their branching process had been independently discovered and studied around three decades earlier by Irénée-Jules Bienaymé.[37] Starting in 1928, Maurice Fréchet became interested in Markov chains, eventually resulting in him publishing in 1938 a detailed study on Markov chains.[9][38]

Andrei Kolmogorov developed in a 1931 paper a large part of the early theory of continuous-time Markov processes.[39][40] Kolmogorov was partly inspired by Louis Bachelier's 1900 work on fluctuations in the stock market as well as Norbert Wiener's work on Einstein's model of Brownian movement.[39][41] He introduced and studied a particular set of Markov processes known as diffusion processes, where he derived a set of differential equations describing the processes. Independent of Kolmogorov's work, Sydney Chapman derived in a 1928 paper an equation, now called the Chapman–Kolmogorov equation, in a less mathematically rigorous way than Kolmogorov, while studying Brownian movement.[43] The differential equations are now called the Kolmogorov equations[44] or the Kolmogorov–Chapman equations.[45] Other mathematicians who contributed significantly to the foundations of Markov processes include William Feller, starting in 1930s, and then later Eugene Dynkin, starting in the 1950s.[40]

Examples

Gambling

Suppose that you start with $10, and you wager $1 on an unending, fair, coin toss indefinitely, or until you lose all of your money. If X_{n} represents the number of dollars you have after n tosses, with X_0 = 10, then the sequence \{X_{n}:n\in {\mathbb  {N}}\} is a Markov process. If I know that you have $12 now, then it would be expected that with even odds, you will either have $11 or $13 after the next toss. This guess is not improved by the added knowledge that you started with $10, then went up to $11, down to $10, up to $11, and then to $12.

The process described here is a Markov chain on a countable state space that follows a random walk.

A birth-death process

If one pops one hundred kernels of popcorn in an oven, each kernel popping at an independent exponentially-distributed time, then this would be a continuous-time Markov process. If X_{t} denotes the number of kernels which have popped up to time t, the problem can be defined as finding the number of kernels that will pop in some later time. The only thing one needs to know is the number of kernels that have popped prior to the time "t". It is not necessary to know when they popped, so knowing X_{t} for previous times "t" is not relevant.
The process described here is an approximation of a Poisson point process - Poisson processes are also Markov processes.

A non-Markov example

Suppose that there is a coin purse containing five quarters (each worth 25¢), five dimes (each worth 10¢), and five nickels (each worth 5¢), and one-by-one, coins are randomly drawn from the purse and are set on a table. If X_{n} represents the total value of the coins set on the table after n draws, with X_{0}=0, then the sequence \{X_{n}:n\in {\mathbb  {N}}\} is not a Markov process.

To see why this is the case, suppose that in the first six draws, all five nickels and a quarter are drawn. Thus X_6 = \$0.50. If we know not just X_6, but the earlier values as well, then we can determine which coins have been drawn, and we know that the next coin will not be a nickel; so we can determine that X_7 \geq \$0.60 with probability 1. But if we do not know the earlier values, then based only on the value X_6 we might guess that we had drawn four dimes and two nickels, in which case it would certainly be possible to draw another nickel next. Thus, our guesses about X_7 are impacted by our knowledge of values prior to X_6.

Markov property

Formal definition

Discrete-time Markov chain

A discrete-time Markov chain is a sequence of random variables X1, X2, X3, ... with the Markov property, namely that the probability of moving to the next state depends only on the present state and not on the previous states
\Pr(X_{n+1}=x\mid X_{1}=x_{1},X_{2}=x_{2},\ldots ,X_{n}=x_{n})=\Pr(X_{n+1}=x\mid X_{n}=x_{n}),
if both conditional probabilities are well defined, i.e. if
 {\displaystyle \Pr(X_{1}=x_{1},\ldots ,X_{n}=x_{n})>0}.
The possible values of Xi form a countable set S called the state space of the chain.

Markov chains are often described by a sequence of directed graphs, where the edges of graph n are labeled by the probabilities of going from one state at time n to the other states at time n + 1, \Pr(X_{n+1}=x\mid X_{n}=x_{n}). The same information is represented by the transition matrix from time n to time n + 1. However, Markov chains are frequently assumed to be time-homogeneous (see variations below), in which case the graph and matrix are independent of n and are thus not presented as sequences.

These descriptions highlight the structure of the Markov chain that is independent of the initial distribution \Pr(X_{1}=x_{1}). When time-homogeneous, the chain can be interpreted as a state machine assigning a probability of hopping from each vertex or state to an adjacent one. The probability {\displaystyle \Pr(X_{n}=x\mid X_{1}=x_{1})} of the machine's state can be analyzed as the statistical behavior of the machine with an element x_{1} of the state space as input, or as the behavior of the machine with the initial distribution \Pr(X_{1}=y)=[x_{1}=y] of states as input, where [P] is the Iverson bracket.

The fact that some sequences of states might have zero probability of occurring corresponds to a graph with multiple connected components, where we omit edges that would carry a zero transition probability. For example, if a has a nonzero probability of going to b, but a and x lie in different connected components of the graph, then {\displaystyle \Pr(X_{n+1}=b\mid X_{n}=a)} is defined, while {\displaystyle \Pr(X_{n+1}=b\mid X_{1}=x,\ldots ,X_{n}=a)} is not.

Variations

  • Time-homogeneous Markov chains (or stationary Markov chains) are processes where
{\displaystyle \Pr(X_{n+1}=x\mid X_{n}=y)=\Pr(X_{n}=x\mid X_{n-1}=y)}
for all n. The probability of the transition is independent of n.
  • A Markov chain with memory (or a Markov chain of order m)
where m is finite, is a process satisfying
{\begin{aligned}{}&\Pr(X_{n}=x_{n}\mid X_{n-1}=x_{n-1},X_{n-2}=x_{n-2},\dots ,X_{1}=x_{1})\\=&\Pr(X_{n}=x_{n}\mid X_{n-1}=x_{n-1},X_{n-2}=x_{n-2},\dots ,X_{n-m}=x_{n-m}){\text{ for }}n>m\end{aligned}}
In other words, the future state depends on the past m states. It is possible to construct a chain (Yn) from (Xn) which has the 'classical' Markov property by taking as state space the ordered m-tuples of X values, ie. Yn = (Xn, Xn−1, ..., Xnm+1).

Example

Finance Markov chain example state space.svg
A state diagram for a simple example is shown in the figure on the right, using a directed graph to picture the state transitions. The states represent whether a hypothetical stock market is exhibiting a bull market, bear market, or stagnant market trend during a given week. According to the figure, a bull week is followed by another bull week 90% of the time, a bear week 7.5% of the time, and a stagnant week the other 2.5% of the time. Labelling the state space {1 = bull, 2 = bear, 3 = stagnant} the transition matrix for this example is
P={\begin{bmatrix}0.9&0.075&0.025\\0.15&0.8&0.05\\0.25&0.25&0.5\end{bmatrix}}.
The distribution over states can be written as a stochastic row vector x with the relation x(n + 1) = x(n)P. So if at time n the system is in state x(n), then three time periods later, at time n + 3 the distribution is
{\displaystyle {\begin{aligned}x^{(n+3)}&=x^{(n+2)}P=\left(x^{(n+1)}P\right)P\\\\&=x^{(n+1)}P^{2}=\left(x^{(n)}P\right)P^{2}\\&=x^{(n)}P^{3}\\\end{aligned}}}
In particular, if at time n the system is in state 2 (bear), then at time n + 3 the distribution is
{\begin{aligned}x^{(n+3)}&={\begin{bmatrix}0&1&0\end{bmatrix}}{\begin{bmatrix}0.9&0.075&0.025\\0.15&0.8&0.05\\0.25&0.25&0.5\end{bmatrix}}^{3}\\&={\begin{bmatrix}0&1&0\end{bmatrix}}{\begin{bmatrix}0.7745&0.17875&0.04675\\0.3575&0.56825&0.07425\\0.4675&0.37125&0.16125\\\end{bmatrix}}\\&={\begin{bmatrix}0.3575&0.56825&0.07425\end{bmatrix}}.\end{aligned}}
Using the transition matrix it is possible to calculate, for example, the long-term fraction of weeks during which the market is stagnant, or the average number of weeks it will take to go from a stagnant to a bull market. Using the transition probabilities, the steady-state probabilities indicate that 62.5% of weeks will be in a bull market, 31.25% of weeks will be in a bear market and 6.25% of weeks will be stagnant, since:
{\displaystyle \lim _{N\to \infty }\,P^{N}={\begin{bmatrix}0.625&0.3125&0.0625\\0.625&0.3125&0.0625\\0.625&0.3125&0.0625\end{bmatrix}}}
A thorough development and many examples can be found in the on-line monograph Meyn & Tweedie 2005.[46]

A finite state machine can be used as a representation of a Markov chain. Assuming a sequence of independent and identically distributed input signals (for example, symbols from a binary alphabet chosen by coin tosses), if the machine is in state y at time n, then the probability that it moves to state x at time n + 1 depends only on the current state.

Continuous-time Markov chain

A continuous-time Markov chain (Xt)t ≥ 0 is defined by a finite or countable state space S, a transition rate matrix Q with dimensions equal to that of the state space and initial probability distribution defined on the state space. For i ≠ j, the elements qij are non-negative and describe the rate of the process transitions from state i to state j. The elements qii are chosen such that each row of the transition rate matrix sums to zero.

There are three equivalent definitions of the process.[47]

Infinitesimal definition


The continuous time Markov chain is characterized by the transition rates, the derivatives with respect to time of the transition probabilities between states i and j.

Let Xt be the random variable describing the state of the process at time t, and assume that the process is in a state i at time t.

Then, knowing Xt = i, Xt + h is independent of previous values (Xs : st), and as h → 0 for all j and for all t:

{\displaystyle \Pr(X(t+h)=j\mid X(t)=i)=\delta _{ij}+q_{ij}h+o(h)}, 

using the little-o notation. The qij can be seen as measuring how quickly the transition from i to j happens.

Jump chain/holding time definition

Define a discrete-time Markov chain Yn to describe the nth jump of the process and variables S1, S2, S3, ... to describe holding times in each of the states where Si follows the exponential distribution with rate parameter −qYiYi.

Transition probability definition

For any value n = 0, 1, 2, 3, ... and times indexed up to this value of n: t0, t1, t2, ... and all states recorded at these times i0, i1, i2, i3, ... it holds that
{\displaystyle \Pr(X_{t_{n+1}}=i_{n+1}\mid X_{t_{0}}=i_{0},X_{t_{1}}=i_{1},\ldots ,X_{t_{n}}=i_{n})=p_{i_{n}i_{n+1}}(t_{n+1}-t_{n})}
where pij is the solution of the forward equation
{\displaystyle P'(t) = P(t) Q}
with initial condition P(0) is the identity matrix.

Transient evolution

The probability of going from state i to state j in n time steps is
{\displaystyle p_{ij}^{(n)}=\Pr(X_{n}=j\mid X_{0}=i)}
and the single-step transition is
{\displaystyle p_{ij}=\Pr(X_{1}=j\mid X_{0}=i).}
For a time-homogeneous Markov chain:
{\displaystyle p_{ij}^{(n)}=\Pr(X_{k+n}=j\mid X_{k}=i)}
and
{\displaystyle p_{ij}=\Pr(X_{k+1}=j\mid X_{k}=i).}
The n-step transition probabilities satisfy the Chapman–Kolmogorov equation, that for any k such that 0 < k < n,
p_{ij}^{(n)}=\sum _{r\in S}p_{ir}^{(k)}p_{rj}^{(n-k)}
where S is the state space of the Markov chain.

The marginal distribution Pr(Xn = x) is the distribution over states at time n. The initial distribution is Pr(X0 = x). The evolution of the process through one time step is described by
{\displaystyle \Pr(X_{n}=j)=\sum _{r\in S}p_{rj}\Pr(X_{n-1}=r)=\sum _{r\in S}p_{rj}^{(n)}\Pr(X_{0}=r).}
Note: The superscript (n) is an index and not an exponent.

Properties

Reducibility

A Markov chain is said to be irreducible if it is possible to get to any state from any state. The following explains this definition more formally.

A state j is said to be accessible from a state i (written i → j) if a system started in state i has a non-zero probability of transitioning into state j at some point. Formally, state j is accessible from state i if there exists an integer nij ≥ 0 such that
{\displaystyle \Pr(X_{n_{ij}}=j\mid X_{0}=i)=p_{ij}^{(n_{ij})}>0.}
This integer is allowed to be different for each pair of states, hence the subscripts in nij. Allowing n to be zero means that every state is accessible from itself by definition. The accessibility relation is reflexive and transitive, but not necessarily symmetric.

A state i is said to communicate with state j (written i ↔ j) if both i → j and j → i. A communicating class is a maximal set of states C such that every pair of states in C communicates with each other. Communication is an equivalence relation, and communicating classes are the equivalence classes of this relation.

A communicating class is closed if the probability of leaving the class is zero, namely if i is in C but j is not, then j is not accessible from i. The set of communicating classes forms a directed, acyclic graph by inheriting the arrows from the original state space. A communicating class is closed if and only if it has no outgoing arrows in this graph.

A state i is said to be essential or final if for all j such that i → j it is also true that j → i. A state i is inessential if it is not essential.[48] A state is final if and only if its communicating class is closed.

A Markov chain is said to be irreducible if its state space is a single communicating class; in other words, if it is possible to get to any state from any state.

Periodicity

A state i has period k if any return to state i must occur in multiples of k time steps. Formally, the period of a state is defined as
k=\gcd\{n>0:\Pr(X_{n}=i\mid X_{0}=i)>0\}
(where "gcd" is the greatest common divisor) provided that this set is not empty. Otherwise the period is not defined. Note that even though a state has period k, it may not be possible to reach the state in k steps. For example, suppose it is possible to return to the state in {6, 8, 10, 12, ...} time steps; k would be 2, even though 2 does not appear in this list.

If k = 1, then the state is said to be aperiodic. Otherwise (k > 1), the state is said to be periodic with period k. A Markov chain is aperiodic if every state is aperiodic. An irreducible Markov chain only needs one aperiodic state to imply all states are aperiodic.

Every state of a bipartite graph has an even period.

Transience and recurrence

A state i is said to be transient if, given that we start in state i, there is a non-zero probability that we will never return to i. Formally, let the random variable Ti be the first return time to state i (the "hitting time"):
T_{i}=\inf\{n\geq 1:X_{n}=i\mid X_{0}=i\}.
The number
f_{ii}^{(n)}=\Pr(T_{i}=n)
is the probability that we return to state i for the first time after n steps. Therefore, state i is transient if
{\displaystyle \Pr(T_{i}<\infty )=\sum _{n=1}^{\infty }f_{ii}^{(n)}<1.}
State i is recurrent (or persistent) if it is not transient. Recurrent states are guaranteed (with probability 1) to have a finite hitting time. Recurrence and transience are class properties, that is, they either hold or do not hold equally for all members of a communicating class.

Mean recurrence time

Even if the hitting time is finite with probability 1, it need not have a finite expectation. The mean recurrence time at state i is the expected return time Mi:
{\displaystyle M_{i}=E[T_{i}]=\sum _{n=1}^{\infty }n\cdot f_{ii}^{(n)}.}
State i is positive recurrent (or non-null persistent) if Mi is finite; otherwise, state i is null recurrent (or null persistent).

Expected number of visits

It can be shown that a state i is recurrent if and only if the expected number of visits to this state is infinite, i.e.,
{\displaystyle \sum _{n=0}^{\infty }p_{ii}^{(n)}=\infty .}

Absorbing states

A state i is called absorbing if it is impossible to leave this state. Therefore, the state i is absorbing if and only if
p_{ii}=1{\text{ and }}p_{ij}=0{\text{ for }}i\not =j.
If every state can reach an absorbing state, then the Markov chain is an absorbing Markov chain.

Ergodicity

A state i is said to be ergodic if it is aperiodic and positive recurrent. In other words, a state i is ergodic if it is recurrent, has a period of 1, and has finite mean recurrence time. If all states in an irreducible Markov chain are ergodic, then the chain is said to be ergodic.

It can be shown that a finite state irreducible Markov chain is ergodic if it has an aperiodic state. More generally, a Markov chain is ergodic if there is a number N such that any state can be reached from any other state in any number of steps greater than or equal to a number N. In case of a fully connected transition matrix, where all transitions have a non-zero probability, this condition is fulfilled with N = 1.

A Markov chain with more than one state and just one out-going transition per state is either not irreducible or not aperiodic, hence cannot be ergodic.

Steady-state analysis and limiting distributions

If the Markov chain is a time-homogeneous Markov chain, so that the process is described by a single, time-independent matrix p_{ij}, then the vector {\boldsymbol {\pi }} is called a stationary distribution (or invariant measure) if \forall j\in S it satisfies
0\leq \pi _{j}\leq 1.
\sum _{j\in S}\pi _{j}=1.
\pi _{j}=\sum _{i\in S}\pi _{i}p_{ij}.
An irreducible chain has a positive stationary distribution (a stationary distribution such that {\displaystyle \forall i,\pi _{i}>0}) if and only if all of its states are positive recurrent.[49] In that case, π is unique and is related to the expected return time:
\pi _{j}={\frac {C}{M_{j}}}\,,
where C is the normalizing constant. Further, if the positive recurrent chain is both irreducible and aperiodic, it is said to have a limiting distribution; for any i and j,
{\displaystyle \lim _{n\rightarrow \infty }p_{ij}^{(n)}={\frac {C}{M_{j}}}.}
Note that there is no assumption on the starting distribution; the chain converges to the stationary distribution regardless of where it begins. Such \pi is called the equilibrium distribution of the chain.

If a chain has more than one closed communicating class, its stationary distributions will not be unique (consider any closed communicating class C_{i} in the chain; each one will have its own unique stationary distribution \pi _{i}. Extending these distributions to the overall chain, setting all values to zero outside the communication class, yields that the set of invariant measures of the original chain is the set of all convex combinations of the \pi _{i}'s). However, if a state j is aperiodic, then
{\displaystyle \lim _{n\rightarrow \infty }p_{jj}^{(n)}={\frac {C}{M_{j}}}}
and for any other state i, let fij be the probability that the chain ever visits state j if it starts at i,
{\displaystyle \lim _{n\rightarrow \infty }p_{ij}^{(n)}=C{\frac {f_{ij}}{M_{j}}}.}
If a state i is periodic with period k > 1 then the limit
{\displaystyle \lim _{n\rightarrow \infty }p_{ii}^{(n)}}
does not exist, although the limit
{\displaystyle \lim _{n\rightarrow \infty }p_{ii}^{(kn+r)}}
does exist for every integer r.

Steady-state analysis and the time-inhomogeneous Markov chain

A Markov chain need not necessarily be time-homogeneous to have an equilibrium distribution. If there is a probability distribution over states {\boldsymbol {\pi }} such that
{\displaystyle \pi _{j}=\sum _{i\in S}\pi _{i}\,\Pr(X_{n+1}=j\mid X_{n}=i)}
for every state j and every time n then {\boldsymbol {\pi }} is an equilibrium distribution of the Markov chain. Such can occur in Markov chain Monte Carlo (MCMC) methods in situations where a number of different transition matrices are used, because each is efficient for a particular kind of mixing, but each matrix respects a shared equilibrium distribution.

Finite state space

If the state space is finite, the transition probability distribution can be represented by a matrix, called the transition matrix, with the (i, j)th element of P equal to
{\displaystyle p_{ij}=\Pr(X_{n+1}=j\mid X_{n}=i).}
Since each row of P sums to one and all elements are non-negative, P is a right stochastic matrix.

Stationary distribution relation to eigenvectors and simplices

A stationary distribution π is a (row) vector, whose entries are non-negative and sum to 1, is unchanged by the operation of transition matrix P on it and so is defined by
{\displaystyle \pi \mathbf {P} =\pi .}
By comparing this definition with that of an eigenvector we see that the two concepts are related and that
\pi ={\frac {e}{\sum _{i}{e_{i}}}}
is a normalized (\textstyle \sum _{i}\pi _{i}=1) multiple of a left eigenvector e of the transition matrix PT with an eigenvalue of 1. If there is more than one unit eigenvector then a weighted sum of the corresponding stationary states is also a stationary state. But for a Markov chain one is usually more interested in a stationary state that is the limit of the sequence of distributions for some initial distribution.

The values of a stationary distribution \textstyle \pi _{i} are associated with the state space of P and its eigenvectors have their relative proportions preserved. Since the components of π are positive and the constraint that their sum is unity can be rewritten as \textstyle \sum _{i}1\cdot \pi _{i}=1 we see that the dot product of π with a vector whose components are all 1 is unity and that π lies on a simplex.

Time-homogeneous Markov chain with a finite state space

If the Markov chain is time-homogeneous, then the transition matrix P is the same after each step, so the k-step transition probability can be computed as the k-th power of the transition matrix, Pk.
If the Markov chain is irreducible and aperiodic, then there is a unique stationary distribution π. Additionally, in this case Pk converges to a rank-one matrix in which each row is the stationary distribution π, that is,
\lim _{k\rightarrow \infty }\mathbf {P} ^{k}=\mathbf {1} \pi
where 1 is the column vector with all entries equal to 1. This is stated by the Perron–Frobenius theorem. If, by whatever means, \scriptstyle \lim _{k\to \infty }\mathbf {P} ^{k} is found, then the stationary distribution of the Markov chain in question can be easily determined for any starting distribution, as will be explained below.

For some stochastic matrices P, the limit \scriptstyle \lim \limits _{k\to \infty }\mathbf {P} ^{k} does not exist while the stationary distribution does, as shown by this example:
\mathbf {P} ={\begin{pmatrix}0&1\\1&0\end{pmatrix}}\qquad \mathbf {P} ^{2k}=I\qquad \mathbf {P} ^{2k+1}=\mathbf {P}
{\begin{pmatrix}{\frac {1}{2}}&{\frac {1}{2}}\end{pmatrix}}{\begin{pmatrix}0&1\\1&0\end{pmatrix}}={\begin{pmatrix}{\frac {1}{2}}&{\frac {1}{2}}\end{pmatrix}}
Note that this example illustrates a periodic Markov chain.

Because there are a number of different special cases to consider, the process of finding this limit if it exists can be a lengthy task. However, there are many techniques that can assist in finding this limit. Let P be an n×n matrix, and define \scriptstyle \mathbf {Q} =\lim _{k\to \infty }\mathbf {P} ^{k}.

It is always true that
\mathbf {QP} =\mathbf {Q} .
Subtracting Q from both sides and factoring then yields
\mathbf {Q} (\mathbf {P} -\mathbf {I} _{n})=\mathbf {0} _{n,n},
where In is the identity matrix of size n, and 0n,n is the zero matrix of size n×n. Multiplying together stochastic matrices always yields another stochastic matrix, so Q must be a stochastic matrix (see the definition above). It is sometimes sufficient to use the matrix equation above and the fact that Q is a stochastic matrix to solve for Q. Including the fact that the sum of each the rows in P is 1, there are n+1 equations for determining n unknowns, so it is computationally easier if on the one hand one selects one row in Q and substitute each of its elements by one, and on the other one substitute the corresponding element (the one in the same column) in the vector 0, and next left-multiply this latter vector by the inverse of transformed former matrix to find Q.

Here is one method for doing so: first, define the function f(A) to return the matrix A with its right-most column replaced with all 1's. If [f(PIn)]−1 exists then[50][citation needed]
\mathbf {Q} =f(\mathbf {0} _{n,n})[f(\mathbf {P} -\mathbf {I} _{n})]^{-1}.
Explain: The original matrix equation is equivalent to a system of n×n linear equations in n×n variables. And there are n more linear equations from the fact that Q is a right stochastic matrix whose each row sums to 1. So it needs any n×n independent linear equations of the (n×n+n) equations to solve for the n×n variables. In this example, the n equations from “Q multiplied by the right-most column of (P-In)” have been replaced by the n stochastic ones.
One thing to notice is that if P has an element Pi,i on its main diagonal that is equal to 1 and the ith row or column is otherwise filled with 0's, then that row or column will remain unchanged in all of the subsequent powers Pk. Hence, the ith row or column of Q will have the 1 and the 0's in the same positions as in P.

Convergence speed to the stationary distribution

As stated earlier, from the equation {\displaystyle {\boldsymbol {\pi }}={\boldsymbol {\pi }}\mathbf {P} ,} (if exists) the stationary (or steady state) distribution π is a left eigenvector of row stochastic matrix P. Then assuming that P is diagonalizable or equivalently that P has n linearly independent eigenvectors, speed of convergence is elaborated as follows. (For non-diagonalizable, i.e. defective matrices, one may start with the Jordan normal form of P and proceed with a bit more involved set of arguments in a similar way.)

Let U be the matrix of eigenvectors (each normalized to having an L2 norm equal to 1) where each column is a left eigenvector of P and let Σ be the diagonal matrix of left eigenvalues of P, i.e. Σ = diag(λ1,λ2,λ3,...,λn). Then by eigendecomposition
\mathbf {P} =\mathbf {U\Sigma U} ^{-1}.
Let the eigenvalues be enumerated such that:
{\displaystyle 1=|\lambda _{1}|>|\lambda _{2}|\geqslant |\lambda _{3}|\geqslant \cdots \geqslant |\lambda _{n}|.}
Since P is a row stochastic matrix, its largest left eigenvalue is 1. If there is a unique stationary distribution, then the largest eigenvalue and the corresponding eigenvector is unique too (because there is no other π which solves the stationary distribution equation above). Let ui be the i-th column of U matrix, i.e. ui is the left eigenvector of P corresponding to λi. Also let x be a length n row vector that represents a valid probability distribution; since the eigenvectors ui span {\displaystyle \mathbb {R} ^{n},} we can write
{\displaystyle \mathbf {x} ^{T}=\sum _{i=1}^{n}a_{i}\mathbf {u} _{i},\qquad a_{i}\in \mathbb {R} .}
If we multiply x with P from right and continue this operation with the results, in the end we get the stationary distribution π. In other words, π = uixPP...P = xPk as k → ∞. That means
{\displaystyle {\begin{aligned}{\boldsymbol {\pi }}^{(k)}&=\mathbf {x} \left(\mathbf {U\Sigma U} ^{-1}\right)\left(\mathbf {U\Sigma U} ^{-1}\right)\cdots \left(\mathbf {U\Sigma U} ^{-1}\right)\\&=\mathbf {xU\Sigma } ^{k}\mathbf {U} ^{-1}\\&=\left(a_{1}\mathbf {u} _{1}^{T}+a_{2}\mathbf {u} _{2}^{T}+\cdots +a_{n}\mathbf {u} _{n}^{T}\right)\mathbf {U\Sigma } ^{k}\mathbf {U} ^{-1}\\&=a_{1}\lambda _{1}^{k}\mathbf {u} _{1}^{T}+a_{2}\lambda _{2}^{k}\mathbf {u} _{2}^{T}+\cdots +a_{n}\lambda _{n}^{k}\mathbf {u} _{n}^{T}&&u_{i}\bot u_{j}{\text{ for }}i\neq j\\&=\lambda _{1}^{k}\left\{a_{1}\mathbf {u} _{1}^{T}+a_{2}\left({\frac {\lambda _{2}}{\lambda _{1}}}\right)^{k}\mathbf {u} _{2}^{T}+a_{3}\left({\frac {\lambda _{3}}{\lambda _{1}}}\right)^{k}\mathbf {u} _{3}^{T}+\cdots +a_{n}\left({\frac {\lambda _{n}}{\lambda _{1}}}\right)^{k}\mathbf {u} _{n}^{T}\right\}\end{aligned}}}
Since π = u1, π(k) approaches to π as k → ∞ with a speed in the order of λ2/λ1 exponentially. This follows because {\displaystyle |\lambda _{2}|\geqslant \cdots \geqslant |\lambda _{n}|,} hence λ2/λ1 is the dominant term. Random noise in the state distribution π can also speed up this convergence to the stationary distribution.[52]

Reversible Markov chain

A Markov chain is said to be reversible if there is a probability distribution π over its states such that
\pi _{i}\Pr(X_{n+1}=j\mid X_{n}=i)=\pi _{j}\Pr(X_{n+1}=i\mid X_{n}=j)
for all times n and all states i and j. This condition is known as the detailed balance condition (some books call it the local balance equation).

Considering a fixed arbitrary time n and using the shorthand
{\displaystyle p_{ij}=\Pr(X_{n+1}=j\mid X_{n}=i)\,,}
the detailed balance equation can be written more compactly as
\pi _{i}p_{ij}=\pi _{j}p_{ji}\,.
The single time-step from n to n + 1 can be thought of as each person i having πi dollars initially and paying each person j a fraction pij of it. The detailed balance condition states that upon each payment, the other person pays exactly the same amount of money back.[53] Clearly the total amount of money π each person has remains the same after the time-step, since every dollar spent is balanced by a corresponding dollar received. This can be shown more formally by the equality
\sum _{i}\pi _{i}p_{ij}=\sum _{i}\pi _{j}p_{ji}=\pi _{j}\sum _{i}p_{ji}=\pi _{j}\,,
which essentially states that the total amount of money person j receives (including from himself) during the time-step equals the amount of money he pays others, which equals all the money he initially had because it was assumed that all money is spent (i.e. pji sums to 1 over i). The assumption is a technical one, because the money not really used is simply thought of as being paid from person j to himself (i.e. pjj is not necessarily zero).

As n was arbitrary, this reasoning holds for any n, and therefore for reversible Markov chains π is always a steady-state distribution of Pr(Xn+1 = j | Xn = i) for every n.

If the Markov chain begins in the steady-state distribution, i.e., if Pr(X0 = i) = πi, then Pr(Xn = i) = πi for all n and the detailed balance equation can be written as
\Pr(X_{n}=i,X_{n+1}=j)=\Pr(X_{n+1}=i,X_{n}=j)\,.
The left- and right-hand sides of this last equation are identical except for a reversing of the time indices n and n + 1.

Kolmogorov's criterion gives a necessary and sufficient condition for a Markov chain to be reversible directly from the transition matrix probabilities. The criterion requires that the products of probabilities around every closed loop are the same in both directions around the loop.

Reversible Markov chains are common in Markov chain Monte Carlo (MCMC) approaches because the detailed balance equation for a desired distribution π necessarily implies that the Markov chain has been constructed so that π is a steady-state distribution. Even with time-inhomogeneous Markov chains, where multiple transition matrices are used, if each such transition matrix exhibits detailed balance with the desired π distribution, this necessarily implies that π is a steady-state distribution of the Markov chain.

Closest reversible Markov chain

For any time-homogeneous Markov chain given by a transition matrix P\in \mathbb {R} ^{n\times n}, any norm ||\cdot || on \mathbb {R} ^{n\times n} which is induced by a scalar product, and any probability vector \pi , there exists a unique transition matrix P^{*} which is reversible according to \pi and which is closest to P according to the norm ||\cdot ||. The matrix P^{*} can be computed by solving a quadratic-convex optimization problem.[54] A GNU licensed Matlab script that computes the nearest reversible Markov chain can be found here.

For example, consider the following Markov chain:

Simple Markov chain.

This Markov chain is not reversible. According to the Frobenius Norm the closest reversible Markov chain according to \pi =\left({\frac {1}{3}},{\frac {1}{3}},{\frac {1}{3}}\right) can be computed as

Mchain simple corrected C1.png
If we choose the probability vector randomly as \pi =\left({\frac {1}{4}},{\frac {1}{4}},{\frac {1}{2}}\right), then the closest reversible Markov chain according to the Frobenius norm is approximately given by

Mvchain approx C2.png

Bernoulli scheme

A Bernoulli scheme is a special case of a Markov chain where the transition probability matrix has identical rows, which means that the next state is even independent of the current state (in addition to being independent of the past states). A Bernoulli scheme with only two possible states is known as a Bernoulli process.

General state space

For an overview of Markov chains on a general state space, see the article Markov chains on a measurable state space.

Harris chains

Many results for Markov chains with finite state space can be generalized to chains with uncountable state space through Harris chains. The main idea is to see if there is a point in the state space that the chain hits with probability one. Generally, it is not true for continuous state space, however, we can define sets A and B along with a positive number ε and a probability measure ρ, such that
{\displaystyle {\begin{cases}{\text{If }}\tau _{A}=\inf\{n\geq 0:X_{n}\in A\},&{\text{ then }}P_{z}(\tau _{A}<\infty )>0{\text{ for all }}z.\\{\text{If }}x\in A{\text{ and }}C\subset B,&{\text{ then }}p(x,C)\geq \varepsilon \rho (C).\end{cases}}}
Then we could collapse the sets into an auxiliary point α, and a recurrent Harris chain can be modified to contain α. Lastly, the collection of Harris chains is a comfortable level of generality, which is broad enough to contain a large number of interesting examples, yet restrictive enough to allow for a rich theory.

The use of Markov chains in Markov chain Monte Carlo methods covers cases where the process follows a continuous state space.

Locally interacting Markov chains

Considering a collection of Markov chains whose evolution takes in account the state of other Markov chains, is related to the notion of locally interacting Markov chains. This corresponds to the situation when the state space has a (Cartesian-) product form. See interacting particle system and stochastic cellular automata (probabilistic cellular automata). See for instance Interaction of Markov Processes[55] or[56]

Markovian representations

In some cases, apparently non-Markovian processes may still have Markovian representations, constructed by expanding the concept of the 'current' and 'future' states. For example, let X be a non-Markovian process. Then define a process Y, such that each state of Y represents a time-interval of states of X. Mathematically, this takes the form:
Y(t) = \big\{ X(s): s \in [a(t), b(t)] \, \big\}.
If Y has the Markov property, then it is a Markovian representation of X.

An example of a non-Markovian process with a Markovian representation is an autoregressive time series of order greater than one.[57]

Transient behaviour

Write P(t) for the matrix with entries pij = P(Xt = j | X0 = i). Then the matrix P(t) satisfies the forward equation, a first-order differential equation
{\displaystyle P'(t) = P(t) Q}
where the prime denotes differentiation with respect to t. The solution to this equation is given by a matrix exponential
{\displaystyle P(t) = e^{tQ}}
In a simple case such as a CTMC on the state space {1,2}. The general Q matrix for such a process is the following 2 × 2 matrix with α,β > 0
{\displaystyle Q = \begin{pmatrix} -\alpha & \alpha \\ \beta & -\beta \end{pmatrix}.}
The above relation for forward matrix can be solved explicitly in this case to give
{\displaystyle P(t) = \begin{pmatrix}
\frac{\beta}{\alpha+\beta} + \frac{\alpha}{\alpha+\beta}e^{-(\alpha+\beta)t} &
\frac{\alpha}{\alpha+\beta} - \frac{\alpha}{\alpha+\beta}e^{-(\alpha+\beta)t} \\
\frac{\beta}{\alpha+\beta} - \frac{\beta}{\alpha+\beta}e^{-(\alpha+\beta)t} &
\frac{\alpha}{\alpha+\beta} + \frac{\beta}{\alpha+\beta}e^{-(\alpha+\beta)t}
\end{pmatrix}}
However, direct solutions are complicated to compute for larger matrices. The fact that Q is the generator for a semigroup of matrices
P(t+s)=e^{{(t+s)Q}}=e^{{tQ}}e^{{sQ}}=P(t)P(s)
is used.

Stationary distribution

The stationary distribution for an irreducible recurrent CTMC is the probability distribution to which the process converges for large values of t. Observe that for the two-state process considered earlier with P(t) given by
{\displaystyle P(t) = \begin{pmatrix}
\frac{\beta}{\alpha+\beta} + \frac{\alpha}{\alpha+\beta}e^{-(\alpha+\beta)t} &
\frac{\alpha}{\alpha+\beta} - \frac{\alpha}{\alpha+\beta}e^{-(\alpha+\beta)t} \\
\frac{\beta}{\alpha+\beta} - \frac{\beta}{\alpha+\beta}e^{-(\alpha+\beta)t} &
\frac{\alpha}{\alpha+\beta} + \frac{\beta}{\alpha+\beta}e^{-(\alpha+\beta)t}
\end{pmatrix}}
as t → ∞ the distribution tends to
{\displaystyle P_\pi = \begin{pmatrix}
\frac{\beta}{\alpha+\beta} &
\frac{\alpha}{\alpha+\beta} \\
\frac{\beta}{\alpha+\beta}  &
\frac{\alpha}{\alpha+\beta} 
\end{pmatrix}}
Observe that each row has the same distribution as this does not depend on starting state. The row vector π may be found by solving[58]
{\displaystyle \pi Q = 0.}
with the additional constraint that
{\displaystyle \sum_{i \in S} \pi_i = 1.}

Example 1


Directed graph representation of a continuous-time Markov chain describing the state of financial markets (note: numbers are made-up).

The image to the right describes a continuous-time Markov chain with state-space {Bull market, Bear market, Stagnant market} and transition rate matrix
{\displaystyle Q=\begin{pmatrix}
-0.025 & 0.02 & 0.005 \\
0.3 & -0.5 & 0.2 \\
0.02 & 0.4 & -0.42
\end{pmatrix}.}
The stationary distribution of this chain can be found by solving π Q = 0 subject to the constraint that elements must sum to 1 to obtain
{\displaystyle \pi = \begin{pmatrix}0.885 & 0.071 & 0.044 \end{pmatrix}.}

Example 2


Transition graph with transition probabilities, exemplary for the states 1, 5, 6 and 8. There is a bidirectional secret passage between states 2 and 8.

The image to the right describes a discrete-time Markov chain with state-space {1,2,3,4,5,6,7,8,9}. The player controls Pac-Man through a maze, eating pac-dots. Meanwhile, he is being hunted by ghosts. For convenience, the maze shall be a small 3x3-grid and the monsters move randomly in horizontal and vertical directions. A secret passageway between states 2 and 8 can be used in both directions. Entries with probability zero are removed in the following transition matrix:

{\displaystyle Q={\begin{pmatrix}&{\frac {1}{2}}&&{\frac {1}{2}}\\{\frac {1}{4}}&&{\frac {1}{4}}&&{\frac {1}{4}}&&&{\frac {1}{4}}\\&{\frac {1}{2}}&&&&{\frac {1}{2}}\\{\frac {1}{3}}&&&&{\frac {1}{3}}&&{\frac {1}{3}}\\&{\frac {1}{4}}&&{\frac {1}{4}}&&{\frac {1}{4}}&&{\frac {1}{4}}\\&&{\frac {1}{3}}&&{\frac {1}{3}}&&&&{\frac {1}{3}}\\&&&{\frac {1}{2}}&&&&{\frac {1}{2}}\\&{\frac {1}{4}}&&&{\frac {1}{4}}&&{\frac {1}{4}}&&{\frac {1}{4}}\\&&&&&{\frac {1}{2}}&&{\frac {1}{2}}\end{pmatrix}}}

This Markov chain is irreducible, because the ghosts can fly from every state to every state in a finite amount of time. Due to the secret passageway, the Markov chain is also aperiodic, because the monsters can move from any state to any state both in an even and in an uneven number of state transitions. Therefore, a unique stationary distribution exists and can be found by solving π Q = 0 subject to the constraint that elements must sum to 1. The solution of this linear equation subject to the constraint is {\displaystyle \pi =(7.7,15.4,7.7,11.5,15.4,11.5,7.7,15.4,7.7)\%.} The central state and the border states 2 and 8 of the adjacent secret passageway are visited most and the corner states are visited least.

Hitting times

The hitting time is the time, starting in a given set of states until the chain arrives in a given state or set of states. The distribution of such a time period has a phase type distribution. The simplest such distribution is that of a single exponentially distributed transition.

Expected hitting times

For a subset of states A ⊆ S, the vector kA of hitting times (where element {\displaystyle k_{i}^{A}} represents the expected value, starting in state i that the chain enters one of the states in the set A) is the minimal non-negative solution to[58]
{\displaystyle \begin{align}
k_i^A = 0 & \text{ for } i \in A\\
-\sum_{j \in S} q_{ij} k_j^A = 1&\text{ for } i \notin A.
\end{align}}

Time reversal

For a CTMC Xt, the time-reversed process is defined to be {\displaystyle \scriptstyle \hat X_t = X_{T-t}}. By Kelly's lemma this process has the same stationary distribution as the forward process.

A chain is said to be reversible if the reversed process is the same as the forward process. Kolmogorov's criterion states that the necessary and sufficient condition for a process to be reversible is that the product of transition rates around a closed loop must be the same in both directions.

Embedded Markov chain

One method of finding the stationary probability distribution, π, of an ergodic continuous-time Markov chain, Q, is by first finding its embedded Markov chain (EMC). Strictly speaking, the EMC is a regular discrete-time Markov chain, sometimes referred to as a jump process. Each element of the one-step transition probability matrix of the EMC, S, is denoted by sij, and represents the conditional probability of transitioning from state i into state j. These conditional probabilities may be found by
{\displaystyle 
s_{ij} = \begin{cases}
\frac{q_{ij}}{\sum_{k \neq i} q_{ik}} & \text{if } i \neq j \\
0 & \text{otherwise}.
\end{cases}
}
From this, S may be written as
{\displaystyle S = I - \left( \operatorname{diag}(Q) \right)^{-1} Q}
where I is the identity matrix and diag(Q) is the diagonal matrix formed by selecting the main diagonal from the matrix Q and setting all other elements to zero.

To find the stationary probability distribution vector, we must next find \phi such that
{\displaystyle \phi S=\phi ,}
with \phi being a row vector, such that all elements in \phi are greater than 0 and {\displaystyle ||\phi||_1} = 1. From this, π may be found as
{\displaystyle \pi = {-\phi (\operatorname{diag}(Q))^{-1} \over \left\|  \phi (\operatorname{diag}(Q))^{-1} \right\|_1}. }
Note that S may be periodic, even if Q is not. Once π is found, it must be normalized to a unit vector.
Another discrete-time process that may be derived from a continuous-time Markov chain is a δ-skeleton—the (discrete-time) Markov chain formed by observing X(t) at intervals of δ units of time. The random variables X(0), X(δ), X(2δ), ... give the sequence of states visited by the δ-skeleton.

Applications

Research has reported the application and usefulness of Markov chains in a wide range of topics such as physics, chemistry, medicine, music, game theory and sports.

Physics

Markovian systems appear extensively in thermodynamics and statistical mechanics, whenever probabilities are used to represent unknown or unmodelled details of the system, if it can be assumed that the dynamics are time-invariant, and that no relevant history need be considered which is not already included in the state description.

The paths, in the path integral formulation of quantum mechanics, are Markov chains.[60]
Markov chains are used in lattice QCD simulations.[61]

Chemistry

{\displaystyle {\ce {{E}+{\underset {Substrate \atop binding}{S<=>E}}{\overset {Catalytic \atop step}{S->E}}+P}}}
Michaelis-Menten kinetics. The enzyme (E) binds a substrate (S) and produces a product (P). Each reaction is a state transition in a Markov chain.

Markov chains and continuous-time Markov processes are useful in chemistry when physical systems closely approximate the Markov property. For example, imagine a large number n of molecules in solution in state A, each of which can undergo a chemical reaction to state B with a certain average rate. Perhaps the molecule is an enzyme, and the states refer to how it is folded. The state of any single enzyme follows a Markov chain, and since the molecules are essentially independent of each other, the number of molecules in state A or B at a time is n times the probability a given molecule is in that state.

The classical model of enzyme activity, Michaelis–Menten kinetics, can be viewed as a Markov chain, where at each time step the reaction proceeds in some direction. While Michaelis-Menten is fairly straightforward, far more complicated reaction networks can also be modeled with Markov chains.

An algorithm based on a Markov chain was also used to focus the fragment-based growth of chemicals in silico towards a desired class of compounds such as drugs or natural products.[62] As a molecule is grown, a fragment is selected from the nascent molecule as the "current" state. It is not aware of its past (i.e., it is not aware of what is already bonded to it). It then transitions to the next state when a fragment is attached to it. The transition probabilities are trained on databases of authentic classes of compounds.

Also, the growth (and composition) of copolymers may be modeled using Markov chains. Based on the reactivity ratios of the monomers that make up the growing polymer chain, the chain's composition may be calculated (e.g., whether monomers tend to add in alternating fashion or in long runs of the same monomer). Due to steric effects, second-order Markov effects may also play a role in the growth of some polymer chains.

Similarly, it has been suggested that the crystallization and growth of some epitaxial superlattice oxide materials can be accurately described by Markov chains.[63]

Testing

Several theorists have proposed the idea of the Markov chain statistical test (MCST), a method of conjoining Markov chains to form a "Markov blanket", arranging these chains in several recursive layers ("wafering") and producing more efficient test sets—samples—as a replacement for exhaustive testing. MCSTs also have uses in temporal state-based networks; Chilukuri et al.'s paper entitled "Temporal Uncertainty Reasoning Networks for Evidence Fusion with Applications to Object Detection and Tracking" (ScienceDirect) gives a background and case study for applying MCSTs to a wider range of applications.

Speech recognition

Hidden Markov models are the basis for most modern automatic speech recognition systems.

Information and computer science

Markov chains are used throughout information processing. Claude Shannon's famous 1948 paper A Mathematical Theory of Communication, which in a single step created the field of information theory, opens by introducing the concept of entropy through Markov modeling of the English language. Such idealized models can capture many of the statistical regularities of systems. Even without describing the full structure of the system perfectly, such signal models can make possible very effective data compression through entropy encoding techniques such as arithmetic coding. They also allow effective state estimation and pattern recognition. Markov chains also play an important role in reinforcement learning.

Markov chains are also the basis for hidden Markov models, which are an important tool in such diverse fields as telephone networks (which use the Viterbi algorithm for error correction), speech recognition and bioinformatics (such as in rearrangements detection[64]).

The LZMA lossless data compression algorithm combines Markov chains with Lempel-Ziv compression to achieve very high compression ratios.

Queueing theory

Markov chains are the basis for the analytical treatment of queues (queueing theory). Agner Krarup Erlang initiated the subject in 1917.[65] This makes them critical for optimizing the performance of telecommunications networks, where messages must often compete for limited resources (such as bandwidth).[66]

Numerous queueing models use continuous-time Markov chains. For example, an M/M/1 queue is a CTMC on the non-negative integers where upward transitions from i to i + 1 occur at rate λ according to a Poisson process and describe job arrivals, while transitions from i to i – 1 (for i > 1) occur at rate μ (job service times are exponentially distributed) and describe completed services (departures) from the queue.

Internet applications

The PageRank of a webpage as used by Google is defined by a Markov chain.[67] It is the probability to be at page i in the stationary distribution on the following Markov chain on all (known) webpages. If N is the number of known webpages, and a page i has k_{i} links to it then it has transition probability {\frac {\alpha }{k_{i}}}+{\frac {1-\alpha }{N}} for all pages that are linked to and {\frac {1-\alpha }{N}} for all pages that are not linked to. The parameter \alpha is taken to be about 0.85.[68]

Markov models have also been used to analyze web navigation behavior of users. A user's web link transition on a particular website can be modeled using first- or second-order Markov models and can be used to make predictions regarding future navigation and to personalize the web page for an individual user.

Statistics

Markov chain methods have also become very important for generating sequences of random numbers to accurately reflect very complicated desired probability distributions, via a process called Markov chain Monte Carlo (MCMC). In recent years this has revolutionized the practicability of Bayesian inference methods, allowing a wide range of posterior distributions to be simulated and their parameters found numerically.

Economics and finance

Markov chains are used in finance and economics to model a variety of different phenomena, including asset prices and market crashes. The first financial model to use a Markov chain was from Prasad et al. in 1974.[dubious ][69] Another was the regime-switching model of James D. Hamilton (1989), in which a Markov chain is used to model switches between periods high and low GDP growth (or alternatively, economic expansions and recessions).[70] A more recent example is the Markov Switching Multifractal model of Laurent E. Calvet and Adlai J. Fisher, which builds upon the convenience of earlier regime-switching models.[71][72] It uses an arbitrarily large Markov chain to drive the level of volatility of asset returns.

Dynamic macroeconomics heavily uses Markov chains. An example is using Markov chains to exogenously model prices of equity (stock) in a general equilibrium setting.[73]

Credit rating agencies produce annual tables of the transition probabilities for bonds of different credit ratings.[74]

Social sciences

Markov chains are generally used in describing path-dependent arguments, where current structural configurations condition future outcomes. An example is the reformulation of the idea, originally due to Karl Marx's Das Kapital, tying economic development to the rise of capitalism. In current research, it is common to use a Markov chain to model how once a country reaches a specific level of economic development, the configuration of structural factors, such as size of the middle class, the ratio of urban to rural residence, the rate of political mobilization, etc., will generate a higher probability of transitioning from authoritarian to democratic regime.[75]

Mathematical biology

Markov chains also have many applications in biological modelling, particularly population processes, which are useful in modelling processes that are (at least) analogous to biological populations. The Leslie matrix, is one such example used to describe the population dynamics of many species, though some of its entries are not probabilities (they may be greater than 1). Another example is the modeling of cell shape in dividing sheets of epithelial cells.[76] Yet another example is the state of ion channels in cell membranes.

Markov chains are also used in simulations of brain function, such as the simulation of the mammalian neocortex.[77] Markov chains have also been used to model viral infection of single cells.[78]

Genetics

Markov chains have been used in population genetics in order to describe the change in gene frequencies in small populations affected by genetic drift, for example in diffusion equation method described by Motoo Kimura.[79]

Games

Markov chains can be used to model many games of chance. The children's games Snakes and Ladders and "Hi Ho! Cherry-O", for example, are represented exactly by Markov chains. At each turn, the player starts in a given state (on a given square) and from there has fixed odds of moving to certain other states (squares).

Music

Markov chains are employed in algorithmic music composition, particularly in software such as CSound, Max and SuperCollider. In a first-order chain, the states of the system become note or pitch values, and a probability vector for each note is constructed, completing a transition probability matrix (see below). An algorithm is constructed to produce output note values based on the transition matrix weightings, which could be MIDI note values, frequency (Hz), or any other desirable metric.[80]

1st-order matrix
Note A C E
A 0.1 0.6 0.3
C 0.25 0.05 0.7
E 0.7 0.3 0
2nd-order matrix
Notes A D G
AA 0.18 0.6 0.22
AD 0.5 0.5 0
AG 0.15 0.75 0.1
DD 0 0 1
DA 0.25 0 0.75
DG 0.9 0.1 0
GG 0.4 0.4 0.2
GA 0.5 0.25 0.25
GD 1 0 0
A second-order Markov chain can be introduced by considering the current state and also the previous state, as indicated in the second table. Higher, nth-order chains tend to "group" particular notes together, while 'breaking off' into other patterns and sequences occasionally. These higher-order chains tend to generate results with a sense of phrasal structure, rather than the 'aimless wandering' produced by a first-order system.[81]
Markov chains can be used structurally, as in Xenakis's Analogique A and B.[82] Markov chains are also used in systems which use a Markov model to react interactively to music input.[83]

Usually musical systems need to enforce specific control constraints on the finite-length sequences they generate, but control constraints are not compatible with Markov models, since they induce long-range dependencies that violate the Markov hypothesis of limited memory. In order to overcome this limitation, a new approach has been proposed.[84]

Baseball

Markov chain models have been used in advanced baseball analysis since 1960, although their use is still rare. Each half-inning of a baseball game fits the Markov chain state when the number of runners and outs are considered. During any at-bat, there are 24 possible combinations of number of outs and position of the runners. Mark Pankin shows that Markov chain models can be used to evaluate runs created for both individual players as well as a team.[85] He also discusses various kinds of strategies and play conditions: how Markov chain models have been used to analyze statistics for game situations such as bunting and base stealing and differences when playing on grass vs. astroturf.[86]

Markov text generators

Markov processes can also be used to generate superficially real-looking text given a sample document. Markov processes are used in a variety of recreational "parody generator" software (see dissociated press, Jeff Harrison,[87] Mark V Shaney[88][89])

Bioinformatics

In the bioinformatics field, they can be used to simulate DNA sequences.[90]

Computer-aided design

From Wikipedia, the free encyclopedia

Example: 2D CAD drawing
 
Example: 3D CAD model

Computer-aided design (CAD) is the use of computer systems (or workstations) to aid in the creation, modification, analysis, or optimization of a design.[1] CAD software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing.[2] CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. The term CADD (for Computer Aided Design and Drafting) is also used.

Its use in designing electronic systems is known as electronic design automation, or EDA. In mechanical design it is known as mechanical design automation (MDA) or computer-aided drafting (CAD), which includes the process of creating a technical drawing with the use of computer software.[4]

CAD software for mechanical design uses either vector-based graphics to depict the objects of traditional drafting, or may also produce raster graphics showing the overall appearance of designed objects. However, it involves more than just shapes. As in the manual drafting of technical and engineering drawings, the output of CAD must convey information, such as materials, processes, dimensions, and tolerances, according to application-specific conventions.

CAD may be used to design curves and figures in two-dimensional (2D) space; or curves, surfaces, and solids in three-dimensional (3D) space.[5]

CAD is an important industrial art extensively used in many applications, including automotive, shipbuilding, and aerospace industries, industrial and architectural design, prosthetics, and many more. CAD is also widely used to produce computer animation for special effects in movies, advertising and technical manuals, often called DCC digital content creation. The modern ubiquity and power of computers means that even perfume bottles and shampoo dispensers are designed using techniques unheard of by engineers of the 1960s. Because of its enormous economic importance, CAD has been a major driving force for research in computational geometry, computer graphics (both hardware and software), and discrete differential geometry.[6]

The design of geometric models for object shapes, in particular, is occasionally called computer-aided geometric design (CAGD).[7]

Overview of CAD software

Starting around the mid 1960s, with the IBM Drafting System, computer-aided design systems began to provide more capability than just an ability to reproduce manual drafting with electronic drafting, the cost-benefit for companies to switch to CAD became apparent. The benefits of CAD systems over manual drafting are the capabilities one often takes for granted from computer systems today; automated generation of Bill of Material, auto layout in integrated circuits, interference checking, and many others. Eventually, CAD provided the designer with the ability to perform engineering calculations. During this transition, calculations were still performed either by hand or by those individuals who could run computer programs. CAD was a revolutionary change in the engineering industry, where draftsmen, designers and engineering roles begin to merge. It did not eliminate departments, as much as it merged departments and empowered draftsman, designers and engineers. CAD is just another example of the pervasive effect computers were beginning to have on industry. Current computer-aided design software packages range from 2D vector-based drafting systems to 3D solid and surface modelers. Modern CAD packages can also frequently allow rotations in three dimensions, allowing viewing of a designed object from any desired angle, even from the inside looking out. Some CAD software is capable of dynamic mathematical modeling.

CAD technology is used in the design of tools and machinery and in the drafting and design of all types of buildings, from small residential types (houses) to the largest commercial and industrial structures (hospitals and factories).[8]

CAD is mainly used for detailed engineering of 3D models or 2D drawings of physical components, but it is also used throughout the engineering process from conceptual design and layout of products, through strength and dynamic analysis of assemblies to definition of manufacturing methods of components. It can also be used to design objects such as jewelry, furniture, appliances, etc. Furthermore, many CAD applications now offer advanced rendering and animation capabilities so engineers can better visualize their product designs. 4D BIM is a type of virtual construction engineering simulation incorporating time or schedule related information for project management.

CAD has become an especially important technology within the scope of computer-aided technologies, with benefits such as lower product development costs and a greatly shortened design cycle. CAD enables designers to layout and develop work on screen, print it out and save it for future editing, saving time on their drawings.

Uses

Computer-aided design is one of the many tools used by engineers and designers and is used in many ways depending on the profession of the user and the type of software in question.

CAD is one part of the whole Digital Product Development (DPD) activity within the Product Lifecycle Management (PLM) processes, and as such is used together with other tools, which are either integrated modules or stand-alone products, such as:
CAD is also used for the accurate creation of photo simulations that are often required in the preparation of Environmental Impact Reports, in which computer-aided designs of intended buildings are superimposed into photographs of existing environments to represent what that locale will be like, where the proposed facilities are allowed to be built. Potential blockage of view corridors and shadow studies are also frequently analyzed through the use of CAD.

CAD has been proven to be useful to engineers as well. Using four properties which are history, features, parameterization, and high-level constraints. The construction history can be used to look back into the model's personal features and work on the single area rather than the whole model. Parameters and constraints can be used to determine the size, shape, and other properties of the different modeling elements. The features in the CAD system can be used for the variety of tools for measurement such as tensile strength, yield strength, electrical or electromagnetic properties. Also its stress, strain, timing or how the element gets affected in certain temperatures, etc.

Types

A simple procedure

There are several different types of CAD,[9] each requiring the operator to think differently about how to use them and design their virtual components in a different manner for each.

There are many producers of the lower-end 2D systems, including a number of free and open source programs. These provide an approach to the drawing process without all the fuss over scale and placement on the drawing sheet that accompanied hand drafting since these can be adjusted as required during the creation of the final draft.

3D wireframe is basically an extension of 2D drafting (not often used today). Each line has to be manually inserted into the drawing. The final product has no mass properties associated with it and cannot have features directly added to it, such as holes. The operator approaches these in a similar fashion to the 2D systems, although many 3D systems allow using the wireframe model to make the final engineering drawing views.

3D "dumb" solids are created in a way analogous to manipulations of real-world objects (not often used today). Basic three-dimensional geometric forms (prisms, cylinders, spheres, and so on) have solid volumes added or subtracted from them as if assembling or cutting real-world objects. Two-dimensional projected views can easily be generated from the models. Basic 3D solids don't usually include tools to easily allow motion of components, set limits to their motion, or identify interference between components.

There are two types of 3D Solid Modeling
  1. Parametric modeling allows the operator to use what is referred to as "design intent". The objects and features created are modifiable. Any future modifications can be made by changing how the original part was created. If a feature was intended to be located from the center of the part, the operator should locate it from the center of the model. The feature could be located using any geometric object already available in the part, but this random placement would defeat the design intent. If the operator designs the part as it functions the parametric modeler is able to make changes to the part while maintaining geometric and functional relationships.
  2. Direct or Explicit modeling provide the ability to edit geometry without a history tree. With direct modeling, once a sketch is used to create geometry the sketch is incorporated into the new geometry and the designer just modifies the geometry without needing the original sketch. As with parametric modeling, direct modeling has the ability to include relationships between selected geometry (e.g., tangency, concentricity).
Top end systems offer the capabilities to incorporate more organic, aesthetics and ergonomic features into designs. Freeform surface modeling is often combined with solids to allow the designer to create products that fit the human form and visual requirements as well as they interface with the machine.

Technology

A CAD model of a computer mouse.

Originally software for Computer-Aided Design systems was developed with computer languages such as Fortran, ALGOL but with the advancement of object-oriented programming methods this has radically changed. Typical modern parametric feature-based modeler and freeform surface systems are built around a number of key C modules with their own APIs. A CAD system can be seen as built up from the interaction of a graphical user interface (GUI) with NURBS geometry or boundary representation (B-rep) data via a geometric modeling kernel. A geometry constraint engine may also be employed to manage the associative relationships between geometry, such as wireframe geometry in a sketch or components in an assembly.

Unexpected capabilities of these associative relationships have led to a new form of prototyping called digital prototyping. In contrast to physical prototypes, which entail manufacturing time in the design. That said, CAD models can be generated by a computer after the physical prototype has been scanned using an industrial CT scanning machine. Depending on the nature of the business, digital or physical prototypes can be initially chosen according to specific needs.

Today, CAD systems exist for all the major platforms (Windows, Linux, UNIX and Mac OS X); some packages support multiple platforms.

Right now, no special hardware is required for most CAD software. However, some CAD systems can do graphically and computationally intensive tasks, so a modern graphics card, high speed (and possibly multiple) CPUs and large amounts of RAM may be recommended.

The human-machine interface is generally via a computer mouse but can also be via a pen and digitizing graphics tablet. Manipulation of the view of the model on the screen is also sometimes done with the use of a Spacemouse/SpaceBall. Some systems also support stereoscopic glasses for viewing the 3D model.Technologies which in the past were limited to larger installations or specialist applications have become available to a wide group of users. These include the CAVE or HMDs and interactive devices like motion-sensing technology

Software

CAD software enables engineers and architects to design, inspect and manage engineering projects within an integrated graphical user interface (GUI) on a personal computer system. Most applications support solid modeling with boundary representation (B-Rep) and NURBS geometry, and enable the same to be published in a variety of formats. A geometric modeling kernel is a software component that provides solid modeling and surface modeling features to CAD applications.

Based on market statistics, commercial software from Autodesk, Dassault Systems, Siemens PLM Software, and PTC dominate the CAD industry.[10][11] The following is a list of major CAD applications, grouped by usage statistics.[12]

Commercial
Freeware and open source
CAD kernels

History

Designers have long used computers for their calculations.[15][16][17][18] Digital computers were used in power system analysis or optimization as early as proto-"Whirlwind" in 1949. Circuit[19] design theory, or power network methodology would be algebraic, symbolic, and often vector-based. Examples of problems being solved in the mid-1940s to 50s include: servo motors controlled by generated pulse (1949), a digital computer with built-in computer operations to automatically co-ordinate transforms to compute radar related vectors (1951) and the essentially graphic mathematical process of forming a shape with a digital machine tool (1952).[20] These were accomplished with the use of computer software. The man credited with coining the term CAD,[21] Douglas T. Ross, stated, "As soon as I saw the interactive display equipment," [being used by radar operators 1953] he saw it would be just what his SAGE related data reduction group needed. With the Lincoln Lab people, they were the only ones who used the big, complex display systems put in for the pre-SAGE, Cape Cod system. But "we used it for our own personal workstation.". [22] The designers of these very early computers built utility programs so that programmers could debug programs using flowcharts on a display scope with logical switches that could be opened and closed during the debugging session. They found that they could create electronic symbols and geometric figures to be used to create simple circuit diagrams and flowcharts.[23] And that an object once drawn could be reproduced at will, its orientation, Linkage [ flux, mechanical, lexical scoping ] or scale changed. This suggested numerous possibilities to them. It took ten years of interdisciplinary development[24] work before SKETCHPAD sitting on evolving math libraries emerged from MIT's labs. Additional developments were carried out in the 1960s within the aircraft, automotive, industrial control and electronics industries in the area of 3D surface construction, NC programming, and design analysis, most of it independent of one another and often not publicly published until much later. Some of the mathematical description work on curves was developed in the early 1940s by Robert Issac Newton from Pawtucket, Rhode Island. Robert A. Heinlein in his 1957 novel The Door into Summer suggested the possibility of a robotic Drafting Dan. However, probably the most important work on polynomial curves and sculptured surface was done by Pierre Bézier, Paul de Casteljau (Citroen), Steven Anson Coons (MIT, Ford), James Ferguson (Boeing), Carl de Boor (GM), Birkhoff (GM) and Garibedian (GM) in the 1960s and W. Gordon (GM) and R. Riesenfeld in the 1970s.

The invention of the 3D CAD/CAM is attributed to a French engineer, Pierre Bézier (Arts et Métiers ParisTech, Renault). After his mathematical work concerning surfaces, he developed UNISURF, between 1966 and 1968, to ease the design of parts and tools for the automotive industry. Then, UNISURF became the working base for the following generations of CAD software.

It is argued[by whom?] that a turning point was the development of the SKETCHPAD system at MIT[25][26] by Ivan Sutherland (who later created a graphics technology company with David Evans). The distinctive feature of SKETCHPAD was that it allowed the designer to interact with his computer graphically: the design can be fed into the computer by drawing on a CRT monitor with a light pen. Effectively, it was a prototype of graphical user interface, an indispensable feature of modern CAD. Sutherland presented his paper Sketchpad: A Man-Machine Graphical Communication System in 1963 at a Joint Computer Conference having worked on it as his PhD thesis paper with Doctoral advisor Claude Shannon . Quoting, "For drawings where motion of the drawing or analysis of a drawn problem is of value to the user, Sketchpad excels. For highly repetitive drawings or drawings where accuracy is required, Sketchpad is sufficiently faster than conventional techniques to be worthwhile. For drawings which merely communicate with shops, it is probably better to use conventional paper and pencil." Over time efforts would be directed toward the goal of having the designers drawings communicate not just with shops but with the shop tool itself. This goal would be a long time arriving.

The first commercial applications of CAD were in large companies in the automotive and aerospace industries, as well as in electronics. Only large corporations could afford the computers capable of performing the calculations. Notable company projects were, a joint project of GM (Patrick J. Hanratty) and IBM (Sam Matsa, Doug Ross's MIT APT research assistant) to develop a prototype system for design engineers DAC-1 (Design Augmented by Computer) 1964; Lockheed projects; Bell GRAPHIC 1 and Renault.

One of the most influential events in the development of CAD was the founding of MCS (Manufacturing and Consulting Services Inc.) in 1971 by Patrick J. Hanratty,[27] who wrote the system ADAM (Automated Drafting And Machining) but more importantly supplied code to companies such as McDonnell Douglas (Unigraphics), Computervision (CADDS), Calma, Gerber, Autotrol and Control Data.

As computers became more affordable, the application areas have gradually expanded. The development of CAD software for personal desktop computers was the impetus for almost universal application in all areas of construction.

Other key points in the 1960s and 1970s would be the foundation of CAD systems United Computing, Intergraph, IBM, Intergraph IGDS in 1974 (which led to Bentley Systems MicroStation in 1984).

CAD implementations have evolved dramatically since then. Initially, with 3D in the 1970s, it was typically limited to producing drawings similar to hand-drafted drawings. Advances in programming and computer hardware,[28][29] notably solid modeling in the 1980s have allowed more versatile applications of computers in design activities.

Key products for 1981 were the solid modeling packages - Romulus (ShapeData) and Uni-Solid (Unigraphics) based on PADL-2 and the release of the surface modeler CATIA (Dassault Systemes). Autodesk was founded 1982 by John Walker, which led to the 2D system AutoCAD. The next milestone was the release of Pro/ENGINEER in 1987, which heralded greater usage of feature-based modeling methods and parametric linking of the parameters of features. Also of importance to the development of CAD was the development of the B-rep solid modeling kernels (engines for manipulating geometrically and topologically consistent 3D objects) Parasolid (ShapeData) and ACIS (Spatial Technology Inc.) at the end of the 1980s and beginning of the 1990s, both inspired by the work of Ian Braid. This led to the release of mid-range packages such as SolidWorks and TriSpective (later known as IRONCAD) in 1995, Solid Edge (then Intergraph) in 1996 and Autodesk Inventor in 1999. An independent geometric modeling kernel has been evolving in Russia since the 1990s.[30]

Knowledge-based engineering

From Wikipedia, the free encyclopedia
 

Knowledge-based engineering (KBE) is the application of knowledge-based systems technology to the domain of manufacturing design and production. The design process is inherently a knowledge-intensive activity, so a great deal of the emphasis for KBE is on the use of knowledge-based technology to support computer-aided design (CAD) however knowledge-based techniques (e.g. knowledge management) can be applied to the entire product lifecycle.

The CAD domain has always been an early adopter of software-engineering techniques used in knowledge-based systems, such as object-orientation and rules. Knowledge-based engineering integrates these technologies with CAD and other traditional engineering software tools.

Benefits of KBE include improved collaboration of the design team due to knowledge management, improved re-use of design artifacts, and automation of major parts of the product lifecycle.[1]

Overview

KBE is essentially engineering on the basis of knowledge models. A knowledge model uses knowledge representation to represent the artifacts of the design process (as well as the process itself) rather than or in addition to conventional programming and database techniques.

The advantages to using knowledge representation to model industrial engineering tasks and artifacts are:
  • Improved integration. In traditional CAD and industrial systems each application often has its own slightly different model. Having a standardized knowledge model makes integration easier across different systems and applications.
  • More re-use. A knowledge model facilitates storing and tagging design artifacts so that they can easily be found again and re-used. Also, knowledge models are themselves more re-usable by virtue of using formalism such as IS-A relations (classes and subclasses in the object-oriented paradigm). With subclassing it can be very easy to create new types of artifacts and processes by starting with an existing class and adding a new subclass that inherits all the default properties and behaviors of its parents and then can be adapted as needed.
  • Better maintenance. Class hierarchies not only facilitate re-use they also facilitate maintenance of systems. By having one definition of a class that is shared by multiple systems, issues of change control and consistency are greatly simplified.
  • More automation. Expert system rules can capture and automate decision making that is left to human experts with most conventional systems.
KBE can have a wide scope that covers the full range of activities related to Product Lifecycle Management and Multidisciplinary design optimization. KBE's scope includes design, analysis (computer-aided engineering – CAE), manufacturing, and support. In this inclusive role, KBE has to cover a large multi-disciplinary role related to many computer-aided technologies (CAx).[2]

There are two primary ways that KBE can be implemented:
  1. Build knowledge models from the ground up using knowledge-based technology
  2. Layer knowledge-based technology on top of existing CAD, simulation, and other engineering applications
An early example of the first approach was the Simkit tool developed by Intellicorp in the 1980s. Simkit was developed on top of Intellicorp's Knowledge Engineering Environment (KEE). KEE was a very powerful knowledge-based systems development environment. KEE started on Lisp and added frames, objects, and rules, as well as powerful additional tools, such as hypothetical reasoning and truth maintenance. Simkit added stochastic simulation capabilities to the KEE environment. These capabilities included an event model, random distribution generators, simulation visualization, and more. The Simkit tool was an early example of KBE. It could define a simulation in terms of class models and rules and then run the simulation as a conventional simulation would. Along the way, the simulation could continue to invoke rules, demons, and object methods, providing the potential for much richer simulation as well as analysis than conventional simulation tools.

One of the issues that Simkit faced was a common issue for most early KBE systems developed with this method: The Lisp knowledge-based environments provide very powerful knowledge representation and reasoning capabilities; however, they did so at the cost of massive requirements for memory and processing that stretched the limits of the computers of the time. Simkit could run simulations with thousands of objects and do very sophisticated analysis on those objects. However, industrial simulations often required tens or hundreds of thousands of objects, and Simkit had difficulty scaling up to such levels.[3]

The second alternative to developing KBE is illustrated by the CATIA product suite. CATIA started with products for CAD and other traditional industrial engineering applications and added knowledge-based capabilities on to them; for example, their KnowledgeWare module.[4]

History

KBE developed in the 1980s. It was part of the initial wave of investment in Artificial Intelligence for business that fueled expert systems. Like expert systems, it relied on what at the time were leading edge advances in corporate information technology such as PCs, workstations, and client-server architectures. These same technologies were also facilitating the growth of CAx and CAD software. CAD tended to drive leading edge technologies and even push them past their current limits.[5] The best example of this was object-oriented programming and database technology, which were adapted by CAD when most corporate information technology shops were dominated by relational databases and procedural programming.[6]

As with expert systems, KBE suffered a downturn during the AI Winter.[7] Also, as with expert systems and artificial intelligence technology in general, there was renewed interest with the Internet. In the case of KBE, the interest was perhaps strongest in the business-to-business type of electronic commerce and technologies that facilitate the definition of industry standard vocabularies and ontologies for manufactured products.

The semantic web is the vision of Tim Berners Lee for the next generation of the Internet. This will be a knowledge-based Internet built on ontologies, objects, and frame technologies that were also enabling technologies for KBE. Important technologies for the semantic web are XML, RDF, and OWL.[8] The semantic web has excellent potential for KBE, and KBE ontologies and projects are a strong area for current research.[9]

KBE and product lifecycle management

Product Lifecycle Management (PLM) is the management of the manufacturing process of any industry that produces goods. It can span the full product lifecycle from idea generation to implementation, delivery, and disposal. KBE at this level will deal with product issues of a more generic nature than it will with CAx. A natural area of emphasis is on the production process; however, lifecycle management can cover many more issues such as business planning, marketing, etc. An advantage of using KBE is getting the automated reasoning and knowledge management services of a knowledge-based environment integrated with the many diverse but related needs of lifecycle management. KBE supports the decision processes involved with configuration, trades, control, management, and a number of other areas, such as optimization.

KBE and CAx

CAx refers to the domain of computer-aided tools for analysis and design. CAx spans multiple domains. Examples are computer-aided design of manufactured parts, software, the architecture of buildings, etc. Although each specific domain of CAx will have very different kinds of problems and artifacts, they all share common issues as well such as having to manage collaboration of sophisticated knowledge workers, design and re-use of complex artifacts, etc.

Essentially KBE extends, builds on, and integrates with the CAx domain typically referred to as Computer Aided Design (CAD). In this sense KBE is analogous to Knowledge-Based Software Engineering, which extended the domain of Computer Aided Software Engineering with knowledge-based tools and technology. What KBSE was to software and CASE, KBE is to manufactured products and CAD.

An example can be taken from Boeing's experience. The 777 Program took on the challenge of having a digitally-defined plane. That required an investment in large-scale systems, databases, and workstations for design and analytical engineering work. Given the magnitude of the computing work that was required, KBE got its toe in the door, so to speak, through a "pay as you go plan." Essentially, this technique was to show benefits and then to obtain more work (think agile engineering) thereby. In the case of the 777, the project got to where influences to changes in the early part of the design/build stream (loads) could be recomputed over a weekend to allow evaluation by downstream processes. As required, engineers were in the loop to finish and sign off on work. At the same time, CAx allowed tighter tolerances to be met. With the 777, KBE was so successful that subsequent programs applied it in more areas. Over time, KBE facilities were integrated into the CAx platform and are a normal part of the operation.[10]

KBE and knowledge management

One of the most important knowledge-based technologies for KBE is knowledge management. Knowledge management tools support a wide spectrum repository, i.e., a repository that can support all different types of work artifacts: informal drawings and notes, large database tables, multimedia and hypertext objects, etc. Knowledge management provides the various group support tools to help diverse stake holders collaborate on the design and implementation of products. It also provides tools to automate the design process (e.g., rules) and to facilitate re-use.[11]

KBE methodology

The development of KBE applications concerns the requirements to identify, capture, structure, formalize, and finally implement knowledge. Many different so-called KBE platforms support only the implementation step, which is not always the main bottleneck in the KBE development process. In order to limit the risk associated with the development and maintenance of KBE application, there is a need to rely on an appropriate methodology for managing the knowledge and maintaining it up to date. As example of such KBE methodology, the EU project MOKA, "Methodology and tools Oriented to Knowledge based Applications," proposes solutions which focus on the structuring and formalization steps as well as links to the implementation.[12]

An alternative to MOKA is to use general knowledge engineering methods that have been developed for expert systems across all industries [13] or to use general software development methodologies such as the Rational Unified Process or Agile methods.

Languages for KBE

Two critical issues for the languages and formalisms used for KBE are:
  • Knowledge-based vs. procedural programming
  • Standardization vs. proprietary

Knowledge-based vs. procedural programming

A fundamental trade-off identified with knowledge representation in artificial intelligence is between expressive power and computability. As Levesque demonstrated in his classic paper on the topic, the more powerful a knowledge-representation formalism one designs, the closer the formalism will come to the expressive power of first order logic. As Levesque also demonstrated, the closer a language is to First Order Logic, the more probable that it will allow expressions that are undecidable or require exponential processing power to complete.[14] In the implementation of KBE systems, this trade off is reflected in the choice to use powerful knowledge-based environments or more conventional procedural and object-oriented programming environments.

Standardization vs. proprietary

There is a trade off between using standards such as STEM and vendor- or business-specific proprietary languages. Standardization facilitates knowledge sharing, integration, and re-use. Proprietary formats (such as CATIA) can provide competitive advantage and powerful features beyond current standardization.[15]

Genworks GDL, a commercial product whose core is based on the AGPL-licensed Gendl Project,[16] addresses the issue of application longevity by providing a high-level declarative language kernel which is a superset of a standard dialect of the Lisp programming language (ANSI Common Lisp, or CL). Gendl/GDL itself is proposed as a de facto standard[17] for ANSI CL-based KBE languages.

In 2006, the Object Management Group released a KBE services RFP document and requested feedback.[18] To date, no OMG specification for KBE exists; however, there is an OMG standard for CAD services.[19]

An example of a system-independent language for the development of machine-readable ontologies that is in the KBE domain is Gellish English.

KBE in Academia

Implementations

The following KBE development packages are commercially available:

For CAD

For General-purpose development of Web-deployed applications

For analysis, design and engineering processes

Marriage in Islam

From Wikipedia, the free encyclopedia ...