サブセットの和とサブセットの積(NP硬度が強いか弱いか)


15

サブセット積問題が厳密にNP困難であり、サブセット和問題が弱いNP困難である理由を説明できる人がいるかもしれないと思っていました。

サブセット和は:考えるX={x1,...,xn}とT、サブセットが存在しないX′ように∑i∈X′xi=T。

サブセット製品は:考えるX={x1,...,xn}とT、サブセットが存在しないX′よう∏i∈X′xi=T。

私は常に、2つの問題は同等であると考えていました。SSのインスタンスは、べき乗を介してSPのインスタンスに変換でき、対数を介してSPのインスタンスはSSからSSに変換できます。これにより、両者は同じクラスのNPハードに属していると結論付けられました。つまり、両方ともNPハードではありませんでした。

さらに、同じ再発を使用して、非常にわずかな変更(SSの減算をSPの除算に置き換える)を使用して、動的プログラミングを使用して両方の問題を解決できるようです。

それは、私がバーナード・モレットの「計算理論」の第8章を読むまででした(本がない人のために、X3Cを介したサブセット製品の難しさの証拠があります-強いNP困難な問題です)。

削減については理解していますが、以前の結論(2つの問題の等価性)で何が間違っていたかはわかりません。


更新:サブセット積はNP完全に弱いだけです(ターゲット積は指数関数的です)。ゲーリーとジョンソンは1981年にNP完全性のコラムでこれを公開しましたが、それは彼らの本の以前の主張よりも目立たなかったと思います。Ω(n)


5
おそらく、動的プログラミングアルゴリズムをどのように実装するかを想像するのが良いでしょう。次に、何が間違っていたのかがわかります。
— 岡本芳雄

@ MohammadAl-Turkistany:このコラムの
— RDN

回答:


5

サブセット合計とサブセット製品の同等性の問題についてサブセット製品に関する技術があります。Tが指数関数でない場合、xの積= Tは実際には擬似多項式です!したがって、サブセット製品がNP Hardであることの証明は(技術的な理由により!!!)正確ではありません!

ただし、Tが大きいという約束が与えられた場合、対数によるサブセット和への還元は、実数を超えるNONSTANDARD SUBSET SUMを与えます!これは、サブセット合計の擬似多項式アルゴリズムが適用されないことを意味します!対数は小さいですが、小数点以下の桁は擬似多項式動的プログラミングを台無しにします!

これが役立つことを願っています

ゼラ


2
削減が不正確である(つまり、そうでない場合に強力なNP完全性を示すと主張する)ことに関して、あなたはずっと正しかったことがわかります。ありがとう!
— RDN

8

まず、SSからSPに行くためにべき乗を使用すると(ベースではなくベース2を使用して)動作しますが、関係する数値のサイズが大きくなります。弱いNP硬度とは、数値が小さい場合(より正確には、単項で表される場合)、問題はもはや難しくないことを意味します。したがって、べき乗を使用すると、SSの簡単なインスタンスでさえ指数のサイズのSPのインスタンスが作成されます。e

次に、対数を使用してSPからSSに移動することは機能しません。通常、対数は非整数値を生成するためです。SSとSPは整数を使用して定義され、対数はしばしば超越的な値になりますが、これは表現や計算が困難です。

<edit>

LET 整数であるA > 0次に、ログ2 Aであれば合理的であり、場合にのみ、Aは、さもなければ2のパワーであり、そして超越。まず、log 2 A = pの場合AA>0log2⁡AAゼロでない整数のためのpとqは、その後、A=2 Plog2⁡A=pqpq、Q=2P。したがって、素分解によりA=2rになります。さらに、A、R、Q=2Pので、所与のA、我々は選ぶことができ、Q=1かつP=R証明するログイン2AをA=2pqAq=2pA=2rArq=2pAq=1p=rlog2⁡A合理的です。

それ以外の場合、は超越的ではないことを示す必要があります。これは、から、次のGelfond、シュナイダーの定理同等の製剤(Wikiのページにありますように)場合」であるため、αとγがゼロでない代数的数であり、我々は、任意の非ゼロの対数取るαを、そして(ログγ )/(ログα )= ログα γは、いずれかの合理的か超越です。」これは、定理の逆を取って設定することで検証することも簡単であるα β = γので、βをlog2⁡Aαγα(log⁡γ)/(log⁡α)=logα⁡γαβ=γ。β=logα⁡γ

</edit>

最後に、SP上のSSから動的プログラミングアルゴリズムを試すとどうなるかを考えてください。合計ではなく積を使用するため、関係する数値が非常に大きくなり、必要な任意精度の計算が突然実行時間の要因になります。これが、数値が単項であっても、アルゴリズムがSPインスタンスを迅速に解決できない理由です。


これはやや興味深い特別なケースにつながります。ログは有理数として表現でき、無限の精度を必要としない数値のクラスは何ですか?この場合、問題は実際にほぼ同等であり、互いに縮小可能です。また、「自然な」近似アルゴリズムにつながるようです。
— vzn

1
すばらしい答えをありがとう!私は1つの問題しかありません-ログの取得が違法である理由がわかります(vznが指摘しているように、おそらくログの長さがポリの場合を除きます)が、SSからSPに移行する合法性についてはまだわかりませんべき乗を介して。あなたが言及したようにSSからSPに行く(べき乗を介して)WRTは、次の問題に遭遇しませんか:入力インスタンスのビット数はO (n log x )であり、ビット数はI S PのインスタンスはO (n x )です。これは指数関数的な爆発です。まだ合法ですか?もしそうなら、なぜですか?ISSO(nlog⁡x)ISPO(nx)
— RDN

1
@ vzn、RDN:対数が超越的である場合の特性評価を編集しました。リダクションの爆発については、「合法」の定義に依存します。リダクションは正しいが、その効率は多項式ではないため、NP硬度については何も言いません。したがって、これは正しいポリタイム削減ではありませんが、正しい修飾子です(修飾子なし)。
— アレックス10ブリンク

また、c = 2だけでなく、任意のcについて、すべての数値がの形式であり、各n iが有理数であるという特殊なケースもあります。私が考えていた近似アルゴリズムは、その「ベース」への値の変換がオリジナルに「近い」ようなcを見つけるかもしれません。cninicc=2c
— vzn

1

文字通りの説明は、3組による正確なカバーなど、NPが完全に強い問題を減らすことにより、サブセット積の問題がNPが完全であるということです。このような「強力な」削減では、入力整数は、結果のサブセット積問題のインスタンスの整数の数の多項式関数によって制限されます。

ない限り、このような「強い」削減は、NP完全問題からサブセット和問題へは不可能です。入力整数が多項式で制限されている場合、サブセット和問題を解くための多項式時間動的計画法アルゴリズムがあります。P=NP


はい、わかりました。私の質問は、以前に行った結論が間違っていた理由(つまり、SSとSPの等価性)についてでした。
— RDN

@rdn P = NPでない限り、その意味で同等のものはありません。
— モハマドアルトルコ

はい、わかりました。しかし、私はどちらの方向の私の削減で何が間違っていたか知りたいです。
— RDN

削減の概要を説明できますか?
— モハマドアルトルコ

ましょ SSとのインスタンスであるI (S P )= ⟨ Y 、Pは⟩ SPのインスタンスです。I (S S )をI (S P )に変換する:P = e SおよびY i = e X iとします。製品のSPが存在する場合、合計Sの SSが存在するI(SS)=⟨X,S⟩I(SP)=⟨Y,P⟩I(SS)I(SP)P=eSYi=eXiS。I (S P )を I (S S )に変換する: S = l o g (P )および X i = log (Y i)とします。和 S = log (P )の SSが存在する場合、積 Pの SPが存在します。P=eSI(SP)I(SS)S=log(P)Xi=log⁡(Yi)PS=log⁡(P)
— RDN
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.