しきい値ゲートが1つしかない算術回路


21

制限するとき0 - 1入力、すべての{+,×} -circuit F(x1,…,xn)ある関数計算F:{0,1}n→N。ブール関数を取得するには、出力ゲートとして1つのfanin-1しきい値ゲートを追加するだけです。入力上のa∈{0,1}n、得られた閾値 {+,×} -回路は、次に出力1であればF(a)≥t、及び出力0であればF(a)≤t−1。しきい値t=tnは任意の正の整数にすることができ、これは入力値ではなく依存する場合nがあります。得られた回路は、いくつかの(単調)を計算ブール関数 F′:{0,1}n→{0,1}。

質問:しきい値{+,×} -circuitsは{∨,∧} -circuits によって効率的にシミュレート できますか?

「効率的に」とは、「最大で多項式サイズの増加を伴う」ことを意味します。答えは、しきい値のために「はい」と明らかであるt=1:ちょうど置き換える+によって∨、×で∧、そして最後のしきい値ゲートを削除します。つまり、{∨,∧}回路は実際にはしきい値1 {+,×}回路です。しかし、より大きなしきい値、たとえばt=2どうでしょうか?

一つは、算術類似定義することができる#C最もブール回路のクラスC単に使用することによって+ 、代わりにOR ×代わりにAND、及び1−xi代わりにx¯i。たとえば、#AC0回路は{+,×} -無限のファンイン+および×ゲートを持つ一定の深さの回路であり、入力xiおよび1−xiです。 アグラワル、Allenderとダッタは、示されたその閾値#AC0 = TC0。(AC0自体はT C 0の適切なサブセットであることを思い出してください。たとえば、マジョリティ関数を使用してください。)つまり、一定の深さのしきい値回路は、一定の深さ{ + 、- 、× } -単一のしきい値ゲートを備えた回路!ただし、私の質問は約あることを単調回路(ノーマイナス「-」ゲートとして、さらにはありません1 -TC0{+,−,×}−1−xi入力として x i)。その場合も、1つの(最後の)しきい値ゲートを非常に強力にすることができますか?私はこのことを知らないので、関連するポインタは大歓迎です。

NBはまだ別の興味深い関連ある結果 によるアーノルドRosenbloomに:一つだけで-circuits 単調関数G :N 2 → { 0 、1 }を持つすべてのスライス関数を計算することができ、出力ゲートとしてO (N )ゲート。スライス機能は、いくつかの固定のために、単調ブール関数であるKを出力、0(それぞれ1未満(それぞれ、複数)を有する全ての入力に)K{+,×}g:N2→{0,1}O(n)k01kもの。一方、簡単なカウントは、ほとんどのスライス関数が一般的な -指数サイズの回路を必要とすることを示しています。したがって、1つの「罪のない」追加出力ゲートは、単調な回路を全能にすることができます!私の質問は、このときにも起こることができるかどうかを尋ねるG :N → { 0 、1 } fanin-ある1閾値ゲート。 {∨,∧,¬}g:N→{0,1}1


顕在化(2014年3月11日を追加しました):エミルJeřábekが示された答えは「はい」長いほどであること(驚くほど単純な構造を経由して、以下の彼の答えを参照) 定数のためのC。そのため、質問は、スーパー多項式(n単位)のしきい値に対してのみ開いたままです。 t≤nccn

通常、アプリケーションでは、唯一の大きなしきい値が作業を行います。我々は、通常の形式のしきい値必要なのためのε > 0を。セイは、場合F :{ 0 、1 } N → Nはカウントの数S - のTによって指定されたグラフ内のパス0 - 1、次いで、入力T = M 、M 2とM ≈ N 1 / 3、threshold- T Fのバージョンが解決します2nϵϵ>0F:{0,1}n→N st01t=mm2m≈n1/3tF m頂点グラフ上のハミルトニアン - t経路問題の存在(たとえば、ここを参照)。 stm

(2014年11月14日追加):Emilが私の質問の大部分に答えたので、指数しきい値のケースが見えないため、このEmilの(非常に素晴らしい)答えを受け入れるようになりました。



待って...指数関数的なサイズ?ブールゲートを使用して、多項式サイズでスライス関数を実装できると思います。これは、指数サイズでなければならない単なる式(中間結果を複数回再利用することはできません)です。
— ズバンアンブルス14

ZsbánAmbrus @:最大でありサイズの回路Sが、少なくとも2 2 B n個の別個のkのため既に-slice関数K = N / 2。a、b正の定数。SaSS22bnkk=n/2
— Stasys 14年

しきい値2、より一般的には、で区切られたしきい値は、半環({ 0 、… 、t } 、min { x + y 、t } 、min { x y 、t }で計算を行うことで効率的にシミュレートできます。)。2nc({0,…,t},min{x+y,t},min{xy,t})
— エミールイェジャベクはモニカをサポートします14

2
回路を直接取得します。各ノード置き換えるCとT + 1ノードC 0、... 、C T、C Iを計算するブール述語C ≥ のI。(あなたが必要としないcは0が一定の計算として1を、それを以下の式を簡単にする。)この表現において、+及び⋅によってシミュレートすることができる{ ∧ 、∨ }サイズの回路O (T∧,∨ct+1c0,…,ctcic≥ic01+⋅{∧,∨}:例えば、もし C = A + B、次いで、 cのiが = ⋁ J + K ≥ I(J ∧ BのK)。O(t2)c=a+bci=⋁j+k≥i(aj∧bk)
— エミールイェジャベクはモニカをサポートします14

1
@EmilJeřábek:いいね!私は今これに発言を加えました。実際、おそらくこのコメントを答えとして価値があるかもしれません:多項式のしきい値のケースもすぐには明らかではありませんでした(少なくとも私にとって)。
— Stasys 14年

回答:


16

場合、答えは「はい」です。より一般的には、しきい値tを持つサイズsのしきい値{ + 、⋅ }-回路は、サイズO (t 2 s )の{ ∨ 、∧ }-回路によってシミュレートできます。t=nO(1){+,⋅}st{∨,∧}O(t2s)

最初は、中に回路を評価するのに十分であることを確認切り捨て加算及び乗算を有する:特に、もし、A ' ≥ T、次いで+のB 、' + B ≥ T、とのいずれかB 、「 B ≥ Tも、又はB = ' B (= 0 )。{0,…,t}a,a′≥ta+b,a′+b≥tab,a′b≥tab=a′b(=0)

これを念頭において、私たちは、各ノード置き換えることにより、ブール単調回路で回路をシミュレートすることができノードとC 0、... 、Cのトン、cのiは、述語計算するために意図されたC ≥ 私を。(表記の便宜上、c 0のみが必要です。定数1関数を計算します。)cがブール入力変数xの場合、c 1 = x、c 2 = ⋯ = c t = 0を取ります。cc0,…,ctcic≥ic01cxc1=xc2=⋯=ct=0。場合さらにゲートである、と言うC = A + B、我々はそれを実装を経由して 、C I = ⋁ J 、K ≤ T J + K ≥ 私は(J ∧ BのK)。 乗算ゲートは同じ方法で処理されます。cc=a+b

ci=⋁j,k≤tj+k≥i(aj∧bk).

これには、元の回路の1ゲートあたりゲートがかかります。マイナーな最適化として、c tを置く ことでO (t 2)に減らすことができますO(t3)O(t2) 各ようJ∧Bのkはの唯一の入力として使用されるCIゲート。

ct=⋁j+k≥t(aj∧bk),ci=ci+1∨⋁j+k=i(aj∧bk),i<t,
aj∧bkci
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.