Hoje, quase todos os aspectos da vida moderna envolvem a transferência de informações digitais, entre pessoas individuais ou entre servidores ou sistemas individuais. Quando você gerencia suas contas bancárias on-line, atualiza suas páginas de mídia social ou até reproduz um DVD com um DVD player conectado à sua televisão, as informações se deslocam de um lugar para outro digitalmente, por um cabo ou por um sinal sem fio. Para que essas informações passem de um local para outro, precisam ser transferidas por código de computador. Nesse "idioma", as informações são movidas por uma combinação de 1 e 0, conhecido como código binário. Um erro no código binário ao passar de um sistema para outro pode significar que as informações não são transmitidas corretamente, o que pode causar muitos problemas para o usuário do computador. A distância de Hamming é uma maneira de entender como os códigos diferem. Isso pode ser usado para corrigir erros.
TL; DR (muito longo; não leu)
A distância de Hamming refere-se ao número de pontos nos quais duas linhas de código binário diferem, determinado simplesmente adicionando o número de pontos em que duas linhas de código diferem. Por exemplo, a distância entre as duas palavras de código 10101010 e 01011010 é quatro: embora isso possa não significar muito sem contexto, isso pode significar que, em quatro pontos, erros no código resultaram em um arquivo de áudio com falha na reprodução adequada, o visual em um televisão exibida incorretamente ou uma função crítica do computador sendo mal interpretada.
O que é a distância de Hamming?
A distância de Hamming de duas linhas de código é o número de pontos nos quais os valores dos códigos binários das linhas são diferentes (supondo que as duas linhas de código tenham o mesmo comprimento). Isso pode ser um pouco confuso para entender na primeira passagem, portanto, considere este exemplo simples: Uma mensagem de texto de uma palavra é enviada do telefone A para o telefone B. Quando traduzida para código binário, a linha de código que representa a mensagem de texto no telefone A lê "101" e no telefone B a linha de código lê "010". Comparando essas linhas, você pode ver que existem símbolos diferentes em cada um dos três pontos. Isso pode ser um sinal de que a mensagem não foi enviada corretamente.
Como calcular a distância de Hamming
Em cenários simples, o cálculo da distância de Hamming é fácil, embora seja importante lembrar que a distância de Hamming pode ser calculada apenas para Você simplesmente adiciona o número de pontos em que as linhas têm valores diferentes. No exemplo acima, a distância de Hamming seria três, pois as linhas têm valores diferentes em três pontos. Porém, fazer essa comparação consome mais tempo, quanto maior a linha do código binário. Considere um exemplo um pouco mais longo, com duas linhas de código: 100110 e 110011. Essas linhas de código contêm seis pontos de informações. Os valores são diferentes em três desses pontos, portanto a distância de Hamming entre essas duas linhas também é três. O cálculo da distância de Hamming com um conjunto maior de dados se torna mais complicado e envolve o uso de equações e funções complexas como d \u003d min {d (x, y): x, y∈C, x ≠ y}.
Por que a distância de Hamming é útil ?
Fora de contexto, a distância de Hamming pode parecer arbitrária. No entanto, é uma medida importante para codificadores. A distância de Hamming pode ajudar os codificadores a escrever um código que detecta erros e até corrige esses erros por conta própria. Também pode ajudar as pessoas a entenderem como um código está sujeito a erros. A distância de Hamming recebeu o nome de Richard Wesley Hamming, que desenvolveu a medição no final da década de 1940, quando trabalhava nos Laboratórios Bell Telephone. Embora Hamming menosprezasse a celebração da inovação, a indústria de tecnologia notou e a usou com grande efeito ao solucionar problemas de código. Quase 50 anos após Hamming ter descoberto a medição, ele recebeu o Prêmio Eduard Rheim de Realização em Tecnologia pela Fundação Eduard Rheim da Alemanha em 1996. Além disso, o IEEE, uma grande organização profissional do setor de tecnologia, distribui anualmente o Richard Medalha W. Hamming em sua homenagem.