[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sukhotin's algorithm

Question: given a VMS-sized alphabet and a modern PC, do you really need
Sukhotin's algorithm, or is it practical to calculate the division into
vowels and consonants which maximizes F(V,C) + F(C,V) by brute force?

For example, if you have a 30-character alphabet, there are 2**30 ways
to classify the letters as vowels or consonants. For each way, you have
to look at every pair of letters (30 x 30 pairs) and, if one is a
consonant and one a vowel, add their frequency to a running total,
remembering if the resulting total is the largest found so far.

Thus you have something like (30 x 30) x (2 **30) or about 900 x (10 **
9) = 1 trillion operations.

If a 100 MHz processor gave you 100 million operations/sec it would take
10,000 seconds or about three hours to complete the calculation. (It
would take more than one instruction time to do the calculation but
still a do-able amount of time for a one-shot calculation).