このカバーの問題の複雑さは何ですか?


24

編集:最初に制約(2)を誤って公式化しましたが、現在は修正されています。さらに情報と例も追加しました。

他のアルゴリズムの質問を研究している同僚と一緒に、問題を次の興味深い問題にまで減らすことができましたが、その複雑さの問題を解決することはできませんでした。問題は次のとおりです。

インスタンス:整数、整数、および集合の組からペア。k < n S = { { s 1t 1 } { s nt n } }nk<nS={{s1,t1},,{sn,tn}}{ 1 n }n{1,,n}

質問:あるの集合サイズの各要素のためにそのようなの: (1)場合、間隔でありますペアで定義されるいくつかの区間含まれ、(2)少なくとも1つペアに属しますか? (2)はペアに属します。K I { 1 ... N } 、I < N [ I I + 1 ] [ ItはIをSSki{1,,n}
i<n[i,i+1][si,ti]i i + 1 S i S S
ii+1S
iS

実施例
セット実行可能解である(仮定偶数である):対は条件(1)を保証しますが、他のすべてのペアは条件(2)を保証します。n { 1 n }{{i,i+1} | i  is odd}{1,n}n{1,n}

解説
(I)各ペアには厳密に2つの要素が含まれているため、条件(2)を満たすためには、少なくともペアが必要です。ところで、これはを想定しているため、全体を返すことにより、自明な2近似を意味します。 S| S| n個n2S|S|n

(II)問題を見るもう1つの方法は、ステップ(以下のような)の梯子を、梯子のサイクルの集合と一緒に考えることです。はしごの各ステップはいくつかの要素に対応し、各側端は間隔です。ステップを含むサイクルは、ペア正確に対応します。これは、と間連続するすべての間隔をカバーし、と両方で停止します。問題は、セットがあるかどうかですnN [ I I + 1 ] 、S T { S T } S T S T S 'S KSn[i,i+1]s,t{s,t}stst
SSk結合がはしごのすべてのエッジ(ステップエッジとサイドエッジを含む)をカバーするサイクル。

(III)条件(1)のみを求めている場合、問題は、のペアと追加の小さな間隔によって与えられる間隔定義されるある区間グラフの支配集合問題に対応しますそれぞれについてで。この問題は、古典的に線形時間で解決できます(たとえば、こちらを参照)。同様に、条件(2)を求めるだけの場合、これはエッジカバー問題(頂点は要素、エッジはペア)に還元できます。これは、最大マッチングアプローチによって多項式時間で解くことができます。S [ i + ϵ i + 1 ϵ ] i { 1 n 1 }[si,ti]S[i+ϵ,i+1ϵ]i{1,,n1}


だから私の質問はタイトルにあります:

この問題はPにありますか?NP完全ですか?

同様の問題への言及は大歓迎です。


1
それは中間のどこかにあるかもしれません…それがグラフ同型と同等ではないことを誰が知っているでしょうか?:)
伊藤剛

確かに、それも選択肢です...しかし、実際には、この「におい」がPにあると感じています-多分私はそれがそうであることを望んでいるので:)
フローレントフーコー

実行可能なソリューションのサイズがなければならないのはなぜですか?ペアのセット{ }が実行不可能な理由を説明してください。 [1n1][2n]n2[1,n1],[2,n]
hbm

@hbm:提案しているソリューションは条件(2)を満たしていません(更新前の制約があっても)。私は今より多くの説明を含めました、それがより明確であることを望みます。
フローレントフーコー

k = n / 2はどうですか?この特殊なケースの問題を解決できますか?
-domotorp

回答:


8

これはあなたが提起する問題を解決しませんが、以前のコメントのいくつかは近似アルゴリズムを考慮しています。FWIW、私はPTAS(ポリタイム近似スキーム)が動的プログラミングを使用して可能だと思います。これがアイデアです。

任意のインスタンスと与えられた場合、次のようにソリューションを構築します。すべての番目の頂点をマークします。頂点マークそれぞれについて、エッジの全ての「スパン」という(満たすための制約条件(1)は、すなわち、、最小化のことを一つのエッジを選択)とに、1つ最小化が最大に。これらのエッジをソリューションに追加します。1 / ϵ i j k i i j k 2 ϵ nϵ>0(1/ϵ)i(j,k)iijk2ϵn

これらのエッジは、多くの頂点のタイプ(1)の制約を満たします。一方、それらはソリューションにエッジを提供します。これはです。最後に、残りのすべてのタイプ(1)およびタイプ(2)の制約を満たすエッジのセットを見つけるという残りの問題に対する最適なソリューションを見つけます。O ϵ OPT2nϵO(ϵOPT)

頂点の「ブロック」を、これまでに追加されたエッジによってタイプ(1)制約が満たされる連続した頂点のセットになるように定義します。連続する2つのブロックの間には、タイプ(1)の制約が満たされない頂点のシーケンスがあります。(このようなシーケンスの長さは最大で。これは、マークされた頂点のタイプ(1)制約が既に追加されたエッジによって満たされるためです。)そのようなシーケンスを2つの隣接ブロックの「近傍」と呼びます(したがって、各ブロックはその左にある近所とその右にある近所)。1/ϵ

各近傍内で、近傍内の各頂点について、頂点を離れる各エッジは、最大で距離に広がります(エッジはマークされた頂点にまたがらないため)。したがって、頂点の次数は最大です。したがって、各近傍には最大で頂点があり、最大でエッジに接触します。これらのエッジのサブセットを、近傍の「構成」と呼びます。構成が近隣の頂点のタイプ(1)およびタイプ(2)の制約をすべて満たしている場合、構成を「有効」と呼びます。1 / ϵ 1 / ϵ 1 / ϵ 21/ϵ1/ϵ1/ϵ1/ϵ2

各ブロックについて、ブロックの2つの近傍の有効な構成の各ペアについて、(多項式時間で、最大一致などを使用して)最小サイズのエッジがブロック内の頂点のタイプ(2)制約を満たすエッジのセット(存在する場合)。最大で構成があるため、これは多項式時間で実行できます(固定epsの場合)。 C IC I + 1F IC IC I + 1S C IS C I + 1 2 1 / ε 2 = O 1 i(Ci,Ci+1)Fi(Ci,Ci+1)SCiSCi+121/ϵ2=O(1)

これで、有効な構成のシーケンスを見つけることにより、元のインスタンスを解決でき各近隣に1つあり、を最小化します、ここでは前の段落で定義したです。これは、すべての有効な構成によって形成されるグラフで最短コストパスを見つけることで実行できます。コストのエッジは各構成から近隣各構成に近隣。(このグラフのサイズは、これは固定です。)i | D i | + F iD iD i + 1F i | D i | + F iD iD i + 1D i i D i + 1 i + 1 O 2 1D1,D2,..,Dki|Di|+Fi(Di,Di+1)Fi|Di|+Fi(Di,Di+1)DiiDi+1i+1OnϵO(21/ϵ2n)O(n)ϵ


1
いいね そしてcstheoryへようこそ!
スレシュヴェンカト

答えてくれてありがとう、ニール(そして、申し訳ありませんが、これを以前に確認する時間がありませんでした)!これは私の質問に完全に答えているわけではありませんが、それでも一歩前進です。ちょうど2つのコメント:「kを最小化」ではなく「kを最大化」する必要があると思います(2番目の段落)。また、正確に言うと、()近似が必要な場合は、のすべての頂点をマークする必要があります(から最初のステップでエッジ)。K = 4 / ε O P T N / 2 2 N / K ε O P T1+ϵk=4/ϵOPTn/22n/kϵOPT
フローレントフーコー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.