Huffman Coding

… with a bunch of Family Stuff too

Huffman Algorithm

My uncle, David A. Huffman, was the creator of Huffman Coding.

While getting his masters degree, a professor gave his students the option of solving a difficult problem instead of taking the final exam. Opting for what he thought was the easy way out, my uncle tried to find a solution to the “smallest code” problem. What his professor didn’t tell him is that no one at that time knew the best solution. As the term drew to a close, David realized he’d have to start studying for the exam and starting throwing away his scratchings on the problem. As one of the papers hit the trash can, the algorithm came to him.

He published the paper “A Method for the Construction of Minimum Redundancy Codes” describing his algorithm in 1952. This became known as Huffman Coding. At the time he didn’t consider copyrighting or patenting it, because was just an algorithm, and he didn’t make a penny off of it. Because of its elegance and simplicity, it is described in many textbooks and several web pages. Today derivative forms of Huffman Coding can found in common electronics and web pages (for example, the Jpeg image file format).

He eventually became a professor at UCSC School of Engineering. In recent decades, his interest turned to the complex mathematical properties of zero-curvature surfaces. “Proofs” of his concepts led to elegant paper foldings which belie their complex mathematical origins. Some of them have even been displayed in art museums.  He stayed active until lymphoma spread through his body in the last year of his life.

He received several awards for his contributions to computer science during his career, most recently he was awarded the 1999 IEEE Richard W. Hamming Medal recognizing his exceptional contributions to information sciences and systems. Unfortunately he was not able to receive the award in person, due to his ill health.