Method to determine CSM
(may need some work/correction)
Required variables:
- S - Symbols in alphabet
- M - size of message in symbols
- t - average time between keypresses for each monkey
- P - desired probability of generating message
- T - desired completion time
- Q - number of monkeys.
Working:
- Time to produce a message of correct length: tM.
- Probability such a message is correct: 1/SM
- Number of messages which should be produced to obtain the desired probability of a
correct
message:
log(1-P)/log(1-(1/SM))
- Number of messages created by Q monkeys in time T: QT/tM
- Therefore number of required monkeys: Q = t × M × log(1-P)/(T × log(1-(1/SM))).
Examples:
Assuming t = 0.2, M = 7 (largest message size where matlab generates answer!), S = 128, P
= .9, T = 604800, Q works out as 3 billion. Which is large for such a short
message.
Even reducing the number of symbols in the alphabet to 26 allows a message size of only 11 characters before Microsoft Excel gives up the ghost at about 38 billion monkeys.
These are of course numbers of monkeys. Conversion to a mass of monkeys (in newtons) is left as an exercise for the reader.