this post was submitted on 31 Oct 2024
549 points (92.6% liked)
Technology
59152 readers
1948 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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 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.
????????
Well. technically he was an ape rather than a monkey.
Technically true, I think it still fits for the layman.