Šiandien beveik kiekvienas šiuolaikinio gyvenimo aspektas apima skaitmeninės informacijos perdavimą tarp atskirų žmonių arba tarp atskirų serverių ar sistemų. Kai tvarkote savo banko sąskaitas internete, atnaujinkite savo socialinės žiniasklaidos puslapius ar net leiskite DVD su prijungtu DVD grotuvu į jūsų televizorių, informacija perkeliama iš vienos vietos į kitą skaitmeniniu būdu, per laidą arba belaidžiu ryšiu signalas. Kad ši informacija būtų perduota iš vienos vietos į kitą, ji turi būti perduodama per kompiuterio kodą. Šia „kalba“ informacija juda per 1 ir 0 derinius, vadinamus dvejetainiais kodais. Dvejetainio kodo klaida pereinant iš vienos sistemos į kitą gali reikšti, kad informacija neteisingai perduodama, o tai gali sukelti daug problemų kompiuterio vartotojui. Hammingo atstumas yra būdas suprasti, kaip kodai skiriasi. Tada tai gali būti naudojama klaidoms ištaisyti.
TL; DR (per ilgai; Neskaiciau)
Hammingo atstumas reiškia taškų, kuriuose skiriasi dvi dvejetainio kodo eilutės, skaičių, nustatomą paprasčiausiai sudėjus taškų skaičių, kai skiriasi dvi kodo eilutės. Pvz., Atstumas tarp dviejų kodinių žodžių 10101010 ir 01011010 yra keturi: nors be konteksto tai gali nereikalauti daug, tai gali reikšti, kad keturiuose taškuose klaidos kode lėmė, kad garso failas netinkamai atkuriamas, televizoriaus vaizdai rodomi neteisingai arba yra kritinė kompiuterio funkcija neteisingai interpretuojamas.
Kas yra Hammingo atstumas?
Dviejų nurodytų kodo eilučių Hammingo atstumas yra taškų skaičius, kuriame eilučių dvejetainės kodo vertės skiriasi (darant prielaidą, kad dvi kodo eilutės yra vienodo ilgio). Tai gali būti šiek tiek painu suprasti iš pirmo karto, todėl apsvarstykite šį paprastą pavyzdį: Vieno žodžio tekstinis pranešimas siunčiamas iš telefono A į telefoną B. Verčiant į dvejetainį kodą, teksto pranešimą telefone A žyminti kodo eilutė yra „101“, o telefone B - kodo eilutėje rašoma „010“. Palyginus šias eilutes, galite pamatyti, kad kiekvienoje iš trijų dėmių yra skirtingi simboliai. Tai gali būti ženklas, kad pranešimas išsiųstas netinkamai.
Kaip apskaičiuoti Hammingo atstumą
Paprastais atvejais Hammingo atstumą apskaičiuoti yra lengva, nors svarbu atminti, kad Hammingo atstumą galima apskaičiuoti tik vienodo ilgio linijoms. Paprasčiausiai susumuosite taškų, kur eilutės turi skirtingas reikšmes, skaičių. Ankstesniame pavyzdyje Hammingo atstumas būtų trys, nes linijos turi skirtingas vertes trijose vietose. Atlikus šį palyginimą, reikia daugiau laiko, tačiau ilgesnė dvejetainio kodo eilutė. Apsvarstykite šiek tiek ilgesnį pavyzdį su dviem kodo eilutėmis: 100110 ir 110011. Šiose kodo eilutėse yra šeši informaciniai taškai. Trijuose iš tų taškų vertės skiriasi, todėl Hammingo atstumas tarp šių dviejų linijų taip pat yra trys. Hammingo atstumo apskaičiavimas naudojant didesnį duomenų rinkinį tampa sudėtingesnis ir apima sudėtingas lygtis ir funkcijas, tokias kaip d = min {d (x, y): x, y∈C, x ≠ y}.
Kodėl Hammingo atstumas naudingas?
Ne kontekste Hammingo atstumas gali atrodyti savavališkas. Tačiau tai yra svarbus matuoklių matavimas. „Hamming“ atstumas gali padėti koduotojams rašyti kodą, kuris aptinka klaidas ir netgi šias klaidas ištaiso pats. Tai taip pat gali padėti žmonėms suprasti, koks kodas yra linkęs į klaidas. Hammingo atstumas pavadintas Richardo Wesley'io Hammingo vardu, kuris matavimą sukūrė 1940-ųjų pabaigoje, kai dirbo Varpo telefonų laboratorijose. Nors Hammingas sumenkino naujovės šventę, technologijų pramonė atkreipė dėmesį į tai ir labai naudojo ją šalindama kodą. Praėjus beveik 50 metų po to, kai Hammingas atrado matavimą, 1996 m. Vokietijos Eduardo Rheimo fondas jam suteikė Eduardo Rheimo apdovanojimą už pasiekimus technologijoje. Be to, didelė profesinė technologijų sektoriaus organizacija „I.E.E.E.“ išleidžia kasmetinį Richardą W. Hammingo medalis jo garbei.