入力ビットのANDとORを同時に計算するために必要な最小数のバイナリゲートは何ですか?自明な上限はです。これは最適だと思いますが、これをどうやって証明するのでしょうか?標準のゲート除去手法は、入力変数のいずれかに定数を割り当てることにより、出力の1つを単純化するため、ここでは機能しません。
この問題は、Ingo Wegenerの著書「ブール関数の複雑さ」の演習5.12でも、わずかに異なる形式で示されてい。消去法では、サイズ下限のみを証明できます。より大きな下限を証明してください。」
入力ビットのANDとORを同時に計算するために必要な最小数のバイナリゲートは何ですか?自明な上限はです。これは最適だと思いますが、これをどうやって証明するのでしょうか?標準のゲート除去手法は、入力変数のいずれかに定数を割り当てることにより、出力の1つを単純化するため、ここでは機能しません。
この問題は、Ingo Wegenerの著書「ブール関数の複雑さ」の演習5.12でも、わずかに異なる形式で示されてい。消去法では、サイズ下限のみを証明できます。より大きな下限を証明してください。」
回答:
Blum&Seysenのこの論文は役に立つかもしれません:
N.Blum、M。Seysen。ANDとNORの同時計算のためのすべての最適ネットワークの特性評価。Acta Inf。21:171-181(1984)
私が考えていることについて 2 のn - cはブラム&Seysenの方法を用いて得ることができる下限が、これがそうでないようです。
あなたの質問は、最小数の比較を使用してリストの最小値と最大値を同時に計算することに関するよく知られた質問に関連しています。その場合、答えは。
比較の1つが最小値と最大値の両方を計算するため、上限を証明する巧妙なアルゴリズムは、同じ上限のAND / OR回路に変換されます。
ただし、少なくともモノトーン回路の場合(AND / OR回路はmax / minアルゴリズムに変換されるため)、下限(敵の引数によって与えられる)は変換されるようです。これは、以下の結合を意味するものであろう。おそらく、敵対的な議論を分析することにより、厳密な下限を得ることができます。
上限は「アルゴリズムの紹介」に表示されます。ここでは、ブール入力に対して機能する場合(適切なしきい値を使用)、max / minコンパレータ回路が有効であることを示す簡単な引数を見つけることもできます。下限は、たとえばここで見つけることができます。