# 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/S
^{M}
- Number of messages which should be produced to obtain the desired probability of a
correct
message:
log(1-P)/log(1-(1/S
^{M}))
- 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/S
^{M}))).

**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.