Hammingova udaljenost: razlika između inačica
m robot Dodaje: pt:Distância de Hamming |
Predložene wikipoveznice: dodane 3 poveznice |
||
(Nije prikazano 17 međuinačica 14 suradnika) | |||
Redak 13: | Redak 13: | ||
Na primjer: |
Na primjer: |
||
* Hammingova udaljenost između '''10< |
* Hammingova udaljenost između '''10<span style="color:blue;">1</span>1<span style="color:blue;">1</span>01''' i '''10<span style="color:red;">0</span>1<span style="color:red;">0</span>01''' je 2. |
||
* Hammingova udaljenost između '''10< |
* Hammingova udaljenost između '''10<span style="color:blue;">1</span>1<span style="color:blue;">1</span>01''' i '''10<span style="color:red;">0</span>1<span style="color:red;">0</span>01''' je 2. |
||
* Hammingova udaljenost između '''2< |
* Hammingova udaljenost između '''2<span style="color:blue;">14</span>3<span style="color:blue;">8</span>96''' i '''2<span style="color:red;">23</span>3<span style="color:red;">7</span>96''' je 3. |
||
* Hammingova udaljenost između "'''< |
* Hammingova udaljenost između "'''<span style="color:blue;">t</span>o<span style="color:blue;">n</span>e<span style="color:blue;">d</span>'''" i "'''<span style="color:red;">r</span>o<span style="color:red;">s</span>e<span style="color:red;">s</span>'''" je 3. |
||
== Posebna svojstva == |
== Posebna svojstva == |
||
Za fiksnu duljinu ''n'', Hammingova je udaljenost [[metrika (matematika)|metrika]] vektorskog prostora riječi te duljine, jer očito ispunjava uvjete nenegativnosti, identitete neprimjetnih (''indiscernibles'') i simetrije, a i može se lako dokazati [[potpuna indukcija|potpunom indukcijom]] da također zadovoljava [[nejednakost trokuta]]. Hammingova udaljenost između riječi ''a'' i ''b'' se također može shvatiti kao [[Hammingova težina]] od ''a''−''b'', za prikladan izbor − operatora. |
Za fiksnu duljinu ''n'', Hammingova je udaljenost [[metrika (matematika)|metrika]] [[Vektorski prostor|vektorskog prostora]] riječi te duljine, jer očito ispunjava uvjete nenegativnosti, identitete neprimjetnih (''indiscernibles'') i simetrije, a i može se lako dokazati [[potpuna indukcija|potpunom indukcijom]] da također zadovoljava [[nejednakost trokuta]]. Hammingova udaljenost između riječi ''a'' i ''b'' se također može shvatiti kao [[Hammingova težina]] od ''a''−''b'', za prikladan izbor − operatora. |
||
Za '''binarne stringove''' ''a'' i ''b'' Hammingova je udaljenost jednaka broju jedinica u ''a'' [[isključivo ili|xor]] ''b''. Metrički prostor od duljina-''n'' binarnih stringova, zajedno |
Za '''binarne stringove''' ''a'' i ''b'' Hammingova je udaljenost jednaka broju jedinica u ''a'' [[isključivo ili|xor]] ''b''. [[Metrički prostor]] od duljina-''n'' binarnih stringova, zajedno s Hammingovom udaljenošću, je poznat kao ''Hammingova kocka'' - ekvivalentan je kao metrički prostor skupu udaljenosti vrhova [[graf hiperkocke|grafa hiperkocke]]. Binarni string duljine ''n'' se također može shvatiti kao vektor u <math>\mathbb{R}^n</math> tretirajući svaki simbol stringa kao realnu koordinatu - ovim ugrađivanjem stringovi oblikuju vrhove ''n''-dimenzionalne [[hiperkocka|hiperkocke]] i Hammingova udaljenost stringova je jednaka [[Manhattan udaljenost]]i vrhova. |
||
== Povijest i primjene == |
== Povijest i primjene == |
||
Redak 36: | Redak 36: | ||
</pre> |
</pre> |
||
Sljedeća [[C++]] funkcija računa Hammingovu udaljenost dvaju cijelih brojeva (smatranih binarnim vrijednostima, tj. slijedovima bitova). Vrijeme je proporcionalno Hammingovoj |
Sljedeća [[C++]] funkcija računa Hammingovu udaljenost dvaju [[Cijeli broj|cijelih brojeva]] (smatranih binarnim vrijednostima, tj. slijedovima bitova). Vrijeme je proporcionalno Hammingovoj udaljenosti, radije nego broju bitova ulaza. |
||
<pre> |
<pre> |
||
Redak 53: | Redak 53: | ||
</pre> |
</pre> |
||
== |
== Izvori == |
||
''Djelimice prilagođeno iz [[Federal Standard 1037C]].'' |
''Djelimice prilagođeno iz [[Federal Standard 1037C]].'' |
||
[[Richard W. Hamming]]. Error Detecting and [[Error Correcting Code]]s, |
[[Richard W. Hamming]]. Error Detecting and [[Error Correcting Code]]s, |
||
Bell System Technical Journal 26(2):147-160, [[1950]] |
Bell System Technical Journal 26(2):147-160, [[1950.]] |
||
[[Kategorija:Matematika]] |
[[Kategorija:Matematika]] |
||
[[af:Hammingafstand]] |
|||
[[bg:Разстояние на Хеминг]] |
|||
[[ca:Distància de Hamming]] |
|||
[[cs:Hammingova vzdálenost]] |
|||
[[de:Hamming-Abstand]] |
|||
[[en:Hamming distance]] |
|||
[[es:Distancia de Hamming]] |
|||
[[fi:Hammingin etäisyys]] |
|||
[[fr:Distance de Hamming]] |
|||
[[he:מרחק המינג]] |
|||
[[hu:Hamming-távolság]] |
|||
[[it:Distanza di Hamming]] |
|||
[[ja:ハミング距離]] |
|||
[[ko:해밍 거리]] |
|||
[[nl:Hammingafstand]] |
|||
[[pl:Odległość Hamminga]] |
|||
[[pt:Distância de Hamming]] |
|||
[[ro:Distanţă Hamming]] |
|||
[[ru:Расстояние Хэмминга]] |
|||
[[vi:Khoảng cách Hamming]] |
|||
[[zh:汉明距离]] |
Posljednja izmjena od 24. svibnja 2023. u 13:25
![]() |
![]() |
![]() |
![]() |
U teoriji informacije, Hammingova udaljenost dvaju stringova jednake duljine je broj pozicija u kojima su odgovarajući simboli različiti. Drugim riječima, mjeri minimalni broj supstitucija potreban za promjenu jednog u drugo, ili broj grešaka koji je jedan string transformirao u drugi.
Na primjer:
- Hammingova udaljenost između 1011101 i 1001001 je 2.
- Hammingova udaljenost između 1011101 i 1001001 je 2.
- Hammingova udaljenost između 2143896 i 2233796 je 3.
- Hammingova udaljenost između "toned" i "roses" je 3.
Posebna svojstva[uredi | uredi kôd]
Za fiksnu duljinu n, Hammingova je udaljenost metrika vektorskog prostora riječi te duljine, jer očito ispunjava uvjete nenegativnosti, identitete neprimjetnih (indiscernibles) i simetrije, a i može se lako dokazati potpunom indukcijom da također zadovoljava nejednakost trokuta. Hammingova udaljenost između riječi a i b se također može shvatiti kao Hammingova težina od a−b, za prikladan izbor − operatora.
Za binarne stringove a i b Hammingova je udaljenost jednaka broju jedinica u a xor b. Metrički prostor od duljina-n binarnih stringova, zajedno s Hammingovom udaljenošću, je poznat kao Hammingova kocka - ekvivalentan je kao metrički prostor skupu udaljenosti vrhova grafa hiperkocke. Binarni string duljine n se također može shvatiti kao vektor u tretirajući svaki simbol stringa kao realnu koordinatu - ovim ugrađivanjem stringovi oblikuju vrhove n-dimenzionalne hiperkocke i Hammingova udaljenost stringova je jednaka Manhattan udaljenosti vrhova.
Povijest i primjene[uredi | uredi kôd]
Hammingova udaljenost je imenovana po Richardu Hammingu, koji ju je uveo u svom fundamentalnom radu o kodovima detekcije i ispravljanja grešaka (1950.). Koristi se u telekomunikacijama za brojenja broja obrnutih bitova binarne riječi fiksne duljine kao procjenu grješke, i stoga se ponekad zove signalna udaljenost. Analiza bitova Hammingovom težinom se koristi u nekoliko područja uključujući teoriju informacije, teoriju kodiranja i kriptografiju. Međutim, za uspoređivanje stringova različitih duljina, ili stringova u kojima se očekuju ne samo supstitucije već i umetanja i brisanja, prikladnija je složenija metrika kao što je Levenshteinova udaljenost.
Primjer algoritma[uredi | uredi kôd]
Python funkcija hamdist()
računa Hammingovu udaljenost između dva stringa (ili "sekvencijalnih objekata" preslikanih u stringove) jednake duljine.
def hamdist(s1, s2): assert len(s1) == len(s2) return sum(z1 != z2 for z1, z2 in zip(s1, s2))
Sljedeća C++ funkcija računa Hammingovu udaljenost dvaju cijelih brojeva (smatranih binarnim vrijednostima, tj. slijedovima bitova). Vrijeme je proporcionalno Hammingovoj udaljenosti, radije nego broju bitova ulaza.
int hamudalj(int x, int y) { int udalj = 0, vrij = x^y; while(vrij) { ++udalj; vrij &= vrij - 1; } return udalj; }
Izvori[uredi | uredi kôd]
Djelimice prilagođeno iz Federal Standard 1037C.
Richard W. Hamming. Error Detecting and Error Correcting Codes, Bell System Technical Journal 26(2):147-160, 1950.