Abstract:
The present invention is an incremental umbrella sampling method to improve the performance of established sampling methods. It is sampling the state space by iteratively generating states  xi,t  and their weighting factors represented by Formula (a) by fitting the sampling distribution function ρ j (x) of the next iteration to at least one weighted property of the already sampled states. This means that ρ j (x) is fitted to the product represented by Formula (b), in which Formula (a) is the weighting factor and O( x,i ) is a function respectively a property of the states x i,t . The number of states x i,t  and the number of weighting factors (see Formula (a)) is incremented with each iteration. In order to have a consistent set of weighting factors (see Formula (a)), the weighting factors are recalculated in each iteration for all, respectively for a set of selected, states. By fitting ρ j (x) in the state space it is possible to use all the information of Formula (a) and O(x i,t ) for the states x i,t  generated so far. The fitting step allows to use different fitting strategies. For example the fitting can bias the sampling away from areas where intensive sampling has been done in the preceding iterations, or the sampling can be directed along local gradients respectively towards local minima or maxima of one or several weighted properties. In each of the iterations, the sampling distribution function is fitted in a way to improve the overall sampling of the state space. The method supports multi-objective optimizations. State space integrals can be solved. It reduces the probability that the system is trapped. The invention is general. It can be used with different sampling methods, in particular with Monte Carlo sampling, Metropolis Monte Carlo sampling, or dynamic simulations. It can be combined with the concepts of simulated annealing and multicanonical sampling. It provides a general framework that can be adapted to the system and the observables of interest.

Description:
FIELD OF THE INVENTION 
     Identifying one or a few states with desired properties, and averaging properties over all states of a system, can provide solutions to many important problems including determinations of binding free energies of drug candidates, protein structure predictions, analysis of experimental data, determinations of the value at risk of financial portfolios, or option pricing. Sampling algorithms such as Monte Carlo sampling, Metropolis Monte Carlo sampling, or dynamic simulations are general methods to address complex optimisation problems and to solve state space integrals. The problem with sampling algorithms is that the number of states required to obtain converged results is often large, and sometimes prohibitively large. The systems studied with sampling algorithms have, in general, a large number of states x with probabilities or probability densities that are known at least up to a normalisation constant. Examples are molecular systems, where x may denote the co-ordinates of the atoms, or financial systems, where x may be a vector of risk factors such as interest rates or stock indices. 
     For such systems, the average &lt;O k &gt; of a property O k (x) can be calculated with Eq. (1), if there is a continuum of states, i.e.,
 
&lt; O   k &gt;=∫ρ( x ) O   k ( x ) dx    (1)
 
     In Eq. (1), the integral is over the entire state space, ρ(x) is the probability density that the system is in state x, and the index k may be used to distinguish different properties. Similar, if the states are discrete, sums 
                     〈     O   k     〉     =       ∑   j     ⁢       p   j     ⁢       O   k     ⁡     (     x   j     )                   (   2   )               
over all states must be calculated where p j  is the probability of the system to be in state x j  Generalisations to other cases are possible.
 
     An example is the estimation of the average distance between two atoms of a molecular system. The average distance &lt;R&gt; is equal to the integral
 
&lt; R&gt;=∫dx ρ( x ) R ( x )   (3)
 
over all conformations of the system. In Eq. (3), x is the vector of all co-ordinates of the system, ρ(x) denotes the probability distribution of the system, i.e., ρ(x) is equal to the probability density that the system has co-ordinates x, and R(x) is the distance between the two atoms of interest as a function of the co-ordinates of the system.
 
     The identification of some states with desired properties is a special case of a state space integral. E.g., the identification of the state x min  that corresponds to the unique global minimum of some function ƒ(x) that has a unique global minimum is equal to solving the integral 
     
       
         
           
             
               
                 
                   
                     x 
                     min 
                   
                   = 
                   
                     ∫ 
                     
                       
                         ⅆ 
                         x 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         δ 
                         ⁡ 
                         
                           ( 
                           
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 x 
                                 ) 
                               
                             
                             , 
                             
                               
                                 min 
                                 
                                   x 
                                   t 
                                 
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   f 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       x 
                                       t 
                                     
                                     ) 
                                   
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                       ⁢ 
                       
                         x 
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     In Eq. (4), 
               min     x   ⁢           ⁢   ′       ⁢     (     f   ⁡     (     x   ⁢           ⁢   ′     )       )           
denotes the unique global minimum of the function ƒ(x).
 
     PRIOR ART 
     For many problems of interest, the integrals (Eq. 1) or sums (Eq. 2) cannot be solved analytically, and sampling algorithms have to be used to estimate the properties. Sampling algorithms produce a sample of states such that estimates of the integral of Eq. (1) or the sum of Eq. (2) are obtained as a weighted sum over the states of the sample, i.e., 
     
       
         
           
             
               
                 
                   
                     
                       O 
                       ~ 
                     
                     k 
                   
                   = 
                   
                     
                       ∑ 
                       
                         t 
                         = 
                         1 
                       
                       
                         N 
                         t 
                       
                     
                     ⁢ 
                     
                       
                         
                           ρ 
                           ~ 
                         
                         
                           i 
                           , 
                           t 
                         
                       
                       ⁢ 
                       
                         
                           
                             O 
                             k 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               
                                 i 
                                 , 
                                 t 
                               
                             
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     In Eq. (5), Õ k  denotes the estimate of the average &lt;O k &gt; of the property O k (x), {tilde over (ρ)} i,t  is the weight of the state x i,t , the sum is over the N i  states produced by the sampling algorithm, the index t distinguishes different states, the index k can be used to distinguish different properties, and the index i can be used to distinguish different runs of the sampling algorithm. 
     Established sampling methods include systematic search methods and random sampling methods. Systematic methods, evaluate the properties of the system for a set of states determined in advance by a deterministic algorithm. Each state produced represents a subset of all states of the system. The weight {tilde over (ρ)} i,t  used in Eq. (5) for state x i,t  is proportional to the size of the subset represented by the state x i,t . Systematic search is often used to estimate low dimensional integrals, and improvements of the simple method just described are known and applied routinely, e.g., trapezoidal interpolation. However, there are cases where prohibitively large sets of states are required to obtain converged estimates from systematic searches, e.g., for systems with a large number of degrees of freedom. 
     Random sampling methods generate random states x i,t  distributed according to a sampling distribution function. For each state considered in run i, the weight {tilde over (ρ)} i,t  for Eq. (5) can be determined, e.g., by Maximum Likelihood considerations (Christian Bartels “Analysing biased Monte Carlo and molecular dynamics simulations”,  Chem. Phys. Lett.  331 (2000) 446-454; see also M. Souaille and B. Roux, “Extension to the Weighted Histogram Analysis Method: Combining Umbrella Sampling with Free Energy Calculations”,  Comput. Phys. Comm.  135, (2001) 40-57; Charles J. Geyer, “Estimating normalizing constants and reweighting mixtures in Markov chain Monte Carlo”, Tech. Rep. 568r (1994), School of Statistics, University of Minnesota; Art B. Owen and Yi Zhou, “Safe and effective importance sampling”,  Journal of the American Statistical Association  95 (2000) 135-; A. M. Ferrenberg and R. H. Swendsen, “Optimized Monte Carlo Data Analysis”,  Phys. Rev. Lett.  63, (1989) 1195-). The weights depend on the sampling distribution functions used. Different random sampling methods such as Monte Carlo, Metropolis Monte Carlo, or Langevin Molecular Dynamics differ in the way the states are generated. In Monte Carlo sampling—for example according to U.S. Pat. No. 6,061,662—states are generated independently of each other. Metropolis Monte Carlo generates new states by perturbing existing states and accepting or rejecting them such that the states are sampled according to a given sampling distribution function. 
     With the mentioned sampling algorithms, it is in principle possible to estimate properties of arbitrary systems. However, in many cases, the size of the sample required to obtain converged estimates is large, and calculation times get prohibitively long. The convergence of the sampling algorithm depends critically on the sampling distribution function, which is used. 
     For many systems and properties of interest, the best choice of the sampling distribution function is the distribution function of the system ρ(x). This choice of the sampling distribution function is often optimal to estimate the equilibrium properties of the system. The weighting factors {tilde over (ρ)} i,t  of Eq. (5) are all equal to N i   −1  where N i  is the number of states of the sample. In other words, estimates of the equilibrium properties of the system are equal to the average of the properties of the states sampled. There are cases where the distribution function of the system is not the optimal choice. Examples are the estimation of properties dominated by the contribution of a few rare states (e.g., the estimation of the probability of a molecular system to be in a transition state region, or the value at risk of a financial portfolio), or systems that consist of several sub-regions and where the sampling gets trapped in one of the sub-regions (e.g., simulations of molecular systems, in general, and identification of binding modes of drug-protein complexes, in particular). 
     The terms “Importance Sampling” and “Umbrella Sampling” refer to sampling algorithms that use a sampling distribution function different from the distribution function of the system (M. P. Allen and D. J. Tildesley, “Computer Simulation of Liquids”, Clarendon Press, Oxford (1987)). These methods are based on the facts that the distribution function of the system is not always the optimal sampling distribution function, and that properties of the unbiased system can be estimated from simulations with a sampling distribution different from the distribution function of the unbiased system. Importance sampling is a general concept. The concept does not say which kind of sampling distribution function to use. For complex systems with a large number of states, defining appropriate sampling distribution function is very difficult. 
     U.S. Pat. No. 6,381,586 describes a method to get rapid convergence of the estimate of the price of an option. The method is based on an appropriate selection of the importance sampling distribution function. The method relies on the fact that states that contribute to the estimate are concentrated in a sub-region of the state space, and that this sub-region can be identified before starting the simulations. If these conditions are fulfilled, convergence of the estimate can be increase by identifying the subregion, and by defining a sampling distribution function that biases sampling into the identified sub-region. This situation is quite particular to the problem considered, and the same approach is not applicable, for example, for the determination of the value of risk of an option portfolio. In many applications it is not possible to identify such a sub-region before starting the simulation. Defining a wrong sub-region would cause the simulation to be trapped within said sub-region and slow down convergence of estimates. 
     U.S. Pat. No. 6,178,384 describes a sampling method to estimate conformational free energies. The method is based upon an appropriate definition of the sampling distribution functions. The method assumes that regions that contribute to the estimates are approximately harmonic, and that the centres of these regions are known. Using these assumptions, a series of Monte Carlo simulations is carried out. Each of the simulations samples one of the identified regions using a sampling distribution function equal to the corresponding harmonic potential. The method is difficult to apply, if the system cannot be described as a sum of approximately harmonic wells, if there is a large number of harmonic wells that contribute to the estimates, or if the wells cannot be identified. For example, molecular systems in explicit water consist of a very large number of wells, or the dominant local minima of proteins are difficult to identify without experimental data. 
     Defining sampling distribution function to improve the convergence of the estimates requires some knowledge of the system. For most systems of interest, this knowledge is not available a priori, and must be acquired somehow. One possibility is to carry through preliminary studies, for example, minimization as is proposed in the patents U.S. Pat. Nos. 6,178,384 B1 and 6,381,586 B1. The problem is that with increasing complexity of the system (large number of local minima, many dimensions, regions of state space that contribute to the estimates are unknown) the required preliminary studies become difficult or impossible. 
     Instead of defining the sampling distribution function before starting the simulation, it is in many cases easier to identify a desired property of the sampling, and to iteratively adapt the sampling distribution function in order to achieve the desired property. This is the essence of what is referred to as “adaptive umbrella sampling” in the literature on molecular simulations (Christian Bartels, Michael Schaefer and Martin, Karplus “Determination of equilibrium properties of biomolecular systems using multidimensional adaptive umbrella sampling”,  J. Chem. Phys.  111, 17 (1999) 8048-8067; Bernd A. Berg and Thomas Neuhaus “Multicanonical ensemble: A new approach to simulate first-order phase transitions”,  Phys. Rev. Let.  68 (1992), 9-12). It can for example be assumed that the property of interest is the probability distribution of a selected degree of freedom (probability distribution of the distance between two atoms, probability distribution of future gains of a financial institution, . . . ). Estimates of such a distribution require that all values of the degree of freedom are sampled. Thus, it makes sense to adapt the sampling distribution function such that all values of interest of the degree of freedom are sampled with comparable probabilities. A problem with adaptive umbrella sampling is that even if the desired umbrella potential is determined, it will in general not be possible to ensure that transitions between different important regions of the system occur and that the system does not get trapped. 
     SUMMARY OF THE INVENTION 
     The present invention is a method to improve the performance of established sampling methods. The new method can be called incremental umbrella sampling. Incremental umbrella sampling defines a method for sampling the state space by iteratively generating states x i,t  and their weighting factors {tilde over (ρ)} i,t  by fitting the sampling distribution function ρ j (x) of the next iteration to at least one weighted property of the already sampled states. This means that ρ j (x) is fitted to the product {tilde over (ρ)} i,t O(x i,t ), in which the {tilde over (ρ)} i,t  are the weighting factors and O(x i,t ) is a function respectively a property of the states x i,t . 
     In a first step an initial sampling distribution function ρ i (x) is selected. If necessary, other starting parameters are selected as well, for example a starting state. The iteration parameter j is set equal to a starting value, preferably to 1. The iteration process consists of a second, a third, a fitting and a fourth step which are repeated until at least one criterion is fulfilled. In the second step N j  states x j,t  are generated by a numerical sampling algorithm that samples states according to the sampling distribution function ρ j (x). The third step determines weighting factors {tilde over (ρ)} i,t  for states x i,t  generated so far, which means for states x i,t  with i≦j (the index i distinguishes different previous simulations, and the index t distinguishes different states of each simulation). The weighting factors {tilde over (ρ)} i,t  are determined by using the sampling distribution functions ρ i (x) used so far, respectively with i≦j. The number of states x i,t  and the number of weighting factors {tilde over (ρ)} i,t  can be incremented with each iteration. For reasons of insufficient memory it can be necessary to discard some of the states. In order to have a consistent set of weighting factors {tilde over (ρ)} i,t , the weighting factors are calculated in each iteration for all, respectively for a set of selected, states. At least for normalized weighting factors {tilde over (ρ)} i,t  the weighting factors {tilde over (ρ)} i,t  of iterations with i&lt;j (earlier iterations) will be altered by the newest iteration, respectively by the fact that the total number of selected states is increased. The iteration parameter j is incremented preferably by 1. The fitting step determines a sampling distribution function ρ j (x) by fitting ρ j (x) to {tilde over (ρ)} i,t  O(x i,t ) for states x i,t  generated so far. The fitting can be done at all or at selected states x i,t . In the fourth step at least one criterion is tested, for example the number of iterations. In many cases good results can be found if at least three iterations are done. According to the result of the test it will be decided whether to continue the iteration with the second or to go to a fifth step in order to perform an analysis. The forth step could as well be executed directly after the third step. In this case the iteration would be continued by the fitting step and then by the second step. 
     By fitting ρ j (x) in the state space it is possible to use all the information of {tilde over (ρ)} i,t  and O(x i,t ) for the states x i,t  generated so far. The fitting step allows to use different fitting strategies. For example the fitting can bias the sampling away from areas where intensive sampling has been done in the preceding iterations, or the sampling can be directed along local gradients respectively towards local minima or maxima of one or several weighted properties. In each of the iterations, the sampling distribution function is fitted in a way to improve the overall sampling of the state space. For example each fitted sampling distribution function will direct the sampling to regions that contribute significantly to the estimates of interest and that were little sampled so far. For a given region of the state space the fitted sampling distribution is different if there is a large number of states with small weighting factors or if there are a few states with large weighting factors. In contrast, with adaptive umbrella sampling methods and other methods that are based on estimating some properties of the sampling distribution function with Eq. 5, the two situations would result in comparable sampling distribution functions. 
     Adaptive umbrella sampling attempts to come up with a single sampling distribution function that should ensure sampling of all the important states. Incremental umbrella sampling creates for each iteration a sampling distribution function to improve the overall sampling. Since incremental umbrella sampling avoids re-sampling of regions that were already extensively sampled and directs sampling to regions that were relatively little sampled, incremental umbrella sampling is more efficient than adaptive umbrella sampling. 
     The inventive method reduces the number of states that need to be sampled to identify the states of interest, or to obtain converged estimates of the state space integrals. Compared to simulated annealing (S. Kirkpatrick, C. D. Gelatt Jr., M. P. Veochi, “Optimization by Simulated Annealing”,  Science,  220, 4598, (1983) 671-680) and multicanonical sampling (Bernd A. Berg and Thomas Neuhaus “Multicanonical ensemble: A new approach to simulate first-order phase transitions”,  Phys. Rev. Let.  68 (1992), 9-12) the invention has several advantages. The probability of the identified optimal state can be estimated. It supports multi-objective optimisations. State space integrals can be solved. It reduces the probability that the system is trapped. The invention is general. It can be used with different sampling methods, in particular with Monte Carlo sampling, Metropolis Monte Carlo sampling, or dynamic simulations. It can be combined with the concepts of simulated annealing and multicanonical sampling. It provides a general framework that can be adapted to the system and the observables of interest. 
     A special embodiment uses in at least one iteration a numerical sampling algorithm which generates correlated states x j,t , wherein the sampling distribution function ρ j (x) preferably has a maximum that biases sampling into a sub-region of the state space, wherein the sampling distribution function ρ j (x) is preferably fitted such that the maximum is in a region where the product {tilde over (ρ)} i,t O(x i,t ) has a maximum, and wherein the sampling preferably starts from a state dose to the maximum of the sampling distribution function ρ j (x). 
     The inventive method is preferably commercialized in the form of a computer software product on a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, enable the computer to apply the inventive method. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1 . is a flow chart of an iterative umbrella sampling simulation. 
         FIG. 2 . shows a distribution function ρ(x) (asterix), an observable O(x) (circles) and a product ρ(x)O(x) (rectangles) of a one-dimensional system in the form of probabilities (p) versus the dimension of the system (x). 
         FIG. 3 . shows distribution functions ρ 1 (x) (circles), ρ 2 (x) (rectangles) and ρ 1 (x)/2+ρ 2 (x)/2 (asterixes) of the one-dimensional system (p versus x). 
         FIG. 4 . shows the weighting factors {tilde over (ρ)} i,t  (circles) and the product {tilde over (ρ)} i,t O(x i,t ) (asterix) versus the states x i,t . 
         FIG. 5 . is an example of a conformation of the two-dimensional HP protein-folding model. 
         FIG. 6 . shows estimates of the probability (p) of states with a given energy (E) for the HP protein-folding model. 
         FIG. 7 . shows estimates of the probability of states with energy −92, −90, −88, −86, −84 and −82 as a function of the number of states that were sampled for the HP protein-folding model. 
         FIG. 8 . shows energies (E) of states sampled in test run B as a function of the number of states (n) that were sampled. 
         FIG. 9 . shows estimates of the probability of states (In p) with given radius (R) for runs A, B, C, D and E. 
         FIG. 10 . shows energies (E) of states sampled in the simulated annealing run B as a function of the number of states (n) that were sampled. 
         FIG. 11 . shows energies (E) of states sampled in the multicanonical (Adumb) run B as a function of the number of states (n) that were sampled. 
         FIG. 12 . shows estimates of the probability (p) of states with a given energy (E). Estimates obtained from the five multicanonical (Adumb) runs A, B, C, D, E and the average of the test runs from  FIG. 6  Ref. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Exploration of the state space proceeds in a series of steps shown in  FIG. 1 . In a first step 1 an initial sampling distribution function ρ 1 (x) is selected. If necessary other starting parameters are selected as well, for example a starting state. This is often an interactive step. Computational tools may be used. The iteration parameter j is set equal to 1. The iteration consists of a second 2, a third 3, a fitting F and a fourth step 4 which are repeated until at least one criterion is fulfilled. In the second step N j  states x j,t  with t=1,2, . . . ,N j  are generated by a numerical sampling algorithm. In the third step 3 the weighting factors {tilde over (ρ)} i,t  are deduced from the sampling distribution functions ρ 1 (x) for states x i,t  generated so far, which means for states x i,t  with i≦j. The third step 3 increments j by 1. The fitting step F determines the sampling distribution function ρ j (x) for the next iteration by fitting ρ j (x) to {tilde over (ρ)} i,t O(x i,t ) for states x i,t  generated so far. In the fourth step 4 at least one criterion is tested. For example the criterion can be the convergence of the simulations or reaching a given number of iterations. The criterion may involve some interactive steps. According to the result N or Y of the fourth step 4 it will be decided whether to continue (N) the iteration with the second step 2 or to go (Y) to a fifth step 5 in order to perform the final analysis. The simulations, respectively the states x j,t  with the weighting factors {tilde over (ρ)} i,t , are analysed to obtain the estimates of interest. An analysis based on Eq. (5) is convenient, as it provides a general and consistent way to obtain estimates of equilibrium properties. 
     The initial conditions should be selected such that the simulation reaches rapidly equilibrium. This is necessary for the sample to represent the sampling distribution function. If a Metropolis Monte Carlo algorithm or a molecular dynamics simulation is used, the starting state and the initial sampling distribution function should be selected such that the starting state has a high probability of being sampled with the selected sampling distribution function. If a Monte Carlo algorithm is used that produces sates independently of any starting state, selection of a starting state is evidently not required. 
     A simulation is carried out with the selected sampling distribution function ρ j (x) . The simulation must produce a sample consisting of N j  states x j,t  distributed according to the sampling distribution function p j (x). 
     Different simulation algorithms may be used, for example Monte Carlo, Metropolis Monte Carlo, Molecular Dynamics algorithms. The choice will depend on the system to be studied and the selected sampling distribution function. For reference in later sections, some possibilities are listed here
     a) Monte Carlo Method: States are generated independently of each other by transforming random numbers generated by a random number generator. The resulting states are un-correlated.   b) Metropolis Monte Carlo, Version 1: A trial state x trial  is generated from an existing state x j,t  such that the probability of generating x trial  from x j,t  is equal to the probability of generating x j,t  from x trial . The trial state is accepted with
 
probability 1, if ρ i (x trial )≧ρ i (x j,t )   (6A)
 
probability ρ i (x trial )/ρ i (x j,t ) if ρ i (x trial )&lt;ρ i (x j,t )   (6B)
       If x trial  is accepted, it is taken as the new state x j,t+1 =x trial , otherwise x j,t  is taken as the new state x j,t+1 =x j,t .   
       c) Metropolis Monte Carlo, Version 2: Using a Monte Carlo algorithm that produces states distributed according to ρ simple (x), a trial state x trial  is generated independently of any other state. The trial state is accepted with   

     
       
         
           
             
               
                 
                   
                     probability 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     1 
                   
                   , 
                   
                       
                   
                   ⁢ 
                   
                     
                       if 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           
                             ρ 
                             i 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               trial 
                             
                             ) 
                           
                         
                         
                           
                             ρ 
                             simple 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               trial 
                             
                             ) 
                           
                         
                       
                     
                     ≥ 
                     
                       
                         
                           ρ 
                           i 
                         
                         ⁡ 
                         
                           ( 
                           
                             x 
                             
                               j 
                               , 
                               t 
                             
                           
                           ) 
                         
                       
                       
                         
                           ρ 
                           simple 
                         
                         ⁡ 
                         
                           ( 
                           
                             x 
                             
                               j 
                               , 
                               t 
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     7 
                     ⁢ 
                     A 
                   
                   ) 
                 
               
             
             
               
                 
                   probability 
                   , 
                   
                     
                       
                         
                           
                             
                               ρ 
                               i 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 trial 
                               
                               ) 
                             
                           
                           ⁢ 
                           
                             
                               ρ 
                               simple 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   j 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               ρ 
                               simple 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 trial 
                                 ′ 
                               
                               ) 
                             
                           
                           ⁢ 
                           
                             
                               ρ 
                               i 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   j 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                         
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       if 
                       ⁢ 
                       
                         
                           
                             ρ 
                             i 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               trial 
                             
                             ) 
                           
                         
                         
                           
                             ρ 
                             simple 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               trial 
                             
                             ) 
                           
                         
                       
                     
                     &lt; 
                     
                       
                         
                           ρ 
                           i 
                         
                         ⁡ 
                         
                           ( 
                           
                             x 
                             
                               j 
                               , 
                               t 
                             
                           
                           ) 
                         
                       
                       
                         
                           ρ 
                           simple 
                         
                         ⁡ 
                         
                           ( 
                           
                             x 
                             
                               j 
                               , 
                               t 
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     7 
                     ⁢ 
                     B 
                   
                   ) 
                 
               
             
           
         
       
     
     If x trial  is accepted, it is taken as the new state x j,t+1 =x trial , otherwise x j,t  is taken as the new state x j,t+1 =x j,t . 
     New sampling methods are still being developed. U.S. Pat. No. 5,740,072 describes a sampling method that combines the Metropolis Monte Carlo method with stochastic dynamics. 
     Optimal Weighting Factors 
     Optimal weighting factors can be obtained with Equations (8-11). Equations (8) and (9) express the weighting factors {tilde over (ρ)} i,t   self  in function of the normalisation constants {tilde over (ƒ)} k   self , and vice versa. 
     
       
         
           
             
               
                 
                   
                     
                       ρ 
                       ~ 
                     
                     
                       i 
                       , 
                       t 
                     
                     self 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           
                             N 
                             sim 
                           
                         
                         ⁢ 
                         
                           
                             N 
                             k 
                           
                           ⁢ 
                           
                             
                               f 
                               ~ 
                             
                             k 
                             self 
                           
                           ⁢ 
                           
                             
                               C 
                               k 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   i 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                         
                       
                       ) 
                     
                     
                       - 
                       1 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       f 
                       ~ 
                     
                     k 
                     self 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             sim 
                           
                         
                         ⁢ 
                         
                           
                             ∑ 
                             
                               t 
                               = 
                               1 
                             
                             
                               N 
                               t 
                             
                           
                           ⁢ 
                           
                             
                               
                                 C 
                                 k 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   x 
                                   
                                     i 
                                     , 
                                     t 
                                   
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                               
                                 ρ 
                                 ~ 
                               
                               
                                 i 
                                 , 
                                 t 
                               
                               self 
                             
                           
                         
                       
                       ) 
                     
                     
                       - 
                       1 
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     Self-consistent estimates of the weighting factors {tilde over (ρ)} i,t   self  and normalization constants {tilde over (ƒ)} k   self  can be obtained by applying equations (8, 9) repeatedly until the weighting factors have converged. The normalised weighting factors {tilde over (ρ)} i,t  are then given by 
     
       
         
           
             
               
                 
                   
                     
                       ρ 
                       ~ 
                     
                     
                       i 
                       , 
                       t 
                     
                   
                   = 
                   
                     
                       
                         ρ 
                         ~ 
                       
                       
                         i 
                         , 
                         t 
                       
                       self 
                     
                     / 
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         
                           N 
                           sim 
                         
                       
                       ⁢ 
                       
                         
                           ∑ 
                           
                             t 
                             = 
                             1 
                           
                           
                             N 
                             t 
                           
                         
                         ⁢ 
                         
                           
                             
                               ρ 
                               ~ 
                             
                             
                               f 
                               , 
                               t 
                             
                             self 
                           
                           . 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     In equations (8) to (10), N j  and N k  are the number of states produced by simulations j and k, respectively, N sim  is the number of simulations, and the bias functions
 
 c   k ( x )∝ρ k ( x )/ρ( x )   (11)
 
are proportional to the ratio of the sampling distribution function of the simulation divided by the distribution function of the system. It helps with the understanding of what follows to note that the weighting factors {tilde over (ρ)} i,t  are proportional to ρ(x i,t )/ρ i (x i,t ), if only a single simulation is analysed. If several simulations are analysed, the weighting factors can be understood as the ratio of the distribution function of the system divided by an average effective sampling distribution function that represents the sampling carried out in all of the simulations. Thus, the weighting factors are large for states, for which the distribution function of the system is large, or for which the average effective sampling distribution function is small. A necessary condition for any method to estimate the weighting factors {tilde over (ρ)} i,t  to be useful in the context of the present invention is that additional sampling in the region around a selected state must reduce the weighting factor of the selected state.
 
     For particular cases, other equations exist to determine the set of weighting factors. If the sampling distribution functions differ only along one or a few selected degrees of freedom, the Weighted Histogram Analysis Method of A. M. Ferrenberg and R. H. Swendsen, “Optimized Monte Carlo Data Analysis”,  Phys. Rev. Lett.  63, (1989) 1195- may be used. If the normalisation constants of the sampling distribution functions are known and need not to be estimated with Eq. (9), the formalisms described and referenced in Art B. Owen and Yi Zhou, “Safe and effective importance sampling”,  Journal of the American Statistical Association  95 (2000) 135- may be used. 
     One-Dimensional System to Illustrate the Inventive Method 
     A fitting procedure is used to define a sampling distribution function that directs sampling to regions that contribute significantly to the estimates of interest and that were little sampled so far. One of the advantages of the proposed method is that it can be applied to high-dimensional systems with sampling distribution functions that vary along many dimensions. The inventive method is illustrated using a one-dimensional system, e.g., two atoms separated by a distance x. The distribution function of the system of the example is equal to a normal distribution with mean 0 and standard deviation 1, i.e., 
               ρ   ⁡     (   x   )       =       1       2   ⁢   π         ⁢       ⅇ       -     x   2       /   2       .             
The observable assumed to be of interest is set equal to a normal distribution with mean 2 and standard deviation 1, i.e.,
 
                 O   1     ⁡     (   x   )       =       1       2   ⁢   π         ⁢       ⅇ       -       (     x   -   2     )     2       /   2       .             
Further, it is assumed that two simulations have been carried out, and that the sampling distribution function for the third simulation should be determined, i.e., j=3.
 
       FIG. 2  illustrates the distribution function of the system and the observable; the asterix show the distribution function ρ(x), the circles the observable O i (x), and the rectangles show the product ρ(x)O 1 (x) used in Eq. (1). The product ρ(x)O 1 (x) is maximal at x=1. Thus, to calculate the average &lt;O 1 &gt; of the property O 1 (x), states around x=1 are most important.  FIG. 3  shows the sampling distribution functions ρ 1 (x) as circles, ρ 2 (x) as rectangles, and the average ρ 1 (x)/2+ρ 2 (x)/2 as asterixes, respectively. The sampling distribution function ρ 1 (x) was chosen to be equal to 1 for x between −0.5 and 0.5, the sampling distribution function ρ 2 (x) was chosen to be equal to 0.5 for x between 0 and 2. In each of the two simulations, 30 states were sampled. 
       FIG. 4  plots for each state x i,t  the weighting factors {tilde over (ρ)} i,t  and the product {tilde over (ρ)} i,t O 1 (x i,t ) as circles and asterixes, respectively. The sampling distribution functions are normalised. Thus, the normalisation constants need not to be estimated with Eq. (9), and the (un-normalised) weighting factors are directly given by 
     
       
         
           
             
               
                 
                   
                     
                       
                         ρ 
                         ~ 
                       
                       
                         i 
                         , 
                         t 
                       
                       self 
                     
                     = 
                     
                       
                         ρ 
                         ⁡ 
                         
                           ( 
                           
                             x 
                             
                               i 
                               , 
                               t 
                             
                           
                           ) 
                         
                       
                       
                         
                           
                             
                               ρ 
                               1 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   i 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                           / 
                           2 
                         
                         + 
                         
                           
                             
                               ρ 
                               2 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   i 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                           / 
                           2 
                         
                       
                     
                   
                   ; 
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     They are equal to the distribution function of the system divided by the average of the sampling distribution functions of the two previous simulations. 
     The estimate of the average &lt;O 1 &gt; is dominated by states for which the product {tilde over (ρ)} i,t |O 1 (x i,t )| is large (Eq. 5). From Eq. (12) and  FIG. 4 , it is seen that the product {tilde over (ρ)} i,t |O 1 (x i,t )| is large for states with ρ(x i,t )|O 1 (x i,t )| large and ρ 1 (x i,t )/2+ρ 2 (x i,t )/2 small. ρ(x i,t )|O 1 (x i,t )| is large for states that contribute significantly to the average &lt;O 1 &gt; of the property O 1 (x) (Eq. (1) and  FIG. 2 ). ρ 1 (x i,t )/2+ρ 2 (x i,t )/2 is small for states that are in regions that were not much sampled so far ( FIG. 3 ). Thus, to sample states that contribute to the estimate of the average &lt;O 1 &gt; of the property O 1 (x), and to sample regions that were little sampled so far, sampling should be directed towards regions around states that correspond to a large value of the product {tilde over (ρ)} i,t |O 1 (x i,t )|. This can be done by fitting the sampling distribution function ρ 3 (x) for the next simulation to the product {tilde over (ρ)} i,t |O 1 (x i,t )| evaluated for the states obtained from the first two simulations. The fit is done such that the resulting sampling distribution function is large for at least some states with a large value of the product {tilde over (ρ)} i,t |O 1 (x i,t )|. 
     Formulating this more generally: the sampling distribution function ρ j (x) for the next simulation is fitted to the product {tilde over (ρ)} i,t O(x i,t ) of the states of all previous simulations i=1,2, . . . ,j−1 times a function O(x). The fit is done such that the resulting sampling distribution function is large for at least some states with a large product {tilde over (ρ)} i,t O(x i,t ), and tends to be small for states with a small product {tilde over (ρ)} i,t O(x i,t ). The function O(x) is defined such that it is large for the states of interest, e.g., it is set equal to O(x)=|O 1 (x)|. 
     Different strategies can be used to fit the sampling distribution function for the next iteration to the product {tilde over (ρ)} i,t |O 1 (x i,t )| shown as asterixes in  FIG. 4 . A simple strategy is to identify the state with the largest value of the product {tilde over (ρ)} i,t |O 1 (x i,t )|, and to define the sampling distribution function for the next iteration such that it is large at the selected state. In the example of  FIG. 4 , the state with the largest value is the 16 th  state of the second simulation and is located at 1.07, i.e., x 2,16 =1.07. Thus, a possible sampling distribution function for the next iteration of the example might be uniform sampling around the state at 1.07 in the range between 0.57 and 1.57. An alternative strategy would be to identify states with a small value of the product {tilde over (ρ)} i,t |O 1 (x i,t )| and to make the sampling distribution function for the next iteration small for these states. E.g., the sampling distribution function for the next iteration of the example could be set to a uniform distribution between −0.5 and 2 but excluding the region from −1.37 to 0.63 that lies around the state at −0.37 that has the smallest value of the product {tilde over (ρ)} i,t |O 1 (x i,t )|. A third strategy would be to express the logarithm of the sampling distribution function as a linear function of some parameters and to use a linear least square fit to determine the parameters. These are only some of the possible fitting strategies. They are described in a more formal way below. 
     Formal Description of a Fitted Sampling Distribution Function 
     The sampling distribution function ρ j (x) for the next iteration is defined based on the states x i,t  and their weighting factors {tilde over (ρ)} i,t  from the previous simulations i=1,2, . . . , j−1. The sampling distribution function ρ j (x) can be expressed as a function h(v j ,x) of a vector v j  of parameters, and the normalisation constant ƒ j , i.e.,
 
ρ j (x)=ρ j (v j ,x)=ƒ j h(v j ,x).   (13)
 
     For some of the existing simulations algorithm, e.g., molecular dynamics or Metropolis Monte Carlo, the normalisation constant ƒ j  needs not to be known, and needs not to be determined. For the other simulation algorithms, it can be determined by applying the constraint that the integral of the sampling distribution function over all states must be normalised to one. 
     The parameters of the sampling distribution function are determined by fitting the sampling distribution function p j (x) to the weighting factors {tilde over (ρ)} i,t  from previous simulations iε{1,2, . . . ,j−1} and tε{1,2, . . . ,N i }. The fit maximises an objective function G. The objective function G is defined as a function of local comparisons of the sampling distribution function ρ j (v j ,x) with the product {tilde over (ρ)} i,t O(x i,t ) of the weighting factors {tilde over (ρ)} i,t  times a function O(x). The objective function G must be large for sampling distribution functions that are large for at least some states with a large product {tilde over (ρ)} i,t O(x i,t ), and small for the majority of states with a small product {tilde over (ρ)} i,t O(x i,t ). Different procedures can be used to do the fitting; examples are given below. 
     Objective functions G are defined as functions of local comparisons. For the purpose of the local comparison, states {tilde over (x)} i,t  from the previous simulations i=1,2, . . . ,j−1 are associated to the weighting factors {tilde over (ρ)} i,t  from previous simulations, e.g., {tilde over (x)} i,t =x i,t . The sampling distribution function ρ j (v j ,{tilde over (x)} i,t ) at {tilde over (x)} i,t  is compared to the corresponding product {tilde over (ρ)} i,t O(x i,t ) using a local comparison function
 
 d   i,t   =d (ρ j ( v   j   ,{tilde over (x)}   i,t ), {tilde over (x)}   i,t   ,{tilde over (ρ)}   i,t   O ( x   i,t )),   (14)
 
e.g., d(ρ j (v j ,{tilde over (x)} i,t ),{tilde over (x)} i,t ,{tilde over (ρ)} i,t O(x i,t ))=(ln ρ j (v j ,{tilde over (x)} i,t )−ln {tilde over (ρ)} i,t O(x i,t )) 2 , and the objective function is defined as a function of the local comparisons, e.g.,
 
     
       
         
           
             G 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 
                   N 
                   sim 
                 
               
               ⁢ 
               
                 
                   ∑ 
                   t 
                   
                     N 
                     t 
                   
                 
                 ⁢ 
                 
                   
                     d 
                     
                       i 
                       , 
                       t 
                     
                   
                   . 
                 
               
             
           
         
       
     
     The form of the sampling distribution function, the set of parameters, the objective function G, the function O(x), and the fitting procedure may be adapted to the system and properties of interest, as well as to the available simulation algorithms. Examples are given below. 
     Examples of Sampling Distribution Functions with Harmonic Constraints 
     Examples of sampling distribution functions can be found by applying harmonic constraints to the distribution function of the system,
 
ρ j ( x )=ƒ j exp(− k   constr ( x−x   j,constr ) 2 )ρ( x ).   (15)
 
     In Eq. (15), k constr  is a constant that determines the strength of the harmonic constraint, ƒ j  is the scaling factor to normalise ρ j (x), and x j,constr  is the centre of the constraint. The parameters that can be fitted are the centre and the strength of the constraint, v j ={k constr ,k j,constr }. For systems consisting of many local minima separated by barriers, application of a multicanonical sampling distribution function can be advantageous,
 
ρ j ( x )=ƒ j exp(− k   constr ( x−x   j,constr ) 2 )ρ mc ( x ).   (16)
 
     In Eq. (16), ρ mc (x) denotes the multicanonical distribution function; the remaining parameters are identical to those of Eq. (15). In particular, the parameters that can be fitted are the centre and the strength of the constraint, v j ={k constr ,x j,constr }. 
     The multicanonical distribution function ρ mc (x) (Bernd A. Berg and Thomas Neuhaus “Multicanonical ensemble: A new approach to simulate first-order phase transitions”,  Phys. Rev. Let.  68 (1992); Christian Bartels, Michael Schaefer and Martin Karplus “Determination of equilibrium properties of biomolecular systems using multidimensional adaptive umbrella sampling”,  J. Chem. Phys.  111, 17 (1999) 8048-8067) is determined such that different values of ln ρ(x) are sampled with comparable probability. The multicanonical distribution function can be written as
 
ρ mc ( x )∝ρ( x )/ƒ mc (ln ρ( x )),   (17)
 
where ƒ mc  denotes an estimate of the probability distribution of ln ρ(x). The estimate ƒ mc  can be obtained from a histogram of ln ρ(x) that can be obtained from the sampled state x i,t  and their weighting factors {tilde over (ρ)} i,t  using Eq. (5).
 
     A sum of harmonic constraints applied to the distribution function of the system results in the distribution function 
     
       
         
           
             
               
                 
                   
                     
                       ρ 
                       j 
                     
                     ⁡ 
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     
                       f 
                       j 
                     
                     ⁢ 
                     
                       exp 
                       ( 
                       
                         
                           ∑ 
                           
                             l 
                             = 
                             1 
                           
                           
                             N 
                             
                               j 
                               , 
                               constr 
                             
                           
                         
                         ⁢ 
                         
                           
                             
                               k 
                               
                                 j 
                                 , 
                                 i 
                                 , 
                                 constr 
                               
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 - 
                                 
                                   x 
                                   
                                     j 
                                     , 
                                     i 
                                     , 
                                     constr 
                                   
                                 
                               
                               ) 
                             
                           
                           2 
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       
                         ρ 
                         ⁡ 
                         
                           ( 
                           x 
                           ) 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     In Eq. (18), the constants k j,1,constr  determine the strengths of the harmonic constraints, ƒ j  is the scaling factor to normalise ρ j (x), x j,1,constr  are the centres of the constraints, and N j,constr  is the number of harmonic constraints. The parameters that can be fitted are the number of harmonic constraints, their centres, and their strengths,
 
v j ={k j,1,constr ,k j,2,constr , . . . ,x j,1,constr ,x j,2,constr , . . . ,N j,constr }.
 
     Depending on the sampling distribution function ρ j (x), particular sampling methods may be more or less useful. For example, the sampling distribution functions defined by Eqs. (15) or (16) with a positive value for the constant k constr  constrain sampling to a sub-region of the state space and are particular useful together with sampling methods such as the Metropolis Monte Carlo Version 1 or stochastic dynamics that generate correlated states. In contrast, if the sampling distribution function of Eq. (18) is used, convergence of a Metropolis Monte Carlo Version 1 algorithm may be slow, and Metropolis Monte Carlo Version 2 or Monte Carlo algorithms may be preferable. 
     Examples of the Function O(x) 
     Examples of the function O(x) can be defined such that ρ(x)O(x) is large for states that should be sampled in one of the simulations. The states that should be sampled are primarily those for which one of the N prop  properties Θ={O 1 (x),O 2 (x), . . . ,O N     prop   (x)} (see below and Eq. 1) is large. The function O(x) is set equal to a function of the set Θ of properties, e.g., 
                     O   ⁡     (   x   )       =       max     k   ∈     {     1   ,   2   ,   …   ⁢           ,     N   ⁢           ⁢   prop       }         ⁢              O   k     ⁡     (   x   )              s   k                 (   19   )               
or
 
               O   ⁡     (   x   )       =       ∑     k   =   1       N   prop       ⁢              O   k     ⁡     (   x   )              s   k               
with the normalisation constant s k  for each property k defined as
 
     
       
         
           
             
               s 
               k 
             
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   1 
                 
                 
                   N 
                   sim 
                 
               
               ⁢ 
               
                 
                   ∑ 
                   
                     t 
                     = 
                     1 
                   
                   
                     N 
                     t 
                   
                 
                 ⁢ 
                 
                   
                     
                       ρ 
                       ~ 
                     
                     
                       i 
                       , 
                       t 
                     
                   
                   ⁢ 
                   
                     
                       
                         O 
                         k 
                       
                       ⁡ 
                       
                         ( 
                         
                           x 
                           
                             i 
                             , 
                             t 
                           
                         
                         ) 
                       
                     
                     . 
                   
                 
               
             
           
         
       
     
     Similar as in umbrella sampling, three different types of properties can be distinguished that identify important states and should be included in the set Θ of properties. First, states may be important since they occur with large probability in the unbiased system (ρ(x) is large). In this case, a property O k (x)=1 should be added to the set Θ of properties. Second, states may be important since they contribute significantly to an average &lt;O k &gt; of a property O k (x) of interest in the final analysis. Such a property should be added to the set Θ of properties. Third, there may exist states that are not directly of interest but whose sampling is important to obtain converged estimates of other properties. For example, in molecular systems where one is mainly interested in low energy conformations, sampling of high-energy conformations is advantageous to ensure transitions between different regions of low energy. In this case, a function should be added to the set Θ that is large for states that need to be sampled to increase convergence of the estimates. Examples are given below. 
     Fitting Procedure 1: Fit to State with Large Weighting Factor 
     Procedure 1 fits a sampling distribution function such that it is particular large for a selected state with a large product {tilde over (ρ)} i,t O(x i,t ). The description that follows assumes that the sampling distribution function of Eq. (16) is used, that the centre x j,constr  of the constraint is determined by the fit, and that the value of the constant k constr  is set to a positive value that is determined in a series of preliminary test runs. The procedure may be adapted, e.g., for other sampling distribution functions. 
     Based on the value of the product {tilde over (ρ)} i,t O(x i,t ), the state x sel  from the already sampled states is identified that has a comparatively large weighting factor. E.g., the criterion to identify the state x sel  can be that it corresponds to the maximum 
     
       
         
           
             
               
                 
                   
                     max 
                     
                       i 
                       ∈ 
                       
                         { 
                         
                           1 
                           , 
                           2 
                           , 
                           … 
                           ⁢ 
                           
                               
                           
                           , 
                           
                             N 
                             sim 
                           
                         
                         } 
                       
                     
                   
                   ⁢ 
                   
                     
                       max 
                       
                         t 
                         ∈ 
                         
                           { 
                           
                             1 
                             , 
                             2 
                             , 
                             … 
                             ⁢ 
                             
                                 
                             
                             , 
                             
                               N 
                               t 
                             
                           
                           } 
                         
                       
                     
                     ⁢ 
                     
                       
                         
                           ρ 
                           ~ 
                         
                         
                           i 
                           , 
                           t 
                         
                       
                       ⁢ 
                       
                         
                           O 
                           ⁡ 
                           
                             ( 
                             
                               x 
                               
                                 i 
                                 , 
                                 t 
                               
                             
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
           
         
       
     
     In Eq. (20), the maximum is taken over the previous simulations i, and over the states t generated in each of the simulations; N sim =j−1 is the number of simulations carried out so far. The centre of the constraint is then set equal to the selected state, i.e., x j,constr =x sel . The selected state x sel  may also be used as the starting state for the simulation of the next iteration. 
     The objective function that is maximised by procedure 1 is equal to 
                   G   =       max     i   ∈     {     1   ,   2   ,   …   ⁢           ,     N   sim       }         ⁢       max     t   ∈     {     1   ,   2   ,   …   ⁢           ,     N   t       }         ⁢       d     i   ,   t       .                 (   21   )               
with the local comparisons defined as
 
 d   i,t   =d (ρ j ( v   j   ,{tilde over (x)}   i,t ), {tilde over (x)}   i,t ,{tilde over (ρ)} i,t   O ( x   i,t ))=ρ j ( v   j   ,{tilde over (x)}   i,t )/ρ mc ( {tilde over (x)}   i,t )+{tilde over (ρ)} i,t   O ( x   i,t ),   (22)
 
and the states {tilde over (x)} i,t  for the comparison set equal to x i,t .
 
Fitting Procedure 2: Fit to States with Small Weighting Factors.
 
     Procedure 2 fits a sampling distribution function to a state with a particular small weighting factor. The description assumes again that the sampling distribution function of Eq. (16) is used and that the centre x j,constr  of the constraint is determined by the fit. The value of the constant k constr  is set to a negative value that may be determined in a series of preliminary test runs. The procedure may be adapted; e.g., for other sampling distribution functions with a defined centre. A state x sel  is selected with a small product {tilde over (ρ)} i,t O(x i,t ), e.g., the one that corresponds to the minimum 
     
       
         
           
             
               
                 
                   
                     min 
                     
                       i 
                       ∈ 
                       
                         { 
                         
                           1 
                           , 
                           2 
                           , 
                           … 
                           ⁢ 
                           
                               
                           
                           , 
                           
                             N 
                             sim 
                           
                         
                         } 
                       
                     
                   
                   ⁢ 
                   
                     
                       min 
                       
                         t 
                         ∈ 
                         
                           { 
                           
                             1 
                             , 
                             2 
                             , 
                             … 
                             ⁢ 
                             
                                 
                             
                             , 
                             
                               N 
                               t 
                             
                           
                           } 
                         
                       
                     
                     ⁢ 
                     
                       
                         
                           ρ 
                           ~ 
                         
                         
                           i 
                           , 
                           t 
                         
                       
                       ⁢ 
                       
                         
                           O 
                           ⁡ 
                           
                             ( 
                             
                               x 
                               
                                 i 
                                 , 
                                 t 
                               
                             
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
           
         
       
     
     The centre of the constraint x j,constr  is set equal to the selected state x sel . The objective function that is maximised by the procedure can be written as 
                     G   =     -       min     i   ∈     {     1   ,   2   ,   …   ⁢           ,     N   sim       }         ⁢       min     t   ∈     {     1   ,   2   ,   …   ⁢           ,     N   t       }         ⁢     d     i   ,   t               ,           (   24   )               
where the local comparisons are defined by Eq. (22).
 
     More generally, a sampling distribution function can be fitted to a set of states with particular small weighting factors, e.g., the centres x j,1,constr  may be determined of the sampling distribution function of Eq. (18) with k j,1,constr  set to negative values. For this purpose N j,constr  states x sel,s  with s=1,2, . . . ,N j,constr  may be selected that correspond to the minima 
     
       
         
           
             
               
                 
                   
                     min 
                     
                       i 
                       ∈ 
                       
                         { 
                         
                           1 
                           , 
                           2 
                           , 
                           … 
                           ⁢ 
                           
                               
                           
                           , 
                           
                             N 
                             sim 
                           
                         
                         } 
                       
                     
                   
                   ⁢ 
                   
                     
                       min 
                       
                         t 
                         ∈ 
                         
                           { 
                           
                             1 
                             , 
                             2 
                             , 
                             … 
                             ⁢ 
                             
                                 
                             
                             , 
                             
                               N 
                               t 
                             
                           
                           } 
                         
                       
                     
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             
                               ρ 
                               ~ 
                             
                             
                               i 
                               , 
                               t 
                             
                           
                           ⁢ 
                           
                             exp 
                             ( 
                             
                               
                                 ∑ 
                                 
                                   l 
                                   = 
                                   1 
                                 
                                 
                                   s 
                                   - 
                                   1 
                                 
                               
                               ⁢ 
                               
                                 
                                   
                                     k 
                                     
                                       j 
                                       , 
                                       i 
                                       , 
                                       constr 
                                     
                                   
                                   ⁡ 
                                   
                                     ( 
                                     
                                       
                                         x 
                                         
                                           i 
                                           , 
                                           t 
                                         
                                       
                                       - 
                                       
                                         x 
                                         
                                           sel 
                                           , 
                                           l 
                                         
                                       
                                     
                                     ) 
                                   
                                 
                                 2 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             O 
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 
                                   i 
                                   , 
                                   t 
                                 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
     This may be done by selecting first the state x sel,1  that corresponds to the minimum of Eq. (25) with s=1, then select the state x sel,2  with s=2, and so on until s=N j,constr . The centres, x j,1,constr , of the constraint can then be set equal to the selected states, x sel,1 . This procedure maximises the objective function of Eq. (24) with the local comparisons defined as 
                     d     i   ,   t       =       d   ⁡     (         ρ   j     ⁡     (       v   j     ,       x   ~       i   ,   t         )       ,       x   ~       i   ,   t       ,         ρ   ~       i   ,   t       ⁢     O   ⁡     (     x     i   ,   t       )           )       =       lim     c   →   ∞       ⁢       ∑     s   =   1       N     j   ,   constr         ⁢     (           ρ   j     ⁡     (       v   j     ⁢       x   ~       i   ,   t         )           ρ   mc     ⁡     (       x   ~       i   ,   t       )         +         ρ   ~       i   ,   t       ⁢     exp   (       ∑     t   =   1       s   -   1       ⁢         k     j   ,   i   ,   constr       ⁡     (       x     i   ,   t       ⁢               -                 ⁢     x     sel   ,   l         )     2       )       ⁢     O   ⁡     (     x     i   ,   t       )           )     ⁢     c     -   l                           (   26   )               
Fitting Procedure 3: Linear Least Square Fit.
 
     Procedure 3 performs a linear least square optimisation to fit the vector v j  of parameters of the sampling distribution function to the product {tilde over (ρ)} i,t |O(x i,t )|. The description assumes that the sampling distribution function of Eq. (18) is used. The number of harmonic constraints, N j,constr , and the centres, x j,1,constr , of the harmonic constraints are determined before starting the fit. This can be done, for example, using a clustering algorithm. The strengths k j,1,constr  of the constraints are obtained by a linear least square fit of the logarithm of the un-normalised sampling distribution function to the logarithm of the product {tilde over (ρ)} i,t |O(x i,t )| of the weighting factors {tilde over (ρ)} i,t  times the absolute value of the function O(x). The objective function can be set equal to 
                   G   =       ∑     i   =   1       N   sim       ⁢       ∑   t     N   t       ⁢       d     i   ,   t       .                 (   27   )               
with local comparisons defined by
 
 d   i,t   =d (ρ j ( v   j   ,{tilde over (x)}   i,t ), {tilde over (x)}   i,t ,{tilde over (ρ)} i,t   O ( x   i,t ))=(ln  h ( v   j   ,{tilde over (x)}   i,t )−ln({tilde over (ρ)} i,t   |O ( x   i,t )|)) 2 .   (28)
 
     The procedure may be adapted, e.g., for other sampling distribution functions. 
     Fitting Procedure 4: Fit to Pairs of States with Large and Small Weighting Factors, Respectively. 
     Procedure 4 fits the sampling distribution function to pairs of states x sel1  and x sel2  with the two states being dose together in the state space, and with {tilde over (ρ)} sel1  being relatively small and {tilde over (ρ)} sel2  being relatively large. Such a pair can be identified, for example, using the criteria of Eq. (20) to select x sel2 , and then select the state closest to it as x sel1 . An alternative is to select states generated in subsequent time steps with a Metropolis Monte Carlo Version 1, or a stochastic dynamics algorithm. The selected states are then used to define a bias away from x sel1  into the region around x sel2 , e.g., use the sampling distribution function of Eq. (16) with x j,constr =x sel2 +c(x sel2 −x sel1 ), where c is a constant. 
     The objective function maximised by this procedure is the same as the one maximised by procedure 1, except that the state at which to evaluate the sampling distribution function should be defined as {tilde over (x)} i,t =x i,t +c(x i,t −x i,t,close ), where x i,t,close  denotes the state from the sampled states that is closest to x i,t . 
     Sampling of Conformations of Molecules 
     Sampling molecular conformations is one of the main applications of molecular dynamics simulations. Examples are peptide and protein folding simulations, in which the conformational space of a peptide or protein is investigated with the aim of identifying conformations that are stable under native conditions, or drug binding studies with the aim of identifying and characterising binding modes of drug candidates to their host proteins. As an example, the following description describes how to apply the patent to the protein folding problem.
     Step 1. Perform a short molecular dynamics simulated annealing (S. Kirkpatrick, C. D. Gelatt Jr., M. P. Vecchi, “Optimization by Simulated Annealing”,  Science,  220, 4598, (1983) 671-680.) run starting from an extended conformation. The conformation, x anneal , resulting from the annealing run is used as the starting state of the simulation when executing step 2 for the first time. In the first simulation, the system is restrained to the region around x anneal , i.e., the sampling distribution function of Eq. (15) is used with x 1,constr =x anneal . The parameter k constr  that determines the strength of the harmonic constraint is set to a positive value that can be set based on a set of preliminary test runs.   Step 2. Carry through a molecular dynamics simulation starting with the selected starting state (conformer), and the selected sampling distribution function ρ j (x).   Step 3.1. The weighting factors {tilde over (ρ)} i,t  are determined with Eqs. (8-10).   Step 3.2. Fitting Procedure 1 is used to fit the sampling distribution function of Eq. (16). A single property is used to define the function O(x) with Eq. (19) and to select a state with Eq. (20). The property is set equal to the inverse of the probability distribution of the energies of the system. The probability distribution of the energies is estimated using Eq. (5) based on the energies of the sampled conformations x i,t  and their weighting factors {tilde over (ρ)} i,t . The property is large for conformations with energies that are unlikely in the unbiased system, and it is small for conformations with energies that are likely in the unbiased system. Using this property in Eq. (19) ensures that states are selected regardless of their energy, provided they are in a region that was relatively little sampled in previous simulations. Depending on the system, additional properties could be included in the set Θ of properties used to define the function O(x). For example, for drug binding studies, the additional property might be set equal to the inverse of the probability distribution of the position of the drug candidate relative to the protein. This would ensure that different possible positions of the drug relative to the protein are sampled.   Step 4. Make 200 iterations of steps 2 to 4.   Step 5. Determine the weighting factors {tilde over (ρ)} i,t . Use the weighting factors to estimate properties, e.g., the free energy as a function of the temperature, or the probability distribution of the radius of gyration at a selected temperature.
 
Two-Dimensional HP Protein-Folding Model
   

     This section applies the invention to study the two-dimensional HP protein-folding model, and compares it to simulated annealing and to multicanonical sampling. The conformational space is investigated of a chain consisting of 100 hydrophobic H and polar P monomers. The chain moves on a two-dimensional grid. The chain is self-avoiding, i.e., no two monomers may occupy the same grid point. If two H monomers are in contact, they interact favourably giving an energy contribution of −2. There are no other interactions. The probability distribution of the system is set equal to ρ(x)=exp(−E(x)/2) where E(x) is the energy function. The probability distribution is not normalised. A Metropolis Monte Carlo algorithm is used to sample conformations of the chain. The Metropolis Monte Carlo algorithm uses a set of simple moves to change the conformation of the chain locally, one or two monomers per move. The same set of moves is used in all the simulations, and no attempts were made to optimise the set of Monte Carlo moves.  FIG. 5  shows a conformation. Hydrophobic H monomers that interact favourably if in contact are drawn as empty rectangles; polar P monomers are drawn as filled circles. 
     To study the conformational space using simple enumeration, some 1.7*10 47  conformations would have to be generated, which is beyond the capabilities of computers. The examples presented in this study change the conformaton 3*10 8  times. The required calculations take a few hours on a personal computer. The properties that are assumed to be of interest and that are subsequently analysed are low energy states, states with small radii, the probability of states as function of the energy and as a function of the radius. The first two properties illustrate global optimisations; the latter two properties illustrate state space integrals. 
     The procedure used to study the folding of the grid model is similar to the one described above for the protein folding simulations. In particular, a sampling distribution function similar to the distribution function of Eq. (16) is used that applies a local constraint, and the sampling distribution function is fitted using fitting procedure 1. In more detail: the constraining potential is defined based on the radius of gyration and on a comparison of the monomer contacts present in the current conformation x and the conformation selected by the fitting process x sel . I.e., the sampling distribution function is set equal to
 
ρ j ( x )=ƒ j exp(− k   1 ( n   formed ( x )+ n   broken ( x )) 2   −k   2   |R   gyr ( x )− R   ref |)ρ mc ( x ).   (29)
 
     In Eq. (29), n formed (x) is equal to the number of monomer contacts formed in the current conformation x that are not present in x sel , n broken (x) is equal to the number of monomer contacts of x sel  that are no more present in the current conformation x. R gyr (x) is the radius of gyration of conformation x, and R ref  is set equal to the radius of gyration of x sel . Since a Metropolis Monte Carlo algorithm (version 1) is used to generate the conformations, the normalisation constant ƒ j  in Eq. (29) needs not to be known. The constants k 1  and k 2  are set equal to 0.003 and 0.5, respectively. The constants were determined in a series of test runs. 
     For the simulations (step 2), a simple Metropolis Monte Carlo algorithm (version 1) is used. The Monte Carlo algorithm generates new, conformations by randomly changing the position of a single monomer or two adjacent monomers at a time. New conformations are accepted or rejected using the criterion of Eq. (6). A single run of the simulation algorithm in step 2, consists of 3,000,000 Monte Carlo moves. The first 500,000 moves are considered as equilibration phase, and are not used. Then, 50 conformations are taken every 50,000 moves. This results in 50 conformations x j,t  for each of the simulations j. 100 simulations are carried out. Thus, a total of 3*10 8  states are generated, of which 5,000 are used for the analysis, e.g., to fit the sampling distribution functions in step 3. 
     Two properties are used to define the function O(x) with Eq. (19) and to fit the sampling distribution function using procedure 1. The first property is the inverse of the probability distribution of the energies of the system. The probability distribution of the energies is estimated using Eq. (5) based on the energies of the sampled conformations x i,t  and their weighting factors {tilde over (ρ)} i,t . The property is large for conformations with energies that are unlikely in the unbiased system described by ρ(x), and it is small for conformations with energies that are likely in the unbiased system. The property ensures that states are selected regardless of their energy, if they are in a region that was little sampled in previous simulations. 
     The second property used in Eq. (19) is the inverse of the probability distribution of the radius of gyration of the system. This property ensures that states are selected regardless of their radius of gyration, if they are in a region that was little sampled in previous simulations. The selection of the properties to use for the fitting procedure is compatible with the set of properties that are assumed to be of interest (low energy states, states with small radii, the probability of states as function of the energy and as a function of the radius; see above). 
     Results from five independent test runs are analysed.  FIG. 6  plots the probability of states as a function of the energy. The agreement between the results of the different runs is good. Some differences exist for the estimates of the probabilities of states with low energies. The differences in the estimates suggest that there exist different kinds of low energy states, and that the runs differ in the set of low energy states sampled. Low energy conformations with energies around −90 are rare, i.e., they are estimated to occur with a probability of about 10 −45 . 
       FIG. 7  illustrates the convergence of the estimates of the probability of low energy states from  FIG. 6 . Shown are the estimates of the probability as a function of the progress of the simulation. Low energy conformations are rare, and finding them is difficult. They are found only after some initial sampling that explores the state space. Once, a first state with given energy has been found, the estimate of the probability converges rapidly, and does remain stable over the rest of the run. 
       FIG. 8  plots the energy of the states from Run B as a function of the progress of the run. The run starts by sampling high energy states. As the run progresses, it finds states of increasingly low energy. The system gets never trapped. After having found a state of low energy, the run continues by sampling new regions of the state space, and eventually finds a new low energy state. 
       FIG. 9  shows estimates of the radius distribution of states. The estimates from the different runs are all smooth functions and agree quantitatively. 
     Comparison with the State of the Art 
     In summary, the five runs are successful in identifying low energy and compact states, and give quantitative estimates of the probability of the energy of states and of the radii of states. The five test runs are compared to five simulated annealing runs and to five runs of multicanonical sampling. The same Metropolis Monte Carlo algorithm is used in all the runs, and, as in the test runs, the conformations are updated 3*10 8  times. In the simulated annealing run (S. Kirkpatrick, C. D. Gelatt Jr., M. P. Vecchi, “Optimization by Simulated Annealing”,  Science,  220, 4598, (1983) 671-680.), the temperature is lowered linearly in 5000 steps from 1.5 to 0.5. In the multicanonical runs (Bernd A. Berg and Thomas Neuhaus “Multicanonical ensemble: A new approach to simulate first-order phase transitions”,  Phys. Rev. Let.  68 (1992), 9-12.), the umbrella potential is updated 100 times. 
     Table 1 compares the runs with respect to their performance for the optimisation problem “find low energy states”. The lowest energy found in different runs varies between −80, and −94. From all the runs, the test runs with the present invention identify the best state (energy of −94). In average, the test runs find states with an energy of −88. This compares favourably to the average of −86.4 from the multicanonical runs, and to the average of −83.6 from the simulated annealing runs. 
     
       
         
               
             
               
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Lowest energies found in each of the runs. Data is shown 
               
               
                 for the five test runs (Test), the five multicanonical or 
               
               
                 adaptive umbrella sampling runs (Adumb), and the 
               
               
                 five simulated annealing runs (Annealing). 
               
             
          
           
               
                 Min Score 
                 Run A 
                 Run B 
                 Run C 
                 Run D 
                 Run E 
               
               
                   
               
               
                 Adumb 
                 −86 
                 −86 
                 −86 
                 −86 
                 −88 
               
               
                 Annealing 
                 −86 
                 −88 
                 −84 
                 −80 
                 −80 
               
               
                 Test 
                 −86 
                 −90 
                 −90 
                 −80 
                 −94 
               
               
                   
               
             
          
         
       
     
     Runs with the present invention do not get trapped (see  FIG. 8 ). This is different from the situation with simulated annealing and multicanonical simulations. In simulated annealing runs (see  FIG. 10 ), the simulations start at a high temperature at which transitions between different regions occur frequently. As the temperature is lowered, sampling is increasingly restricted to a region around a low energy state. If different regions with comparable low energies exist—as in the present system—several simulated annealing runs are required to identify the different regions. 
     Multicanonical simulations of high dimensional system have the tendency to get trapped ( FIG. 11 ) close to the first low energy state found. Although multicanonical simulations should guarantee that low and high energy states are sampled with comparable probability, they cannot guarantee that transitions between the different regions occur frequently. 
       FIG. 12  shows estimates of the probability of states with given energy from the multicanonical runs and compares them to the corresponding estimates from the test runs ( FIG. 6 ). The average of the estimates from the test runs is shown as continuous line in  FIG. 12 . The estimates from all the runs agree in general. The estimates for high-energy states agree well. Some differences are evident at low energies. At low energies, the probabilities estimated from the test runs are larger than those from the multicanonical runs. This indicates that the test runs find more low energy states. 
     The simulated annealing runs are irrelevant in such a comparison of equilibrium properties of the system, since no method has so far been described to derive converged state space integrals from simulated annealing runs. 
     Value at Risk of a Financial Portfolio 
     The value at risk of a financial portfolio gives an estimate of the future value of a financial portfolio in adverse market situations. It is equal to a percentile of the probability distribution of the future value of the portfolio. E.g., the 99% value at risk is equal to the future value of the portfolio that separates the worst 1% from the best 99% of the possible future values of the portfolio. Efficient estimation of the value at risk is challenging since it requires sampling of a few rare state, i.e., particular adverse market situations, and the location of the rare states is, in general, not known before staring the simulations and must be found.
     Step 1. Select the distribution function of the (unbiased) system as the initial sampling distribution function, i.e., ρ 1 (x)≡ρ(x). A Monte Carlo algorithm is used for the simulations. The Monte Carlo algorithm produces states independently of any starting state. Thus, no starting state is needed. A Monte Carlo algorithm must exist to produce un-correlated states distributed according to ρ 1 (x). This restricts the set of sampling distribution functions that can be used.   Step 2. Carry through a Monte Carlo simulation using the selected sampling distribution function ρ j (x).   Step 3.1. The weighting factors {tilde over (ρ)} i,t  can be determined with Eqs. (8) and (10). The normalisation constants {tilde over (ƒ)} k   self  are known and need not to be determined with Eq. (9)   Step 3.2. Fitting Procedure 1 is used to fit the sampling distribution function of Eq. (15). A single property is used to define the function O(x) with Eq. (19) and to select a state with Eq. (20). The property is defined as follows. First, determine a limit identifying large losses, e.g., losses that occur with a probability of less than 10%. Then, set the property equal to a function that is 0 for small losses and 1 for large losses.   Step 4. Make 200 iterations of steps 2 to 4.   Step 5. Estimate the weighting factors {tilde over (ρ)} i,t . Use the weighting factors to determine the probability distribution of the value of the portfolio, and determine the value at risk.   

     An alternative would be to use the sampling distribution function defined by Eq. (18), the Metropolis Monte Carlo Version 2 algorithm, and the fitting procedures 2 or 3.