「最少識別ビット」問題はNP完全ですか?


14

それがこの問題を補った名前です。以前にどこかで説明されたことを見たことはありません。この問題に対するNP完全性の証明も多項式時間アルゴリズムもまだ見つけることができませんでした。それは宿題の問題ではなく、仕事で出くわした問題に関連しています。

最少の差別ビット

インスタンス:ビットベクトルを含むセットT。各ビットベクトルは正確にNビット長です。数学のセットから期待されるように、Tのすべての要素は一意です。整数K <N。

質問:TのすべてのベクトルからBのビットを除くすべてのビットを削除すると、残りの短いベクトルがすべてなるように、最大​​Kビット位置(つまり、範囲[0、N-1]の整数)のセットBがありますまだユニークですか?

例1:インスタンスN = 5、T = {00010、11010、01101、00001}、K = 2の場合、ビット位置B = {0,3}を選択できるため、答えはイエスです。ビット位置0が右端であり、ビット位置番号が右から左に増えるという規則を使用して、TのベクトルからB以外のすべてのビット位置を削除し、T '= {00、10、11、01}を残します。そしてそれらはすべてユニークです。

例2:N = 5、T = {00000、00001、00001、00100}、K = 2。答えはノーです。選択する2つのビット位置に関係なく、2ビットベクトルはいずれも11に等しくないため、2ビットベクトルのうち少なくとも2つは互いに等しくなります。

もちろん、この問題を解決するには、Nビット位置のサイズKを持つすべての(NがKを選択)サブセットを列挙し、質問の条件を満たすものを決定します。ただし、それは入力サイズでは指数関数的です。


回答:


18

この問題はNP完全です。3-SATからの削減に基づく証明は次のとおりです。

変数とm個の句を含む3-SATのインスタンスを考えます。我々が構築します2つのN + 2 Mの長さのビットベクトル( "行")2 N + ログ2N + Mを弁別ビットの最小数であるように、N + ログ2N + M 元の3-SATインスタンスが満たされる場合。nm2n+2m2n+log2(n+m)n+log2(n+m)

ビットがリテラルに対応する{ X 1¬ のx 1xは2を¬ X 2xはN¬ X N }。これらのビットに関して、最初の2 m行はペアになり、最初の行は対応する句に含まれる各リテラルに対して1を持ち、2番目の行は完全に0で構成されます。残りの2 n2n{x1,¬x1,x2,¬x2,...,xn,¬xn}2m102n行も有することになる最初のうち対に来る '対応する文字とその否定のための、および全体の構成されますれた第2 0の。最後に、最後はログ2N + M ビットから、そのインデックスを持つ行の各対の「サイン」に使用される0N + M - 1、バイナリで書かれました。10log2(n+m)0n+m1

n+mlog2(n+m)n+log2(n+m)xi¬xiin+log2(n+m)2n+2mxi¬xiin


ありがとう!賢く、それを見るのは簡単で、イエスの答えを保存します(OK、それを言う前に少なくとも20分間考えなければなりませんでした。)
andy_fingerhut

14

NP完全性の証明がすでに提供され、価値が、この問題は、最小テストセットの問題([SP6]知らNP完全問題と等価と呼ばれていることを指摘される可能性がありますGareyとジョンソンとも呼ばれ、最小限のテストコレクション問題):セットの役割とポジションの役割を交換するだけです。


2
ああ。優れた点。
Suresh Venkat

@伊藤剛:最小テスト収集の問題はNP完全です。最大最小テストセットに興味がありますが、複雑は何ですか?つまり、最小限のテストコレクションで最大のカーディナリティは何ですか。
eng張
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.