0

(2 ~ 4) 個の数値の異なるセット(最大 100個) があります。セット内のセットまたは番号の順序は重要ではありません。最大数はセット数に関連し、30 まで上がります。

{1 2 3 4} {1 2 3 5} {1 2 3} {1 2 4 5} {6 2 4} {6 7 8 9} {6 7 9} {7 8 9} {2 4 8 9}

目標は、これらのセットを特定の順序で並べ、2 つの連続するセットに共通の数が含まれないようにすることです。あれは

{1 2 3 4} {2 4 8 9}

悪いです(2のため)。と

{1 2 3 4} {6 7 8 9}

いいね。

もちろん、特に与えられた例では、これはセットのセット全体では不可能です。ただし、ルールに違反するセットの数はほぼ最小限に抑える必要があります。

比較的多数のセットでは、ブルートフォース+スコアリングアルゴリズムは実行できないと思います。この問題を解決するための決定論的アルゴリズムに関する他のアイデアやヒントはありますか?

シャッフル + スコア アルゴリズムは適切な解決策を見つけることができると思いますか?

4

2 に答える 2

2

セットからグラフを作成できます。ここで、頂点はセットであり、それらがリスト内で連続している場合 (つまり、共通の要素がない場合) はそれらの間にエッジがあります。

これで、NP 困難な問題であるハミルトニアン パスを見つける任意のアルゴリズムを実行できます。

于 2009-09-19T06:40:35.580 に答える
0

はい、アルゴリズムが適切に設計されていれば可能だと思います。これは、2.7 * 10^5の操作で60個の「セット」について同様の問題を解決する例ですその数は、平均的な最新のコンピューターには適切なようです。

于 2009-09-19T07:26:37.500 に答える