2013-09-05 2 views
4

N=200 points (x와 y 좌표는 알려진 곳)이 평면에 분포되어 있습니다.평면에 분산 된 점에서 분산 분산을 선택하십시오.

그 중 M=10을 선택하고 그 안에 M*(M-1)/2 = 10 * 9/2 = 45 개의 가장자리가 있습니다.

나는 10 점을 충분히 분산시켜야합니다. 즉, 최소 모서리의 최대 길이를 부여하는 방식으로 포인트를 선택하고 싶습니다.

은 즉, 내가 선택한 10 점을 변화시킴으로써 기능

F = min (lengths_of_all_45_edges)의 최적화 문제 (찾는 최대)를 해결하고 싶습니다.

빠른 알고리즘을 구현하려면?

+1

"충분히 큰"의미가 무엇인지 명확히하지 않습니다. 거리가 특정 임계 값보다 높거나 최대화되어야합니까? 후자라면 최대화 할 대상 - 선택한 모든 점 또는 다른 점 사이의 거리? 자세한 내용을 알려주십시오. –

+1

또한 "일부"는 고정 된 수의 포인트입니까? 그렇지 않다면, 당신은 어떤 기준을 생각하고 있습니까? – microtherion

+0

@PavelK 설명을 업데이트했습니다 :) – ThunderEX

답변

0

최소 스패닝 트리를 얻은 다음 최단 경로를 만드는 10 개의 에지를 찾을 수 있습니다.