2012-07-20 2 views
3

D 차원 메트릭 공간에 N 개의 점 집합이 있습니다. 하위 집합의 두 점 사이의 가장 작은 거리가 가장 큰 방식으로 K를 선택하고 싶습니다.Maxmin 거리감에서 가장 좋은 서브 샘플

예를 들어, 3 차원 유클리드 공간에서 N = 4 및 K = 3 인 경우, 해는 가장 긴 단변을 갖는 정사면체의면이됩니다.

달성 할 수있는 고전적인 방법이 있습니까? 그것은 다항식 시간으로 정확히 풀 수 있습니까?

나는 할 수있는 한 많이 봤지만이 문제를 부르는 법을 아직 알지 못했습니다.

내 경우 N = 50, K = 10 및 D = 300입니다.

명확한 설명 :

무력 접근 방식은 N 중에서 K 포인트의 모든 조합을 시도하고 모든 부분 집합에 가장 가까운 쌍을 결정하는 것입니다. 해결책은 가장 긴 쌍을 산출하는 부분 집합에 의해 주어집니다.

O (K^2) 과정을 반복하여 N!/K! (N-K)! 타임스.

흠, 10^2 50!/10! 40! = 1027227817000

+0

점 사이의 거리를 가진 그래프를 만든 다음 Kruskal 알고리즘의 수정 된 버전을 실행하여 최대 스패닝 트리를 구현하는 것 같습니다. – higuaro

+0

최대 스패닝 트리는 노드간에 긴 링크가있는 V 자형이 될 수 있지만 두 개의 노드가 매우 가까운 링크로 결합되지 않았습니다. 나는 이것에 대한 명백한 언덕 오르기와 욕심 많은 알고리즘을 생각할 수있다. (데이터를 조사하고 지금까지 가지고있는 점 중 하나를 사용하여 새로운 점을 바꾸는 것이 반복적으로 개선되는지를 반복적으로 볼 수는 있지만) 그들은 특정 최적화를하지 않을 것이다. – mcdowella

+0

나는 N 포인트에 최대 스패닝 트리를 구축했습니다. 내 K 하위 샘플을 얻기 위해 트리를 잘라내려면 어떻게해야합니까? 스패닝 트리를 어떻게하면 솔루션에 더 가까이 가게 할 수 있습니까? –

답변

1

당신은 단위 디스크 그래프에 대한 정보를 유익하지만 낙담 할 수 있다고 생각합니다. 예를 들어, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.3113&rep=rep1&type=pdf은 디스크 표현이 알려져 있어도 NP 완성의 단위 디스크 그래프에서 최대 독립 집합 문제를 나타냅니다. 단위 디스크 그래프는 점을 평면에 배치하고 모든 점 쌍 사이에 최대 단위 거리만큼의 링크를 형성하여 얻는 그래프입니다.

그래서 다항식 시간에 문제를 풀 수 있다면 두 개의 선택된 점 사이의 가장 작은 거리가 하나 이상인 값을 찾을 때까지 K의 다른 값에 대한 단위 디스크 그래프에서이를 실행할 수 있다고 생각합니다. 이것은 다항식 시간에 NP 완전 문제를 푸는 단위 디스크 그래프에서 최대 독립 집합이라고 생각합니다.

(자전거에 뛰어 막 그래서 이것은 조금 돌진하지만, 적어도 최대 회전 수 단위 디스크 그래프 논문 유용한 검색 용어를 검색)

여기에 조각으로 그것을 조각을 설명하는 시도가있어 :

다음은 두 가지 문제를 관련 짓는 또 다른 시도입니다.

최대 독립 세트는 http://en.wikipedia.org/wiki/Maximum_independent_set#Finding_maximum_independent_sets을 참조하십시오. 이 문제의 결정 문제 버전은 "이 그래프에 K 개의 꼭지점이있어서 두 개가 모서리로 결합되지 않습니까?"입니다. 이 문제를 풀 수 있다면 가장 큰 K를 찾아 다른 K에 대해이 질문을하고 하나 이상의 노드가 삭제 된 그래프 버전에 대한 질문을함으로써 K 노드를 찾아서 최대 독립 집합을 찾을 수 있습니다.

단위 디스크 그래프에서 최대 독립 집합을 찾는 것이 NP 완전하다는 증거가 없습니다. 이에 대한 또 다른 참고 자료는 http://web.sau.edu/lilliskevinm/wirelessbib/ClarkColbournJohnson.pdf입니다.

문제의 판결 버전은 "어떤 두 점 사이에 적어도 D 점의 거리가있는 K 점이 있습니까?"입니다. 다시 다항식 시간으로 다항식 시간으로 원래의 문제를 풀 수 있다면 이것을 다항식 시간으로 풀 수 있습니다 - 답이 가장 큰 D를 찾을 때까지 주변을 놀고 점을 삭제하고 어떤 일이 일어나는지 봅니다.

단위 디스크 그래프는 두 점 사이의 거리가 1 이하일 때 정확하게 모서리를 갖습니다. 따라서 원래 문제의 결정 버전을 해결할 수 있다면 D = 1로 설정하고 문제를 해결함으로써 단위 디스크 그래프 문제의 결정 버전을 해결할 수 있습니다.

그래서 나는 당신이 당신의 문제를 해결할 수 있다면 NP 문제를 당신의 문제로 돌릴 수 있다는 것을 보여주는 일련의 연결을 구성했다고 생각합니다. 당신의 문제는 어렵다고 생각하게됩니다.

+0

꽤 흥미로운 접근 방법입니다. 실망 스럽습니다. 당신의 주장이 맞는지를 확인하는 것이 정신적으로 어렵다면, ( –

+0

나는 한 단계 씩 나의 논쟁을 진행하는 섹션을 추가하려고 시도했다. – mcdowella

관련 문제