nxnの順列行列のセットS(n!の可能な順列行列のごく一部です)が与えられた場合、Tの行列の追加がすべての位置で少なくとも1になるように、Sの最小サイズのサブセットTを見つけるにはどうすればよいですか?
SがS_nの小さなサブグループであるこの問題に興味があります。貪欲なアルゴリズムよりもはるかに速い近似アルゴリズムを見つける(そして実装する)ことが可能かどうか疑問に思っています(「ラッキー」になるまで何度も実行しますが、これは非常に遅い手順ですが、それにもかかわらずいくつかの最適範囲に近づいています)小さい場合)、または近寄れないことが保証できないかどうか。
この問題に関する簡単な事実:長さnの順列行列の巡回グループは、もちろん最適にこの問題を解決します。(各置換行列にはn個の1があり、n ^ 2個の行列が必要であるため、少なくともn個の行列が必要です。)
私が興味を持っているセットSには、n環式グループがありません。
この問題は、セットカバーの非常に特殊なケースです。実際、Xをn ^ 2個の要素を持つ集合(1,2、... n)*(1,2、... n)とすると、各置換行列はサイズnのサブセットに対応し、I Xをカバーするこれらのサブセットの最小のサブコレクションを探しています。セットカバー自体は、一般的なセットカバー問題の近似なので、この問題を確認する良い方法ではありません。
貪欲なアプローチを使用してこの問題がそれほど遅くない唯一の理由は、順列グループの対称性が多くの冗長性を排除するのに役立つからです。特に、Sがサブグループで、Tが最小のカバーセットである小さなサブセットである場合、セットsT(グループsの任意の要素にTを掛ける)はまだSにあり、カバーセット(もちろん)です。同じサイズなので、まだ最小です。)疑問に思った場合、成功したケースにはn〜30と| S |〜1000があり、幸運な貪欲な結果には| T |があります。〜37。n〜50のケースには、取得に非常に長い時間がかかる非常に貧弱な境界があります。
要約すると、この問題に対する近似アプローチがあるのか、それとも一般的な集合カバー問題のように、いくつかの非近似性の定理に収まるほど一般的であるのか疑問に思っています。実際に関連する問題を近似するためにどのアルゴリズムが使用されていますか?サブセットはすべて同じサイズであり、すべての要素は同じ小さな頻度1 / nで表示されるため、何か可能性があるようです。
-B