Im Allgemeinen wissen wir, dass die Komplexität des Testens, ob eine Funktion an einem bestimmten Eingang einen bestimmten Wert annimmt, einfacher ist als die Bewertung der Funktion an diesem Eingang. Beispielsweise:
Das Auswerten der bleibenden Zahl einer nichtnegativen Ganzzahlmatrix ist # P-schwer, aber es gibt Aufschluss darüber, ob eine solche bleibende Zahl null oder ungleich null ist, und zwar in P (zweigliedrige Übereinstimmung).
Es gibt n reelle Zahlen , so dass das Polynom die folgenden Eigenschaften hat (tatsächlich haben die meisten Mengen von reellen Zahlen diese Eigenschaften). Für eine gegebene Eingabe erfordert das Testen, ob dieses Polynom Null ist oder nicht, Multiplikationen und Vergleiche (mit dem Ergebnis von Ben-Or , da die Nullmenge Komponenten), aber die Auswertung des obigen Polynoms benötigt mindestens Schritte vonPaterson-Stockmeyer.
Das Sortieren erfordert Schritte in einem Vergleichsbaum (auch Schritte in einem realen algebraischen Entscheidungsbaum, wiederum nach Ben-Ors Ergebnis), aber das Testen, ob eine Liste sortiert ist, verwendet nur Vergleiche .
Gibt es allgemeine Bedingungen für ein Polynom, die ausreichen, um zu implizieren, dass die (algebraische) Komplexität des Testens, ob das Polynom Null ist oder nicht, der Komplexität des Evaluierens des Polynoms entspricht?
Ich suche nach Bedingungen, die nicht davon abhängen, die Komplexität der Probleme im Voraus zu kennen.
( Erläuterung 27.10.2010 ) Um es klar zu machen, ist das Polynom nicht Teil der Eingabe. Das bedeutet, dass ich angesichts einer festen Funktionsfamilie (eine für jede Eingabegröße (entweder Bitlänge oder Anzahl der Eingaben)) die Komplexität des Sprach- / Entscheidungsproblems vergleichen möchte mit der Komplexität der Auswertung der Funktionen .
Klarstellung: Ich frage nach der asymptotischen Komplexität der Bewertung / Prüfung von Familien von Polynomen. Beispielsweise über ein Festfeld (oder Ring, wie ) " die permanent" ist nicht ein einziges Polynom, aber eine unendliche Familie wobei ist die permanente von eine Matrix über diesem Feld (oder Ring).
quelle
Antworten:
Über ist das Testen auf Null und die Auswertung im folgenden Sinne "fast" gleich: Angenommen, Sie haben einen Entscheidungsbaum, der prüft, ob ein irreduzibles Polynom f ungleich Null ist. Wir arbeiten über C , daher können wir nur auf Gleichheit testen, aber wir haben kein "<". Das ist der wichtige Unterschied zum zweiten Beispiel in der Frage! Nehmen Sie nun den typischen Pfad, dh den Pfad, den fast alle Eingaben nehmen (wir folgen immer dem " ≠ " -Zweig). Nehmen Sie außerdem den typischen Pfad aller Elemente der Sorte V ( f ) . Sei v der Knoten, an dem diese beiden Pfade zum ersten Mal eine andere Verzweigung nehmen. Sei h 1 ,C f C ≠ V(f) v sind die Polynome, die entlang des gemeinsamen Präfixes der beiden Pfade getestet werden. Da V ( f ) geschlossen ist, liegen alle Elemente, die in V ( f ) liegen und v erreichen,auch in V ( h m ) . Deshalb, wenn f ( x ) = 0 , dann einer der h i verschwindet auf x . Wir wenden Hilberts Nullstellensatz auf h 1 ⋯ h m an und erhalten f g =h1,…,hm V(f) V(f) v V(hm) f(x)=0 hi x h1⋯hm für ein Polynom g , das zu f koprime ist. Kurz gesagt, während wir f nicht berechnen, müssen wir, wennwirentscheiden, ob f ( x ) = 0 ist , f g für etwas Koprime g berechnen.fg=h1⋯hm g f f f(x)=0 fg g
quelle
Makowski's "Algorithmic uses of the Feferman–Vaught Theorem" is possibly relevant. He defines polynomials by summing over MSOL-definable structures on graphs and shows that they are tractable to evaluate when graphs are tree-width bounded.
Dies sagt nicht viel über den Unterschied in der Komplexität des Testens / Bewertens aus, abgesehen davon, dass es sich um eine FPT handelt. Beim Testen auf einen Wert werden Sie gefragt, ob eine Variableneinstellung vorhanden ist, bei der eine gegebene MSO2-Formel in einem gegebenen Diagramm als wahr ausgewertet wird, wohingegen beim Auswerten über befriedigende Zuweisungen von MSO2-Formeln aufgezählt wird. Dies scheint mit der Frage zu zusammenhängen, inwiefern die Komplexität des Zählens von SAT mit der Komplexität von SAT zusammenhängt.
Bearbeiten 29.10. Ein weiteres nützliches Konzept könnte darin bestehen, die Eigenschaft "Einheitlicher schwieriger Punkt" zu untersuchen. Anscheinend sind Polynome mit dieser Eigenschaft entweder in allen Punkten leicht zu bewerten oder in fast jedem Punkt schwer zu bewerten. Makowski gibt einige Referenzen auf den Folien 46-52 - http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf
quelle
I'm going to venture the idea that evaluating a polynomialq(x) in Fp for fixed prime p (or any finite field extension thereof, and with the coefficients restricted to the same field) will fit your criterion.
more concretely, lets consider a polynomial inF2[x] . We know that x2=x in F2 , so if we assume that any polynomial is already in a reduced form when given as an input, we are left simply considering one of : 0,1,x,x+1 and accordingly evaluating any of these polynomials at either of 0 or 1 takes at most 2 arithmetic operations.
I believe that a similar "constant time via fixed number of arithmetic operations" statement applies more generally forFq where q=pn where p is prime. note that if n isn't fixed, this statement no longer is valid
quelle
I'm not sure if I understand the question correctly but let me attempt to shed some light.
Typically, evaluating a polynomial at certain values is easier than identity testing, especially when the representation of the polynomial is via a circuit (some succinct representation). However, there are lots of randomized identity testing algorithms (Schwarz-Zippel being the most straight-forward) that works on just evaluations.
In certain special cases, we have 'black-box' tests for identity testing where you can test if a polynomial is zero or not by just evaluating it at a predefined set of points. A simple example of this is if the polynomial is 'sparse' (just hasnO(1) monomials). To make the exposition simpler, lets assume the polynomial is multilinear (each monomial is a product of distinct variables).
A natural way to send a multivariate multilinear polynomial to a univariate is via the substitutionxi↦y2i . The resulting polynomial is say ∑i∈Sαiyai . This could be an exponential degree polynomial of course but let us go modulo yr−1 for a small range of r 's. Now an r would be "bad" for a pair of monomials if ya and yb get mapped to the same monomial modulo yr−1 . Or in other words, r divides a−b . Thus as long as r does not divide ∏i,j∈S(ai−aj) , this wouldn't happen. Hence it is sufficient to run over a polynomial range of r 's. Thus, it suffices to evaluate the polynomial at some roots of unities and we can figure out of the polynomial is zero or not.
There has been more progress in black-box identity testing algorithms. Right now, most of then stand at restricted depth 3 circuits (sum of products of sums of variables). (FWIW) Some of this is mentioned in more details in Chapter 3 and 4 of my M.Sc thesis. And there has been further improvements by Saxena and Seshadri recently as well.
quelle
Any #P problem, or even #P/poly, can be written as a polynomial: make a circuit out of NAND gates, write these as1−xy where x and y are 0-1 valued integers, and sum over all inputs. This gives a polynomial in Z[x1,...,xn] for inputs of size n . The decision problem is testing whether this is 0.
quelle