|
|
Line 1: |
Line 1: |
| {{multiple image
| | Nice to satisfy you, I am Marvella Shryock. To do aerobics is a thing that I'm totally addicted to. Hiring is my occupation. South Dakota is her beginning location but she needs to transfer because of her family.<br><br>Also visit my webpage: [http://Bit.do/Lu9u http://Bit.do/Lu9u] |
| | direction = vertical
| |
| | width =
| |
| | footer = 256 points from a pseudorandom number source (top); compared with the first 256 points from the 2,3 Sobol sequence (below). The Sobol sequence covers the space more evenly. (red=1,..,10, blue=11,..,100, green=101,..,256)
| |
| | image1 = Pseudorandom sequence 2D.svg
| |
| | alt1 =
| |
| | caption1 =
| |
| | image2 = Sobol sequence 2D.svg
| |
| | alt2 =
| |
| | caption2 =
| |
| }}
| |
| '''Sobol sequences''' (also called LP<sub>τ</sub> sequences or (''t'', ''s'') sequences in base 2) are an example of quasi-random [[low-discrepancy sequence]]s. They were first introduced by the Russian mathematician I. M. Sobol (Илья Меерович Соболь) in 1967.<ref name=Sobol67>Sobol,I.M.
| |
| | |
| (1967), "Distribution of points in a cube and approximate evaluation of integrals". ''Zh. Vych. Mat. Mat. Fiz.'' '''7''': 784–802 (in Russian); ''U.S.S.R Comput. Maths. Math. Phys.'' '''7''': 86–112 (in English).</ref>
| |
| | |
| These sequences use a base of two to form successively finer uniform partitions of the unit interval, and then reorder the coordinates in each dimension.
| |
| | |
| == Good distributions in the s-dimensional unit hypercube ==
| |
| | |
| Let ''I<sup>s</sup> = [0,1]<sup>s</sup>'' be the s-dimensional unit hypercube and ''f'' a real integrable function over ''I<sup>s</sup>''. The original motivation of Sobol was to construct a sequence ''x<sub>n</sub>'' in ''I<sup>s</sup>'' so that
| |
| :<math> \lim_{n\to\infty}\; \frac{1}{n}\sum_{i=1}^n f(x_i) \; =\; \int_{I^s} f </math>
| |
| and the convergence be as fast as possible.
| |
| | |
| It is more or less clear that for the sum to converge towards the integral, the points ''x<sub>n</sub>'' should fill ''I<sup>s</sup>'' minimizing the holes. Another good property would be that the projections of ''x<sub>n</sub>'' on a lower-dimensional face of ''I<sup>s</sup>'' leave very few holes as well. Hence the homogeneous filling of ''I<sup>s</sup>'' does not qualify ; because in lower-dimensions many points will be at the same place, therefore useless for the integral estimation.
| |
| | |
| These good distributions are called (t,m,s)-nets and (t,s)-sequences in base b. To introduce them, define first an elementary s-interval in base b a subset of ''I<sup>s</sup>'' of the form
| |
| :<math> \prod_{j=1}^s \left[ \frac{a_j}{b^{d_j}}, \frac{a_j+1}{b^{d_j}} \right] </math>, where a<sub>j</sub>, d<sub>j</sub> are non-negative integers and <math> a_j < b^{d_j} </math> for all j in {1, ...,s}
| |
| | |
| Given 2 integers <math>0\leq t\leq m</math>, a (t,m,s)-net in base b is a sequence ''x<sub>n</sub>'' of b<sup>m</sup> points of ''I<sup>s</sup>'' such that <math>\text{Card} \, P \cap \{x_1, ..., x_{b^m}\} = b^t</math> for all elementary interval ''P'' in base b of hypervolume ''λ(P) = b<sup>t-m</sup>''.
| |
| | |
| Given a non-negative integer t, a (t,s)-sequence in base b is an infinite sequence of points ''x<sub>n</sub>'' such that for all integers <math>k\geq0, \; m\geq t</math>, the sequence <math>\{x_{kb^m}, ..., x_{(k+1)b^m-1}\}</math> is a (t,m,s)-net in base b.
| |
| | |
| In his article, Sobol described ''Π<sub>τ</sub>-meshes'' and ''LP<sub>τ</sub> sequences'', which are (t,m,s)-nets and (t,s)-sequences in base 2 respectively. The terms (t,m,s)-nets and (t,s)-sequences in base b (also called Niederreiter sequences) where coined in 1988 by H. Niederreiter.<ref name=Nied88>Niederreiter, H. (1988). "Low-Discrepancy and Low-Dispersion Sequences", ''Journal of Number Theory'' '''30''':
| |
| 51–70.</ref> The term ''Sobol sequences'' was introduced in late English-speaking papers in comparison with [[Halton sequence|Halton]], Faure and other low-discrepancy sequences.
| |
| | |
| == A fast algorithm for the construction of Sobol sequences ==
| |
| | |
| A more efficient [[Gray code]] implementation was proposed by Antonov and Saleev.<ref name=AS79>Antonov, I.A. and Saleev, V.M. (1979) "An economic method of computing LP<sub>τ</sub>-sequences". ''Zh. Vych. Mat. Mat. Fiz.'' '''19''': 243–245 (in Russian); ''U.S.S.R Comput. Maths. Math. Phys.'' '''19''': 252–256 (in English).</ref>
| |
| | |
| As for the generation of Sobol numbers, they are clearly aided by the use of Gray code <math>G(n)=n \oplus \lfloor n/2 \rfloor</math> instead of ''n'' for constructing the ''n''-th point draw.
| |
| | |
| Suppose we have already generated all the Sobol sequence draws up to ''n'' − 1, and kept in memory the values ''x''<sub>''n''−1,''j''</sub> for all the required dimensions. Since the Gray code ''G''(''n'') differs from that of the preceding one ''G''(''n'' − 1) by just a single, say the ''k''-th, bit (which is a rightmost bit of ''n'' − 1), all that needs to be done is a single XOR operation for each dimension in order to propagate all of the ''x''<sub>''n''−1</sub> to ''x''<sub>''n''</sub>, i.e.
| |
| | |
| :<math>
| |
| x_{n,i}=x_{n-1,i} \oplus v_{k,i}. \,
| |
| </math>
| |
| | |
| == Additional uniformity properties ==
| |
| | |
| Sobol introduced additional uniformity conditions known as property A and A’.<ref name=Sobol76>Sobol, I.M. (1976) "Uniformly distributed sequences with an additional uniform property". ''Zh. Vych. Mat. Mat. Fiz.'' '''16''': 1332–1337 (in Russian); ''U.S.S.R Comput. Maths. Math. Phys.'' '''16''': 236–242 (in English).</ref>
| |
| | |
| ''Definition''. A low-discrepancy sequence is said to satisfy '''Property A''' if for any binary segment (not an arbitrary subset) of the d-dimensional sequence of length 2<sup>d</sup> there is exactly one draw in each 2<sup>d</sup> hypercubes that result from subdividing the unit hypercube along each of its length extensions into half.
| |
| | |
| ''Definition''. A low-discrepancy sequence is said to satisfy '''Property A’''' if for any binary segment (not an arbitrary subset) of the d-dimensional sequence of length 4<sup>d</sup> there is exactly one draw in each 4<sup>d</sup> hypercubes that result from subdividing the unit hypercube along each of its length extensions into four equal parts.
| |
| | |
| There are mathematical conditions that guarantee properties A and A'.
| |
| | |
| ''Theorem''. The d-dimensional Sobol sequence possesses Property A iff
| |
| | |
| :<math>
| |
| \det(\bold{V}_d) \equiv 1 (\mod 2),
| |
| </math>
| |
| | |
| where '''V'''<sup>''d''</sup> is the ''d'' × ''d'' binary matrix defined by
| |
| | |
| :<math>
| |
| \bold{V}_d := \begin{pmatrix}
| |
| {v_{1,1,1}}&{v_{2,1,1}}&{\dots}&{v_{d,1,1}}\\
| |
| {v_{1,2,1}}&{v_{2,2,1}}&{\dots}&{v_{d,2,1}}\\
| |
| {\vdots}&{\vdots}&{\ddots}&{\vdots}\\
| |
| {v_{1,d,1}}&{v_{2,d,1}}&{\dots}&{v_{d,d,1}}
| |
| \end{pmatrix}
| |
| </math>,
| |
| | |
| with ''v''<sub>k,j,m</sub> denoting the m-th digit after the binary point of the direction number ''v''<sub>k,j</sub> = (0.''v''<sub>k,j,1</sub>''v''<sub>k,j,2</sub> . . .)<sub>2</sub>.
| |
| | |
| ''Theorem''. The ''d''-dimensional Sobol sequence possesses Property A' iff
| |
| | |
| :<math>
| |
| \det(\bold{U}_d) \equiv 1 \mod 2,
| |
| </math>
| |
| | |
| where '''U'''<sup>''d''</sup> is the 2''d'' × 2''d'' binary matrix defined by
| |
| | |
| :<math>
| |
| \bold{U}_d := \begin{pmatrix}
| |
| {v_{1,1,1}}&{v_{1,1,2}}&{v_{2,1,1}}&{v_{2,1,2}}&{\dots}&{v_{d,1,1}}&{v_{d,1,2}}\\
| |
| {v_{1,2,1}}&{v_{1,2,2}}&{v_{2,2,1}}&{v_{2,2,2}}&{\dots}&{v_{d,2,1}}&{v_{d,2,2}}\\
| |
| {\vdots}&{\vdots}&{\vdots}&{\vdots}&{\ddots}&{\vdots}&{\vdots}\\
| |
| {v_{1,2d,1}}&{v_{1,2d,2}}&{v_{2,2d,1}}&{v_{2,2d,2}}&{\dots}&{v_{d,2d,1}}&{v_{d,2d,2}}
| |
| \end{pmatrix}
| |
| </math>,
| |
| | |
| with ''v''<sub>k,j,m</sub> denoting the m-th digit after the binary point of the direction number ''v''<sub>k,j</sub> = (0.''v''<sub>k,j,1</sub>''v''<sub>k,j,2</sub> . . .)<sub>2</sub>.
| |
| | |
| Tests for properties A and A’ are independent. Thus it is possible to construct the Sobol sequence which satisfies both properties A and A’ or only one of them.
| |
| | |
| == The initialization of Sobol numbers ==
| |
| | |
| To construct a Sobol sequence a set of direction numbers v<sub>i,j</sub> needs to be selected. There is some freedom in the selection of initial direction numbers.<ref group="note">These numbers are usually called ''initialisation numbers''</ref> Therefore, it is possible to receive different realisations of the Sobol sequence for selected dimensions. A bad selection of initial numbers can considerably reduce the efficiency of Sobol sequences when used for computation.
| |
| | |
| Arguably the easiest choice for the initialisation numbers is just to have the ''l''-th leftmost bit set, and all other bits to be zero, i.e. m<sub>k,j</sub> = 1 for all ''k'' and ''j''. This initialisation is usually called ''unit initialisation''. However, such a sequence fails the test for Property A and A’ even for low dimensions and hence this initialisation is bad.
| |
| | |
| == Implementation and availability of Sobol sequences ==
| |
| | |
| Good initialisation numbers for different numbers of dimensions are provided by several authors. For example, Sobol provides initialisation numbers for dimensions up to 51.<ref name=SobLev76>Sobol, I.M. and Levitan, Y.L. (1976). "The production of points uniformly distributed in a multidimensional cube" ''Tech. Rep. 40, Institute of Applied Mathematics, USSR Academy of Sciences'' (in Russian).</ref> The same set of initialisation numbers is used by Bratley and Fox.<ref name=BF88>Bratley, P. and Fox, B. L. (1988), "Algorithm 659: Implementing Sobol’s quasirandom sequence generator". ''ACM Trans. Math. Software'' '''14''': 88–100.</ref>
| |
| | |
| Initialisation numbers for high dimensions are available on Joe and Kuo.<ref name=JK>{{cite web|url=http://web.maths.unsw.edu.au/~fkuo/sobol/ |title=Sobol sequence generator |publisher=[[University of New South Wales]] |date=2010-09-16 |accessdate=2013-12-20}}</ref> [[Peter Jaeckel|Peter Jäckel]] provides initialisation numbers up to dimension 32 in his book "[[Monte Carlo methods in finance]]".<ref name=Jackel>Jäckel, P. (2002) "Monte Carlo methods in finance". New York: [[John Wiley and Sons]]. (ISBN 0-471-49741-X.)</ref>
| |
| | |
| Other implementations are available as C, Fortran 77, or Fortran 90 routines in the [[Numerical Recipes]] collection of software.<ref name=NumRec>Press, W.H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. (1992) "Numerical Recipes in Fortran 77: The Art of Scientific Computing, 2nd ed." ''Cambridge University Press, Cambridge, U.K.''</ref>
| |
| | |
| Finally, commercial Sobol sequence generators are available within, for example, the [[NAG Numerical Libraries|NAG Library]],<ref name=NAG>{{cite web|url=http://www.nag.co.uk/ |title=Numerical Algorithms Group |publisher=Nag.co.uk |date=2013-11-28 |accessdate=2013-12-20}}</ref> or from the British-Russian Offshore Development Agency (BRODA).<ref name=BRODA>{{cite web|url=http://www.broda.co.uk |title=Broda |publisher=Broda |date=2004-04-16 |accessdate=2013-12-20}}</ref>
| |
| | |
| == See also ==
| |
| | |
| *[[Low-discrepancy sequence]]s
| |
| | |
| == Notes ==
| |
| <references group="note" />
| |
| | |
| == References ==
| |
| <references />
| |
| | |
| == External links ==
| |
| * [http://www.acm.org/calgo/contents/ Collected Algorithms of the ACM] ''(See algorithms 647, 659, and 738.)''
| |
| * [http://www.mathfinance.cn/tags/sobol/ Collection of Sobol sequences generator programming codes]
| |
| | |
| {{DEFAULTSORT:Sobol Sequence}}
| |
| [[Category:Quasirandomness]]
| |
| [[Category:Sequences and series]]
| |