Skip to content Skip to navigation

Connexions

You are here: Home » Content » Defining States for a Markov Chain

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Defining States for a Markov Chain

Module by: Bart Sinclair. E-mail the author

Summary: (Blank Abstract)

When creating a Markov chain model of a system (or, to be more precise, implementing a model of a system as a Markov chain), we have to define an appropriate set of states. Whether we are using a discrete-time or continuous-time Markov chain, the states must satisfy two criteria:

rule 1

The information contained in the definition of each state must be sufficient to allow you to determine the required result. Occasionally, you may also need to use the state transition probabilities. That is, any performance metric you want to know must be computable from the steady state probabilities for the chain and the state transition probabilities.

rule 2

The states must contain enough information to allow you to construct the single step transition probability matrix P P or the transition rate matrix Q Q.

A set of states that satisfies these two criteria is not necessarily unique. If we have a choice of states, we should try to choose a set that reduces the complexity of computing the steady state solution. One ad hoc strategy for doing this is the following:

rule 3

The states should not contain too much information, because this is likely to result in more states than you actually need. This won't prevent you from getting the right answer(s); it just may end up costing more (a lot more!) than it should.

An example of a system abstraction that illustrates this last point is the shared memory multiprocessor model. One definition of state that satisfies criteria 1 and 2 specifies, for each of the pp processors, the memory module that it attempts to access at the beginning of a memory cycle. For example, with two processors P1 and P2 and two memory modules M1 and M2, the possible states are

  • (P1 & P2 at M1)
  • (P1 & P2 at M2)
  • (P1 at M1, P2 at M2)
  • (P1 at M2, P2 at M1)
With mm modules, the number of states is mp m p . If p=8 p 8 and m=8 m 8 , this definition of state leads to 16,777,216 states, a fairly large number.

We can reduce the number of states required by noting that all processor behave similarly; keeping track of specific processors is unnecessary. Instead, define the state as an mm-tuple l 1 l 2 l m T l 1 l 2 l m where l i l i is the number of requests at memory module ii at the beginning of a memory cycle. For the two processor, two memory module example, the states are

  • (2 requests at M1 & 0 requests at M2)
  • (0 requests at M1 & 2 requests at M2)
  • (1 request at M1 & 1 request at M2)
With pp processors, the number of possible states is the number of ways of distributing pp like objects into mm distinct cells, with empty cells allowed. This reduces the number of states to Cm+p1p C m p 1 p . For 8 processors and 8 memory modules, the number of states is 6,435, a significant improvement, although still somewhat problematic.

It is possible to do much better. Just as it is not necessary to keep track of the individual processors, we do not need to identify specific memory modules. All that is necessary is to know how many modules have 0 requests at the beginning of a memory cycle, how many have 1 request, and so forth. Returning to the example with two processors and two modules, the states are

  • (2 requests at a single module)
  • (1 request at each of 2 modules)
Since the total number of requests outstanding at the beginning of a cycle is always pp, the number of states is simply the number of ways of distributing pp like objects into mm like cells, or 22 states for p=m=8 p m 8 .

Often, adopting an implementation that reduces the number of states is done at the cost of increasing the complexity of determining the state transition probabilities, since each transition may represent several or many transitions in a model with more states. This is certainly the case with the shared memory multiprocessor model (although if you want to verify this for yourself, you probably should not use 8 processors and 8 memory modules).

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks