2011-03-08 7 views
1

次の問題のアルゴリズムまたは関連する作業はありますか?最小限の移動で交差点をなくすために線分を移動するにはどうすればよいですか?

2次元の線分の集合が与えられている場合、全体の動きを最小限に抑えるために線分(水平または垂直)を移動して交点を削除する方法はありますか?終点の交差点を許可することができます。

+0

どのように最小限に定義しますか?最小の移動回数または距離の距離/二乗の合計の最小値? – biziclop

+0

また、ラインエンドポイントを別々に移動できますか?または、ラインの長さと向きがconstですか? – LumpN

答えて

0

あなたは、セグメントの動きの数を最小限にしたい場合:

あなたはグラフの問題に線分の問題を変換することができますに: 各セグメントは、グラフの頂点であるとあれば、2つの頂点間のエッジがあります2つのセグメントが互いに交差する。すべてのエッジの少なくとも1つの端点を含む頂点の最小数を探したいとします(これらのすべてのセグメントを移動すると交差がなくなるためです)。これは頂点カバーの問題ですが、残念ながらNPハードですが、近似アルゴリズムがあります。

参照:http://en.wikipedia.org/wiki/Vertex_cover_problem

関連する問題