|
Computers are great fun, but
they can also be very frustrating.
Imagine if every time the power
supply fluctuated your computer crashed, or if every time someone
bumped your CD player it returned to track one, and who would watch
satellite TV if cosmic dust continually distorted the transmission?
Thanks to the mathematician Richard
Hamming, these problems rarely occur.
| After working with Von Neumann
at Los Alamos, Richard began work at Bell Laboratories where he
was testing the power of a state of the art relay computer. |
|
The programs he wrote consisted
of instructions encoded as strings of 0's or 1's (for example 001100...10).
If Hamming wanted to enter a 1 he punched a hole in a tape and no
hole represented a 0. The tape was 2 cm wide and each line of the
tape contained at most six holes. The process of entering complicated
programs was very tedious and it was easy to make a mistake. If the
computer detected an error, the job was halted and the computer moved
to the next program. At the weekend this meant that the job could
not be rerun until Monday.
Hamming was only
allowed to run his programs on the weekend and is quoted as saying:
``Two weekends in a row
I came in and found that all my stuff had been dumped and nothing
was done. I was really ... annoyed because I wanted those answers
.... And so I said, `Damn it, if the machine can detect an error,
why can't it locate the position of the error and correct it?''
So Hamming set
out to design procedures to correct errors in transmission. (Details
of Hamming's codes are given in the next article.)
Hamming Codes
also contain many interesting designs, some of which were found by
Ken Gray; a recent University of Queensland Ph.D. graduate. Who knows,
maybe some of these designs will lead to better codes and CD and satellite
technology in the future.
|