2011-01-29 6 views
7

일반적으로 해시의 목표는 연속 함수를 개별 함수로 변환하는 것입니다. 입력의 작은 변화로 인해 출력이 크게 변경되어야합니다. 그러나 비슷한 입력에 대해 유사한 (그러나 여전히 다른) 해시를 반환하는 해시 알고리즘이 있습니까?해싱 유사성

(이것의 사용의 예는 두 개의 파일이 유사성에 대한 자신의 해시를 확인하여 "유사"여부를 확인하는 것입니다. 물론, 약간의 오류가 항상 허용됩니다.)

+0

"비슷한"을 어떻게 정의합니까? – thkala

+0

동일한 순서로 대략 동일한 길이와 거의 동일한 데이터의 두 스트림은 유사한 것으로 간주됩니다. ("이 둘은 유사합니까?"라는 말은 부울이 아니라 일종의 수차 평가 시스템으로 말할 필요가 없습니다. 예를 들어, [1, 2, 3, 4]는 더 유사 할 수 있습니다 to [1, 2, 3] to [4,3,2,1] ...) – Mehrdad

+0

해시 함수의 전체적인 점은 입력의 단일 비트의 변경이 출력의 모든 * 비트를 변경합니다. – Pointy

답변

10

Locality Sensitive Hashing (LSH)에서 . 그것은 예를 들어 주어진 것 근처에서 많은 수의 점들을 빠르게 찾는 확률 적 방법입니다.

+0

+1 정확히 내가 뭘 찾고 있었는지 ... 내가 검색 할 용어를 몰랐다; 감사! :) – Mehrdad