Hamming Distance, 해밍 거리는 두 값의 차이가 어느 정도인지를 정의하는 함수다. 간단히 말해 두 문자열이 있다면, 몇 글자가 다르냐를 표기한다고 볼 수 있겠다.

  • ‘1011101’과 ‘1001001’사이의 해밍 거리는 2이다. (1011101, 1001001)
  • ‘2143896’과 ‘2233796’사이의 해밍 거리는 3이다. (2143896, 2233796)
  • “toned"와 “roses"사이의 해밍 거리는 3이다. (toned, roses)

출처

이게 무슨 거리를 나타내는 것이냐고 할 수 있는데, 이를테면 정육면체가 공간 안에 있는 경우, 각 꼭지점마다 좌표를 사용한 문자열을 만들었을 때 꼭지점과의 거리는 서로 다른 글자 수와 일치한다. 이를 다차원 위의 어떤 도형, 예를 들어 테서렉트에 매핑시키는 경우에도 그 거리는 마찬가지로 서로 다른 글자 수와 일치한다.

cube

위 그림에서, 010111은 두 글자가 다르므로 dH(010, 111)은 파란 선의 길이인 2가 된다. 마찬가지로 dH(100, 011)은 붉은 선의 길이인 3이 된다.