Imagine a monkey sitting in front of a computer, typing random strings of text. Given infinite time, this monkey would eventually type out every book ever written.

This is the essence of the Infinite Monkey Theorem, one of the most fascinating concepts I’ve encountered.

For a more detailed explanation, you can refer to the succinct article on Wikipedia.

Now, consider your favorite song, which is exactly 10 megabytes (MB) in size. Knowing that 1 byte is 8 bits, we can calculate the total size of the song in bits:

10 MB = 10 . 2^20 . 8 = 83,886,080 bits.

To illustrate this with a simpler example, consider a sequence of 4 bits:

2^4 = 16

This gives us the following 16 possible combinations:

[ 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ]

If we had a computer with infinite processing power and memory, it could randomly generate sets of 10MB and eventually, by chance, output your favorite song.

This simplified explanation mirrors the concept of a Turing Machine, proposed by British mathematician Alan Turing in 1936.

In 1948, another landmark scientific work was published: Claude Shannon’s “A Mathematical Theory of Communication.”

This groundbreaking paper laid the foundation for information theory, showing that information can be represented, transmitted, quantified, and stored using binary logic (1s and 0s).

Turing’s Turing Machine and Shannon’s Theory of Information are to computing what Newton’s Principia Mathematica and Einstein’s General Relativity are to physics.

Discovering and understanding these concepts was a profoundly enlightening experience for me.

Now, imagine a movie that will be released 200 years from now. Assume this movie will be 2 gigabytes (GB) in size.

Using the same logic:

2GB = 2 . 2^30 . 8 = 17,179,869,184 (17 billion ~ bits) possible combinations of bits, an unimaginably large number, likely exceeding the number of atoms in the universe!

Hypothetically, if a Turing Machine with infinite processing power and memory existed, it could randomly process 2GB sets of bits. Eventually, it would generate the exact sequence of bits that constitutes this future movie.

Do you see where I’m going with this?

Such a Turing Machine could, in theory, simulate or predict any past, present, or future event by arranging 1s and 0s in the correct sequence…