Random Numbers
Sequences of random numbers are utilized in CPillar, in conjunction with the Sampling Method, to generate random input data samples for a Probabilistic Analysis. The generation of random numbers in CPillar is controlled by the Random Numbers option in the Project Settings dialog.
- The Random Numbers option is only accessible if the Analysis Type = Probabilistic.
The Random Numbers options are described below.
Random Number Generation
A sequence of random numbers is generated by specifying a "seed" value, and entering this seed value into a "random number generator." For a given seed value, and a given random number generator, the SAME sequence of random numbers will always be generated. A different seed, or a different generator, will produce a different sequence of random numbers.
There are two options for specifying the seed value:
- Pseudo Random, or
- Random
Pseudo-Random (Constant Seed Value)
Pseudo-Random sampling allows you to obtain reproducible results from a Probabilistic Analysis. If the Pseudo-Random option is selected, this means that the SAME "seed" number is always used to generate random numbers for the sampling of the input data distributions. This results in identical sampling of the input data distributions, each time the analysis is run (with the same input parameters). The Probability of Failure, mean Factor of Safety, and all other analysis output, will be reproducible. This can be useful for demonstration purposes, the discussion of example problems, etc.
By default, if the Pseudo Random option is selected, CPillar will always use the SAME "seed" value, to generate the same sequence of random numbers (this value is hard-coded into the program). However, the user may specify their own seed value by selecting the Specify Seed checkbox.
Pseudo-Random + Specify Seed (Constant Seed Value)
The Specify Seed option simply allows the user to specify their own value of seed, rather than using the program default seed value. To do this, select the Specify Seed checkbox, and enter any number.
If the user specifies their own seed, then the analysis will still be Pseudo Random (i.e., if you re-run the analysis, you will always get EXACTLY the same results). However, the results will NOT be the same as the results using the default seed value.
Each different value of seed, will produce different results. However, for any given constant seed value, you will always get the same results (i.e., Factor of Safety, Probability of Failure, and all other analysis results).
Random (Variable Seed)
To simulate a true random analysis, you can select the Random option. If you select the Random option, CPillar will automatically generate a new seed value (based on the current time on your computer), each time you run an analysis.
This means that the analysis results will be different each time that you re-run the analysis. Different probabilistic input samples will be generated, and the Probability of Failure, mean Factor of Safety, and all other analysis output, may vary with each run.
The CPillar option allows you to study the effect of re-running the analysis, using different random numbers (and therefore different input data) each time.
How to Reproduce a Random Analysis
If you have run an analysis with the CPillar option, and you would like to be able to reproduce the results, then you must do the following:
- In the Info Viewer, the ACTUAL VALUE of the random number seed generated by CPillar, will be listed.
- Copy this number from the Info Viewer listing.
- Select Pseudo Random and select Specify Seed in Project Settings, and enter the value of the random seed that you have copied from the Info Viewer.
- If you re-run the analysis, you will find that you can reproduce the results that were generated by the Random option, as long as you use the Specify Seed option with the same seed value which was generated by the Random option.
Random Number Generator
At the heart of the random number generation process, is a mathematical algorithm (the random number "generator"), which actually generates the sequences of random numbers. There are two random number generators available in CPillar.
PARK MILLER V.3
A minimal random number generator developed by Park and Miller (1983), which can generate an almost unlimited sequence of distinct random numbers (approximately 2^31).
RAND
Rand is a commonly used random number generator, which can generate a maximum of 32,768 distinct numbers.
Practically speaking, it will make little or no difference to the CPillar analysis results, which random number generator is chosen. Both methods generate uniformly distributed sequences of random numbers on the interval of 0 to 1. However, if a very large number of samples is being generated (for example, 10,000 or more), the user should be aware that the Rand generator will eventually start "repeating" the same values, and this may bias the results somewhat. In general, the Park Miller v.3 method is preferred, due to the nearly unlimited sequence of distinct random numbers which is generated.
Further information about random number generators and statistical distributions can be found in Saucier (2000).