News for hackers. Stuff that matters.
Re:Sukhotin's Algorithm by tansey on Wednesday July 07, 2010 @05:57PM (#1495646)
Very cool algorithm. I just implemented and tested it for fun: http://www.nashcoding.com/?p=51

Basically, all it's doing is tracking the letter with maximum frequency and subtracting 2x its occurrences next to every other letter. If there's a letter that's still positive in frequency, it keeps going, otherwise it assumes all the vowels have been found. Clever!

Re:Sukhotin's Algorithm by lookACamel on Thursday July 08, 2010 @01:50AM (#1496603)
What if the words in your language looked like 'thcobjk'?
Re:Sukhotin's Algorithm by tansey on Friday July 09, 2010 @01:50PM (#1501522)
Presumably it would work so long as vowels appear more frequently than consonants and typically are seen next to consonants. If you want to try a made up language, just create one and feed it into the program.
Re:Sukhotin's Algorithm by daivd on Wednesday July 07, 2010 @05:06PM (#1495476)
If I understand this correctly, saying that vowels tend to be close to vowels is just a special case of using n-grams. If you have a fingerprint with the common n-gram distribution for the target language (or even subject), you get an optimization problem where you try to guess the substitutions such that the angle between the fingerprint vectors are minimized.

If it cannot be solved analytically, it seems something like a GA should solve it well.

Is there a standard method for solving substitution cryptos?

Re:Sukhotin's Algorithm by tudorachim on Wednesday July 07, 2010 @05:33PM (#1495563)
There is a much more straightforward and principled way: the Metropolis algorithm (http://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_alg...). You are basically sampling from the distribution of n-gram likelihoods by following a markov chain. Here is a javascript implementation: http://www.andrew.cmu.edu/user/tachim/page.html
Re:Sukhotin's Algorithm by abecedarius on Wednesday July 07, 2010 @08:22PM (#1496027)
See also http://norvig.com/ngrams/ for Python. Random-restart hillclimbing instead of Metropolis.
Re:Sukhotin's Algorithm by p3ll0n on Wednesday July 07, 2010 @05:09PM (#1495488)
A main problem for speaker independent automatic speech recognition systems is the variability of the speech signal - i.e. the same sequence of words uttered by different speakers or even uttered several times by one speaker never results in identical speech signals.

ROS (rate of speech) is one of the primary contributors to this variably and some recent research (http://www.ee.columbia.edu/~dpwe/papers/PfauR98-spkrate.pdf) has shown that good estimates of speaking rate can be obtained using vowel detection as vowels in general correspond to syllable nuclei.

I wonder if Sukhotin's algorithm could be modified to improve upon this work?

Re:Sukhotin's Algorithm by shasta on Wednesday July 07, 2010 @05:34PM (#1495569)
Probably only in the same sense that Sukhotin's algorithm could be modified to implement the rules to Super Mario Brothers.