하이퍼 큐브에서 두 점 세트 사이에서 가장 가까운 쌍 찾기


11

의 두 집합이 주어 차원 하이퍼 큐브 (즉, M , N { 0 , 1 } D ), I는 점을 검색하는 알고리즘을 찾고 있어요 M , N N 세인트 해밍 거리 (또는 L 1 - 하이퍼 큐브에서의 거리) d H ( m , n ) 는 최소입니다. 각 쌍만 확인하는 순진한 알고리즘 | | | N | ddM,N{0,1}dmM,nNL1dH(m,n)|M||N|d 더 나은 결과가 있습니까?

간단하게하기 위해 .|M|=|N|=d


흠. 더 많은 동기 부여 / 적용이 있습니까? 이 유클리드 / 평면 알고리즘 의 다차원 유사체가 있다고 생각 하지만 위키피디아는 아무 것도 인용하지 않았으며 다른 곳에서는 들어 본 적이 없습니다 ... n-dim 벡터에 대한 알고리즘을 찾는 데 도움이 될 수 있습니다. 이 기사의 시작 부분은 더 큰 차원 d > 2에 대해 로 풀 수 있지만 인용은하지 않는다고 주장하는 것 같다 . 심판의 어딘가에? O(nlogn)d>2
vzn

1
분할 및 정복 인수는 패킹 바운드에 의존합니다. 더 높은 차원이 소개하는 재발의 요인에 의존하지만, N은 동일하다. 따라서 d의 지수를 신경 쓰지 않으면 이 접근법을 사용할 수 있습니다. 정확한 것을 원한다면 더 잘 할 수 없을 것입니다. 2dnd
Suresh Venkat

또한 참조 가까운 이웃 검색
vzn

1
이럴 것 같지 않습니다. 하이퍼 큐브에서 n + m 임의의 문자열을 생각해보십시오. 어떻게 든 각 쌍의 해밍 거리는 대략 d / 2이며 가장 가까운 쌍을 찾으려면 모든 쌍을 확인해야합니다.
Sariel Har-Peded

@Sariel Har-Peled : Suresh가 쓴 것처럼, 어떤 상수 d에 대해 시간 O (n log n) (여기서 n = max {| M |, | N |})로 문제를 해결할 수 있습니다. 따라서“가장 가까운 짝을 찾으려면 모든 짝을 확인해야합니다”라는 말이 나에게 맞는 것은 아닙니다.
Tsuyoshi Ito

답변:


6

|M|=|N|=dMXNYYZ=XYzi,jiMjNO(d2.3727)O(d2.3726999999)

행렬이 정사각형이 아닌 경우 비슷한 효과를 얻을 수 있습니다. Uri Zwick은이 경우 빠른 행렬 곱셈에 대한 논문을 가지고 있다고 생각합니다.

O(|M||N|)d


좋은 발견. 또 다른 메모에서, 내 동료가이 논문을 발견했습니다 : toc.cse.iitk.ac.in/articles/v008a014/v008a014.pdf 그리고 나는 단지 그것이 당신에 의해 쓰여졌다는 것을 깨달았습니다. 17+ 페이지가 특히 흥미 롭습니다.
HdM

예. 친숙해 보이지만 이것은 근사치입니다. Suresh는 정확한 결과를 요청했습니다.
Sariel Har-Peled

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.