回答:
実際には、特別から一般への削減がすでにあります。設定することにより、基本的に一般的なアルゴリズムを使用して特別な問題を解決します。
逆の場合(つまり、一般的なものから特別なものへの削減):
もしセット与えられると仮定と数し、いくつかのサブセットがあるかどうかを決定する必要がに合計。K S K
ここで、一部のサブセットの合計がかどうかを判断できる場合のアルゴリズムを考えて、この問題を解決し。
場合、簡単な削減ができます。S ′ = { x 1、x 2、… 、x n、− K }
和のサブセット有するときに限り和のサブセット有する。S K
この問題は、一部のに対してを使用できる場合に発生します。I
(なぜ?)と仮定できます。
正の合計がで、負のがます。 P x i N
次に、新しいセットを作成します。
M = P + | N | + Kここで、。
各。
次に、セットでゼロサブセット和アルゴリズムを実行します
に和サブセットがある場合、上記のセットの少なくとも1つに和ゼロのサブセットがあることを示すのは簡単です。K
私はあなたに他の方向の証明を任せます。
Aryabhataの答えは、すべての数値に大きな掛けることができるという事実を利用することで修正できます。次に、それぞれに小さな「プレゼンスタグ」のように動作するものを追加し、それらなしでできる場合、ゼロに到達します。具体的には、プレゼンスタグとしてと1を使用します。c K c = 2 (n + 1 )
ターゲット値一般的な問題のインスタンスが与えられた場合、以下を含む特定の問題のインスタンス(ターゲット値0)を作成します。
その場合、一般的なケースを特別なケースに変換する必要はまったくありません!)
そして、用語を並べ替えることができます:
これは前の方程式に直接代入して戻すことができます
これにより、元の一般的な問題のインスタンスに対する解決策が得られます。