Markov chain

From Wikipedia, the free encyclopedia
  (Redirected from Markov chains)
Jump to: navigation, search
This article is about Markov chains in discrete time. For Markov chains in continuous time, see continuous-time Markov chain.
A simple two-state Markov chain

A Markov chain (discrete-time Markov chain or DTMC[1]), named after Andrey Markov, is a mathematical system that undergoes transitions from one state to another on a state space. It is a random process usually characterized as memoryless: the next state depends only on the current state and not on the sequence of events that preceded it. This specific kind of "memorylessness" is called the Markov property. Markov chains have many applications as statistical models of real-world processes.

Introduction[edit]

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.

In literature, different Markov processes are designated as "Markov chains". Usually however, the term is reserved for a process with a discrete set of times (i.e. a discrete-time Markov chain (DTMC)).[2] Although some authors use the same terminology to refer to a continuous-time Markov chain without explicit mention.[3][4]

While the time parameter definition is mostly agreed upon to mean discrete-time, the Markov chain state space does not have an established definition: the term may refer to a process on an arbitrarily general state space.[5] However, many uses of Markov chains employ finite or countable (or discrete on the real line) state spaces, which have a more straightforward statistical analysis. Because there are—besides time index and state space parameters—many other variations, extensions and generalisations (see Variations), the remainder of this article concentrates on the simplest 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.

Many other examples of Markov chains exist.

Formal definition[edit]

A Markov chain is a sequence of random variables X1, X2, X3, ... with the Markov property, namely that, given the present state, the future and past states are independent. Formally,

\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 \Pr(X_1=x_1,...,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 so are 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-homogenous, 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 \Pr(X_n=x|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 stipulation that not all sequences of states must have nonzero probability of occurring allows the graph to have multiple connected components, suppressing edges encoding a 0 transition probability, as if a has a nonzero probability of going to b but a and x lie in different connected components, then \Pr(X_{n+1}=b|X_n=a) is defined, while \Pr(X_{n+1}=b|X_1=x, ...,  X_n=a) is not.

Variations[edit]

\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 of order m (or a Markov chain with memory m), where m is finite, is a process satisfying

\begin{align}
{} &\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{align}
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[edit]

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 2 (bear), then three time periods later, at time n + 3 the distribution is

\begin{align}
x^{(n+3)} &= x^{(n+2)} P = \left(x^{(n+1)} P\right) P \\\\
   &= x^{(n+1)} P^2 = \left( x^{(n)} P^2 \right) P\\
   &= x^{(n)} P^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{align}

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:

\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.[6]

The appendix of Meyn 2007,[7] also available on-line, contains an abridged Meyn & Tweedie.

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.

Transient evolution[edit]

The probability of going from state i to state j in n time steps is

p_{ij}^{(n)} = \Pr(X_n=j\mid X_0=i) \,

and the single-step transition is

p_{ij} = \Pr(X_1=j\mid X_0=i). \,

For a time-homogeneous Markov chain:

p_{ij}^{(n)} = \Pr(X_{k+n}=j \mid X_{k}=i) \,

and

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

 \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[edit]

Reducibility[edit]

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

 \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 defined to be accessible from itself.

A state i is said to communicate with state j (written i ↔ j) if both i → j and j → i. A set of states C is a communicating class if every pair of states in C communicates with each other, and no state in C communicates with any state not in C. It can be shown that communication in this sense is an equivalence relation and thus that communicating classes are the equivalence classes of this relation. A communicating class is closed if the probability of leaving the class is zero, namely that if i is in C but j is not, then j is not accessible from i.

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.[8]

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[edit]

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: \Pr(X_n = i \mid X_0 = i) > 0\}

(where "gcd" is the greatest common divisor). 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: returns to state i can occur at irregular times. In other words, a state i is aperiodic if there exists n such that for all n' ≥ n,

 \Pr(X_{n'} = i \mid X_0 = i) > 0.

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[edit]

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\ge1: 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

 \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 to have a finite hitting time.

Mean recurrence time[edit]

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:

 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[edit]

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.,

\sum_{n=0}^{\infty} p_{ii}^{(n)} = \infty.

Absorbing states[edit]

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[edit]

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 it 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. A model has the ergodic property if there's a finite number N such that any state can be reached from any other state in exactly N steps. In case of a fully connected transition matrix where all transitions have a non-zero probability, this condition is fulfilled with N=1. A model with more than one state and just one out-going transition per state cannot be ergodic.

Steady-state analysis and limiting distributions[edit]

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\leq1.
\sum_{j \in S}\pi_j = 1.
\pi_j = \sum_{i \in S} \pi_i p_{ij}.

An irreducible chain has a stationary distribution if and only if all of its states are positive recurrent. 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,

\lim_{n \rarr \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

\lim_{n \rarr \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,

\lim_{n \rarr \infty} p_{ij}^{(n)} = C \frac{f_{ij}}{M_j}.

If a state i is periodic with period k > 1 then the limit

\lim_{n \rarr \infty} p_{ii}^{(n)}

does not exist, although the limit

\lim_{n \rarr \infty} p_{ii}^{(kn+r)}

does exist for every integer r.

Steady-state analysis and the time-inhomogeneous Markov chain[edit]

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

\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[edit]

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

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[edit]

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

 \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 P 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 the stationary state that is the limit of the sequence distributions for some initial distribution.

The values of 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[edit]

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}

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[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[edit]

As stated earlier, from the equation  \mathbf{\pi} = \mathbf{\pi 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 matrices, one may start with "Jordan Canonical Form" (almost diagonal form) of P and proceed with a bit more involved set of arguments in a similar way.[9]

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 1 = |λ1| > |λ2| ≥ |λ3| ≥ ... ≥ |λ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 ith column of U matrix, i.e. ui is the left eigenvector of P corresponding to λi. Also let x be an arbitrary length n row vector in the span of the eigenvectors ui, that is

 \mathbf{x}^T = \sum_{i=1}^n a_i \mathbf{u}_i

for some set of ai∈ℝ. If we start multiplying P with x from left and continue this operation with the results, in the end we get the stationary distribution π. In other words π = uixPPP...P = xPk as k goes to infinity. That means

 \mathbf{\pi}^{(k)} = \mathbf{x}(\mathbf{U\Sigma U}^{-1})(\mathbf{U\Sigma U}^{-1})\cdots(\mathbf{U\Sigma U}^{-1})
 = \mathbf{xU\Sigma}^k \mathbf{U}^{-1}

since UU−1 = I the identity matrix and power of a diagonal matrix is also a diagonal matrix where each entry is taken to that power.

 = (a_1\mathbf{u}_1^T + a_2\mathbf{u}_2^T + \cdots + a_n\mathbf{u}_n^T)\mathbf{U\Sigma}^k\mathbf{U}^{-1} ,
 = a_1\lambda_1^k\mathbf{u}_1 + a_2\lambda_2^k\mathbf{u}_2 + \cdots + a_n\lambda_n^k\mathbf{u}_n ,

since the eigenvectors are orthonormal. Then[10]

 = \lambda_1^k\left\{a_1\mathbf{u}_1 + a_2\left(\frac{\lambda_2}{\lambda_1}\right)^k\mathbf{u}_2 + a_3\left(\frac{\lambda_3}{\lambda_1}\right)^k\mathbf{u}_3 + \cdots + a_n\left(\frac{\lambda_n}{\lambda_1}\right)^k\mathbf{u}_n\right\} .

Since π = u1, π(k) approaches to π as k goes to infinity with a speed in the order of λ2/λ1 exponentially. This follows because |λ2| ≥ |λ3| ≥ ... ≥ |λn|, hence λ2/λ1 is the dominant term. Random noise in the state distribution π can also speed up this convergence to the stationary distribution.[11]

Reversible Markov chain[edit]

A Markov chain is said to be reversible if there is a probability distribution over 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 also known as the detailed balance condition (some books refer the local balance equation). With a time-homogeneous Markov chain, Pr(Xn+1 = j | Xn = i) does not change with time n and it can be written more simply as p_{ij}. In this case, the detailed balance equation can be written more compactly as

\pi_i p_{ij} = \pi_j p_{ji}\,.

Summing the original equation over i gives

\begin{align}\sum_i \pi_i \Pr(X_{n+1} = j \mid X_{n} = i) &= \sum_i \pi_j \Pr(X_{n+1} = i \mid X_{n} = j) \\ &= \pi_j \sum_i \Pr(X_{n+1} = i \mid X_{n} = j) = \pi_j\,,\end{align}

so, 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.

Bernoulli scheme[edit]

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[edit]

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

  1. \text{If }\tau_A = \inf\{n\geq 0: X_n \in A\},\text{ then } P_z(\tau_A<\infty)>0\text{ for all }z.
  2. \text{If }x \in A\text{ and }C\subset B,\text{ then } p(x, C)\geq \varepsilon \rho(C).

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[edit]

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. See for instance Interaction of Markov Processes[12] or[13]

Applications[edit]

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[edit]

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.[citation needed]

Chemistry[edit]

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.

Chemistry is often a place where Markov chains and continuous-time Markov processes are especially useful because these simple physical systems tend to satisfy the Markov property quite well. 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.[14] 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.[15]

Testing[edit]

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[edit]

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

Information sciences[edit]

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.

Queueing theory[edit]

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

Internet applications[edit]

The PageRank of a webpage as used by Google is defined by a Markov chain.[17] 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.[18]

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[edit]

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[edit]

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.[19] Another was the regime-switching model of James D. Hamilton (1989), in which a Markov chain is used to model switches between periods of high volatility and low volatility of asset returns.[20] A more recent example is the Markov Switching Multifractal asset pricing model, which builds upon the convenience of earlier regime-switching models.[21] 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.[22]

Social sciences[edit]

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 commercial bourgeoisie, 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.[23]

Mathematical biology[edit]

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, 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.[24] 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.[25]

Genetics[edit]

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.[citation needed]

Games[edit]

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[edit]

Markov chains are employed in algorithmic music composition, particularly in software programs such as CSound, Max or 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 and output note values based on the transition matrix weightings, which could be MIDI note values, frequency (Hz), or any other desirable metric.[26]

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
Note 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.[27]

Markov chains can be used structurally, as in Xenakis's Analogique A and B.[28] Markov chains are also used in systems which use a Markov model to react interactively to music input.[29]

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.[30]

Baseball[edit]

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.[31] 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.[32]

Markov text generators[edit]

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

These processes are also used by spammers to inject real-looking hidden paragraphs into unsolicited email and post comments in an attempt to get these messages past spam filters.

Fitting[edit]

When fitting a Markov chain to data, situations where parameters poorly describe the situation may highlight interesting trends.[36][37] [1]

History[edit]

Andrey Markov produced the first results (1906) for these processes, purely theoretically. A generalization to countably infinite state spaces was given by Kolmogorov (1936). Markov chains are related to Brownian motion and the ergodic hypothesis, two topics in physics which were important in the early years of the twentieth century. However, Markov first pursued this in 1906 as part of his argument against Pavel Nekrasov, in particular to make the case that the law of large numbers can be extended to dependent events.[38] In 1913, he applied his findings to the first 20,000 letters of Pushkin's Eugene Onegin.[38] By 1917, more practical application of his work was made by Erlang to obtain formulas for call loss and waiting time in telephone networks.[16]

Seneta provides an account of Markov's motivations and the theory's early development.[39] The term "chain" was used by Markov (1906) to suggest a sequence of pairwise dependent variables.[40]

See also[edit]

Notes[edit]

  1. ^ Norris, James R. (1998). Markov chains. Cambridge University Press. 
  2. ^ Everitt,B.S. (2002) The Cambridge Dictionary of Statistics. CUP. ISBN 0-521-81099-X
  3. ^ Parzen, E. (1962) Stochastic Processes, Holden-Day. ISBN 0-8162-6664-6 (Table 6.1))
  4. ^ Dodge, Y. (2003) The Oxford Dictionary of Statistical Terms, OUP. ISBN 0-19-920613-9 (entry for "Markov chain")
  5. ^ Meyn, S. Sean P., and Richard L. Tweedie. (2009) Markov chains and stochastic stability. Cambridge University Press. (Preface, p. iii)
  6. ^ S. P. Meyn and R.L. Tweedie, 2005. Markov Chains and Stochastic Stability
  7. ^ a b S. P. Meyn, 2007. Control Techniques for Complex Networks, Cambridge University Press, 2007.
  8. ^ Asher Levin, David (2009). Markov chains and mixing times. p. 16. ISBN 978-0-8218-4739-8. 
  9. ^ Florian Schmitt and Franz Rothlauf, "On the Mean of the Second Largest Eigenvalue on the Convergence Rate of Genetic Algorithms", Working Paper 1/2001, Working Papers in Information Systems, 2001. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6191
  10. ^ Gene H. Golub, Charles F. Van Loan, "Matrix computations", Third Edition, The Johns Hopkins University Press, Baltimore and London, 1996.
  11. ^ Franzke, Brandon; Kosko, Bart (1 October 2011). "Noise can speed convergence in Markov chains". Physical Review E 84 (4). doi:10.1103/PhysRevE.84.041112. 
  12. ^ Spitzer, Frank (1970). "Interaction of Markov Processes". Advances in Mathematics 5 (2): 246–290. doi:10.1016/0001-8708(70)90034-4. 
  13. ^ R. L. Dobrushin, V. I. Kri︠u︡kov, A. L. Toom (1978). Stochastic Cellular Systems: Ergodicity, Memory, Morphogenesis. ISBN 9780719022067. 
  14. ^ Kutchukian, Peter; Lou, David; Shakhnovich, Eugene (2009). "FOG: Fragment Optimized Growth Algorithm for the de Novo Generation of Molecules occupying Druglike Chemical". Journal of Chemical Information and Modeling 49 (7): 1630–1642. doi:10.1021/ci9000458. PMID 19527020. 
  15. ^ Kopp, V. S.; Kaganer, V. M.; Schwarzkopf, J.; Waidick, F.; Remmele, T.; Kwasniewski, A.; Schmidbauer, M. (2011). "X-ray diffraction from nonperiodic layered structures with correlations: Analytical calculation and experiment on mixed Aurivillius films". Acta Crystallographica Section a Foundations of Crystallography 68: 148. doi:10.1107/S0108767311044874.  edit
  16. ^ a b O'Connor, John J.; Robertson, Edmund F., "Markov chain", MacTutor History of Mathematics archive, University of St Andrews .
  17. ^ U.S. Patent 6,285,999
  18. ^ Page, Lawrence and Brin, Sergey and Motwani, Rajeev and Winograd, Terry (1999). The PageRank Citation Ranking: Bringing Order to the Web (Technical report). 
  19. ^ Prasad, NR; RC Ender; ST Reilly; G Nesgos (1974). "Allocation of resources on a minimized cost basis". 1974 IEEE Conference on Decision and Control including the 13th Symposium on Adaptive Processes 13: 402–3. doi:10.1109/CDC.1974.270470. 
  20. ^ Hamilton, James (1989). "A new approach to the economic analysis of nonstationary time series and the business cycle". Econometrica (Econometrica, Vol. 57, No. 2) 57 (2): 357–84. doi:10.2307/1912559. JSTOR 1912559. 
  21. ^ Calvet, Laurent; Adlai Fisher (2004). "How to Forecast long-run volatility: regime-switching and the estimation of multifractal processes". Journal of Financial Econometrics 2: 49–83. doi:10.1093/jjfinec/nbh003. 
  22. ^ Brennan, Michael; Xiab, Yihong. "Stock Price Volatility and the Equity Premium". Department of Finance, the Anderson School of Management, UCLA. 
  23. ^ Acemoglu, Daron; Georgy Egorov; Konstantin Sonin (2011). "Political model of social evolution". Proceedings of the National Academy of Sciences 108: 21292–21296. doi:10.1073/pnas.1019454108. 
  24. ^ Gibson, Matthew C; Patel, Ankit P.; Perrimon, Norbert; Perrimon, Norbert (2006). "The emergence of geometric order in proliferating metazoan epithelia". Nature 442 (7106): 1038–1041. doi:10.1038/nature05014. PMID 16900102. 
  25. ^ George, Dileep; Hawkins, Jeff (2009). Friston, Karl J., ed. "Towards a Mathematical Theory of Cortical Micro-circuits". PLoS Comput Biol 5 (10): e1000532. doi:10.1371/journal.pcbi.1000532. PMC 2749218. PMID 19816557. 
  26. ^ K McAlpine, E Miranda, S Hoggar (1999). "Making Music with Algorithms: A Case-Study System". Computer Music Journal 23 (2): 19. doi:10.1162/014892699559733. 
  27. ^ Curtis Roads (ed.) (1996). The Computer Music Tutorial. MIT Press. ISBN 0-262-18158-4. 
  28. ^ Xenakis, Iannis; Kanach, Sharon (1992) Formalized Music: Mathematics and Thought in Composition, Pendragon Press. ISBN 1576470792
  29. ^ Continuator[dead link]
  30. ^ Pachet, F.; Roy, P.; Barbieri, G. (2011) "Finite-Length Markov Processes with Constraints", Proceedings of the 22nd International Joint Conference on Artificial Intelligence, IJCAI, pages 635-642,Barcelona, Spain, July 2011
  31. ^ Pankin, Mark D. "MARKOV CHAIN MODELS: THEORETICAL BACKGROUND". Retrieved 2007-11-26. 
  32. ^ Pankin, Mark D. "BASEBALL AS A MARKOV CHAIN". Retrieved 2009-04-24. 
  33. ^ Poet's Corner – Fieralingue
  34. ^ Kenner, Hugh; O'Rourke, Joseph (November 1984). "A Travesty Generator for Micros". BYTE 9 (12): 129–131, 449–469. 
  35. ^ Hartman, Charles (1996). Virtual Muse: Experiments in Computer Poetry. Hanover, NH: Wesleyan University Press. ISBN 0-8195-2239-2. 
  36. ^ Avery, P. J.; Henderson, D. A. (1999). "Fitting Markov Chain Models to Discrete State Series Such as DNA Sequences". Journal of the Royal Statistical Society 48 (1): 53–61. doi:10.1111/1467-9876.00139. JSTOR 2680818.  edit
  37. ^ Shmilovici A. and Ben-Gal I. (2007). "Using a VOM Model for Reconstructing Potential Coding Regions in EST Sequences,". Journal of Computational Statistics, vol. 22, no. 1, 49–69. 
  38. ^ a b Hayes, Brian (March–April 2013). "First Links in the Markov Chain". American Scientist 101: 92–97. 
  39. ^ Seneta, E. (1996). "Markov and the Birth of Chain Dependence Theory". International Statistical Review 64 (3): 255–263. doi:10.2307/1403785. JSTOR 1403785. 
  40. ^ Upton, G.; Cook, I. (2008). Oxford Dictionary of Statistics. OUP. ISBN 978-0-19-954145-4. 

References[edit]

  • A.A. Markov. "Rasprostranenie zakona bol'shih chisel na velichiny, zavisyaschie drug ot druga". Izvestiya Fiziko-matematicheskogo obschestva pri Kazanskom universitete, 2-ya seriya, tom 15, pp. 135–156, 1906.
  • A.A. Markov. "Extension of the limit theorems of probability theory to a sum of variables connected in a chain". reprinted in Appendix B of: R. Howard. Dynamic Probabilistic Systems, volume 1: Markov Chains. John Wiley and Sons, 1971.
  • Classical Text in Translation: A. A. Markov, An Example of Statistical Investigation of the Text Eugene Onegin Concerning the Connection of Samples in Chains, trans. David Link. Science in Context 19.4 (2006): 591–600. Online: http://journals.cambridge.org/production/action/cjoGetFulltext?fulltextid=637500
  • Leo Breiman. Probability. Original edition published by Addison-Wesley, 1968; reprinted by Society for Industrial and Applied Mathematics, 1992. ISBN 0-89871-296-3. (See Chapter 7.)
  • J.L. Doob. Stochastic Processes. New York: John Wiley and Sons, 1953. ISBN 0-471-52369-0.
  • S. P. Meyn and R. L. Tweedie. Markov Chains and Stochastic Stability. London: Springer-Verlag, 1993. ISBN 0-387-19832-6. online: https://netfiles.uiuc.edu/meyn/www/spm_files/book.html . Second edition to appear, Cambridge University Press, 2009.
  • S. P. Meyn. Control Techniques for Complex Networks. Cambridge University Press, 2007. ISBN 978-0-521-88441-9. Appendix contains abridged Meyn & Tweedie. online: https://netfiles.uiuc.edu/meyn/www/spm_files/CTCN/CTCN.html
  • Booth, Taylor L. (1967). Sequential Machines and Automata Theory (1st ed.). New York: John Wiley and Sons, Inc. Library of Congress Card Catalog Number 67-25924.  Extensive, wide-ranging book meant for specialists, written for both theoretical computer scientists as well as electrical engineers. With detailed explanations of state minimization techniques, FSMs, Turing machines, Markov processes, and undecidability. Excellent treatment of Markov processes pp. 449ff. Discusses Z-transforms, D transforms in their context.
  • Kemeny, John G.; Hazleton Mirkil; J. Laurie Snell; Gerald L. Thompson (1959). Finite Mathematical Structures (1st ed.). Englewood Cliffs, N.J.: Prentice-Hall, Inc. Library of Congress Card Catalog Number 59-12841.  Classical text. cf Chapter 6 Finite Markov Chains pp. 384ff.
  • E. Nummelin. "General irreducible Markov chains and non-negative operators". Cambridge University Press, 1984, 2004. ISBN 0-521-60494-X
  • Seneta, E. Non-negative matrices and Markov chains. 2nd rev. ed., 1981, XVI, 288 p., Softcover Springer Series in Statistics. (Originally published by Allen & Unwin Ltd., London, 1973) ISBN 978-0-387-29765-1
  • Kishor S. Trivedi, Probability and Statistics with Reliability, Queueing, and Computer Science Applications, John Wiley & Sons, Inc. New York, 2002. ISBN 0-471-33341-7.
  • K.S.Trivedi and R.A.Sahner, SHARPE at the age of twenty-two, vol. 36, no. 4, pp.-52-57, ACM SIGMETRICS Performance Evaluation Review, 2009.
  • R.A.Sahner, K.S.Trivedi and A. Puliafito, Performance and reliability analysis of computer systems: an example-based approach using the SHARPE software package, Kluwer Academic Publishers, 1996. ISBN 0-7923-9650-2.
  • G.Bolch, S.Greiner, H.de Meer and K.S.Trivedi, Queueing Networks and Markov Chains, John Wiley, 2nd edition, 2006. ISBN 978-0-7923-9650-5.

External links[edit]