有向グラフ診断がNP困難であることの証明


11

宿題をしていて、しばらく頭をぶつけてしまいました。ヒントがあれば教えてください。それは、既知の問題を選択し、そのNP完全性が証明され、その問題から次の問題への還元を構築することについてです。DGD(有向グラフ診断)と呼びます。

問題

DGD のインスタンスは、頂点V = Iで構成されます。∪ O 。∪ B、有向エッジE及び正の整数K。頂点には3つのタイプがあります。入力エッジのみを持つ頂点I、出力エッジのみを持つ頂点O、および入力エッジと出力エッジBの両方を持つ頂点です。さらにD = O × Iとします。(V,E,k)V=I∪.O∪.BEkIOBD=O×I

さて、問題は、我々は最大で持つすべてのノードをカバーできるかどうかであるの要素D、すなわちkD

∃S⊆D,|S|≤k. ∀v∈V. ∃(v1,v2)∈S. v1→∗v→∗v2

ここでは、aからbへの有向パスがあることを意味します。a→∗bab


支配集合の問題は、私が削減すべき問題だと思います。これも、ノードのサブセットを別のサブセットでカバーすることに関係しているためです。最初に支配セットの要素ごとに2つのノードを作成し、すべてのエッジをコピーして、DGDインスタンスのをDSインスタンスのkに等しく設定して、DGDインスタンスを作成しようとしました。k

ノードと単純DS-インスタンスを想定、2及び3とエッジ(1 、2 )及び(1 、3 )。これはk = 1のはいインスタンスです。この場合の支配セットはノード1のみで構成されています。今説明した方法で削減すると、これは2つのパス(1 → 2 → 1 ′)と(1 → 3 → 1 ′)を持つDGDインスタンスにつながります。123(1,2)(1,3)k=11(1→2→1′)(1→3→1′); 、ただ一組のすべてのノードをカバーするために十分であろう。DSインスタンスの支配的なセットが、もちろん、多項式時間で決定できないという事実がなければ、これは完全に機能しました。これは、ここでの要件です。(1,1′)

削減時にエッジと頂点を変換する見栄えの良い方法がたくさんあることがわかりましたが、私の問題は、DSのkでDGDのどういうわけか表現することです。支配セットは削減するのにふさわしい問題のように見えましたが、そのため、おそらく私はそのようなkがない問題から削減しようとするべきだと思いますか?kkk


ようこそ!問題の説明を明確にしようとしました。これはどういう意味ですか?ところで、「user8879」よりもわかりやすいユーザー名を選択することをお勧めします。:)
— ラファエル

はい、ありがとうございます。これは確かによりコンパクトなバージョンです。
— user8879 2012年

回答:


9

代わりに、NP完全なSET-COVERから削減してください。

S1,…,Sm⊆{1,…,n}k∈N(V,E,k′)

  • V={s1,…,sm,o1,…,om,e1,…,en,o}
  • E={(si,oi)∣i=1,…,n}∪{(si,ej)∣j∈Si}∪{(ej,o)∣j=1,…,n}
  • k′=m+k

m(si,oi)oikm(si,o)ej

≤p


{1,2,3,4,5}S={{1,2,3},{2,4},{3,4},{4,5}}

例
[ ソース ]


1
これはほぼ正しいです。つまり、IとBは確かに完全にカバーされていますが、Oはカバーされていません。set-coverインスタンスはk = 2のyesインスタンスですが、DGDインスタンスではk = 2はs2とs3をカバーしないままにします。これはおそらくOの各ノードからoにエッジを自動的に追加することで解決できると思います。
— user8879 2012年

(si,o)siS

今それを得た:に追加のノードを作成B内の各ノードのOそれは、ノードに対応するいにリンク、OとにO。この例では、4つの追加パス(s1-> s1 '-> oなど)を取得します。最後に、kを4で増やした後、完全になります。
— user8879 2012年

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