This preview shows page 1. Sign up to view the full content.
Unformatted text preview: tor LCG(5 0 16 X0 ), generate all the possible sequences
by varying the initial seed from 0 and 15. How many independent (i.e. not cyclical shifts of
one another) sequences are there? Is there a pattern observable in even versus odd integers?
Discuss possible reasons for this behavior. 20 Exercise 6  Cray's LCG ranf() On a Cray supercomputer running UNICOS, obtain the manual page on its intrinsic random
number generator by typing at the UNICOS prompt (%) \man ranf > ranf.doc". Read the
le ranf.doc to see how to set and get the seed for ranf. Given that ranf is a multiplicative,
congruential generator (c = 0) using 46 bits  get the initial seed discuss it in terms of cycle
length. Set the seed to 1, and call ranf to obtain a new seed. Get and print out the new
seed this new seed is the multiplier of the generator. Discuss the multiplier in the context of
the cycle length. Print out the rst ten random integers in decimal and hexadecimal format,
and the corresponding random real numbers using an f20.16 format. 4 Ntuple Generation With LCGs
Suppose we wanted to choose random locations in the unit square for Monte Carlo trials in
an application program. A very easy way to choose these points is to select two random
values, R1 and R2, in 0,1) and choosing the point (R1 R2) as the current point of interest
in the square. More generally, we would generate a point by plotting Rn+1 vs. Rn, where Rn
and Rn+1 are of course obtained by scaling successive outputs, Xn and Xn+1 , of the generator
LCG(a c m X0) by 1=m. If we repeat this procedure for a large number of trials, we would
like to expect that we will achieve a reasonably good \covering" of the unit square and in
a \randomly" ordered fashion. We would be suspicious of a generator that produced points
in the square that were, say, clustered in the bottom half, or perhaps covered the square in
some clear order from left to right. Many other forms of obvious nonrandom behavior would
be equally unacceptable for most Monte Carlo applications. A characteristic of LCGs is that
points selected in this way and plotted in the unit square begin to form regularlooking rows
or dotted lines that are easily discernible when enough points have been plotted and when
viewed at the proper scale. Over the entire period of an LCG, if all consecutive pairs are
plotted, then these rows ll in to become evenly spaced between points.
This constitutes one of the well known tests of randomness applied to pseudorandom
number generators  the socalled spectral test, the object of which is to discover the behavior
of a generator when its ouputs are used to form ntuples. The formal development of this
family of tests is di cult and we will not cover it here (the interested reader is referred
to Knuth), but we will attempt to illustrate through several examples the meaning of the
concept as it applies to a 2dimensional setting and with linear congruential generators. The
concepts presented are valid in higher dimensions as well.
In Figure 6af we present a few examples to illustrate this behavior. These examples
depict the result of generating all pairs of consecutive numbers in the period of fullperiod
LCGs. For each modulus, the plotted points show the e ect of our choice of the multiplier,
a. In Figure 6a we show the set of points produced by scaling by 1/509 the output of the
generator LCG(10 0 509 1). Note that the points form more than one set of rows. That is,
there are several angles from which the points appear to line up. From some perspectives,
the rows are close together, while from at least one perspective, the rows are rather far apart. Remarks
1.0 R(n+1) 0.5 0.0
0.0 0.5
R(n) 1.0 Figure 6: (a) Pair Plot of LCG(10,0,509,1)
1.0 R(n+1) 0.5 0.0
0.0 0.5
R(n) Figure 6: (b) Pair Plot of LCG(128,0,509,1) 1.0 21 22
1.0 R(n+1) 0.5 0.0
0.0 0.5
R(n) 1.0 Figure 6: (c) Pair Plot of LCG(108,0,509,1)
1.0 R(n+1) 0.5 0.0
0.0 0.5
R(n) Figure 6: (d) Pair Plot of LCG(269,0,2048,1) 1.0 Remarks
1.0 R(n+1) 0.5 0.0
0.0 0.5
R(n) 1.0 Figure 6: (e) Pair Plot of LCG(1203,0,2048,1)
0.00050 R(n+1) 0.00025 0.00000
0.00000 0.00025 R(n) Figure 6: (f) Pair Plot of LCG(16807,0,2147483647,1) 0.00050 23 24
The best situation is to have the maximum spacing of the rows, when viewed over all angles,
as small as possible. When the maximum spacing is large, as it certainly is in Figure 6b,
LCG(128 0 509 1), then clearly the unit square is not well covered by this set of points, and
the results of our simulation may be adversely a ected by this \striping." Figure 6c shows
the e ect of a good choice of a, LCG(108 0 509 1), for which the maximum spacing between
rows is clearly smaller than it is in the rst two cases, and where the points cover the unit
square with nearly optimal uniformity, given that with this generator we can generate only
a small number of points.
Figures 6ac are examples that all use the prime modulus m = 509. When m is a power
of two, the other major case to consider, the situation is similar, as depicted in Figures 6d
and e. Re...
View
Full
Document
 Fall '14

Click to edit the document details