A Few Million Virtual Monkeys Randomly Recreate Shakespeare
First time accepted submitter eljefe6a writes "On September 23 at 2:30 PST the A Million Amazonian Monkeys project successfully recreated A Lover's Complaint. This is the first time a work of Shakespeare has actually been randomly reproduced. It is one small step for a monkey, one giant leap for virtual primates everywhere. From the article: 'For this project, I used Hadoop, Amazon EC2, and Ubuntu Linux. Since I don’t have real monkeys, I have to create fake Amazonian Map Monkeys. The Map Monkeys create random data in ASCII between a and z. It uses Sean Luke’s Mersenne Twister to make sure I have fast, random, well behaved monkeys. Once the monkey’s output is mapped, it is passed to the reducer which runs the characters through a Bloom Field membership test. If the monkey output passes the membership test, the Shakespearean works are checked using a string comparison. If that passes, a genius monkey has written 9 characters of Shakespeare. The source material is all of Shakespeare’s works as taken from Project Gutenberg.'"
I wish I'd thought of it - and what a neat way to go about it.
So is it safe to say you're virtually impressed with the whole affair?
These posts express my own personal views, not those of my employer
I always thought the idea was that the characters would be produced sequentially throughout the entire play, not just every word produced independently. Much less credit.
If i'm understanding this, this isn't as cool as it seems. It seems like his 'monkeys' are just randomly creating words, and he matches those words against any word used in Shakespeare. If he gets a match, he marks that one as done. So, as some point one monkey made the word "be" and all of a sudden green lights all over the place.
I think the original saying was how random and unique it would be for a solid set of strings to randomly create a whole piece of work _in one go_ . Not a word here, a word there, OMG 100% of Shakespeare words have been randomly created.
-Malakai
A Dragon Lives in my Garage
"It was the best of times, it was the BLURST of times! Stupid monkeys!" {strikes them with script...}
and that he missed the point of the expression?
Of course it will work the Mersenne twister will eventually cover the entire 9 letter space and then he can search though for the parts that match (yes he is doing it concurrently but that’s just an inefficient way of doing it). If he had the RAM and time he could eventually recreate every book possible.
The Wikipedia page explains it better that infinite random sting is bound to contain something that is perceived as useful. Of course the literal take on on the expression is the most funny.
What's happening here (if I understand the writeup) is that the monkeys are typing random letter combinations, until they hit a small phrase that happens to be in shakespeare. Then that phrase is marked as done.
Let n be the size in characters of the target phrase. If n=1, then the complete works of shakespeare are obtained as soon as each of the letters of the alphabet have been typed at least once. You could do this in a few seconds on your computer keyboard. If n=2, then the complete works are obtained as soon as all the possible pairs of letters have been typed. The experiment in TFA has n=9 I think.
As n grows larger, the time until completion grows exponentially. Once his expeiment is done, the case n=10 should take roughly 26 times as long (ignoring punctuation capitals and diacritical marks). Alternatively, it would require a cloud roughly 26 times bigger to do it in the same amount of time.
I did think of it. I even registered a domain (see my URL and e-mail address). Planned on making a screensaver that would randomly generate stuff, and convince people to run it, ala SETI@Home. Then college happened, then graduate school happened, then marriage happened, then baby happened... And then (once again), I read on SlashDot that someone else has done one of my ideas again and made the front page.
But then again, literally as I'm reading this, my daughter is singing the Blue's Clues theme song next to me while my wife and I get ready to queue up for our nightly game of League of Legends... Sitting in the downstairs den/office that's full of years of gamer stuff that all represents the happy memories of those several years of college. That guy can have my monkeys. Good for him. I found something better. :)
Maxim: People cannot follow directions.
Increases in truth directly with the length of time spent explaining them
all real monkeys have progressed to randomly downloading things from bit-torrent.
Sadly, in my experience you're more likely to find them here:
http://www.microsoft.com/learning/en/us/certification/mcse.aspx
"I've got more toys than Teruhisa Kitahara."
As a programmer of several "stupid computer tricks" myself (like a filesystem driver for mounting IRC!), I am very appreciative for the fast computers that let us simulate very complex systems very quickly. I understand that it is my responsibility, as a software engineer, to use that speed and memory efficiently to optimize the results of the simulation.
This project has generated better illustrative proof than ever before that randomness will eventually produce everything. This is often a difficult concept for non-mathematical people to accept, so a nice example is always welcome among those who seek to educate. It is also worth noting that this project is running on Hadoop, which is not yet considered stable. While monkeys type Shakespeare, they also find bugs, stress-test releases, and educate at least one programmer. After such a test, Hadoop is much more favorable as a platform for more "real computing work" projects, like processing medical records looking for previously-unknown medication side effects.
While on the subject of "real computing work", please note that all nontrivial computation is done by software, and that all software can run on a Turing machine as designed in 1937. Those hardware engineers are doing real electrical engineering work, making circuits run with less power and smaller size. Those chemical engineers are doing real chemistry work, making semiconductors that can switch faster and at lower voltage. The software engineers are doing real computing work, finding fast algorithms and optimizing processes.
You do not have a moral or legal right to do absolutely anything you want.
It would be a foregone conclusion if monkeys were indeed randomly typing on a keyboard. But in practice, they tend to like certain keys leading to at best a pseudo random distribution of keystrokes. On top of that, many of the characters needed to produce the works require not just one keystroke, but a shift and a keystroke to work.
Consequently, simulating this with virtual monkeys is almost sure to come up with a result that differs substantively from using actual monkeys to do the project.
I also doesn't reproduce Shakespeare in its original Klingon...
This project has generated better illustrative proof than ever before that randomness will eventually produce everything. This is often a difficult concept for non-mathematical people to accept, so a nice example is always welcome among those who seek to educate.
Here's a simpler example:
while(1)
{
int x = rand() % 10;
if (x==666) printf("Yes, everything!\n");
}
I don't care if it's 90,000 hectares. That lake was not my doing.
Couldn't be worse at it than the last couple ;)
Clearly you haven't been watching the Republican debates... ;^)
I don't care if it's 90,000 hectares. That lake was not my doing.
Exactly. Breaking down the problem of "randomly finding thousands of characters in the right order" to "randomly finding 9 characters in the right order" is bullshit, because this requires information about the order of all the 9-character-blobs you find.
In other news: I compressed a Gigabyte down to 2 bits. You just have to know the order of the bits!
Stupid article. Stupid submitter. Stupid waste of energy. That's the 21st century for you. Idiocracy at its best.
You could prove that for the length of a work of Shakespeare (N), the amount of "monkeys" required to solve the problem in the same amount of time is 26^(N-9). Or, as it relates to the proverb, the solution to the equation has the time required to create a work of Shakespeare as infinite and the number of monkeys required to solve it in that time as infinite.
Of course, that solution didn't require programming the monkeys. But it is extrapolatable out to an entire work.
The ______ Agenda
Beyond that, it didn't even accomplish it's goal. The idea is not that a hundred or more monkeys can hammer out nine character chunks that could be assembled *by man* into the complete work, it is that a hundred monkeys could hammer at typewriters for some undetermined length of time and one of them would randomly produce the complete work *alone*.
That didn't happen.
My thoughts exactly.
If he had the virtual monkeys type random sequences of 1 character each, he'd have found one of Shakespeare's much sooner.
The typical interpretation would require a single monkey to have typed the entire document.
Nice try, but no banana.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
But that defeats the point. Why 9-character segments? Why not 1-character segments? Then, when each letter has been generated once by your random number generator, you say 'done' and move on. The point of the gedankenexperiment is to show that a true random number generator will eventually produce any sequence, irrespective of whether you ascribe some meaning to that phrase or not. For example, it is just as probable that a monkey would type 'the original submitter is an idiot who misses the point of probability' as it is that they would type 'mfdag gfnaif pwrg kflgsq hmthwrhdga adsfjn fadfm asdfned qemangasd asv'. They are both 70-character strings of lowercase ASCII characters and spaces, and if you have a random number generator set up to produce these with no bias towards letter frequencies then either combination is equally probable. This 'experiment' added an extra step of determinism, which means that it is not an unbiased random number generator, it's a very badly designed program for generating a Shakespeare play.
I am TheRaven on Soylent News
I don't even understand it.....
He randomly generates 9 characters until he gets the 9 characters he wants. Then he repeats until he has the Shakespeare book he wanted? That's not how 'random' works. Why 9 characters? Why not 1?
I will have my computer randomly guess letters until an A comes up. Then until a B comes up. And then, at the end I'll have the ABCs! RANDOMLY!
Am I being retarded? Did I miss why this is cool?
Unless I'm missing something, this is obvious. If you type random characters long enough, you'll come up with some English words. If you eliminate all of the words not written by Shakespear, you'll be left with a Shakespear play.