Site Archive (Complete)
DrDobbs Portal Blog: The Viterbi Algorithm
EDITOR'S EYE

The World of Software Development.

by Jon Erickson
April 09, 2007

The Viterbi Algorithm

It isn't every day that a school is named after an algorithm. Okay, that's probably not exactly the case with the University of Southern California's Viterbi School of Engineering. But there is the Viterbi algorithm and there is the Viterbi School of Engineering. And, for that matter, there is the Viterbi Lecture series, which takes place at the Viterbi School of Engineering. So what came first -- the chicken or the Viterbi?

Not being one to normally josh about serious things such as algorithms and engineering schools, I can probably get by with a humor this time around. Why? Because Robert McEliece, a world-renowned information theorist and professor at Caltech, got away with a bit of levity of his own at the recent fifth annual Viterbi Lecture. When kicking off his lecture, McEliece turned to the following limrick penned by USC Professor Solomon Golomb and author of the book Shift Register Sequences:

A message of content and clarity Has gotten to be quite a rarity To avoid the terror Of serious error Use bits of appropriate parity

Okay, the joke (such as it is) is that the Viterbi algorithm is an error-correction scheme for noisy digital communication links. It is widely used these days with cell phones, satellites, deep-space communications, 802.11 wireless LANs, speech recognition, keyword spotting, computational linguistics, and and the like. In a nutshell, Viterbi is an algorithm to compute the optimal (most likely) state sequence in a hidden Markov model given a sequence of observed outputs. I'll leave it at that, since there are lots of sources -- including this one -- that explain the algorithm in detail. I'd probably just confuse matters matters anyway.

Finally, there's even a Perl implementation on CPAN.

Posted by Jon Erickson at 09:45 AM  Permalink





January 2008
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies