演算回路の多重線形化を評価していますか?


13

ましょうフィールド上係数を有する多変量多項式であるF。multilinearization Pで示さ、pは、繰り返し各交換の結果であり、xはdはIを用いて、D > 1によってX I。結果は明らかに多重線形多項式です。p(x1,,xn)Fpp^xidd>1xi

次のような問題を考える:演算回路所与にわたってFと指定されたフィールド要素1... nは、計算C1... NC(x1,,xn)Fa1,,anC^(a1,,an)

質問:フィールド演算は単位時間で実行できると想定していますが、これに多項式時間アルゴリズムはありますか?あとで追加:が実際に式(ファンアウト1の回路)である特別なケースにも興味があります。C1


1
なぜ閉回路の出力を計算するのと同等なのでしょうか?私が直面しています問題は、回路は、入力から互いに素な経路が有することができることであるいくつかの内部の乗算ノードに、それらの内部乗算ノードのそれぞれを評価すること交換が必要となるxのIによってI一方の経路におけるによって1他に。指数関数的な数のパスを持つ回路では、処理すべき指数関数的な数のケースがあるように見えます。xixiai1
スリムトン

2
@Kaveh:わかりません。回路見てください。あなただけの入力のノード交換した場合のxを値とノードによってAと標準的な方法で評価し、あなたが戻って結局2の代わりに。計算モデル:チューリングマシンでの通常の多項式時間。必要に応じて、フィールドを具体性のためにZ / 3 Zと考えてください。(xx)xaa2aZ/3Z
スリムトン

2
@Kaveh:そのようなアルゴリズムがあなたの言うことをどのように暗示しているのか理解できませんが、これは実際に算術回路の複雑さの一般的な仮説と矛盾します:Permanentにはポリサイズの算術回路がない(F_2以外のフィールド上)多項式考えます。この多項式の多重線形部分qには、その最高次数(= 2 n)部分がr = y 1 y 2y n P e r xp=i(jxijyj)q=2nqを計算する小さな算術回路がある場合、rを計算する小さな算術回路があることを示すことができます。r=y1y2ynPer(x11,,xnn)qr
スリカンス

1
@Srikanth:回答を投稿する前にあなたのコメントを見ませんでした(あなたのコメントで与えたのと同じ構成であることが判明しました)。回答を削除しましたので、回答としてコメントを投稿してください。
ジョシュアグロチョウ

2
@Joshua:Kavehの建設がなぜ機能するのか理解できないので、答えとして答えを追加していません。算術回路はすべての入力で多重線形化と一致する多項式を計算することがわかりますが、与えられた多項式の多重線形化を正式に計算するかどうかはわかりません(Kavehの答えの後の私のコメントを参照)。私の構成(およびあなたの構成)は、多重線形化が形式的に計算されることを前提としています。
スリカンス

回答:


12

フィールドのサイズが少なくとも2 nの場合、この問題は難しいと思います。より具体的には、上記のFをこのように効率的に解くことができれば、CNF-SATには効率的なランダム化アルゴリズムがあると思います。CNF式φが与えられたとします。一つは、簡単に演算回路を考え出すことができるC `arithmetization「」計算Pφ多項式、pは、式と一致φ0 - 1入力。pの多重線形化qを考えます。その注意QをF2nFφCpφpφ01qpq一致ひいてはφ{ 0 1 } Npφ{0,1}n

φが満たされる場合、は非ゼロであると主張します。明らかに、q = 0の場合、φは満たされません。逆の場合、一方がゼロ以外の多重線形多項式の全てに消失することができないことを示すことができる{ 0 1 } N。これは、非ゼロであることを意味Q(従って対応φが)、いくつかの入力で消えない{ 0 1 } Nqφq=0φ{0,1}nqφ{0,1}n

したがって、充足可能性のチェックは、qがゼロでないかどうかのチェックと同等です。今、大きなフィールドFでqを評価できるとしましょう。次に、Schwartz-Zippel Lemmaを使用して、効率的なランダム化アルゴリズムを使用してqを同一性テストし、それがゼロ多項式かどうかを確認できます(FのサイズはSchwartz-Zippel Lemmaの誤差の上限に使用されます)。φqqFqF


入力にはFを指定するものがないため、Fは固定フィールドであるように思えます。また、フィールド操作には単位時間がかかると仮定していることに注意してください。
カベ

ありがとう、Srikanth。Kavehが推測したように、私は確かに固定された有限体の場合に興味がありましたが、あなたが与えたこの答えは私が質問を少しよく理解するのに役立ちます。
スリムトン

3

所与ことpolytimeアルゴリズムが存在すると仮定するのマルチ線形の結果算出Cを。(I出力と仮定するWLOG bはベクトルであろうPビットのバイナリ数bのiがあるKときに限りB I kは 1です。)C(x)F(x)aCabpbikbi,k

Since PP/poly, there is a polysize boolean circuit that given the encoding of the arithmetic circuit and the values for the variables computes the multi-linearization of the arithmetic circuit on the inputs. Let call this circuit M.

Let C be an arbitrary arithmetic circuit. Fix the variables of the boolean circuit M which describe the arithmetic circuit, so we have a boolean circuit computing the multi-linearization of C on given inputs.

We can turn this circuit into an arithmetic circuit over Fp by noting that xp1 is 1 for all values but 0 so first raise all inputs to the power p1. Replace each fg gate by multiplication f.g, each fg gate by f+gf.g and each ¬f gate by 1f.

By the assumption we made above about the format of the output, we can turn the output from binary to values over Fp. Take the output for bi and combine them to get 0kp1kbi,k.

We can also convert the input given as values over Fp to binary form since there are polynomials passing through any finite number of points. E.g. if we are working in mod3, consider the polynomials 2x(x+1) and 2x(x+2) which give the first and the second bits of the input xF3.

Combining these we have an arithmetic circuit over Fp computing the multi-linearization of C with size polynomail in the size of C.


2
It is not clear to me why the arithmetic circuit you have described computes the multilinearization of C, or indeed even a multilinear polynomial. I am only able to see that the arithmetic circuit computes some polynomial that agrees with the multilinearization of C on 0-1 inputs.
Srikanth

@Srikanth: the arithmetic version of the boolean circuit M (with some inputs fixed) computes the multilinear version of C, it doesn't need to be a multilinear. Then the only problem is that input/output are in binary not values over Fp, so I just need to fix the encoding for input/output from binary to original input and output values. The resulting circuit is an arithmetic circuit that gets the values for variables of C, encodes them in binary, computes the value of the multilinearization of C over those inputs and output the answer in binary, and then translate them back to Fp.
Kaveh

[continued] The result it is an arithmetic circuit with the same variables that C has, and with the same outputs, and it is computing the multilinearization of C.
Kaveh

2
@Kaveh: Have you assumed that the input to the boolean circuit M is of the same form as the output of M? In any case, I am still not convinced. It is perfectly possible for an arithmetic circuit to compute a polynomial f that agrees with a polynomial g at all inputs from the field and yet fg. For example, the polynomial xp agrees with x at all inputs, and yet they are not equal as polynomials. How do you know that the circuit M is not simply computing a non-multilinear polynomial that agrees with the multilinearization of C at all inputs?
Srikanth

@Srikanth: I have described the form of input and output in my answer. The input to M is in binary, the output of M is in the form stated above. I haven't said that it is multilinear, I have only said that it computes the multilinearization of the C.
Kaveh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.