ArticleslgStudy

computer science

Pseudorandomness

Pseudorandomness is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Pseudorandomness rather than just read about it. In short: A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic and repeatable process. Pseudorandom number generators are often used in computer programming, as traditional sources of randomness available to humans (such as rolling dice) rely on physical processes not readily available to computer programs, although developments in hardwa…

Key takeaways

  • Pseudorandomness belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Pseudorandomness to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Pseudorandomness from memory before moving on to harder problems.

Reference excerpt

A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic and repeatable process. Pseudorandom number generators are often used in computer programming, as traditional sources of randomness available to humans (such as rolling dice) rely on physical processes not readily available to computer programs, although developments in hardware random number generator technology have challenged this.

Background The generation of random numbers has many uses, such as for random sampling, Monte Carlo methods, board games, or gambling. In physics, however, most processes, such as gravitational acceleration, are deterministic, meaning that they always produce the same outcome from the same starting point. Some notable exceptions are radioactive decay and quantum measurement, which are both modeled as being truly random processes in the underlying physics. Since these processes are not practical sources of random numbers, pseudorandom numbers are used, which ideally have the unpredictability of a truly random sequence, despite being generated by a deterministic process. In many applications, the deterministic process is a computer algorithm called a pseudorandom number generator, which must first be provided with a number called a random seed. Since the same seed will yield the same sequence every time, it is important that the seed be well chosen and kept hidden, especially in security applications, where the pattern's unpredictability is a critical feature. In some cases where it is important for the sequence to be demonstrably unpredictable, physical sources of random numbers have been used, such as radioactive decay, atmospheric electromagnetic noise harvested from a radio tuned between stations, or intermixed timings of keystrokes. The time investment needed to obtain these numbers leads to a compromise: using some of these physics readings as a seed for a pseudorandom number generator.

History Before modern computing, researchers requiring random numbers would either generate them through various means (dice, cards, roulette wheels, etc.) or use existing random number tables. The first attempt to provide researchers with a ready supply of random digits was in 1927, when the Cambridge University Press published a table of 41,600 digits developed by L.H.C. Tippett. In 1947, the RAND Corporation generated numbers by the electronic simulation of a roulette wheel; the results were eventually published in 1955 as A Million Random Digits with 100,000 Normal Deviates.

In computational complexity In theoretical computer science, a distribution is pseudorandom against a class of adversaries if no adversary from the class can distinguish it from the uniform distribution with significant advantage. This notion of pseudorandomness is studied in computational complexity theory and has applications to cryptography. Formally, let S and T be finite sets and let F = {f: S → T} be a class of functions. A distribution D over S is ε-pseudorandom against F if for every f in F, the statistical distance between the distributions f ( X ) {\displaystyle f(X)} and f ( Y ) {\displaystyle f(Y)} , where X {\displaystyle X} is sampled from D and Y {\displaystyle Y} is sampled from the uniform distribution on S, is at most ε. In typical applications, the class F describes a model of computation with bounded resources and one is interested in designing distributions D with certain properties that are pseudorandom against F. The distribution D is often specified as the output of a pseudorandom generator.

See also Assortativity – Tendency for similar nodes to be connected Cryptographically secure pseudorandom number generator – Type of functions designed for being unsolvable by root-finding algorithms List of random number generators Pseudorandom binary sequence – Seemingly random, difficult to predict bit stream created by a deterministic algorithm Pseudorandom ensemble Pseudorandom number generator – Algorithm that generates an approximation of a random number sequence Low-discrepancy sequence – Type of mathematical sequence Random number generation – Creating sequence of numbers that cannot be predicted Pseudorandom noise – Pseudo-random signal with characteristics similar to noise Transfinite number – Number that is larger than all finite numbers

Further reading Donald E. Knuth (1997) The Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd edition). Addison-Wesley Professional, ISBN 0-201-89684-2 Goldreich, Oded (2008). Computational Complexity: A Conceptual Perspective. Cambridge University Press. ISBN 978-0-521-88473-0. See especially Chapter 8: Pseudorandom generators, pp. 284–348, and Appendix C.2: Pseudorandomness, pp. 490–493. Vadhan, S. P. (2012). "Pseudorandomness". Foundations and Trends in Theoretical Computer Science. 7 (1–3): 1–336. doi:10.1561/0400000010.

External links HotBits: Genuine random numbers, generated by radioactive decay Using and Creating Cryptographic-Quality Random Numbers In RFC 4086, the use of pseudorandom number sequences in cryptography is discussed at length.

References

Worked examples

Example 1 — a first encounter with Pseudorandomness

Start with the simplest possible case. Write down what Pseudorandomness claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Pseudorandomness before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Pseudorandomness ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Pseudorandomness

In research
Pseudorandomness appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Pseudorandomness in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Pseudorandomness is common in secondary-school and first-year university syllabi. It links to neighbouring topics Pseudorandomness, Theoretical computer science, so understanding it makes those chapters shorter.
In everyday life
Look for Pseudorandomness outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Pseudorandomness” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Pseudorandomness in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Pseudorandomness means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Pseudorandomness out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Pseudorandomness in simple terms?

A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic and repeatable process. Pseudorandom number generators are often used in computer programming, as traditional sources of randomness available to humans (such…

Why does Pseudorandomness matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Pseudorandomness?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Pseudorandomness.

Tags

  • Pseudorandomness
  • Theoretical computer science

Keep exploring