Em 1947, Richard Hamming, o homem dos Bell Labs que mostrava aos colegas como usar computadores, chegou esperando resultados de uma grande máquina de relés que havia rodado sem supervisão durante o fim de semana. Ela havia falhado logo no início, e não havia nada para entregar. Ele fez a pergunta que deu início a tudo: se uma máquina consegue descobrir que há um erro, por que não consegue localizar onde ele está e corrigi-lo?

As máquinas com que ele trabalhava usavam uma verificação de paridade que podia detectar um erro, mas não corrigi-lo, de modo que qualquer único bit invertido significava que o trabalho parava e tinha de ser refeito. Hamming acrescentou bits de paridade sobrepostos, de modo que cada bit de dados fosse coberto por várias verificações, fazendo com que um bit invertido produzisse um padrão distintivo que apontasse para sua própria localização.

Isso permitiu ao computador corrigir um único erro e até detectar dois erros e corrigir um, sem parar. O método chegou à imprensa em seu artigo de 1950 no Bell System Technical Journal e tornou-se a família de códigos que leva seu nome, usada em computadores, na comutação telefônica e, mais tarde, em tudo, desde a telemetria de sondas espaciais até discos de áudio.

Acrescentar bits que localizam o erro, não apenas que o sinalizam

Verificações sobrepostas tornam único o padrão de falha de cada bit, de modo que o erro pode ser localizado.

Uma máquina que se autocorrige evita parar e refazer um trabalho longo.

A sobrecarga de redundância diminui à medida que o bloco de dados cresce, de modo que a correção fica mais barata.

Transformou a proteção contra erros de uma ferramenta de detecção em uma ferramenta de correção.

Detectar um erro é barato, mas corrigi-lo é o que elimina o desperdício; estruturar os bits de verificação para apontar o culpado garante a correção de graça.

Os códigos de Hamming tornaram-se o início da teoria de codificação e o modelo para códigos posteriores e mais poderosos que hoje protegem a RAM, o armazenamento magnético e óptico e as linhas de dados. Hamming recebeu o Prêmio Pioneer da IEEE Computer Society em 1980, e o IEEE deu seu nome à sua medalha para as ciências da informação.

CONFIRA AS EVIDÊNCIAS

As fontes

  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