有限集合 S と S の部分集合のリストがあるとします。次に、集合パッキング問題で、リスト内の k 個の部分集合が対素であるかどうかを尋ねます。この問題の最適化バージョンである最大セット パッキングでは、リスト内の対ごとに素なセットの最大数を求めます。
http://en.wikipedia.org/wiki/Set_packing
だから、しましょうS = {1,2,3,4,5,6,7,8,9,10}
and `Sa = {1,2,3,4}`
and `Sb = {4,5,6}`
and `Sc = {5,6,7,8}`
and `Sd = {9,10}`
この場合、対素集合の最大数は 3 ( Sa, Sc, Sd ) です。
関連するアルゴリズムに関する記事は見つかりませんでした。同じことに光を当てることができますか?
私のアプローチ:
サイズに応じてセットを並べ替えます。最小サイズのセットから始めます。次のセットの要素が現在のセットと交差しない場合、セットを結合して最大セットの数を増やします。これでよろしいでしょうか?より良いアイデアはありますか?