You are on page 1of 2

Chapter 7

What is meant by pseudo random number? Why are they called pseudo?
“Pseudo” means false, so false random numbers are being generated! It is a mechanism for generating random
numbers on a computer that are indistinguishable from truly random numbers.

If the method is known, the set of random numbers can be repeated. Then an argument can be made that the
numbers are not truly random.

The goal of any generation scheme, however, is to produce a sequence of numbers between 0 and 1 that simulates,
or imitates, the ideal properties of uniform distribution and independence as closely as possible.

Many applications don’t have source of truly random bits; instead they use PRNGs to generate these numbers.

•( Why are they called pseudo?)

Pseudo random because it is not possible to generate truly random numbers from deterministic thing like computer.
“pseudo” is used to imply that the very act of generating random numbers by a known method removes the
potential for true randomness.

What is seed of a random number generator?


The random numbers which we call are actually “pseudo-random numbers”. These are generated by some kinds
of deterministic algorithms. Basically, these pseudo random numbers follow some kinds of sequences which
has very very large period. That’s why it appears random to us but in fact are patterns in the long run.

What is seed?
The seed during such random number generation is actually the starting point in the sequence. If we use same seed
every time, it will yield same sequence of random numbers.
So, same seed yields same sequence of random numbers.

The reason for using a seed of some value is when we want to debug the program using such deterministic
behavior.

What are the properties of randomness?


following:
1. The generated numbers might not be uniformly distributed.
2. The generated numbers might be discrete-valued instead of continuous-valued.
3. The mean of the generated numbers might be too high or too low.
4. The variance of the generated numbers might be too high or too low.
5. There might be dependence as measured, for instance, by autocorrelation.

What are the applications of pseudo-random numbers?

Monte Carlo integration: integrate a function over a large parameter space by selecting random points within that
parameter space and averaging the resulting function values. This is heavily used in finance (for pricing derivatives
on large underlying baskets or on interest rate curves) as well as in engineering fields.

Digital display: when rotating or scaling a digital image, the discretization will lead to highly visible display
artifacts unless it is counteracted. This is often done using randomization within the pixel area. Someone posted
an example on Quora recently using a picture of a brick wall; I can't find the link.

Computer opponents: rather than do the same thing every time, they can choose randomly among plausible
alternatives.

In Vegas, modern slot machines are basically random number generators.

In Machine Learning and Statistical Learning, random number generators are the basis to obtain samples from
more interesting distributions (Gamma, Beta, etc)

Recaptcha uses a random number generator to define which image is going to show you.
Why Study pseudo-random numbers

1. Random numbers are a necessary basic ingredient in the simulation of almost all discrete systems.
2. Most computer languages have a subroutine, object, or function that will generate a random number.
3. Random numbers are used to generate event times and other random variables in simulation languages.

4. They are used everywhere in cryptography. Random numbers are in session keys, public key generation,
initialization vector and many other places.
5. PRNG is a single point of failure for many real-world cryptosystems. If random numbers are insecure then the
entire application is insecure.
6. Many systems use badly-designed PRNGs, or use them in ways that make various attacks easier than they need
be.

Why is it necessary to perform randomness tests? What kind of test can be performed?

Randomness tests (or tests for randomness), in data evaluation, are used to analyze the distribution of a set of
data to see if it is random (patternless).

In stochastic modeling, as in some computer simulations, the hoped-for randomness of potential input data can be
verified, by a formal test for randomness, to show that the data are valid for use in simulation runs.

In some cases, data reveals an obvious non-random pattern, as with so-called "runs in the data" (such as expecting
random 0–9 but finding "4 3 2 1 0 4 3 2 1..." and rarely going above 4). If a selected set of data fails the tests, then
parameters can be changed or other randomized data can be used which does pass the tests for randomness.

You might also like