単純なアルゴリズムに勝る次の問題の既知のアルゴリズムはありますか?
入力:行列とベクトルb 、c。ここで、A 、b 、cのすべてのエントリは非負の整数です。
出力:最適なソリューションに最大{ C T X :A X ≤ B 、X ∈ { 0 、1 } N }。
この質問は、以前の質問0-1プログラミングのための正確な指数時間アルゴリズムの改良版です。
単純なアルゴリズムに勝る次の問題の既知のアルゴリズムはありますか?
入力:行列とベクトルb 、c。ここで、A 、b 、cのすべてのエントリは非負の整数です。
出力:最適なソリューションに最大{ C T X :A X ≤ B 、X ∈ { 0 、1 } N }。
この質問は、以前の質問0-1プログラミングのための正確な指数時間アルゴリズムの改良版です。
回答:
の非ゼロ係数の数がnで線形の場合、2 n時間未満でこの問題を解決するアルゴリズムがあります。
これがどのように機能するかです。最適化問題とそれに対応する決定問題の間の標準的な接続を使用します。溶液が存在するかどうかをテストするためにここでA X ≤ B及びCをT X ≥ α、我々は決定問題を形成する:我々は隣接う制約C T X ≥ α行列にA任意の存在、およびテストするかどうか、Xは、そのようなそのA X ≤ Bおよび- C T X ≤ - α。特に、我々は、新しい行列形成する取ることによってAをと含む余分な行を追加- cはTを、そして我々が形成し、Bを「取ることによってBをとで、余分な行に隣接します- α。我々は決定問題を得た:存在しないX ∈ { 0 、1 } NようにA ' X ≤ B '?この決定問題への答えは、値αの元の最適化問題の解決策が存在するかどうかを示します以上。さらに、前の質問の回答で説明したように、この決定問題は、A の非ゼロ係数の数がnで線形の場合(したがって、非ゼロの数の場合)、時間未満で解決できます。Aの係数はnで線形です)。これで、αのバイナリ検索を使用して、2 n時間未満で最適化問題を解くことができます。
この回答の以前のバージョンのデバッグを支援してくれたAustinBuchananとStefan Schneiderに感謝します。
我々は最小化問題を考える場合アルゴリズムは時間で実行されていることを、次の還元ショーO (2 δ N / 2)のためのδの< 1はSETHを反証します。再定式化は、意図された問題(最大化バージョン)に対して同じ結果を証明します。
インスタンスが与え変数とCNF-SATの{ XのJ } N J = 1を、二つの変数と0-1 IPを処方Y 、J、¯ Y jの各変数についてのx jを SATにインスタンス。いつものように、句(X 1 ∨ ¯ X 2 ∨ X 3)として表現されるY 1 + ¯ Y 2 +。次いで、すべての変数のためのX jの SATインスタンスで、制約の追加のy J + ¯ Y J ≥ 1。目的は、最小限に抑えることである Σ nは、J = 1(Y J + ¯ Y jで)。IPの目的は次のようになります n個 SATインスタンス場合に限っ充足可能。
修正してくれたStefan Schneiderに感謝します。
更新:でCNF-土などのハードとしての問題点 SETカバーは時間で解くことができないことを著者らは推測、δ < 1、N組の数を指します。trueの場合、これは私の問題は、時間で解くことができないことを示すだろうO (2 δのN)なども。
これまで私が言うことができるようにアップデート2.として、SETHを想定し、私の問題は、時間で解決することはできませんあるため、示されている(サイズのグランド・セットで設定叩くことのn)時間で解くことができないO (2 δ N)。