Mir ist nicht genau klar, was die Eingabe des Problems ist und wie Sie die Einschränkung . Unter jeder vernünftigen Formulierung lautet die Antwort jedoch für multivariate Polynome Nein, es sei denn, NP = RP, aufgrund der Reduktion unten.p=2Ω(n)
Bei einer Primzahl in binärer und einer booleschen Schaltung C (wlog unter Verwendung von nur ∧ und ¬ Gates) können wir in Polynomzeit eine arithmetische Schaltung C q so konstruieren, dass C unbefriedigend ist, wenn C q ein Polynom mit identischer Null über F q as berechnet folgt: übersetze a ∧ b mit a b , ¬ a mit 1 - a und eine Variable x i mit x q - 1 iqC∧¬CqCCqFqa∧bab¬a1−axixq−1i(was durch eine Schaltung der Größe durch wiederholtes Quadrieren ausgedrückt werden kann ).O(logq)
Wenn eine Primzahl ist (was meiner Meinung nach nicht wirklich wichtig ist) und ausreichend groß ist, können wir die Reduktion sogar univariat machen: Ändern Sie die Definition von C p so, dass x i mit dem Polynom
f i ( x ) = (übersetzt wird) ( x + i ) ( p - 1 ) / 2 + 1 ) p - 1 .
Einerseits ist f i ( a ) ∈ { 0 ,q=pCpxich
fi( x ) = ( ( x+i)( p - 1 )/2+1)p−1.
für jedes
a ∈ F p , wenn also
C nicht erfüllbar ist, dann ist
C p ( a ) = 0 für jedes
a . Nehmen wirandererseits an, dass
C erfüllbar ist, sagen wir
C ( b 1 , … , b n ) = 1 , wobei
b i ∈ { 0 , 1 } ist . Beachten Sie, dass
f i ( a ) = { 1fich( a ) ∈ { 0 , 1 }a ∈ F.pC.C.p( a ) = 0einC.C.( b1, … , B.n) = 1bich∈ { 0 , 1 }
Wir haben also
Cp(a)=1,wenn
a∈Fp soist, dass
a+i ein quadratischer Rest ist fich( a ) = { 10wenn a + i ein quadratischer Rest ist (einschließlich 0 ),wenn a + i ein quadratischer Nichtrest ist.
C.p( a ) = 1a ∈ F.p
für jedes
i = 1 , … , n . Corollary 5 in
Peraltaimpliziertdass solche
eine existiert immer für
p ≥ ( 1 + o ( 1 ) ) 2 2 n n 2 .
a + i ist ein quadratischer Rest ⟺bich= 1
i = 1 , … , neinp ≥ ( 1 + o ( 1 ) ) 22 nn2