# Galhardo Blog # Infinite Monkey Theorem and the Turing Machine

## What if it is possible to simulate the universe on a turing computer?

Imagine a monkey sitting in front of a computer, typing totally random things.

Given infinite time, the monkey will type EVERY book written by mankind to date.

That's the Infinite Monkey Theorem, one of the most important things I've learned in my life.

There is a very direct and simple-to-understand summary on Wikipedia: bit.ly/3slsgEf

Now imagine that your favorite song has exactly 10 MegaBytes, and knowing that 1 Byte is 8 bits, then:

The song has a total of 10 MB = 10. 2^20 . 8 = 83,886,080 bits.

Knowing that a bit can be 1 or 0, we have 2^83,886,080 (2 raised to 83 million ~) possible possibilities of different sets that these bits can be organized.

To make it explicit to understand: how many different sets can I have with 4 bits?

2^4 = 16 = [ 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ]

Given a computer with infinite processing and memory, simulating the same Monkey strategy above, every time the computer manages to organize a random set of 10MB and give this output, at some point, this computer will organize the bits in such a way that its 10MB favorite song will be the output of this processing.

This is in a very layman and summarized way, in my words, how the Turing Machine, created by a British man named Alan Turing in 1937, is one of the most important human beings of humanity.

In 1948, the world saw one of the most important scientific articles of all time, entitled "A Mathematical Theory of Communication", published by Claude Shannon, which, in a super summarized way, says that we can represent, transmit, quantify and store information through boolean logic (true or false, 1 or 0, open closed, etc.)

Alan 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.

Knowing and understanding these concepts for the first time was one of the best sensations of my life.

Now imagine any movie that will be released 200 years from now, where all the people involved in that movie weren't born yet. Let's assume that 200 years from now, this random movie will be exactly 2GB.

Applying the logic above, we will have a total of 2GB = 2 . 2^30. 8 = 17,179,869,184 (17 billion ~ bits).

Soon we will have 2^17,179,869,184 (2 raised to 17~ billion) possible possible sets of bits, which is an infinitely gigantic number, probably bigger than the amount of atoms existing in the universe.

Hypothetically speaking, if the Turing Machine existed with infinite processing and memory, processing a 2GB set of random bits, at some point, the output would be this movie that will be released in 200 years.

Do you understand where I want to go?

It's as if, if the Turing Machine existed, it could simulate or predict the past, present and future, just by arranging the 1's and 0's in sequence...