Summary
Randomness is defined as the apparent or actual lack of definite pattern or predictability.
Humans often fear ambiguity and unpredictability, but this same fear restricts growth by confining them to their comfort zone.
Therefore randomness, when thoughtfully harnessed, can induce growth in knowledge, creativity, and productivity across many applications.
The power of randomness
Is randomness powerful? Can chaos create value? Are there ways we can harness randomness for bespoke applications to increase knowledge, creativity and productivity?
My argument: yes, yes, and yes.
Randomness in myriad disciplines
Randomness is omnipresent. Let’s do a low approach over several disciplines to see how they define and incorporate randomness:
Mathematics and Probability: Randomness is often considered in terms of probability distributions. A random event is one for which all possible outcomes are known, but the exact outcome is unpredictable. Stochastic processes are mathematical models used to describe systems that evolve over time in a way that depends on some element of randomness.
Physics: In classical physics, randomness was generally seen as the result of incomplete knowledge. For example, if one knew the position and velocity of every molecule in a gas, the motion of each molecule would be deterministic. Quantum mechanics, on the other hand, introduces intrinsic randomness. Events on the quantum level, like the decay of a radioactive atom, are truly random and cannot be predicted with certainty, even in principle. Echoes of Max Planck here.
Biology: Random mutations in the DNA can lead to variability in populations, which plays a crucial role in evolution. The survival and reproduction of these variations, however, are influenced by natural selection which is not random. Random processes are also essential in certain biochemical reactions and pathways.
Computer Science: In one example, randomized algorithms make random choices during execution and can have different outcomes on different runs with the same input. True randomness is hard to achieve in digital computers. Instead, they often use pseudo-random number generators (PRNGs) which produce sequences of numbers that only seem random.
Experimentation: Random sampling is fundamental. It ensures that every member of a population has an equal chance of being selected in the sample, which allows for generalizations from the sample to the population. Randomness is also crucial for experimental designs, especially in the random assignment of treatments to control for confounding variables.
Philosophy: Philosophers debate the nature of randomness, especially in relation to determinism and free will. Does true randomness exist, or is it just a result of our ignorance? The concept of indeterminacy, especially in the context of quantum mechanics, also plays a role in philosophical discussions about the nature of reality.
Finance: The random walk hypothesis (Pearson, 1905) suggests that stock market prices evolve according to a random walk and thus cannot be predicted. It's closely related to the efficient-market hypothesis. Here is a visualization of random walk using a normal distribution:
Cryptography: Randomness is crucial for generating keys, initialization vectors, and other cryptographic components. The security of many cryptographic systems relies on the unpredictability of the random values they employ, e.g. the secrets module available in Python 3.6+.
Arts and Music: Randomness, or chance operations, have been used by various artists and musicians to create unique works. John Cage, for instance, used randomness in composing some of his music. One could argue a fleeting Jazz improvisation is wonderfully random.
Game Theory: Random strategies can be employed where players make unpredictable moves, making it harder for opponents to devise a winning strategy.
In essence, randomness seems to weave itself into nearly all disciplines, sometimes as a fundamental concept, and other times as a practical tool. The way it's understood—and applied—can vary widely based on the context and the goals of the discipline which is, perhaps, self-evident.
Harnessing randomness
Let’s use Python's built-in random module to illustrate, very simply, how randomness can be harnessed:
import random
random_integer = random.randint(1, 10)
print(f"Random Integer: {random_integer}")
In this example, randomness is constrained to a 1-10 integer. Therefore, the “aperture” of unbounded randomness is reduced—not unlike a magnifying glass focusing myriad light waves into a scorching dot. Let’s increase the aperture from 1-10 to 1-1 million:
import random
random_integer = random.randint(1, 1_000_000)
print(f"Random Integer: {random_integer}")
Rolling the dice with Nolan Bushnell
One of my favorite—and practical—examples of harnessing randomness is Nolan Bushnell’s habit for annual goal-setting. In the famed-Atari-founder’s effort to intentionally “stay on the steep part of the learning curve,” Bushnell writes down 12 crazy things that are way outside his comfort zone (source: How I Built This podcast interview).
Ambition stuff like: learn to hang-glide, complete an Ironman Triathlon, summit Kilimanjaro. He numbers them 1 through 12, and then rolls two dice. The dice roll determines what crazy achievement he must now attempt.
“When you do different things you’re happier. This process of exploration and discovery and winning out the game and the meta-game is very satisfying.”
This is Bushnell’s “methodology” for how he continually forces himself outside his comfort zone by harnessing randomness.
What would it take to splash in a dash of randomness into your day to day? What might that look like?
More
Statistics for Hackers a video tutorial by Jake Vanderplas on statistical analysis using just a few fundamental concepts including simulation, sampling, shuffling, and cross-validation.
Economics Simulation a simulation of a marketplace by Peter Norvig that shows effective use of many of the tools and distributions provided by this module (gauss, uniform, sample, betavariate, choice, triangular, and randrange).
A Concrete Introduction to Probability (using Python) a tutorial by Peter Norvig covering the basics of probability theory, how to write simulations, and how to perform data analysis using Python.