Richard Hamming - Seidenberg School of CSIS

Dr. Richard Hamming’s
Contributions to Computer Science
and Telecommunications
Dr. Charles C. Tappert
Professor of Computer Science
Seidenberg School of CSIS
2015 Research Day
Life Overview
• 1915 (February 11) – born in Chicago
• 1942 PhD – University of Illinois
• 1944 – Assistant Professor, University of Louisville
• 1945-1946 – Manhattan Project, Los Alamos, NM
• 1946-1976 – Bell Labs, Murray Hill, New Jersey
• 1976-1998 – Adjunct Professor of Computer Science,
Naval Postgraduate School, Monterey, California
• 1998 (January 7) – died age 82 (almost 83)
2015 Research Day
Manhattan Project: 1945-1946
• Worked in Hans Bethe's Theoretical Division
• Programmed on IBM calculating machines solving
equations provided by the physicists
• Interesting story: In 1946 when Hamming left Los
Alamos for Bell Labs in New Jersey, he bought
Klaus Fuchs's old car. About the time he sold the
car in 1950, Fuchs was found to be a spy conveying
hydrogen bomb information to the Russians, and
Hamming was interrogated by the FBI.
2015 Research Day
Hamming’s Key Contributions
• Hamming Distance
• Hamming Codes
• Hamming Window
• Hamming Numbers
• Hamming Bound or Sphere-Packing Bound
2015 Research Day
Hamming Distance
• Introduced by Richard Hamming in his
fundamental paper Error detecting and error
correcting codes in 1950
• Used in telecommunication to count the number
of flipped bits in a fixed-length binary word as an
estimate of error
• Example: distance between 1011101 and
1001001 is 2
• Usually used but not restricted to binary numbers
2015 Research Day
Hamming Codes
• A family of linear error-correcting codes used in
telecommunication that generalize the Hamming(7,4)-code
invented by Hamming in 1950
• Hamming codes can detect up to two-bit errors or correct
one-bit errors without detection of uncorrected errors
• They are perfect codes because they achieve the highest
possible transmission rate for codes of their block length
• Example: Hamming(7,4) has 4 data bits and 3 parity bits for a
total of 7 bits, yielding a data transmission rate of 4/7 = 0.57
2015 Research Day
Hamming Window
• In signal processing a window function is a
mathematical function that is zero outside an interval
• Applications of window functions include spectral
analysis, filter design, and beamforming
• Typical window functions are smooth "bell-shaped"
curves because rectangular windows can cause problems
2015 Research Day
Hamming Numbers
• Regular numbers are numbers that evenly divide
powers of 60. As an example, 602 = 3600 = 48 × 75,
so both 48 and 75 are divisors of a power of 60.
Equivalently, they are the numbers whose only
prime divisors are 2, 3, and 5
• In computer science, regular numbers are often
called Hamming numbers, after Hamming
proposed the problem of finding computer
algorithms for generating these numbers in order
2015 Research Day
Hamming Bound or
Sphere-Packing Bound
• A limit on the parameters of an arbitrary block code:
• Also the volume bound from an interpretation in terms
of packing balls in the Hamming metric into the space of
all possible words
• It gives an important limitation on the efficiency with
which any error-correcting code can utilize the space in
which its code words are embedded
• A code which attains the Hamming bound is said to be a
perfect code
2015 Research Day
Some Hamming Quotes
• At Los Alamos I was brought in to run the computing
machines which other people had got going, so those
scientists and physicists could get back to business. ... I
saw Feynman up close. I saw Fermi and Teller. I saw
Oppenheimer. I saw Hans Bethe: he was my boss.
• At Bell Labs I came into a very productive department.
Shannon was there ... I shared an office for a while with
Shannon. At the same time he was doing information
theory, I was doing coding theory. It is suspicious that the
two of us did it at the same place and at the same time it was in the atmosphere.
2015 Research Day