Odległość Hamminga
Z Wikipedii
Odległość Hamminga (ang. Hamming distance) DH – w teorii informacji jest to 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.
Ś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 niż ,
- możliwa liczba detekcji błędów jest mniejsza niż DH.
Następnie można określić, że dla:
- DH = 1 – nie jest możliwe wykrycie błędów,
- DH = 2 – jest możliwe wykrycie błędu, jednak niemożliwa jest korekcja,
- DH = 3 – możliwa jest korekcja.
Przykłady:
- odległość pomiędzy ciągami 10011101 i 10111001 wynosi 2.
- odległość pomiędzy ciągami zagrabić i zatrą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).