의 두 집합이 주어 차원 하이퍼 큐브 (즉, M , N ⊆ { 0 , 1 } D ), I는 점을 검색하는 알고리즘을 찾고 있어요 ∈ M , N ∈ N 세인트 해밍 거리 (또는 L 1 - 하이퍼 큐브에서의 거리) d H ( m , n ) 는 최소입니다. 각 쌍만 확인하는 순진한 알고리즘 | 남 | ⋅ | N | ⋅ d 더 나은 결과가 있습니까?
간단하게하기 위해 .
흠. 더 많은 동기 부여 / 적용이 있습니까? 이 유클리드 / 평면 알고리즘 의 다차원 유사체가 있다고 생각 하지만 위키피디아는 아무 것도 인용하지 않았으며 다른 곳에서는 들어 본 적이 없습니다 ... n-dim 벡터에 대한 알고리즘을 찾는 데 도움이 될 수 있습니다. 이 기사의 시작 부분은 더 큰 차원 d > 2에 대해 로 풀 수 있지만 인용은하지 않는다고 주장하는 것 같다 . 심판의 어딘가에?
—
vzn
분할 및 정복 인수는 패킹 바운드에 의존합니다. 더 높은 차원이 소개하는 재발의 요인에 의존하지만, N은 동일하다. 따라서 d의 지수를 신경 쓰지 않으면 이 접근법을 사용할 수 있습니다. 정확한 것을 원한다면 더 잘 할 수 없을 것입니다.
—
Suresh Venkat
이럴 것 같지 않습니다. 하이퍼 큐브에서 n + m 임의의 문자열을 생각해보십시오. 어떻게 든 각 쌍의 해밍 거리는 대략 d / 2이며 가장 가까운 쌍을 찾으려면 모든 쌍을 확인해야합니다.
—
Sariel Har-Peded
@Sariel Har-Peled : Suresh가 쓴 것처럼, 어떤 상수 d에 대해 시간 O (n log n) (여기서 n = max {| M |, | N |})로 문제를 해결할 수 있습니다. 따라서“가장 가까운 짝을 찾으려면 모든 짝을 확인해야합니다”라는 말이 나에게 맞는 것은 아닙니다.
—
Tsuyoshi Ito