Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
STOCHASTIC DIFFERENTIAL EQUATIONS SOLVER
Document Type and Number:
WIPO Patent Application WO/2018/235004
Kind Code:
A1
Abstract:
An analog computer solves equations by implementing a system characterized by the same equations as the ones to be solved. Composed of blocks implementing mathematical operations and programmed digitally, they function in synergy with a digital computer, resulting in a system known as a "hybrid computer." Differential equations, ordinary or stochastic, are simulated using analog electrical circuitry, creating a dynamical system which reproduces the solution of the equation to be solved. A dedicated circuit can be integrated into the analog system to produce continuous-time random noise, improving the accuracy of simulation results.

Inventors:
CLAUVELIN NICOLAS (US)
TSIVIDIS YANNIS (US)
MILIOS IOANNIS (US)
Application Number:
PCT/IB2018/054526
Publication Date:
December 27, 2018
Filing Date:
June 20, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SENDYNE CORP (US)
International Classes:
G06F7/64
Foreign References:
US3996457A1976-12-07
US7539602B22009-05-26
US6532421B22003-03-11
US5867399A1999-02-02
KR20030028541A2003-04-08
Attorney, Agent or Firm:
OPPEDAHL, Carl (US)
Download PDF:
Claims:
Claims

1. A method for obtaining solutions to a set of differential equations using analog electrical circuitry, the method comprising: implementing a simulation of a system in electrical hardware, wherein the system is characterized by the set of differential equations, at least one of which includes a stochastic term, thereby creating an analog computer system;

implementing at least one mathemetical operation in the electrical hardware, thereby creating at least one analog block;

providing initial conditions for the set of differential equations; and

producing solutions to the set of differential equations over a continuous period of time.

2. The method of claim 1, further comprising connecting the analog computer system to a digital computer and programming the analog computer system digitally.

3. The method of claim 2, wherein the digital computer directs calibration of the at least one analog block.

4. The method of claim 1, further comprising associating the analog computer system with a storage medium.

5. The method of claim 2, further comprising associating the digital computer with a storage medium.

6. The method of claim 2, further comprising integrating a dedicated circuit into the analog computer system, wherein the dedicated circuit produces continuous-time random noise.

7. The method of claim 5, further comprising integrating a dedicated circuit into the analog computer system, wherein the dedicated circuit produces continuous-time random noise.

8. The method of claim 2, further comprising connecting an output of a first analog block to an input of a second analog block.

9. The method of claim 7, wherein the random noise is Gaussian noise.

10. The method of claim 9, further comprising connecting an output of a first analog block to an input of a second analog block.

11. The method of claim 10, wherein the second analog block is an analog-to-digital converter, further comprising translating the output of the first analog block to a binary number; and using the binary number to look up a value stored in the storage medium.

12. The method of claim 10, wherein the analog computer system is implemented on a computing chip.

13. The method of claim 12, further comprising implementing multiple simulations of the analog computer system concurrently on the computing chip.

14. A computing device for obtaining solutions to a set of differential equations using analog electrical circuitry, comprising: an analog computer system, wherein the analog computer system comprises analog electrical circuitry; and

at least one computing chip.

15. The computing device of claim 14, further comprising a storage medium.

16. The computing device of claim 14, further comprising a continuous-time random noise- producing circuit.

17. The computing device of claim 15, further comprising a continuous-time random noise- producing circuit.

18. The computing device of claim 14, further comprising a digital computer in communication with the analog computer system.

19 A method for obtaining a time-dependent probability density function for a process, comprising: modeling the process as a set of differential equations, at least one of which includes a stochastic term;

implementing a simulation of a system in electrical hardware, wherein the system is characterized by the set of differential equations, thereby creating an analog computer system; implementing at least one mathemetical operation in the electrical hardware, thereby creating at least one analog block;

providing initial conditions for the set of differential equations; and

producing solutions to the set of differential equations over a continuous period of time.

20. The method of claim 19, further comprising storing the solutions to the set of differential equations in a storage medium.

Description:
TITLE

Stochastic Differential Equations Solver

CROSS REFERENCE APPLICATIONS

This application claims the benefit of US provisional application no. 62/523,690 filed June 22, 2017 and incorporated herein by reference for all purposes.

TECHNICAL FIELD

The present invention relates to methods for solving stochastic differential equations using analog circuits, either alone or in association with a digital computer.

BACKGROUND

Models based on stochastic differential equations play an important role in a range of areas, such as, biology, physics, and finance. This is due to the fact that a stochastic differential equation (SDE) describes the time dynamics of a stochastic process, and, therefore, can be used to deal with situations in which randomness is inherent to the processes being modeled (e.g., the levels of gene expression in a gene network depending on environmental inputs, or the future value of some financial asset). Traditionally, SDEs are written as the superposition of deterministic terms and stochastic terms. Without stochastic terms, an SDE simplifies to an ordinary differential equation (ODE) for which well-known methods are available to calculate or compute the solutions. In other words, the stochastic nature of an SDE arises from the addition of stochastic terms to an otherwise deterministic equation. For example, a stochastic diffusion process X where X is a random variable and t the time variable, can be modeled using the following SDE: dX = μ(ί, X)dt + a(t, X)dW. Eq. (1). In this expression μ(ί, X^)dt is the deterministic contribution and is referred to as the drift term, while a{t, X^dW e referred to as the diffusion term, is the stochastic contribution. In the latter, the stochastic behavior comes from dW which, in this particular example, denotes an infinitesimal variation of a Wiener process (a well-known class of stochastic processes representing Brownian- motion-like dynamics). This stochastic diffusion equation, used here for illustration purposes, plays a central role in the theory of SDEs as equations of arbitrary complexity can be obtained by applying linear or non-linear transformations to this equation (this type of SDE is also referred to as an "ltd integral"). For example, the Black-Scholes equation, a hallmark example of SDE in financial mathematics, is obtained by assuming that the payoff of an option at maturity is a function of time and of the price of the underlying asset. For clarity, this description will henceforth refer to the stochastic process modeled by an SDE as the modeled process (X in Eq. (1)), and the stochastic contributions entering the SDE as the stochastic terms (dW ( in Eq. (1)).

The presence of stochastic terms in an SDE has a fundamental consequence with respect to the nature of its solutions. By definition, those stochastic terms describe processes whose values in time can be random and are usually characterized through their probability density functions. It is therefore ill-fated to look for fixed deterministic solutions {i.e., solutions that can be tabulated), and only the probability distributions for the values of the modeled process are relevant. In other words, deriving the solution of an SDE means obtaining the time-dependent probability density function of the modeled process.

Numerical methods for SDEs

In practice, applications involving SDEs often require numerical algorithms to compute the solutions, and those algorithms are implemented in digital computing hardware. The nature of the results to be computed depends on the application itself. In some cases, producing a

numerical estimate of the average of the modeled process is sufficient, and in other cases the entire probability density function over time is sought. The latter is typically the case if the statistical properties of the modeled process {e.g., the variance of the process as a function of time) are of interest.

Numerical methods for SDEs rely on collecting a large number of solutions in order to evaluate the probability density function of the modeled process. One can think of such methods as building histograms for the values of the modeled process: a large number of samples is required in order to observe the convergence of such histograms. The goal of this sampling operation is to sufficiently explore the set of possible values for the stochastic terms in the SDE. For example, the equation given will be required to numerically explore the possible values of the Wiener process W over the time domain for which the solution is sought. In practice, this is done by generating a set of random values for the stochastic terms. Then, the SDE is solved for this particular realization of the stochastic terms using a numerical integration algorithm. Those two steps are repeated a large number of times to create the collection of solution samples from which the probability density function of the modeled process will be computed. It is then clear that numerical methods for SDEs are a combination of two methods:

1. a method to integrate the SDE for a given realization of the stochastic terms,

2. a method to generate the realization for stochastic terms, that is, to sample the ensemble of possible values for the stochastic terms.

For the first part related to the integration of the SDE various numerical methods are

known in the art. These methods have in common the fact that they are designed as stepping algorithms, that is, the SDE for a given realization of the stochastic terms is numerically integrated using an iterative process. This iterative process produces the values of the solution at successive time points using some well-defined numerical implementation; the distance between these successive time points is referred to as the step size. Note that this stepping process is not necessarily forward in time and it is actually common practice for SDEs to be numerically integrated in a backward fashion with respect to time. Similar to ODE integration methods, these methods offer different performance with respect to accuracy and rate of convergence depending on the step size and the complexity of the numerical implementation. In many cases, it is actually possible to generalize and extend ordinary differential equation (ODE) integration methods to SDEs. For example, the well-known Runge-Kutta method can be generalized to SDEs. As a consequence, issues encountered when numerically integrating ODEs also arise when solving SDEs. These issues are mostly related to the stiffness of the equations, which in practice translate into a dramatic reduction of the performance of the numerical methods: the number of steps required to span a given time interval can greatly increase due to lack of numerical convergence or to the necessity of using smaller and smaller step sizes. In some extreme cases, some numerical methods will actually fail to integrate the SDE. Not all problems involving SDEs are stiff, but in practical applications stiffness is a common issue.

The second type of numerical methods involved in solving SDEs deals with the sampling of the stochastic terms, that is, generating realizations for the stochastic terms. In the realm of digital computing hardware this is often based on methods devised to generate random sequences of numbers. Several methods are available to generate such sequences but the main limitation lies in the quality of the sequence randomness. Often the results of such methods are not exactly random from a mathematical point of view, and, hence, the terms pseudo-random and quasi-random are used to describe the "random" numbers obtained from such methods. The practical consequence when numerically solving SDEs is that a proper sampling of the ensemble of values for the stochastic terms might require a large number of random sequences to be generated. This adds to the computational cost and effectiveness of numerical methods for SDEs. The impact of the randomness quality on the accuracy and performance of numerical methods for SDEs is an active field of research, and several studies have shown that increasing the level of randomness lead to more accurate results.

SUMMARY OF THE INVENTION

Analog computers solve equations by implementing a system characterized by the same equations as the ones to be solved. They are composed of blocks implementing mathematical operations, such as integrators, multipliers, and adders, as well as means for providing initial conditions. The programming is done digitally, in synergy with the digital computer; the resulting system is a "hybrid computer." The digital computer also directs other functions, such as the calibration of analog blocks, and provides a convenient means for sequencing and for storage. Such systems have been used in the past, but have become relevant today thanks to their implementation on silicon chips which has resulted in much improved performance.

The previous section highlighted some of the limitations of numerical methods for SDEs. We now discuss how analog computing hardware provides a novel way to circumvent these limitations and to achieve efficient solutions for SDEs. Analog computing hardware is by design immune to the issue of numerical stiffness in differential equations. Differential equations, ordinary or stochastic, are not "solved" as such on analog computing hardware but rather are simulated using analog electrical circuitry. The direct consequence is that there is no notion of step size when solving such equations, as no stepping iterative process takes place. Rather, a dynamical system is created within the hardware and the time evolution of this system reproduces the solution of the equation to be solved. In practice, the analog hardware has limitations due to its bandwidth but efficient rescaling of solution time can circumvent such limitations. In addition, compared to similar technological-grade digital hardware, analog computing hardware is energy efficient and fast.

Another benefit from analog computing hardware is the ease of implementing parallelization for a given problem. We mentioned earlier that in order to obtain the probability distribution of the modeled process, the SDE has to be solved numerous times so that statistics can be collected. On state-of-the-art analog computing chips it is trivial to implement multiple concurrent analog simulations of the SDE to be solved. This can provide a significant reduction in the computing time on top of the speed-up already achieved by using analog computing hardware for each realization. It is expected that some storage medium will be required in order to perform the bookkeeping associated with the computation of probability distribution of the modeled process. This could be done within the analog computing hardware if a memory bank is available, or within a digital computer communicating with the analog system.

Finally, the generation of random sequence of numbers required in digital numerical methods can be replaced by a more efficient analog equivalent. For example, a dedicated circuit can be integrated into the analog system to produce continuous-time random noise. There are several alternatives for such circuits, including the amplification of resistor thermal noise, the

amplification of a direct current's shot noise, and the operation of Zener diodes or reverse-biased transistor pn junctions in breakdown mode, where they are known to produce strong noise. These circuits can be programmed using the digital part of the hybrid computer, in order to vary their characteristics, e.g. their amplitude or bandwidth. The advantage is that such circuits can be designed to produce real randomness in the mathematical sense. In addition, this type of circuits traditionally produces Gaussian noise which is well suited for dealing with SDEs (in (1) , the infinitesimal variation of a Wiener process is a Gaussian random variable). This circumvents issues related to the quality of the randomness in digitally generated random numbers, and could enhance the accuracy of the final results while reducing the number of solution samples to be computed. As an example, in Fig. 1 the block diagram representation of Eq. (1) includes a dedicated block for the stochastic contribution. For this particular example, it can be shown that using a Gaussian noise (i.e., white noise) generator accurately accounts for the term related to the infinitesimal variation of a Wiener process. The Gaussian generator in this example can be calibrated with a mean value of a zero and a variance of one.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described with reference to several drawings, of which:

Fig. 1 is a block diagram representation of an example equation implemented in

analog hardware,

Fig. 2 is a block diagram example of one implemenation of the invention in a hybrid

computer system,

Fig. 3 is an example of an interface and storage medium for results computed by the analog computing hardware.

DETAILED DESCRIPTION

Fig. 1 shows an exemplary representation of the stochastic diffusion process equation, Eq. (1), in block diagram form. In block diagram 100, initial conditions 101 are provided to integrator block 102. The so-called drift term of the stochastic differential equation is computed in deterministic block 103 for a given value of the variable. The so-called diffusion term of the stochastic differential equation is computed in stochastic block 104 for a given value of the variable. Noise generator 120 produces random noise which is combined with the output of stochastic block 104 in multiplier block 109. The output of multiplier block 109 is added to the output of deterministic block 103 in adder block 110. The computed result 111 for the given value of the variable is then provided to integrator block 102 and the process continues.

A hybrid computer system according to an aspect of the invention is shown in Fig 2. Computer system 200 may include analog computer 201, digital computer 211 and storage medium 215. Analog computer 201 may be composed of analog blocks 202, 203, 204, 209, 210. These analog blocks implement mathematical operations which may include integrators, multipliers and adders, as described above. Programming of analog computer 201 and calibration of the analog blocks 209, 210 is done by digital computer 211. Digital computer 211 may also be in communication with storage medium 215. In this example, storage medium 215 is located within digital computer 211. The alert reader will recognize that storage medium 215 could instead, for example, be located external to digital computer 211 or in direct communication with analog computer 201.

An example of an interface including a storage medium in communication with analog computing hardware is shown in Fig. 3. As previously noted, results are computed by the analog computing hardware for a stochastic differential equation. Simulation results 301 from an analog computer simulation are provided to analog-to-digital converter 303. These values are passed to address decoder 305 associated with storage medium 315. In this example, the N+l memory cells of storage medium 315 hold the values representing a discretized form of the probability density function. Memory access logic 330 connects storage medium 315 with digital computer 311 in this embodiment.

What has been described herein is a method for obtaining solutions to a set of differential equations using analog electrical circuitry, the method comprising: implementing a simulation of a system in electrical hardware, wherein the system is characterized by the set of differential equations, at least one of which includes a stochastic term, thereby creating an analog computer system; implementing at least one mathemetical operation in the electrical hardware, thereby creating at least one analog block; providing initial conditions for the set of differential equations; and producing solutions to the set of differential equations over a continuous period of time.

Also described herein is a computing device for obtaining solutions to a set of differential equations using analog electrical circuitry, comprising: an analog computer system, wherein the analog computer system comprises analog electrical circuitry; and at least one computing chip.

Also desribed herein is a method for obtaining a time-dependent probability density function for a process, comprising: modeling the process as a set of differential equations, at least one of which includes a stochastic term; implementing a simulation of a system in electrical hardware, wherein the system is characterized by the set of differential equations, thereby creating an analog computer system; implementing at least one mathemetical operation in the electrical hardware, thereby creating at least one analog block; providing initial conditions for the set of differential equations; and producing solutions to the set of differential equations over a continuous period of time.

It will be appreciated that one skilled in the art of analog electrical hardware and methods for solving differential equations could devise additional obvious improvements and variations upon the invention described and claimed herein. All such obvious improvements and variants are intended to be encompassed by the claims which follow.