nポイント セットのコレクションがあり、各ポイント セットには最大mポイントが含まれます。
ポイントの選択結果ができるだけ近くなるように、各ポイント セットから 1 つのポイントを選択したいと考えています。(ここで、「近さ」には、選択した一連の点の重心からの距離の 2 乗の合計のように、合理的な定義があります。)
たとえば、入力コレクションは次のようになります。
Point Set A: [(2, 1), (1, 2), (6, 5)]
Point Set B: [(1, 1), (7, 3)]
Point Set C: [(3, 7), (5, 3)]
各ポイント セットから 1 つずつ、ポイントが最も近い 3 つのポイントを選択します。この例では、左下の 3 つの点が最も近くなっていますが、C からの点は含まれていません。ここでの解は、右側の点 (6, 5)、(7, 3)、および(5、3)。これらは、重心 (6, 3⅔) の周りに集まっています。
ブルート フォース アルゴリズムは、コレクションからのポイントのすべての可能な組み合わせを試行し、「近さ」関数 (つまり、 O(m^n)アルゴリズム)の最小値を追跡しますが、より効率的な方法があるかどうか疑問に思っています。nとmの大きな値に対応する方法- 最悪の場合ではないにしても、少なくともほとんどの入力に対して。
更新: ポイントは座標として実際の値を持ちます。上記では、例を簡略化するために整数が使用されています。