Hamming Distance
ハミング距離(Hamming Distance)は、等長の 2 つの文字列で対応する文字が異なる位置の数である。等長の比較にのみ適用できる。
目的
等長文字列間の異なる位置の数を測る。誤り検出と符号理論で使用される。
メカニズム
等長文字列 s と t に対して d = Σ(s[i] ≠ t[i]) と定義される。長さが等しい場合にのみ定義される。2 進文字列ではビット演算(XOR + popcount)で効率的に計算できる。
ユースケース
- 誤り検出・訂正符号(ECC)
- バイナリ列の類似度
- 画像ハッシュの知覚的差分
- 情報理論の学習トピック
例
- 入力
karolin → kathrinOutput33 positions differ
よくあるエラー
- Applying the Hamming distance to strings of unequal length
- Use the Levenshtein distance for variable lengths