esc
Type to search, or take a leap:
1950 AD (Hamming codes)·Computing·verified

Error-correcting codes

A way of adding structured redundancy to data so that a message can not only reveal when it has been corrupted, but locate and repair the flipped bits itself, with no second copy and no request to resend. Extra check bits are arranged so their pattern of failures points straight at the error.

Das tiefe Archiv ist vorerst auf Englisch verfasst — geprüfte Übersetzungen stehen auf der Roadmap. Die Übersetzungsfunktion Ihres Browsers funktioniert auf dieser Seite gut.

Error-correcting codes
en:User:Cburnett · CC BY-SA 3.0 · Wikimedia Commons

✦ Moment, wirklich?

In 1947 Richard Hamming was allotted the Bell Labs relay computer only on weekends, and it ran his jobs unattended — he started a program Friday evening and collected the output Monday morning. Whenever the machine caught an error it simply halted and sat idle, wasting his whole weekend. Furious, he asked why a machine clever enough to *notice* an error couldn't also *fix* it — and by 1950 he had published codes that let a block of bits find and repair a flipped digit on their own. Every hard drive, QR code, and deep-space signal since carries his answer.

Was es ist

An error-correcting code is a scheme for writing data with deliberate, structured redundancy, so that the data can heal itself. A simple check like a parity bit can tell you *that* something went wrong; a correcting code tells you *where*. Hamming's insight was to add several parity bits, each covering a carefully chosen, overlapping subset of the data bits. If a bit flips, some of those parity checks fail and others still pass, and the exact combination of failures — read as a binary number, the "syndrome" — is the address of the corrupted bit. Knowing the address, the receiver simply flips that bit back. No resend, no second copy, no human operator.

Warum es zählte

Before this, a machine or a channel that detected an error could only stop and complain. Shannon had just proved, in 1948, the startling result that error-free communication over a noisy channel was possible in principle — but his proof was an existence theorem; it did not hand you a code you could build. Hamming supplied the first practical one. That closed the gap between what information theory promised and what an engineer could actually wire up, and it turned reliability from a matter of luck and careful handling into a matter of design: you decide in advance how many errors a block must survive, and you pay for it in a fixed handful of extra bits.

Was es erschloss

Reliable digital storage and transmission at scale. ECC memory quietly corrects the bit-flips that cosmic rays and thermal noise inflict on server RAM; CDs, DVDs, and hard disks read cleanly through scratches and defects; QR codes still scan when a chunk is smudged or torn; and deep-space probes send pictures across billions of kilometres on a whisper of power because heavier codes descended from Hamming's — Reed–Solomon, convolutional, turbo, and LDPC codes — let the ground station reconstruct data the noise had mangled. Every modern link, from Wi-Fi to mobile phones to the wires inside a computer, assumes its bits will occasionally be wrong and is built to repair them on arrival.

Kleinste funktionsfähige Version

A single parity bit detects one flipped bit but cannot fix it. Hamming's smallest useful code, Hamming(7,4), sends four data bits plus three parity bits; if any one of the seven bits flips, the three parity checks that fail spell out, in binary, the exact position of the error — so the receiver just flips it back.

Dieser Eintrag wartet noch auf seine vollständige Darstellung — die Kartografen sind am Werk. Sein Platz im Graphen ist bereits verifiziert.

Setzt voraus

Erschloss

Die Grenze — dahinter ist noch nichts kartiert.

Quellen

  • R. W. Hamming, 'Error Detecting and Error Correcting Codes,' *Bell System Technical Journal* 29, no. 2 (April 1950): 147–160
  • Claude E. Shannon, 'A Mathematical Theory of Communication,' *Bell System Technical Journal* (1948)
  • Richard W. Hamming, *The Art of Doing Science and Engineering* (1997)

Stimmt etwas auf dieser Seite nicht? Jede Behauptung hier soll dem Widerspruch standhalten. Eine Korrektur vorschlagen →