Em seu funcionamento, qualquer automaçãoo sistema se depara com o problema da percepção adequada dos dados, da pureza das informações recebidas, da localização de erros, bem como de suas correções. Quanto mais sérias as tarefas atribuídas ao objeto de processamento de informações, mais complexo e sensível é o sistema para determinar os elementos de software defeituosos e os erros no fluxo de informações com que deve trabalhar.
Uma das opções para verificar informaçõesfluxo de erros, e até mesmo sua correção, é a codificação de informações numéricas. Existem muitos códigos e métodos usados ao trabalhar com dados diferentes. O chamado código de Hamming é um exemplo clássico, que se tornou o ponto de partida para a criação de formas mais complexas e sofisticadas de localizar e eliminar erros que ocorrem durante a transmissão de dados.
A história do surgimento do código começa no meio1940. Nesta época, Richard Hamming dominava a máquina de calcular Bell Model V, trabalhando nos famosos Bell Labs. Então, era um mecanismo ultramoderno usando um princípio de ação eletromecânico. Blocos de relé foram usados no projeto da máquina. Seu uso não deu um ganho significativo de velocidade. Demorou vários segundos para completar uma volta. Os dados foram digitados por meio de cartões perfurados, e erros no processo de leitura não eram incomuns. Nos dias de semana, códigos especiais eram usados para detectar e corrigir os erros encontrados. A máquina informava o operador pelo acendimento das lâmpadas, que, por sua vez, corrigia o erro e reiniciava o processo de cálculo. Mas nos fins de semana, o processo acontecia de acordo com regras diferentes. Ao detectar um erro, a máquina encerrou automaticamente a execução do primeiro programa e passou à execução de outro.
Desde Hamming, muitas vezes teve que trabalharnos fins de semana, ele ficava muito irritado com esse comportamento do computador, pois toda vez que ele tinha que recarregar o programa em que estava trabalhando, toda a culpa era a falta de confiabilidade dos cartões perfurados. Ele teve que passar vários anos construindo os algoritmos de correção de erros mais eficientes. Como resultado, em 1950 ele conseguiu encontrar e publicar a melhor maneira de resolver esse problema, agora conhecido em todo o mundo como o código de Hamming.
A solução proposta por Richard Hemming recebeuimediatamente generalizado. Os métodos de codificação das informações foram complementados por vários blocos grandes. Por exemplo, os códigos sistemáticos representam um grande grupo que consiste em blocos, os chamados códigos separáveis (em outras palavras, aqueles em que todos os caracteres são divididos em códigos informativos e de verificação).
Os códigos sistemáticos têm uma peculiaridadesímbolos de verificação são o resultado de operações lineares em símbolos de informação. Além disso, em qualquer palavra de código permitida, há a possibilidade de obter um resultado de operações lineares realizadas em um conjunto de palavras de código lineares independentes.
O código de Hamming écódigo de verificação automática. Esses códigos permitem que erros sejam detectados automaticamente durante a transferência de dados. Para construí-los, é necessário apenas atribuir um dígito binário de controle (adicional) a cada palavra. O número é escolhido de forma que no número total de unidades quando o número é exibido, por condição, ele seja par.
Se ocorrer um único erro, ele mudará a paridade no número total de unidades.
Códigos que levam à correção de erros emo modo automático é chamado de autocorreção. Um bit de controle não é mais suficiente para construir tal código. O maior interesse são os códigos binários de bloco, que estão corrigindo.
Resumindo, podemos concluir que o código de Hamming usa o princípio da paridade, onde o número de caracteres únicos é examinado.