入力ビットと出力ビットの回路が順列を計算するかどうかを決定する複雑さは何ですか?言い換えると、すべてのビット文字列 が、何らかの入力に対する回路の出力であるかどうかです。調査された問題のように見えますが、参考文献が見つかりません。
入力ビットと出力ビットの回路が順列を計算するかどうかを決定する複雑さは何ですか?言い換えると、すべてのビット文字列 が、何らかの入力に対する回路の出力であるかどうかです。調査された問題のように見えますが、参考文献が見つかりません。
回答:
質問に対するコメントに続いて、各出力ビットが最大k入力ビットに依存する回路を「NC 0 k回路」と呼びます。この用語を使用すると、NC 0 5回路の場合、問題はcoNP完全です。つまり、次の問題はcoNP完全です。
インスタンス:n個の入力ビットとn個の出力ビットを持つブール回路C。各出力ビットは最大5つの入力ビットに依存します。質問:{0,1} nからそれ自体へのマッピングはC全単射で計算されますか?
Kavehがコメントしたように、各出力ビットが依存する入力ビットの数に制限がなくても、明らかにcoNPにあります。coNP-hardnessを証明するために、3SATを現在の問題を補完するものに減らします。削減の重要な考え方は、質問に対するコメントで言及したDurandの論文[Dur94]で使用されているものと同じですが、この場合、全体の削減ははるかに簡単です。
n個の変数とm個の句を含む3CNF式φが与えられた場合、次のように(n + m)入力ビットと(n + m)出力ビットを持つブール回路Cを構築します。入力ビットにx 1、…、x n、y 1、…、y mのラベルを付け、出力ビットにx ′ 1、…、x ′ n、z 1、…、z mのラベルを付けます。入力ビットx1、…、x nは、φのn個の変数への真の割り当てを指定します。
各出力ビットは最大5つの入力ビットに依存することに注意してください。縮約の正しさの証明は省略しますが、重要な考え方([Dur94]から借りたもの)は、φが充足可能で、入力ビットx 1、…、x nがφの満足できる割り当てに設定されている場合です。m個の出力ビットZ 1、...、Z mが偶数パリティを有するように制約され、したがって回路は置換することができません。一方、入力ビットx 1、…、x nがφの不満足な割り当てに設定されている場合、出力ビットz1、…、z mは任意に設定できます。このため、φが満足できない場合、回路は順列です。
扱いやすい側では、NC 0 2回路の場合、問題はPにあります。これは次のように表示されます。一般に、順列のブール回路の各出力ビットはバランスが取れています。つまり、入力文字列のちょうど半分が出力ビットを1に設定します。ただし、{0,1} 2から{0,1}までのすべての平衡ブール関数はアフィンです。すなわち、単一の入力ビットのコピー、2つの入力ビットのXOR、またはそれらの否定。したがって、最初に各出力ビットのバランスが取れていることを確認してから、ガウス消去法によって全単射性を確認できます。
NC 0 3回線の場合、またはNC 0 4回線の場合の複雑さはわかりません。
[Dur94]ブルーノ・デュランド。2Dセルラオートマトンの反転:いくつかの複雑な結果。 理論計算機科学、134(2):387から401まで、11月1994年DOI:10.1016 / 0304から3975(94)90244から5。