ハミング距離は、2つの等しい長さの文字列間で異なる文字の数を測定する方法です。具体的には、2つの文字列の対応する位置に異なる位置を持つ文字の数は、ハンミング距離です。
たとえば、次の2つの文字列を検討してください。
「abcdefgh」と「abcxtdhy」
ハミング距離は4、位置4、5、6、および8の文字が異なるためです。
以下に示すように、複数の等しい長さのバイナリ文字列を含む配列があるとします。
問題は、これらの文字列間のハミング距離の合計を計算する方法です。最初に、ハミングの距離を計算する関数を定義できます。
この関数は、2つの文字列の各文字を横断し、文字が異なる場合、カウンターは1で増加します。
次に、ダブルループを使用して、すべての文字列のハミング距離合計を計算できます。
このプロセスを通じて、配列内のすべてのバイナリ文字列間の距離をハミングする合計を取得できます。
配列が["1100"、 "1010"、 "1111"、 "0000"]であると仮定すると、バイナリ文字列の各ペアのハミング距離は次のとおりです。
1100
1010 2
1111 3 1
0000 4 2 5
したがって、ハミングの合計距離は10です。
この記事では、ハミング距離の基本概念を紹介し、複数のバイナリ文字列間のハミング距離合計を計算する方法を示すPHPの例を提供します。ハンミング距離は、データ送信、暗号化、エラー修正の分野で広く使用されています。この方法を習得すると、関連する問題をよりよく解決することができます。