Vertailtavat jonot
Syötä kaksi yhtä pitkää jonoa. Ne voivat olla bittijonoja (esim. 1011101) tai tavallista tekstiä. Hamming-etäisyys lasketaan vain, jos jonot ovat yhtä pitkiä.
Laske kahden yhtä pitkän merkki- tai bittijonon Hamming-etäisyys eli niiden eroavien kohtien määrä.
Syötä kaksi yhtä pitkää jonoa. Ne voivat olla bittijonoja (esim. 1011101) tai tavallista tekstiä. Hamming-etäisyys lasketaan vain, jos jonot ovat yhtä pitkiä.
Tämä laskuri laskee kahden yhtä pitkän merkki- tai bittijonon Hamming-etäisyyden eli niiden kohtien lukumäärän, joissa jonot eroavat. Syötä molemmat jonot, niin laskuri näyttää etäisyyden, vertaillun pituuden ja eroavien kohtien sijainnit.
Hamming-etäisyys kertoo, kuinka monessa kohdassa kaksi yhtä pitkää jonoa poikkeavat toisistaan. Se vastaa kysymykseen, montako symbolia on vaihdettava, jotta ensimmäisestä jonosta saadaan toinen:
d(1011101, 1001001) = 2
Käsite on nimetty matemaatikko Richard Hammingin mukaan, ja se on yksi koodausteorian peruskäsitteistä.
Jonot asetetaan kohdakkain ja verrataan kohta kohdalta. Jokainen eroava kohta kasvattaa etäisyyttä yhdellä:
Hamming-etäisyys = eroavien kohtien lukumäärä
Bittijonoilla saman tuloksen saa myös laskemalla jonojen XOR-operaation ja laskemalla tuloksen ykkösbittien määrän.
Lasketaan bittijonojen 1011101 ja 1001001 Hamming-etäisyys.
Verrataan kohta kohdalta vasemmalta oikealle:
1=1, 0=0, 1≠0, 1=1, 1≠0, 0=0, 1=1
Erot ovat kohdissa 3 ja 5, joten Hamming-etäisyys on 2.
Hamming-etäisyys vertaa symboleja samoissa kohdissa, joten se on määritelty vain, kun jonot ovat yhtä pitkiä. Eri pituisia jonoja ei voi verrata kohta kohdalta. Jos pituudet poikkeavat, tarvitaan muita mittoja, kuten muokkausetäisyyttä (Levenshtein), joka sallii lisäykset ja poistot.
Tiedonsiirrossa ja tallennuksessa Hamming-etäisyydellä mitataan, kuinka erilaisia eri koodisanat ovat. Koodin pienin Hamming-etäisyys eri koodisanojen välillä määrää sen virheensietokyvyn:
Esimerkiksi koodi, jonka minimietäisyys on 3, havaitsee kaksi virhettä ja korjaa yhden.
Hamming-etäisyys kuuluu informaatioteorian peruskäsitteistöön. Sen avulla määritellään koodiavaruuden rakenne ja arvioidaan, kuinka luotettavasti tieto voidaan siirtää häiriöisen kanavan yli. Mitä suurempi koodisanojen välinen etäisyys on, sitä paremmin koodi kestää virheitä.