Sunday, September 30, 2012

Biography of a Computing Pioneer: David Huffman

     "I enjoy pushing things to their theoretical limits." A quote from David Albert Huffman. The biography of David Huffman begins in Ohio on August 9, 1925, where he was born. He got a quick start in life when he earned his B.S. in Electrical Engineering from Ohio State University at the age of 18. After receiving his B.S., he served two years as an officer in the U.S. Navy as a radar maintenance officer. As a radar maintenance officer he served on a destroyer that helped clear mines in the waters around Japan and China after World War II. Following serving in the Navy, Huffman returned to Ohio State to earn his Master's Degree in Electrical Engineering.
     In his final year before receiving his Master's, his professor in a class on information theory gave Huffman and his classmates the option to write a term paper or to take a final exam. The topic, or, I should say, problem, of the term paper was to find the most efficient method of representing numbers, letters or other symbols using a binary code. At first, it appeared to be a simple problem, but after working on it for months he decided to start studying for the final. As he was throwing away his notes, the solution hit him. "It was the most singular moment of my life," says Huffman. "There was the absolute lightning of sudden realization."
     This solution is now knows as the "Huffman Code." The Huffman Code was, and still is, used in many machines. What it is, is an algorithm that finds the frequency of all the characters (letters, symbols, and numbers) in a document. After that, it, basically, creates a tree with the most common character used, at the top. Now, depending on whether the first character is represented as a 0 or a 1, the tree will flow left or right, respectively. The sum of all of the probabilities will always be less than or equal to one. This "tree" is what's known as "biunique," which means the code is the code is "uniquely decodeable," or it can only be decoded in one way, ensuring that the final product is a correct document. (To learn more click on the last link at the bottom)
     After coming up with the Huffman Code and receiving his Master's, he proceeded onto MIT where he received his Doctor of Science in Electrical Engineering. He recognizes that he is best known for his code but Huffman says he is most proud of his doctoral thesis. It may be the first formal methodology for devising asynchronous sequential switching circuits, which is an important type of computer logic. This also helped him receive a faculty position at MIT.
     In 1967, Huffman left his full time position at MIT and moved to the University of California at Santa Cruz in order to become the first head of it's new computer science department. He was there until 1994, but remained active teaching information theory and signal analysis courses.
    Even though he was such an intelligent and innovative thinker, in October, 1999, David Huffman died at the age of 74. Throughout his life he received various awards, they are:

  • 1955: The Louis E. Levy Medal From the Franklin Institute for his doctoral thesis on sequential switching circuits
  • 1973: The W. Wallace McDowell Award from the IEEE Computer Society
  • 1981: Charter recipient of the Computer Pioneer Award From the IEEE Computer Society
  • 1998: A Golden Jubilee Award for Technological Innovation from the IEEE Information Theory Society
    • "For the invention of the Huffman minimum-length lossless data-compression code"
  • 1999: The IEEE Richard W. Hamming Medal
    • "For design procedures of minimum redundancy (Huffman) codes and asynchronous sequential circuits, and contributions to analysis of visual imagery."

Thanks to:

No comments:

Post a Comment