1947 kam Richard Hamming, der Mann bei Bell Labs, der Kollegen zeigte, wie man Computer benutzt, in der Erwartung von Ergebnissen einer großen Relaismaschine herein, die über das Wochenende unbeaufsichtigt gelaufen war. Sie war früh ausgefallen, und es gab nichts zu übergeben. Er stellte die Frage, die alles begann: Wenn eine Maschine feststellen kann, dass ein Fehler vorliegt, warum kann sie dann nicht lokalisieren, wo er ist, und ihn beheben?

Die Maschinen, mit denen er arbeitete, verwendeten eine Paritätsprüfung, die einen Fehler erkennen, aber nicht korrigieren konnte, sodass jedes einzelne gekippte Bit bedeutete, dass der Auftrag abbrach und neu ausgeführt werden musste. Hamming fügte überlappende Paritätsbits hinzu, sodass jedes Datenbit von mehreren Prüfungen abgedeckt wird, wodurch ein gekipptes Bit ein unverwechselbares Muster erzeugt, das auf seine eigene Position zeigt.

Dadurch konnte der Computer einen einzelnen Fehler korrigieren und sogar zwei Fehler erkennen und einen korrigieren, ohne anzuhalten. Die Methode erschien 1950 in gedruckter Form in seiner Arbeit im Bell System Technical Journal und wurde zur Familie der Codes, die seinen Namen tragen, verwendet in Computern, Telefonvermittlungen und später in allem von der Telemetrie von Raumsonde bis zu Audio-Discs.

Bits hinzufügen, die den Fehler lokalisieren, nicht nur ihn markieren

Überlappende Prüfungen machen das Fehlermuster jedes Bits eindeutig, sodass der Fehler lokalisiert werden kann.

Eine Maschine, die sich selbst korrigiert, vermeidet es, anzuhalten und einen langen Auftrag neu auszuführen.

Der Redundanzaufwand sinkt, je größer der Datenblock wird, sodass die Korrektur billiger wird.

Es verwandelte den Fehlerschutz von einem Erkennungswerkzeug in ein Korrekturwerkzeug.

Einen Fehler zu erkennen ist billig, aber ihn zu korrigieren ist das, was die Verschwendung beseitigt; die Prüfbits so zu strukturieren, dass sie den Übeltäter genau bestimmen, erkauft die Korrektur zum Nulltarif.

Hamming-Codes wurden zum Beginn der Codierungstheorie und zum Vorbild für spätere, leistungsfähigere Codes, die heute RAM, magnetische und optische Speicher sowie Datenleitungen schützen. Hamming erhielt 1980 den Pioneer Award der IEEE Computer Society, und die IEEE benannte ihre Medaille für Informationswissenschaften nach ihm.

DEN BELEGEN FOLGEN

Die Quellen

  1. Richard Wesley Hamming — Computer Pioneers IEEE Computer Society · history.computer.org
  2. Algebraic Coding Theory / Error Detection and Correction University of Puget Sound · math.pugetsound.edu