# Patent

## Title
Method and system for identifying regeneration points in a Markov chain Monte Carlo simulation

## Abstract

The method of the present invention is to modify an initial target distribution it π by combining it with a point mass concentrated on an “artificial atom” α which is outside the state-space X. A Markov chain may then be constructed using any known technique (for example, using the Metropolis-Hastings Algorithm) with the new target distribution. For this chain, the state α is Harris-recurrent (i.e. with probability one, it occurs infinitely many times). By the Markov property, the times at which the new chain hits α are regeneration times. To recover an ergodic chain with limiting distribution π, it is sufficient simply to delete every occurrence of the state α from the new chain. The points immediately after the (deleted) occurrences of the state α are then regeneration times in a Markov chain with limiting distribution π.

## Background
STATEMENT REGARDING FEDERALLY FUNDED RESEARCH
The present invention was funded in part by the National Science Foundation under grant numbers DMS 9819950 and DMS 9801401. The Federal government may have rights in this invention.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is directed generally to Markov chain Monte Carlo simulations and, more particularly, to a practical method of obtaining regeneration in a Markov chain.
2. Description of the Background
In statistics, answers to questions are often obtained by constructing statistical models of real-life situations and then analyzing the various probabilities of certain events occurring in the models. Such techniques can be used to determine the probability (based on collected data), for instance, that it will rain tomorrow, that a share price will exceed $20 with the next few months, or that there is racial bias in a company's hiring policies.
Of course, the validity of the analysis then relies quite heavily on the quality of the statistical model (i.e. on how well it approximates reality). In the past, statisticians have been inclined to “bend” reality to fit a specific group of models that they could work with. However, with the advent of Markov chain Monte Carlo (MCMC) methods, this is no longer necessary. MCMC methods allow statisticians to work with extremely complicated models. This means that statisticians can choose much more realistic models for analysis than they have previously.
There are some drawbacks, however. MCMC methods are computationally intensive, relying on simulation of large numbers of “possible outcomes.” Furthermore, although the precision of answers to questions increases as the MCMC continues to generate simulations, it is difficult to compute this precision once the MCMC run is finished. Another drawback is the burn-in problem, that is, uncertainty about how long it takes before the chain is (by some measure) sufficiently close to its limiting distribution. Another drawback is the inherent correlation between successive elements of the chain. This correlation makes it difficult to estimate the variance of the Monte Carlo estimates.
Regeneration in MCMC is a tool which enables statisticians to avoid the burn-in problem and to determine relatively accurately the precision of estimates at the end of the MCMC run. Essentially, regeneration mitigates two of the major problems with MCMC methods. In addition, it provides a very convenient means of using parallel-processors to construct a single MCMC run. (In the past, people have used parallel processors to generate lots of short MCMC runs instead of one long one, but others have argued that one long run is better than multiple short runs.)
Early work on regenerative simulation can be found in M. A. Crane and D. L. Iglehart, Simulating Stable Stochastic Systems, I: General multi-server queues, Journal of the Association of Computing Machinery, 21:103–113, 1975, M. A. Crane and D. L. Iglehart, Simulating stable stochastic systems, II: Markov chains, Journal of the Association of Computing Machinery, 21:114–123, 1975 and M. A. Crane and A. J. Lemoine, An Introduction to the Regenerative Method for Simulation Analysis, volume 4 of Lecture Notes in Control and Information Sciences, Springer, 1977, while more recent discussion can be found in B. D. Ripley, Stochastic Simulation, Wiley, 1987 and P. Mykland, L. Tierney, and B. Yu, Regeneration in Markov chain samplers, Journal of the American Statistical Association, 90:233–241, 1995. Loosely speaking, a regenerative process “starts again” probabilistically at each of a set of random regeneration points, called regeneration points. Furthermore, conditioned on any regenerative point, the future of the process is independent of the past. (Probably the simplest example of a set of regeneration points is the set of hitting times of some arbitrary fixed state. However, this example is not very interesting for most continuous state-space chains, because the expected time between such regeneration points can be infinite.)
If regeneration points can be identified in the Markov chain, then tours of the chain between these times are (on an appropriate probability space) independent, identically distributed (i.i.d.) entities. Thus, if a fixed number of tours is generated, it makes no sense to discard any initial tours, or indeed, any part of the first tour, because properties of the “clipped” tour would be quite different from properties of the other un-clipped tours. In this sense, the problem of burn-in is avoided. In addition, because the tours are i.i.d, when estimating the expectation of an arbitrary function of a parameter, the variance of the estimator itself can be estimated. There are further benefits as well. In constructing a regenerative chain, it is not necessary for all the tours to be generated on a single processor, and it is therefore possible to use parallel processors to generate a single long chain with the desired target distribution.
Previous methods of using regeneration in MCMC simulation have been limited by the complexity of their implementation. Hence they are not used much in practice. Thus, the need exists for a method of identifying regeneration points that is practical and simple to implement.
SUMMARY OF THE PRESENT INVENTION
The method of the present invention is to modify an initial target distribution π by combining it with a point mass concentrated on an “artificial atom” α which is outside the state-space X. A Markov chain may then be constructed using any known technique (for example, using the Metropolis-Hastings Algorithm) with the new target distribution. For this chain, the state α is Harris-recurrent (i.e. with probability one, it occurs infinitely many times). By the Markov property, the times at which the new chain hits α are regeneration times. To recover an ergodic chain with limiting distribution π, it is sufficient simply to delete every occurrence of the state α from the new chain. The points immediately after the (deleted) occurrences of the state α are then regeneration times in a Markov chain with limiting distribution π.
The method of the present invention avoids the burn-in problem. In addition, because the tours are i.i.d, when estimating the expectation of an arbitrary function of a parameter, the variance of the estimator itself can be estimated. In constructing a regenerative chain, it is not necessary for all the tours to be generated on a single processor, and it is therefore possible to use parallel processors to generate a single long chain in a parallel, or distributed, manner with the desired target distribution. Those advantages and benefits, and others, will be apparent from the Description of the Preferred Embodiments herein below.



BRIEF DESCRIPTION OF THE DRAWINGS
For the present invention to be easily understood and readily practiced, the present invention will now be described, for purposes of illustration and not limitation, in conjunction with the following figures, wherein:
FIG. 1 illustrates the beginning of a realization of a Markov chain {Yt} taking values in E=XU {α} and Yt=α for t∈{0, 5, 9, 10, 11, 16};
FIG. 2 illustrates the beginning of the chain {Zt} obtained from the chain {Yt} shown in FIG. 1 where the values for Yt=α have been removed;
FIG. 3 is a flow chart illustrating a method for calculating {Yt}; and
FIG. 4 illustrates a network in which the method of the present invention may be carried out.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
This section provides a qualitative description of the method of FIG. 3 used to construct a regenerative Markov chain with a specified limiting distribution π. Formal statements and proofs of our results can be found in our paper “Practical Regeneration for Markov Chain Monte Carlo Simulation” dated Aug. 14, 2001 available at http://www.stat.cmu.edu/www/cmu-stats/tr/ which is hereby incorporated by reference. The method is to enlarge the state-space from X to:

E=XUα,

where α is a new state called an artificial atom. Then it is possible (as described later) to construct a Markov chain {Yt, t=0, 1, 2, . . . } with limiting distribution:

π*p(A)=(1−p)π(A\α)+pIA(α)  (1)

(defined on appropriate subsets A of E) instead of π, where p is some constant in the interval (0, 1). The new limiting distribution π*p is a mixture distribution which assigns mass p to the new state α and mass (1−p) to the original distribution π. For reasons which will become apparent later, the initial state Y0 is set equal to α. An example of the beginning of a realization of such a chain is shown in FIG. 1.

Next let τy(j) denote the jth time after time zero that the chain {Yt} hits the state α, with τy(0)=0, so that

τy(j)=min{k>τy(j−1): Yk=α}, j=1, 2, 3, . . . ,   (2)

and define the tours Y1, Y2, . . . to be the segments of the chain between the hitting times, that is

Yj={Yt, τy(j−1)<t≦τy(j)}, j=1, 2,   (3)

For example, the first five tours of the chain {Yt} shown in FIG. 1 are Y1={Y1, Y2, Y3, Y4, Y5}, Y2={Y6, Y7, Y8, Y9}, Y3={Y10}, Y4={Y11}, and Y5={Y12, Y13, Y14, Y15, Y16}.

The next step is to recover a regenerative chain with limiting distribution π. Define the chain {Zt} to be exactly the chain {Yt}, with every occurrence of the state α removed. Noting that the state α occurs at the end of each tour Yj, this means that {Zt} can be constructed by stringing together the tours Yj whose length is larger than one, after removing the last element (which is equal to α) from each one. Tours Zj of {Zt} are then defined by their correspondence to the truncated tours of {Yt}. Let Tj denote the time at which the (j+1)th tour of {Zt} begins, for j=0, 1, 2, . . . (So T0 is always equal to zero.)
To illustrate this construction, FIG. 2 shows the first part of the sequence {Zt} corresponding to the (partial) chain {Yt} given in FIG. 1. In this case, the first three tours are Z1={Y1, Y2, Y3, Y4}, Z2={Y6, Y7, Y8}), and Z3={Y12, Y13, Y14, Y15, }, the elements of the Markov chain {Zt}, are Z0=Y1, Z1=Y2, Z2=Y3, Z3=Y4, Z4=Y6 . . . , and the times at which tours of {Zt} begin are T0=0, T1=4, T2=7, . . .
A formal description of the construction of {Zt} is given in our paper, where we also prove that a chain {Zt} constructed in this manner is an ergodic Markov chain with limiting distribution π, and that the times T0, T1, . . . are regeneration points for the chain.
Often one is interested primarily in estimating




  
    h
    π
  
  =
  
    
      ∫
      
                d
      
      
        
      
    
    ⁢
    
      
        h
        ⁡
        
          (
          x
          )
        
      
      ⁢
      
        d
        
          π
          ⁡
          
            (
            x
            )
          
        
      
    
  




for some function h (·). (Assume that hπexists.) Let tours Zj, tour lengths Nj, and cumulative tour lengths Tj of the Markov chain {Zt} with limiting distribution π be as defined above. Also let





  
    
      
        
          h
          j
        
        =
        
          
            ∑
            
              t
              =
              
                T
                
                  j
                  -
                  1
                
              
            
            
              
                T
                j
              
              -
              1
            
          
          ⁢
          
            
              h
              ⁡
              
                (
                
                  Z
                  t
                
                )
              
            
            .
          
        
      
    
    
      
        (
        4
        )
      
    
  




Then Crane and Lemoine (1977), supra, suggest using the ratio estimator





  
    
      
        
          
            
              h
              ^
            
            n
          
          =
          
            
              
                ∑
                
                  j
                  =
                  1
                
                n
              
              ⁢
              
                h
                j
              
            
            
              T
              n
            
          
        
        ,
      
    
    
      
        (
        5
        )
      
    
  




which converges almost surely to hπ. Furthermore, since the hjs and the Njs are i.i.d., if they have finite variances, then

√{square root over (n)}(ĥn−hπ)

converges to a N(0, σ2) distribution. Ripley (1987), supra, and Mykland et al. (1995), supra, propose using





  
    
      
        
          
            σ
            ^
          
          2
        
        =
        
          
            n
            ⁢
            
              
                ∑
                
                  j
                  =
                  1
                
                n
              
              ⁢
              
                
                  (
                  
                    
                      h
                      j
                    
                    -
                    
                      
                        
                          h
                          ^
                        
                        n
                      
                      ⁢
                      
                        N
                        j
                      
                    
                  
                  )
                
                2
              
            
          
          
            T
            n
            2
          
        
      
    
    
      
        (
        6
        )
      
    
  




as an estimator of σ−2, but only when the coefficient of variation cn of Tn/n is sufficiently small (Mykland et al., 1995), supra, suggest that the estimator should not be used if the coefficient is larger than 0.01.) The coefficient of variation cn depends on the distribution of the tour lengths Nj, which is usually not known. However, it may be estimated by





  
    
      
        
          
            
              c
              ^
            
            n
          
          =
          
            
              ∑
              
                j
                =
                1
              
              n
            
            ⁢
            
              
                (
                
                  
                    
                      N
                      j
                    
                    /
                    
                      T
                      n
                    
                  
                  -
                  
                    1
                    /
                    n
                  
                
                )
              
              2
            
          
        
        ,
      
    
    
      
        (
        7
        )
      
    
  




and since cn is proportional to n−1, it is possible, based on an estimate ĉn1, to guess how many additional tours n2 would be required to ensure that ĉn1+n2 would be less than (say) 0.01.

Finally, it is worth noting that there are many alternatives to the estimator (5) of hπ. We do not discuss them here, as the method given above is sufficient for our purposes. Instead the reader is referred to Section 7 of Crane and Lemoine (1977), supra, for more details.
The present invention constructs a regenerative chain {Zt}, relying on the construction of a chain {Yt} with Y0=α and limiting distribution π*p. We next present a simple way, given an existing method for generating a chain with limiting distribution π, of constructing a chain with limiting distribution π*p 
Let the probability of density of π be βf(·), where β is an unknown constant, and suppose that the transition kernel P (·,·) of a “reasonably good” (i.e. well-mixing) Markov chain taking values in X with limiting distribution π, is already known. Let φ(·) denote the probability density of some “re-entry” distribution, satisfying the property that φ(x)>0f(x)>0, and let p* be some positive constant. Then the algorithm shown in FIG. 3 can be used to construct a Markov chain {Yt} taking values in E, with Y0=α and limiting distribution π*p, where p=βp*(1+βp*)−1.
Algorithm 1: (See FIG. 3)
Step 1. Set Y0=α. Set t=0.
Step 2. Is Yt=α? If yes, set V=α. If no, chose V∈X by applying the transition kernel P(·,·) to Yt.
Step 3. Choose a proposal point W∈E as follows. If Yt∈X, then set W=α. Otherwise choose W∈Xd by sampling from the re-entry density φ.
Step 4. Compute




  
    a
    ⁡
    
      (
      
        V
        ,
        W
      
      )
    
  
  =
  
    {
    
      
        
          
            
              min
              ⁡
              
                (
                
                  1
                  ,
                  
                    
                      ρ
                      *
                      
                        φ
                        ⁡
                        
                          (
                          V
                          )
                        
                      
                    
                    
                      f
                      ⁡
                      
                        (
                        V
                        )
                      
                    
                  
                
                )
              
            
            ,
          
        
        
          
            W
            =
            α
          
        
      
      
        
          
            
              min
              ⁡
              
                (
                
                  1
                  ,
                  
                    
                      f
                      ⁡
                      
                        (
                        W
                        )
                      
                    
                    
                      ρ
                      *
                      
                        φ
                        ⁡
                        
                          (
                          W
                          )
                        
                      
                    
                  
                
                )
              
            
            ,
          
        
        
          
            W
            ∈
            X
          
        
      
    
  




With probability α(V, W), set Yt+1=W. Otherwise leave Yt+1=V. 
Step 5. t←t+1. Go back to Step 2 unless some end criterion is satisfied.
Algorithm 1 can be thought of as a hybrid algorithm, which alternates between applying two different probability kernels. The first, applied in Step 2, is a simple extension of a standard kernel for sampling from π. Step 2 is trivial if Yt=α. Otherwise, it involves the application of a standard π-invariant MCMC kernel, such as a Metropolis-Hastings or Gibbs kernel to generate Yt+1 from Yt. (For a multi-component Metropolis-Hastings sampler or a Gibbs sampler, the kernel represents a complete cycle of component updates.) This extension has invariant distribution π*p, with p=βp*(1+βp*)−1, but does not allow the chain to move back and forth between α and X. The second kernel, applied in Steps 3 and 4, also has invariant distribution π*p, but allows movement between α and X. In our paper, supra, Appendix A, we prove that the chain {Yt} generated by Algorithm 1 is ergodic with limiting distribution π*p. 
Choice of the parameter p* and the re-entry distribution φ is important. Because Algorithm 2, below, discards tours of length one (which consist only of the state α), it is computationally inefficient to generate a chain with a large number of successive occurrences of the state α. Therefore it is desirable to have high acceptance probabilities for jumps from α back into X. This can be achieved by choosing small values of p* relative to “typical” values of φ(y)/f(y). On the other hand, choosing p* in this manner leads to small probabilities of accepting jumps from X to α, which in turn leads to long tour lengths. If the tour lengths become too long, then Algorithm 2 can take a long time to finish.
The re-entry distribution φ should be equivalent to the original target distribution π. That is, φ should assign positive mass to a set if and only if π does as well. Typically, φ is chosen by constructing a crude approximation of some sort to the target density π.
Algorithm 1 is particularly useful because it provides a simple means of “wrapping up” an existing MCMC algorithm for sampling from π to yield a Markov chain with limiting distribution π*p. However, Algorithm 1 does not necessarily improve mixing of the underlying kernel P (·, ·) used in Step 2. If the underlying kernel mixes badly, then the resulting chain {Yt} is also likely to mix badly. Of course, Algorithm 1 is not the only way to construct a chain {Yt} with limiting distribution π*p. Another approach to constructing such a chain is simply to find the densities of π*p and the proposal distribution with respect to a measure defined on appropriate subsets of the enlarged state-space E, and apply the standard Metropolis-Hastings Algorithm. While that approach may be more direct, it cannot be implemented by constructing a wrapper for a pre-established Markov transition kernel with limiting distributionπ.
FIG. 3 provides a method of generating a Markov chain {Yt} with Y0=α and limiting distribution π*p. Let Q(·, ·) denote the transition probability kernel of this chain. The next step is to use this chain to estimate the expectation (with respect to the probability measure π) of a “function of interest” h(·). Given a desired number of tours M>0, the following algorithm builds on the algorithm of FIG. 3 and uses our method to construct an estimate ĥM itself.
Algorithm 2
Step 1. Initialization: Set Y0=α, m=0, t=0, T0=0.
Step 2. Generate Yt+1 given Yt by sampling from Q(Yt,·). Replace t by t+1.
Step 3. Is Yt+1=α? If so, go back to Step 2.
Step 4. Set n=1. Set x=h(Yt+1).
Step 5. Generate Yt+1 given Yt by sampling from Q(Yt,·). Replace t by t+1.
Step 6. Is Yt+1=α? If so, go to Step 8.
Step 7. Replace x by x+h(Yt+1). Replace n by n+1. Go back to Step 5.
Step 8. Replace m by m+1. Set hm=x, Nm=n and Tm=Tm−1+Nm.
Step 9. Is m<M? If so, go back to Step 2. Otherwise compute the desired estimate and its estimated variance using equations (5) and (6), respectively.
In Steps 2 and 5, it is necessary to generate iterations of a Markov chain with limiting distribution π*p. Algorithm 1 provides one method of doing that. Intuitively, Algorithm 2 works as follows. It repeatedly generates tours of a Markov chain {Yt} with limiting distribution π*p. Tours of length one (that is, tours which consist only of the state α) are thrown out. Remaining tours are truncated just before they hit α so as to become tours of a chain {Zt} with limiting distribution π. The sum over each tour of the function of interest, evaluated at the chain's state, is recorded, as is the length of the tour. Once a total of M tours have been generated, the algorithm terminates, and equations (5) and (6) can be used to obtain the desired estimates.
Stopping Algorithm 2 at a fixed time and discarding the last incomplete tour would not be a valid approach as that would introduce bias because the discarded tour is more likely to be a long tour than a short tour, and different length tours typically have different probabilistic properties.
As mentioned previously, regeneration also provides a convenient means of using parallel processing for MCMC simulation. A detailed parallel processing version of Algorithm 2 is given in Appendix B of our paper.
Before using the variance estimate computed in Step 9 of Algorithm 2, the estimate ĉM (compare equation (7)) of the coefficient of variation should be checked. The variance estimate should not be considered reliable if ĉm is too large. Furthermore, it is important to keep in mind that even though Algorithm 2 side-steps the burn-in problem in the sense that there is no point in removing any initial portion of the chain, convergence of estimates ĥn is still an issue. Consider, for instance, the following example. Suppose that a fair coin toss is being simulated, so that E can be regarded as {H, T, α}, and that a chain {Yt} is constructed using Algorithm 1, with P(H, H) and P(T, T) close to one, and re-entry distribution φ(H)=1−φ(T)=ζ. If ζ is small, then using Algorithm 2, one is likely to observe many length-one tours which consist of the state T, with an occasional long tour consisting mostly of the state H. In this case, if not enough tours are generated, it would be easy to observe only the state T and conclude that the coin never comes up heads. This example also illustrates the dangers of attempting to improve estimates by removing, say, the first few elements of each tour.
Examples demonstrating the performance of Algorithm 2 are found in our paper, supra.
Regeneration provides a convenient means of using parallel processing for MCMC simulation. A parallel processing version of Algorithm 2 is now provided.
Let {Zt} be the Markov chain constructed as described above. The tours {Zf, j=1, 2, . . . } of {Zt} are independent of each other. Thus there is no need for them to be generated on a single processor. Suppose there are J processors available as shown in FIG. 4, and that they can construct realizations of tours independently. Now imagine that the first processor constructs some number n1 of tours, the second processor constructs n2 tours, and so on. If the tours generated on the processors are collected together and concatenated (in some order which is chosen independently of the tours themselves), then the resulting sequence is a realization of a single Markov chain with limiting distribution π, with a total of




  
    ∑
    
      j
      =
      1
    
    J
  
  ⁢
  
    n
    j
  




tours.

In light of these observations, we can state the following parallel or distributed processing version of Algorithm 2. Let a first processor, the server 1 in FIG. 4, be designated as the “master processor” and all other processors 2 through P be designated as “slaves”. The transition kernel P(x, A) is assumed to be the transition kernel for a Markov chain taking values in E with limiting distribution π*p.
Algorithm 3: Master Process
Step 1. Send requests for pairs (h1, N1), . . . , (h—−1, N—−1) to slave processes 2 to J, respectively. Set k=F. Set n=0. Mark all slave processes as “busy”.
Step 2. Wait for any slave to return its pair. Replace n by n+1 and mark the slave as “free”.
Step 3. If n=M, then go to Step 6.
Step 4. If k≦M, send a new request to the freed slave to return the pair (hk, Nk), mark the slave as busy again, and replace k by k+1.
Step 5. Go back to Step 2.
Step 6. Terminate all the slave processes. Compute ĥM and its estimated variance {circumflex over (σ)}2=/M using equations (5) and (6), respectively.
Algorithm 4: Slave Process
Step 1. Wait for a request from the master process for a pair (hj, Nj).
Step 2. Generate a portion {Yt} of a Markov chain with transition kernel P(·,·), starting with Y0=α. Run the chain until it hits a again and let this (second) hitting time be denoted τ.
Step 3. If τ=1, then discard the values {Y0, Y1} and go back to Step 2.
Step 4. Compute




  
    h
    j
  
  =
  
    
      
        ∑
        
          k
          =
          1
        
        
          r
          -
          1
        
      
      ⁢
      
        
          h
          ⁡
          
            (
            
              Y
              k
            
            )
          
        
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        
          N
          j
        
      
    
    =
    
      τ
      -
      1.
    
  




Return the pair (hj, Nj) to the master process and go back to Step 1.

Note that it is desirable that random number generators on separate processors generate independent sequences of random variables. That is an easy rule to violate, because it is often the case that a process replicated on several machines will use the same pseudo-random number generator with the same seed. A simple (although not ideal) solution is to use a different seed for the generator on each separate processor.
Details on writing code for use with a regenerative MCMC simulation library available at Carnegie Mellon University are found in “Instructions for Using the Regenerative MCMC Simulation Library” by Anthony Brockwell, dated Mar. 26, 2002 and available at http://lib.stat.cmu.edu/general which is hereby incorporated by reference.
While the present invention has been described in connection with preferred embodiments thereof, those of ordinary skill in the art will recognize that many modifications and variations are possible. The present invention is intended to be limited only by the following claims and not by the foregoing description which is intended to set forth the presently preferred embodiment.

## Claims

1. A method of generating a sequence of random numbers using a computer, comprising:
inputting a group of parameters and a range of values for each parameter, said group of parameters and range of values defining an initial state space;
generating an enlarged state space by combining said initial state space with an artificial value; and
producing a Markov chain for said enlarged state space, wherein occurrences of said artificial value are excluded from the chain.

2. The method of claim 1 wherein said producing a Markov chain includes generating a first Markov chain for the enlarged state space and generating a second Markov chain for the original state space by removing occurrences of the artificial value from the first Markov chain.

3. The method of claim 2 wherein said generating a first Markov chain includes generating a plurality of first Markov chains in a distributed manner on a plurality of computers and wherein said generating a second Markov chain includes generating a plurality of second Markov chains.

4. The method of claim 3 additionally comprising combining said plurality of second Markov chains.

5. The method of claim 3 wherein said generating a plurality of first Markov chains additionally comprises setting each computers' random number seed differently.

6. A method of generating a sequence of random numbers using a computer, comprising:
inputting a group of parameters and a range of values for each parameter, said group of parameters and range of values defining an initial state space;
generating an enlarged state space by combining said initial state space with an artificial point to produce an enlarged state space;
generating a Markov chain for the enlarged state space; and
discarding occurrences of said artificial point from the Markov chain.

7. The method of claim 6 wherein said generating a Markov chain includes generating a plurality of first Markov chains in a distributed manner on a plurality of computers, and wherein said discarding occurrences of said artificial point from each of said plurality of first Markov chains produces a plurality of second Markov chains.

8. The method of claim 7 additionally comprising combining said plurality of second Markov chains.

9. The method of claim 7 wherein said generating a plurality of first Markov chains additionally comprises setting each computers' random number seed differently.

10. A method of generating a sequence of random numbers in a distributed manner with a plurality of interconnected computers, said method comprising:
setting a random number seed on each of a plurality of computers differently;
inputting a group of parameters and a range of values for each parameter into each computer, said group of parameters and range of values defining an initial state space;
generating an enlarged state space by combining said initial state space with an artificial value;
generating a plurality of first Markov chains for the enlarged state space with said plurality of computers;
removing occurrences of the artificial value from the first plurality of Markov chains to generate a plurality of second Markov chains; and
combining said plurality of second Markov chains.

11. The method of claim 10 wherein said removing of occurrences is performed by each of said plurality of computers.

12. The method of claim 11 wherein said combining is performed by a computer designated as a master computer.

13. The method of claim 10 wherein said removing of occurrences is performed by a computer designated as a master computer.

14. The method of claim 13 wherein said combining is performed by the master computer.

15. A memory device carrying a set of instructions which, when executed, performs a method on a computer comprising:
receiving a group of parameters and a range of values for each parameter, said group of parameters and range of values defining an initial state space;
generating an enlarged state space by combining said initial state space with an artificial value;
generating a plurality of first Markov chains for the enlarged state space with a plurality of computers;
removing occurrences of the artificial value from the first plurality of Markov chains to generate a plurality of second Markov chains; and
combining said plurality of second Markov chains.

16. The memory of claim 15 wherein said instructions enable said removing of occurrences to be performed by each of said plurality of computers.

17. The memory of claim 16 wherein said instructions enable a computer designated as a master computer to perform said combining.

18. The memory of claim 15 wherein said instructions enable said removing of occurrences to be performed by a computer designated as a master computer.

19. The memory of claim 18 wherein said instructions enable said combining to be performed by the master computer.

20. The memory of claim 15 wherein said instructions enable a random number seed on each of said plurality of computers to be set uniquely.