次の直接和プロパティを持つ関数が存在することが知られていますか?


15

この質問は、ブール回路の回路の複雑さのフレームワーク、代数的複雑さの理論のフレームワーク、またはおそらく他の多くの設定で尋ねることができます。引数を数えることで、指数関数的に多くのゲートを必要とするN個の入力にブール関数が存在することを簡単に示すことができます(もちろん、明示的な例はありません)。入力の合計数がMNになるように、M個の異なる入力セットで、ある整数Mに対して同じ関数をM回評価したいとします。つまり、を評価したいだけですは、毎回同じ関数。f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f

問題は、それが機能のシーケンスが存在することが知られている(各Nに対して1つの機能)は、任意のNのために、任意のMのために、ゲートの総数はの指数関数M倍に少なくとも等しい必要よう、ことN?この結果をすべてのMに保持したいため、単純なカウント引数は機能しないようです。代数的複雑性理論やその他の分野で、この質問の単純な類似物を思い付くことができます。f

回答:


13

まあ、それは偽です:M * exp(N)よりはるかに小さいO(N(M + 2 ^ N))ゲートのみを使用して、任意のfのM個のコピーを評価することが可能です(実際、線形償却されます指数Mの複雑度)。参照は覚えていませんが、次のようなものになると思います。

まず、定数0 ... 2 ^ N-1である2 ^ Nの架空の入力を追加し、i番目のNビット入力をxiで示します(i <= 2 ^ Nの場合はxi = iであり、 2 ^ N <i <= 2 ^ N + M元の入力があります)。ここで、M + 2 ^ N入力のそれぞれに対してトリプレットを作成します。(i、xi、fi)ここで、fiは最初の2 ^ N入力(回路にハードワイヤードされた定数)およびfi = "*" さもないと。ここで、キーxiに従ってトリプレット(i、xi、fi)をソートし、これからj番目のトリプレットを(i_j、x_j、f_j)とし、g_jをf_jが「*」でない場合はf_j、そうでない場合はg_jをg_(j-1)にします。ここで、キーi_jに従って新しいトリプレットを並べ替えると、正しい場所で正しい答えが得られます。


賢い!ちょっとしたこと:トリプレットを安定してソートする必要があります(またはfi≠“ ”のトリプレットがfi =“ ”のトリプレットよりも早くなることを保証する他の方法で)。
伊藤剛

とても賢い、ありがとう。しかし、代数的な複雑さの設定で、似たような機能はありますか?
マットヘイスティングス

1
Mが無限大になった場合の別の言い方は、2 ^ N * 2 ^ Nの時間を費やしてfのすべての値のハッシュテーブルを作成し、O(N )時間。穏やかな値のNであっても、少なくともそのようなことが当てはまるかどうかを知る必要のない別の理由があると思います。最初のブルートフォースにより、複雑さの大きいn '= log n(またはn' = loglog n)入力で関数を見つけ、そのn / n'copiesを取得することにより、超線形下限を持つ関数を構築できます。 。
ボアズバラク

1
なぜそのような結果が下限につながるのかについての上記の議論では、繰り返しの回数が本当に穏やかであるかどうかはわかりませんが、無限フィールドにも適用されます。
ボアズバラク

こんにちはボアズ、実はあなたのコメントがまさにこれらの関数の存在に興味を持った理由です。ただし、微妙なポイント、「ブルートフォーシング」があります。そのような関数は存在するが、特定の関数がこのプロパティを持っていることを示すことができるアルゴリズムがないということです(私の質問の目的です)。結局のところ、無限の数の異なる回路をチェックする必要があるため、このような下限がすべてのMに当てはまるプロパティを総当たりする方法はないようです。そのため、おそらくそのような関数は無限フィールドに対して存在しますが、表示することはできません。
マットヘイスティングス

10

探している種類の直接和現象の可能性をさらに制約する別の結果があります。シャノンのよく知られた初期の結果(ルパノフによって強化された)は、すべてのブール関数がサイズ回路で計算可能であり、シャノンのカウント引数によりランダム関数に対してタイトであることを示しました。一つは、少なくとも中程度の値について、と思うかもしれませんM、演算の回路の複雑m個のランダムのインスタンスfはとしてスケールであろうM 2 N / N。ただし、Dietmar UhligはO2n/nmmfm2n/n

「複数の入力値のブール関数を計算するネットワーク」

これがfalseであること:であれば、サイズO 2 n / n )の回路で任意のfのmインスタンスを計算できます-本質的にm = 1と同じコスト!m=2on/ログnmfO2n/nm=1

ゲートなしのコピーをオンラインで見つけることも、著者のホームページを見つけることもできませんが、この議事録で論文を見つけました。

ブール関数の複雑さ(ロンドン数学会レクチャーノートシリーズ)


ありがとう!TCSのパラドックスについて質問する質問はありませんでしたか?これは、答えとしても役立ちます:)
arnab

この回答もありがとう。議事録を読むことができないので、前の回答と同様に、可能な入力の有限数に依存する可能性があると思いますので、上記と同じフォローアップの質問:代数的複雑性の場合はどうでしょうか?
マットヘイスティングス

実際、シャノンは最初にO(2 ^ n / n)の上限を証明したようです。ルパノフは右の定数を取得しました。これを修正しました。詳細については、FrandsenとMiltersenによる「最も難しい関数の回路サイズの範囲の確認」で説明されています。
アンディドラッカー

5

代数的複雑性に関して、指数関数的複雑度が準指数関数的償却複雑度になる例はわかりませんが、少なくとも、M個のばらばらのコピーの複雑度が単一コピーの複雑度のM倍よりも大幅に小さい単純な例があります:

「ランダムな」n * n行列Aの場合、Aで定義される双線形形式の複雑さ(関数f_A(x、y)= xAy、xとyは長さnの2つのベクトル)はOmega(n ^ 2 )-これは、定数を入れるために回路内にn ^ 2個の「場所」が必要なため、「カウントのような」次元引数で示すことができます。ただし、n個の異なるベクトルのペア(x​​ ^ 1、y ^ 1)...(x ^ n、y ^ n)が与えられた場合、n * n行列Xの行にxを入れ、同様にyを入れます行列Yの列に入力し、XAYの対角線からすべての回答x ^ iAy ^ iを読み取ります。これは、n * nよりも大幅に少ない高速行列乗算を使用してn ^ 2.3(またはそう)演算で計算されます。 ^ 2。


おかげで、私はその例を知っています。同様の問題は、1つの変数に次数nの多項式が存在し、特定のポイントで評価するのに時間nがかかることです(明示的な例はないと思いますが、間違っていますか?) n個の時点n log ^ 2(n)。
マットヘイスティングス

1
代数的直接和問題に関する80年代の2つの論文を見つけました。Ja'jaとTakcheによる「直接和予想の有効性について」と、Bshoutyによる「拡大直接和予想について」です。それらの内容を要約することはできませんが、おそらく役立つでしょう。
アンディドラッカー

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