セットカバー問題のこのバリアントは何として知られていますか?


12

入力は、宇宙であるの部分集合のファミリー、たとえば、。のサブセットがをカバーできると仮定します。つまり、です。U U F2 U F U E F E = UUUF2UFUEFE=U

インクリメンタルカバーシーケンスは、でサブセットのシーケンスである、たとえば、、満足することF A = { E 1E 2E | A | }FA={E1,E2,,E|A|}

1)、E AE FEA,EF

2)すべての新参者に新しい貢献があります。つまり、I > 1i>1I - 1 J = 1 E II 、J = 1 E Ii1j=1Eiij=1Eiです。

問題は、最大長の増分カバーシーケンスを見つけることです(つまり、最大| A ||A|)。最大長のシーケンスは最終的にUをカバーする必要があることに注意してくださいうんU。つまり、E A E = UEAE=Uです。

最長のインクリメンタルカバリングシーケンスを見つけるためのアルゴリズムまたは近似アルゴリズムを見つけようとしました。セットカバー問題のこの変種が何として知られているのかと思っていました。ありがとうございました!


ユニバースをカバーするには、サブセットファミリーが必要ですか?それはもちろん、追加のプロパティを持つセットカバーを探しているため、より難しいセットカバーの問題が発生する可能性があるためです。言い換えれば、セットカバーはあなたの問題を軽減します。セットカバーのウィキには、セットカバーの近似不可能な結果もあります。A UAU
ハリー14年

1
ただの観察(答えを出すには小さすぎる):サブセットのサイズが2の場合、探しているのは本質的にスパニングフォレストです。
デビッドエップシュタイン14年

おそらくOPに新しいものではありませんが、いくつかの観察結果があります。(1)最適値は常に最大で| U |です。最適値が| U |と等しいかどうか 覆われた要素の数を最小限にしようとする貪欲なアルゴリズムによって効率的に決定できるかどうか。(2)Fのすべてのセットのサイズが2である場合、同じ貪欲なアルゴリズムも機能します。DavidEppsteinのコメントを参照してください。(3)同じ欲張りアルゴリズムは、一般的に機能しません(ため息)。反例:F = {{1,2,3}、{1,4,5,6}、{2,4,5,6}、{3,4,5,6}}。
伊藤剛14

1
この問題は、実際にはセットカバー問題のようには見えません...二部グラフのマッチングと誘導マッチングのハイブリッドのようです。同等の優れた再定式化は、ファミリ内の厳密に1つのセットで要素がカバーされていない場合、ファミリは悪いということです。問題は、に不良なサブファミリーがないように、最大のサブファミリーを見つけることです。AAFFAA
daniello 14年

1
@Neal Youngは、が正確に1つのセット(つまり)でカバーされるため、悪くありません。FFbb{a,b}{a,b}
ダニエル14年

回答:


4

ここで、問題がNP完全であることを示します。

次のように、CNFを問題のインスタンスに変換します。CNFの変数があり、節があると仮定します。ここで、です。してみましょう労働組合のすべてのセットが完全に互いに素です。実際、および、はカーディナリティ任意のセットです。また意味、すべての修正長さの増加ファミリーで表さその内部、のためにN xはiは、 m個のC jは N < M U = IA IB IZ IA iは = { I J | X IC J } { I 0 } B iは = { bはI J | X IC J } n xim Cjn<mU=i(AiBiZi)Ai={ai,jxiCj}{ai,0}{ bはI 0 } Z iが k個= 2 N + 1つのZ = I ZのIのZ Iの k個のZ I Lが L = 1 ... K X I 2 K F A IZ I L個の B IZのIをL C J F Zは、xはIC jを { ABi={bi,jxiCj}{bi,0}Zik=2n+1Z=iZiZikZi,ll=1..k。すべての変数について、セット、および形式のすべてのセットを追加します。すべての節について、を含む 1つのセットを追加し、すべての要素およびすべての要素。xi2kFAiZi,lBiZi,lCjFZxiCjI J } ˉ X I C jの { B 、I J }{ai,j}x¯iCj{bi,j}

数式が充足可能であると仮定し、満足のいく割り当てを修正します。次に、が真かどうかに応じて、またはの形式のセットを選択します。これらは増分セットです。次に、句に対応するセットを追加します。条項が満たされているため、これらもサイズを増やし続けます。最後に、シーケンスがカバーするように、さらにセット(変数ごとに1セット)を追加することもできます。K A IZ I L個の B IZ I L、X I n個のk個のm個のK UkAiZi,lBiZi,lxinkmkU

ここで、セットがインクリメンタルシーケンスに配置されると仮定します。せいぜいという通知に対応するセットそれぞれのために選択することができる。したがって、インクリメンタルシーケンスに句セットがない場合は、最大でを選択できますが、これは少なすぎます。節セットが選択されるとすぐに、各に対応する最大で2セット、合計で最大セットを選択できることに注意してください。したがって、節セットが選択される前に、少なくとも個の変数セットを選択する必要があります。しかし、各について最大でを選択できるため、これはそれぞれについて少なくとも1つを選択したことを意味します。n(k+1)+mn(k+1)+mk+1k+1xixixixin(k+1)n(k+1)xixi2n2nn(k1)n(k1)k+1k+1xixi11、。これにより変数の「値」が決定されるため、「true」句のみを選択できます。k=2n+1k=2n+1

更新:の変更値からまでマルツィオで指さアウトとして。kknn2n+12n+1


1
明確化:私はすぐに充足不能式ための構成チェックX 1¬ X 1N = K = 1 M = 2)の我々は、一連のを構築することができると思わN K + 1 + 、M = 4Fのセットを増やします。おそらく、私は間違いを犯す:私たちが持っているF = { { 1 01 11x1¬x1n=k=1,m=2n(k+1)+m=4F2 Z 1 }{ B 1 0 B 1 1 B 1 2 Z 1 }{ 1 1 Z 1 }{ B 1 2 Z 1 }}F={{a1,0,a1,1,a1,2,z1},{b1,0,b1,1,b1,2,z1},{a1,1,z1},{b1,2,z1}}
マルツィオデビアシ14

あなたと私を知って、私は我々が取得すべきだと思う...間違いは私です確信しているFを = { { 1 01 1Z 1 } { B 1 0B 1 2Z 1 } { 1 1Z 1 } { B 1 2Z 1 } }F={{a1,0,a1,1,z1},{b1,0,b1,2,z1},{a1,1,z1},{b1,2,z1}}、もちろんそれはまだ問題です。OK、エラーが発生した場所がわかりました。すぐに修正します、thx!
domotorp

明日、それを見てみましょう!ただ、ノート、あなたは何である(コメントに)書くことができるFのためのx I¬ X Iおよびカバーシーケンス(それをk)の長さのための「目標値」とは何ですか?変更された答えでは、最初にk = 2 n + 1を設定し、次にn k + 1 + m = 2 n 2 + 2 n + mのセットがインクリメンタルシーケンスに配置されるため、それは正しいですか(まだ削減を試みていません)?Fxi¬xik=2n+1n(k+1)+m=2n2+2n+m
マルツィオ・デ・Biasi 14

F ={{ 1 0 1 1 Z 1}{ 1 0 1 1 Z 1 Z 2 }{ 1 0 1 1 Z 1 z 2 z 3 }{ b 1,0,b1,2,z1},{b1,0,b1,2,z1,z2},{b1,0,b1,2,z1,z2,z3},{a1,1,z1,z2,z3},{b1,2,z1,z2,z3}}F={{a1,0,a1,1,z1,},{a1,0,a1,1,z1,z2},{a1,0,a1,1,z1,z2,z3},{b1,0,b1,2,z1},{b1,0,b1,2,z1,z2},{b1,0,b1,2,z1,z2,z3},{a1,1,z1,z2,z3},{b1,2,z1,z2,z3}}
domotorp

I think this is correct as n(k+1)+m=6, but we only have length 5 incremental sequences.
domotorp

0

This is a set packing problem under the constraint that for the solution A, for any subset BA, we have that there is always an element in XBX, which is covered exactly once.

Proof: Given a solution to your problem, it immediately has this property. Indeed, if E1,,Em is the optimal solution to your problem, then consider a subset B of these sets, and assume Ei is the last set in this sequence appearing in B. By the required property that the solution is incremental, it follows that Ei covers an element that no prior set covers, which implies the above property.

As for the other direction, it also easy. Start from the solution A, find the element that is covered exactly once, set it as the last set in the sequence, remove this set, and repeat. QED.


This is a pretty natural problem....


Quick reminder: In the set packing problem, given a family of sets, find the maximal subset of sets, that comply with some additional constraint (say, no element is covered more than 10 times, etc).


Is this answer only proving that the question is natural, or is there something else you also claim?
domotorp

It's stating it in a simpler way. No?
Sariel Har-Peled

Yes, I agree to that.
domotorp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.