Lassen p ( x 1 , ... , x n )p(x1,…,xn) mit Koeffizienten über ein Feld ein multivariate Polynom FF . Die multilinearization von pp , bezeichnet durch p , das Ergebnis des wiederholten Ersetzen jedes x d i mit d > 1 von x i . Das Ergebnis ist offensichtlich ein multilineares Polynom.p^xdid>1xi
Betrachten wir das folgende Problem: Da eine arithmetische Schaltung C ( x 1 , ... , x n )C(x1,…,xn) über FF und gegebenen Feldelemente a 1 , ... , a na1,…,an , compute C ( a 1 , ... , a n ) .C^(a1,…,an)
Frage: Unter der Annahme, dass Feldarithmetik in Zeiteinheiten durchgeführt werden kann, gibt es dafür einen Polynom-Zeit-Algorithmus? Später hinzugefügt: Mich würde auch der Sonderfall interessieren, bei dem CC eigentlich eine Formel ist (eine Schaltung von Fan-Out 11 ).
Antworten:
Für den Fall, dass das Feld F mindestens 2 n groß ist , halte ich dieses Problem für schwierig. Insbesondere denke ich, dass CNF-SAT effiziente randomisierte Algorithmen hat , wenn das Obige effizient für F dieser Größe gelöst werden kann. Nehmen wir an, wir erhalten eine CNF-Formel φ . Man kann sich leicht mit einer arithmetischen Schaltung kommen C , die eine `` Arithmetisierung ‚‘ berechnet p von φ , wobei das Polynom p mit der Formel übereinstimmt φ auf 0 - 1 Eingänge. Betrachten Sie die Multilinearisierung q von p . Beachten Sie, dass qF 2n F φ C p φ p φ 0 1 q p q stimmt mit p überein und daher φ auf { 0 , 1 } n .p φ {0,1}n
Ich behaupte, dass q nicht Null ist, wenn φ erfüllbar ist. Wenn q = 0 ist , kann φ natürlich nicht erfüllt werden. Umgekehrt kann man zeigen, dass ein nicht-null Multilinearpolynom nicht auf allen { 0 , 1 } n verschwinden kann . Dies impliziert, dass ein von Null verschiedenes q (und damit das entsprechende φ ) bei einer Eingabe in { 0 , 1 } n nicht verschwindet .q φ q=0 φ {0,1}n q φ {0,1}n
Daher ist das Prüfen der Erfüllbarkeit von φ gleichbedeutend mit dem Prüfen, ob q nicht Null ist. Sagen wir nun, wir könnten q über ein großes Feld F auswerten . Dann können wir mit dem Schwartz-Zippel-Lemma q mit einem effizienten randomisierten Algorithmus identifizieren und prüfen, ob es sich um das Nullpolynom handelt (die Größe von F wird verwendet, um den Fehler im Schwartz-Zippel-Lemma nach oben zu begrenzen).φ q q F q F
quelle
Assume that there is polytime algorithm that given C(→x)∈F(→x)C(x⃗ )∈F(x⃗ ) and →aa⃗ computed the result of the multi-linearization of CC on →aa⃗ . (w.l.o.g. I will assume that the output →bb⃗ will be a vector of pp -bit binary numbers bibi is kk iff the bi,kbi,k is one.)
Since P⊆P/polyP⊆P/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 MM .
Let CC be an arbitrary arithmetic circuit. Fix the variables of the boolean circuit MM which describe the arithmetic circuit, so we have a boolean circuit computing the multi-linearization of CC on given inputs.
We can turn this circuit into an arithmetic circuit over FpFp by noting that xp−1xp−1 is 11 for all values but 00 so first raise all inputs to the power p−1p−1 . Replace each f∧gf∧g gate by multiplication f.gf.g , each f∨gf∨g gate by f+g−f.gf+g−f.g and each ¬f¬f gate by 1−f1−f .
By the assumption we made above about the format of the output, we can turn the output from binary to values over FpFp . Take the output for bibi and combine them to get ∑0≤k≤p−1kbi,k∑0≤k≤p−1kbi,k .
We can also convert the input given as values over FpFp to binary form since there are polynomials passing through any finite number of points. E.g. if we are working in mod3mod3 , consider the polynomials 2x(x+1)2x(x+1) and 2x(x+2)2x(x+2) which give the first and the second bits of the input x∈F3x∈F3 .
Combining these we have an arithmetic circuit over FpFp computing the multi-linearization of CC with size polynomail in the size of CC .
quelle