A new study reveals it would take far longer than the lifespan of our universe for a typing monkey to randomly produce Shakespeare. So, while the Infinite Monkey Theorem is true, it is also somewhat misleading.
The question that everyone has been dying to know has been answered. Finally! What will scientists study next?
Have the monkey write down a single character. Just one. 29/30 of the time, it won’t be the same character as the first one in Shakespeare’s complete works; discard that sheet of paper, then try again. 1/30 of the time the monkey will type out the right character; when they do it, keep that sheet of paper and make copies out of it.
Now, instead of giving a completely blank sheet to the monkey, give them one of those copies. And let them type the second character. If different from the actual second character in Shakespeare’s works, discard that sheet and give him a new copy (with the right 1st char still there - the monkey did type it out!). Do this until the monkey types the correct second character. Keep that sheet with 2 correct chars, make copies out of it, and repeat the process for the third character.
And then the fourth, the fifth, so goes on.
Since swapping sheets all the time takes more time than letting the monkey go wild, let’s increase the time per typed character (right or wrong), from 1 second to… let’s say, 60 times more. A whole minute. And since the monkey will type junk 29/30 of the time, it’ll take around 30min to type the right character.
It would take even longer, right? Well… not really. Shakespeare’s complete works have around 5 million characters, so the process should take 5*10⁶ * 30min = 2.5 million hours, or 285 years.
But we could do it even better. This approach has a single monkey doing all the work; the paper has 200k of them. We could split Shakespeare’s complete works into 200k strings of 25 chars each, and assign each string to a monkey. Each monkey would complete their assignment, on average, after 12h30min; some will take a bit longer, but now we aren’t talking about the thermal death of the universe or even centuries, it’ll take at most a few days.
Why am I sharing this? I’m not invalidating the paper, mind you, it’s cool maths.
I’ve found this metaphor of monkeys typing Shakespeare quite a bit in my teen years, when I still arsed myself to discuss with creationists. You know, the sort of people who thinks that complex life can’t appear due to random mutations, just like a monkey can’t type the full works of Shakespeare.
Complex life is not the result of a single “big” mutation, like a monkey typing the full thing out of the blue; it involves selection and inheritance, as the sheets of paper being copied or discarded.
And just like assigning tasks to different monkeys, multiple mutations can pop up independently and get recombined. Not just among sexual beings; even bacteria can transmit genes horizontally.
Already back then (inb4 yes, I was a weird teen…) I developed the skeleton of this reasoning. Now I just plopped the numbers that the paper uses, and here we go.
Among other problems, this fails to account for non-typing activities performed by the monkey, such as damaging the typewriter or attacking the researcher.
285 years increases to a few thousand if you alarmingly frequently have to clean the contents of a monkey’s colon out of a typewriter.
And at some point you’d want to further “refine” your selection process by “repairing” the typewriter to have fewer keys and/or causing the typewriter to jam after the required key press. Monkeys like to press the same key over and over again. Good luck getting them to stop once they’ve pressed a key once.
TL;DR monkeys are chaos, and this will not be easy.
This changes the rules though from check at the end to check at every letter. That’s where the real efficiency gain is… The insertion of an all knowing checker who could have written it himself anyway. The math of permutations vs combinations changes drastically if we change the rules.
I think the point is less about any kind of route to Hamlet, and more about the absurdity of infinite tries in a finite space(time). There are a finite (but extremely large) number of configurations of English characters in a work the length of Hamlet. If you have truly an infinite number of attempts (monkeys, time, or both are actually infinite) and the trials are all truly random (every character is guaranteed to have the same chance as every other) then you will necessarily arrive at that configuration eventually.
As far as your process, of procedurally generating each letter one by one until you have the completed works, we actually have a monkey who more or less did that already. His name is William.
I have a way to make it work.
Have the monkey write down a single character. Just one. 29/30 of the time, it won’t be the same character as the first one in Shakespeare’s complete works; discard that sheet of paper, then try again. 1/30 of the time the monkey will type out the right character; when they do it, keep that sheet of paper and make copies out of it.
Now, instead of giving a completely blank sheet to the monkey, give them one of those copies. And let them type the second character. If different from the actual second character in Shakespeare’s works, discard that sheet and give him a new copy (with the right 1st char still there - the monkey did type it out!). Do this until the monkey types the correct second character. Keep that sheet with 2 correct chars, make copies out of it, and repeat the process for the third character.
And then the fourth, the fifth, so goes on.
Since swapping sheets all the time takes more time than letting the monkey go wild, let’s increase the time per typed character (right or wrong), from 1 second to… let’s say, 60 times more. A whole minute. And since the monkey will type junk 29/30 of the time, it’ll take around 30min to type the right character.
It would take even longer, right? Well… not really. Shakespeare’s complete works have around 5 million characters, so the process should take 5*10⁶ * 30min = 2.5 million hours, or 285 years.
But we could do it even better. This approach has a single monkey doing all the work; the paper has 200k of them. We could split Shakespeare’s complete works into 200k strings of 25 chars each, and assign each string to a monkey. Each monkey would complete their assignment, on average, after 12h30min; some will take a bit longer, but now we aren’t talking about the thermal death of the universe or even centuries, it’ll take at most a few days.
Why am I sharing this? I’m not invalidating the paper, mind you, it’s cool maths.
I’ve found this metaphor of monkeys typing Shakespeare quite a bit in my teen years, when I still arsed myself to discuss with creationists. You know, the sort of people who thinks that complex life can’t appear due to random mutations, just like a monkey can’t type the full works of Shakespeare.
Complex life is not the result of a single “big” mutation, like a monkey typing the full thing out of the blue; it involves selection and inheritance, as the sheets of paper being copied or discarded.
And just like assigning tasks to different monkeys, multiple mutations can pop up independently and get recombined. Not just among sexual beings; even bacteria can transmit genes horizontally.
Already back then (inb4 yes, I was a weird teen…) I developed the skeleton of this reasoning. Now I just plopped the numbers that the paper uses, and here we go.
I feel like you might have interviewed for Google in the late 2000s
Among other problems, this fails to account for non-typing activities performed by the monkey, such as damaging the typewriter or attacking the researcher.
285 years increases to a few thousand if you alarmingly frequently have to clean the contents of a monkey’s colon out of a typewriter.
And at some point you’d want to further “refine” your selection process by “repairing” the typewriter to have fewer keys and/or causing the typewriter to jam after the required key press. Monkeys like to press the same key over and over again. Good luck getting them to stop once they’ve pressed a key once.
TL;DR monkeys are chaos, and this will not be easy.
This changes the rules though from check at the end to check at every letter. That’s where the real efficiency gain is… The insertion of an all knowing checker who could have written it himself anyway. The math of permutations vs combinations changes drastically if we change the rules.
I think the point is less about any kind of route to Hamlet, and more about the absurdity of infinite tries in a finite space(time). There are a finite (but extremely large) number of configurations of English characters in a work the length of Hamlet. If you have truly an infinite number of attempts (monkeys, time, or both are actually infinite) and the trials are all truly random (every character is guaranteed to have the same chance as every other) then you will necessarily arrive at that configuration eventually.
As far as your process, of procedurally generating each letter one by one until you have the completed works, we actually have a monkey who more or less did that already. His name is William.
???
Humans are apes, apes are monkeys, paraphyletic groups are bullshit.
isnt that a misconception? apes just share a common ancestor with us
You either spend your life really well or you have way too much time on your hands.
Either way I read your post with happy curiosity. 🙂