2016-05-24 10 views
2

私は既知のx-y座標を持つ2次元平面上に100点のグループを持っています。私は正確に4つの点が各円に存在するように25の円を描きたい。各点は正確に1つの円に入っていなければならない。進める方法についての基本的なアルゴリズムを提供できますか?円で点集合をクラスタリングする

注:私はk-meansを含むいくつかのアルゴリズムを見てきましたが、私が望むものはまったくありませんでした。私はPython/go/matlab/cを知っていますが、その言語でいくつかの特定のモジュールがあるかもしれません。

+1

クラスタリングは間違ったツールです。 ** set cover **の問題を見ていますが、これは残念ながらNP困難です。 k-meansやその他のクラスタリングアルゴリズムは、おそらく使用できません。 –

答えて

2

解決策がない設定がいくつかあると思います。

Impossible example with 20 points

どれ山登りアルゴリズムは局所的な最大値にはまり込むことができます。

4つのポイントグループのすべての組み合わせを列挙し、各グループの周りに円を当てるようにすることもできますが、ぴったり一致するサークルの場合は、最もきつい円で解決できません。そして、コンビナトリアル爆発はこの方法を実現不可能にするかもしれない。