Probability says that with an infinite number of monkeys and typewriters given an infinite amount of time, at some stage the monkeys will produce the entire works of Shakespeare. According to this BBC News article, a programmer in the US has tried to do just that, using AWS (Amazon Web Services). He’s created virtual monkeys that run on AWS instances, typing out fragments of the great Bard’s collected works.
It sounds like a great thing to do, however maths is against him. With 26 letters, doubled for upper and lower case, plus maybe a dozen punctuation symbols and the space, each letter multiplies the possible combinations at least 60-fold. I have no idea how many letters are in Shakespeare’s entire works, but it’s too many to make this task practical.
Whilst this is a good storyline, it demonstrates the power of splitting and distributing computing tasks, something that cloud computing is good at, even if it isn’t cost effective.
In this instance, brute force won’t solve the puzzle. Instead a compromise has been made to exclude any 9-character segment that matches part of the Shakespeare text. This demonstrates that distributed “infinite” resources alone are not enough to solve a problem and we’ll be relying intelligent programming and clever algorithms to make distributed cloud computing really work.