Idag involverar nästan alla aspekter av det moderna livet överföring av digital information, antingen mellan enskilda personer eller mellan enskilda servrar eller system. När du hanterar dina bankkonton online, uppdaterar du dina sociala mediasidor eller till och med spelar en DVD med en DVD-spelare ansluten till din TV flyttar information från en plats till en annan digitalt, antingen via en sladd eller via en trådlös signal. För att denna information ska kunna överföras från en plats till en annan måste den överföras via datorkod. På detta "språk" rör sig informationen via en kombination av 1 och 0, så kallad binär kod. Ett fel i den binära koden som flyttar från ett system till ett annat kan innebära att information inte överförs ordentligt, vilket kan orsaka många problem för datoranvändaren. Hamming-avstånd är ett sätt att förstå hur koder skiljer sig åt. Detta kan sedan användas för att korrigera fel.
TL; DR (för lång; Läste inte)
Hammingavstånd hänvisar till antalet punkter där två rader av binär kod skiljer sig, bestäms genom att helt enkelt lägga till antalet punkter där två rader med kod skiljer sig åt. Till exempel är avståndet mellan de två kodorden 10101010 och 01011010 fyra: även om detta kanske inte betyder mycket utan sammanhang, kan det betyda att vid fyra punkter, fel i kod har resulterat i att en ljudfil misslyckats med att spela korrekt, att det visuella på en TV visas felaktigt eller att en kritisk datorfunktion är misstolkas.
Vad är Hamming Distance?
Hamming-avståndet för två givna kodrader är antalet punkter där linjernas binära kodvärden är olika (förutsatt att de två kodraderna har samma längd). Detta kan vara lite förvirrande att förstå vid första passet, så överväg detta enkla exempel: Ett textmeddelande med ett ord skickas från telefon A till telefon B. När den översätts till binär kod, läser kodraden som representerar textmeddelandet på telefon A "101" och på telefon B kodrad läser "010." Genom att jämföra dessa rader kan du se att det finns olika symboler på var och en av de tre platserna. Detta kan vara ett tecken på att meddelandet inte skickades korrekt.
Hur man beräknar hammingsavstånd
I enkla scenarier är det enkelt att beräkna Hamming-avstånd, men det är viktigt att komma ihåg att Hamming-avstånd bara kan beräknas för linjer som har samma längd. Du räknar helt enkelt samman antalet platser där raderna har olika värden. I exemplet ovan skulle Hamming-avståndet vara tre, eftersom linjerna har olika värden på tre punkter. Att göra denna jämförelse blir mer tidskrävande ju längre raden med binär kod är. Tänk på ett något längre exempel med två rader kod: 100110 och 110011. Dessa kodrader innehåller båda sex informationspunkter. Värdena är olika i tre av dessa punkter, så Hamming-avståndet mellan dessa två linjer är också tre. Beräkning av Hamming-avstånd med en större uppsättning data blir mer komplicerat och involverar användning av invecklade ekvationer och funktioner som d = min {d (x, y): x, y∈C, x ≠ y}.
Varför är Hamming Distance användbart?
Utan kontext kan Hamming-avståndet verka godtyckligt. Det är dock en viktig mätning för kodare. Hamming-avstånd kan hjälpa kodare att skriva kod som upptäcker fel och till och med korrigerar dessa fel på egen hand. Det kan också hjälpa människor att förstå hur felkänslig en kod är. Hamming distans är uppkallad efter Richard Wesley Hamming, som utvecklade mätningen i slutet av 1940-talet när han arbetade på Bell Telephone Laboratories. Även om Hamming bagatelliserade firandet av innovationen, noterade teknikindustrin och använde den med stor effekt vid felsökning av kod. Nästan 50 år efter att Hamming upptäckte mätningen fick han Eduard Rheim Award för Achievement in Technology av Eduard Rheim Foundation i Tyskland 1996. Dessutom ger I.E.E.E., en stor yrkesorganisation inom tekniksektorn, ut den årliga Richard W. Hamming-medalj till hans ära.