Odległość Hamminga
Odległość Hamminga (ang. Hamming distance), – wprowadzona przez Richarda Hamminga miara odmienności dwóch ciągów o takiej samej długości, wyrażająca liczbę miejsc (pozycji), na których te dwa ciągi się różnią. Innymi słowy jest to najmniejsza liczba zmian (operacji zastępowania elementu innym), jakie pozwalają przeprowadzić jeden ciąg na drugi.
Własności
[edytuj | edytuj kod]

Dla ustalonej długości odległość Hamminga jest metryką na przestrzeni wektorowej słów o tej długości.
Dla ciągów binarnych i odległość Hamminga jest równa liczbie jedynek w słowie XOR .
Przestrzeń metryczna słów binarnych o długości z odległością Hamminga, jest nazywana kostką Hamminga. Słowa binarne o długości można traktować jako wektory w przestrzeni przyjmując każdy symbol w łańcuchu jako współrzędną rzeczywistą; przy tym zanurzeniu takie łańcuchy stanowią wierzchołki -wymiarowej hiperkostki, a odległość Hamminga słów jest równoważna metryce taksówkowej pomiędzy wierzchołkami. Oznacza to, że odległością Hamminga między dwoma ciągami bitów jest to minimalna odległość między dowolnymi dwoma wierzchołkami, mierzona wzdłuż krawędzi sześcianu (por. rysunki)>
Opis
[edytuj | edytuj kod]Ścisła implementacja zależy oczywiście od definicji użytych ciągów. Na przykład dwa ciągi bajtów zapisanych w pamięci komputera można, zależnie od potrzeb, potraktować jako ciągi binarne lub ciągi literowe zakodowane w ASCII; odpowiednio odległość Hamminga będziemy definiować jako liczbę różnych bitów lub różnych bajtów.
Odległość Hamminga pozwala określić pewne właściwości kodowania:
- możliwa liczba korekcji błędów jest mniejsza lub równa
- możliwa liczba detekcji błędów jest mniejsza niż
Następnie można określić, że dla:
- – nie jest możliwa korekcja ani detekcja,
- – jest możliwe wykrycie błędu, jednak niemożliwa jest korekcja,
- – możliwa jest detekcja 2 błędów i korekcja jednego.
Przykłady:
- odległość pomiędzy ciągami
10011101i10111001wynosi 2. - odległość pomiędzy ciągami
zagrabićizatrąbiłwynosi 3.
Uogólnieniem odległości Hamminga jest odległość Levenshteina, uwzględniająca nie tylko zamianę znaku na inny, ale także wstawianie i usuwanie znaków z ciągu (a więc obejmująca napisy o różnych długościach).