I dag involverer næsten alle aspekter af det moderne liv overførsel af digital information, enten mellem individuelle mennesker eller mellem individuelle servere eller systemer. Når du administrerer dine bankkonti online, skal du opdatere dine sociale mediesider eller endda afspille en DVD med en dvd-afspiller tilsluttet til dit fjernsyn flytter information digitalt fra et sted til et andet, enten gennem en ledning eller via en trådløs signal. For at disse oplysninger kan overføres fra et sted til et andet, skal det overføres via computerkode. På dette "sprog" bevæger information sig via en kombination af 1'er og 0'er, kendt som binær kode. En fejl i den binære kode, der flytter fra et system til et andet, kan betyde, at information ikke overføres korrekt, hvilket kan forårsage mange problemer for computerbrugeren. Hamming-afstand er en måde at forstå, hvordan koder adskiller sig. Dette kan derefter bruges til at rette fejl.
TL; DR (for lang; Læste ikke)
Hamming-afstand refererer til antallet af punkter, hvor to linjer med binær kode adskiller sig, bestemt ved simpelthen at tilføje antallet af pletter, hvor to linjer med kode adskiller sig. For eksempel er afstanden mellem de to kodeord 10101010 og 01011010 fire: selvom dette måske ikke betyder meget uden sammenhæng, kan det betyde, at ved fire punkter, fejl i kode har resulteret i, at en lydfil ikke kan afspilles korrekt, det visuelle på et tv vises forkert eller at en kritisk computerfunktion er fejlagtigt.
Hvad er Hamming Distance?
Hamming-afstanden for to givne kodelinjer er antallet af punkter, hvor linjernes binære kodeværdier er forskellige (forudsat at de to kodelinjer har samme længde). Dette kan være lidt forvirrende at forstå ved første pass, så overvej dette enkle eksempel: En tekstmeddelelse med et ord sendes fra telefon A til telefon B. Når den oversættes til binær kode, læses kodelinjen, der repræsenterer tekstbeskeden på telefon A "101", og på telefon B den linje med kode lyder "010." Ved at sammenligne disse linjer kan du se, at der er forskellige symboler på hver af de tre pletter. Dette kan være et tegn på, at meddelelsen ikke blev sendt korrekt.
Sådan beregnes Hamming Distance
I enkle scenarier er det let at beregne Hamming-afstand, selvom det er vigtigt at huske, at Hamming-afstand kun kan beregnes for linjer, der har samme længde. Du tilføjer blot antallet af pletter, hvor linjerne har forskellige værdier. I eksemplet ovenfor ville Hamming-afstanden være tre, da linjerne har forskellige værdier på tre pletter. At gøre denne sammenligning bliver mere tidskrævende, jo længere linjen med binær kode er dog. Overvej et lidt længere eksempel med to linjer kode: 100110 og 110011. Disse kodelinjer indeholder begge seks informationspunkter. Værdierne er forskellige i tre af disse punkter, så Hamming-afstanden mellem disse to linjer er også tre. Beregning af Hamming-afstand med et større datasæt bliver mere kompliceret og involverer brug af indviklede ligninger og funktioner som d = min {d (x, y): x, y∈C, x ≠ y}.
Hvorfor er Hamming Distance nyttigt?
Uden for sammenhæng kan Hamming-afstanden virke vilkårlig. Det er dog en vigtig måling for kodere. Hamming-afstand kan hjælpe kodere med at skrive kode, der registrerer fejl og endda rette disse fejl alene. Det kan også hjælpe folk med at forstå, hvordan en kode er fejlbehæftet. Hamming-afstand er opkaldt efter Richard Wesley Hamming, som udviklede målingen i slutningen af 1940'erne, da han arbejdede hos Bell Telephone Laboratories. Selvom Hamming bagatelliserede fejringen af innovationen, tog teknologiindustrien mærke til det og brugte det med stor effekt, når man fejlede kode. Næsten 50 år efter, at Hamming opdagede målingen, fik han Eduard Rheim Award for Achievement in Technology af Eduard Rheim Foundation i Tyskland i 1996. Derudover uddeler I.E.E.E., en stor professionel organisation inden for teknologisektoren, den årlige Richard W. Hamming-medalje til hans ære.