PARITYを計算する回路の最小サイズはどれくらいですか?


21

入力変数からPARITYを計算するすべてのファンイン2 AND-OR-NOT回路のサイズは少なくとも3(n−1)あり、これは鋭いという古典的な結果です。(サイズをANDゲートとORゲートの数として定義します。)証明はゲート削除によるものであり、任意のファンインを許可すると失敗するようです。この場合、何が知られていますか?

具体的には、より大きなファンインが役立つ場合、つまり未満の3(n−1)ゲートが必要な場合の例を知っていますか?

10月18日更新。Marzioは、n=3場合、CNF形式のPARITYを使用すると5ゲートでも十分であることを示しました。これは、バインドの意味一般用N。もっと良くできますか?⌊52n⌋−2n


この論文は関連している可能性があります。ただし、ここでの基礎は、AND、ORよりもはるかに大きいです。
— Stasys 14年

次の回答は、質問に(リモートで)関連しています。cstheory.stackexchange.com/questions/3624/…–
— ヘルマングルーバー

1
と5の両方で3n上限、実際には変数だけでなくどこでも否定を無視しますよね?52n
— エミールイェジャベクはモニカをサポートします14

1
ゲートが正と負の両方で使用される場合、ゲートを複製せずにそれをどのように行いますか?
— エミールイェジャベクはモニカをサポートします14

1
@Harry:k-1個のファンインゲートが必要ですが、深さ配置できます。この質問はサイズに関するものであり、深さに関するものではありません!log⁡k
— domotorp 14年

回答:


10

2.33n + Cゲートのみを使用してパリティを計算することが可能です。構成は非常に簡単で、この記事で説明します。

http://link.springer.com/article/10.3103/S0027132215050083

12個のゲートのみを使用した6変数のパリティの回路の例を次に示します(各ゲートはANDゲートであり、ゲートの入力の近くの円は、この入力が反転することを意味します)。DNFブロックを積み重ねることによって構築される6変数のパリティの回路(マルツィオの上限のように)は13のゲートで構成されることに注意してください。

n = 2,3,4,5,6の場合、最適な回路のサイズは3,5,8,10,12であることを確認しました。これらの値は、2.33nの上限を与える回路のサイズでもあります。2.33nがnごとに最適な回路のサイズであるかどうかはまだわかりません。さらに、7つの変数のパリティに対する最適な回路のサイズがわかりません(14と15の2つの値があります)。 6変数のパティの回路


10

このゲート除去の下限は、マルツィオの上限と一致しませんが、開始点です。

命題:上のパリティを計算するすべての無限のファンインAND / OR / NOT回路の変数が少なくとも含まれている2 のn - 1つのANDやORゲートを。n≥22n−1

便宜上、ゲートのみがANDゲートであるモデルを使用しますが、否定ワイヤは許可します。n = 2にはゲートが必要であることが容易にわかります。したがって、Cがn > 2変数でパリティを計算する最小サイズの回路である場合、少なくとも1つを殺す1つの変数の制限を見つけることができます。 2つのゲート。3n=2Cn>2

変数に少なくとも2つの正の親がある場合(つまり、否定されていないワイヤによって2つの異なるゲートに接続されている場合)、この変数を0に設定すると親が殺され、完了です。同様に、2つの負の親がある場合。したがって、各変数には最大で1つの正の親と最大で1つの負の親があると仮定できます。xi0

してみましょう回路で最下位のゲートも。一般性を失うことなく、= X 1 ∧ X 2 ∧ ⋯。セットのx 1 = 0強制的に、= 0をし、それを殺します。制限回路C C '、no c jはx 2に依存しません。x 3、… 、x nへの割り当てがあった場合(x 1 = 0の上に)あるc jaa=x1∧x2∧⋯x1=0a=0まだ特にそれが依存する、パリティを計算し、X 2したがって、 X 2が負親有する B = ¬ X 2 ∧ C 1 ∧ ⋯ ∧ C Rを。に注意してくださいC′x2x2b=¬x2∧c1∧⋯∧crC′cjx2x3,…,xnx1=0cj、それが計算しているという事実矛盾、偽、一定になり、この割り当てによって制限回路をまたは¬ Xを2。したがって、でC '、全てのC j個の計算定数1、及びBを計算¬ Xx2¬x2C′cj1b、それゆえ我々は一緒にそれを排除することができます。¬x2a

編集:として、私はこの、ユーリKombarovの論文から学んだ下限だけでなく、⌊ 52n−1上位マルツィオ・デ・BIASIの答えによって暗黙結合すると、元々に証明されました⌊52n⌋−2

[1] Ingo Wegener、無制限のファンイン、無制限の深さ回路におけるパリティ関数の複雑性、Theoretical Computer Science 85(1991)、no。1、pp。155–170。http://dx.doi.org/10.1016/0304-3975(91)90052-4


はい。そのため、2つの変数を修正して5つのゲートを削除できるかどうかが問題です。
— domotorp 14年

右。または、が偶数のときに1つの変数を修正することで3つのゲートを削除できる場合はさらに良いでしょう。n
— エミールイェジャベクはモニカをサポートします14

8

コメントを展開します。

1)ファンイン ANDゲートは、k − 1ファンイン2 ANDゲートでシミュレートできます(ORゲートにも同じことが言えます)。もしそうなら、私、私は ≥ 2は、ファンインゲートのあるグラム、私は次の関係が成り立つ必要があります。kk−1Ii≥2gi

|C|+∑i(Ii−2)≥3(n−1)

2)任意のファンを許可すると、範囲を超えることができます。たとえば、3つの変数(x 1、x 2、x 3)のパリティを考えます。次の回路は、任意の5つのファンインゲートのみで計算します。3(n−1)(x1,x2,x3)

enter image description here


確かに、n = 3の場合、CNFには5つのゲートしかありません!一般的にもっと良くできるのかしら。
— domotorp 14年

私はそれについてあまり考えませんでしたが、上記の回路を確実に組み合わせて並列に使用し、たとえば24の代わりに20ゲートのみを使用する9変数のPARITY回路を取得できます
— Marzio De Biasi 14年

私は質問を更新しました。
— domotorp 14年

2

これは、Emilの議論が何を証明するかを示す拡張コメントです。 5n/2 bound. Here we can try to eliminate 3 gates with one variable or 5 gates with two variables.

If there is a literal with 3 parents, we can eliminate all 3 with one variable.

If two literals occur together in 2 different gates, together, we can apply the main argument from Emil's answer, again eliminating 3 gates with one variable.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.