Komplexität des Testens eines Werts im Vergleich zum Berechnen einer Funktion


36

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 a1,...,an , so dass das Polynom i=1n(xai) die folgenden Eigenschaften hat (tatsächlich haben die meisten Mengen von n reellen Zahlen diese Eigenschaften). Für eine gegebene Eingabe erfordert das xTesten, ob dieses Polynom Null ist oder nicht, Θ(logn) Multiplikationen und Vergleiche (mit dem Ergebnis von Ben-Or , da die Nullmenge nKomponenten), aber die Auswertung des obigen Polynoms benötigt mindestens Ω(n)Schritte vonPaterson-Stockmeyer.

  • Das Sortieren erfordert Ω(nlogn) Schritte in einem Vergleichsbaum (auch Ω(nlogn) Schritte in einem realen algebraischen Entscheidungsbaum, wiederum nach Ben-Ors Ergebnis), aber das Testen, ob eine Liste sortiert ist, verwendet nur n1 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 {fn} (eine für jede Eingabegröße (entweder Bitlänge oder Anzahl der Eingaben)) die Komplexität des Sprach- / Entscheidungsproblems vergleichen möchte {X:fn(X)=0 where n is the "size" of X} mit der Komplexität der Auswertung der Funktionen {fn} .


Klarstellung: Ich frage nach der asymptotischen Komplexität der Bewertung / Prüfung von Familien von Polynomen. Beispielsweise über ein Festfeld (oder Ring, wie Z ) " die permanent" ist nicht ein einziges Polynom, aber eine unendliche Familie {permn:n0} wobei permn ist die permanente von eine n×n Matrix über diesem Feld (oder Ring).


Hängt die Antwort auf Ihre Frage nicht nur vom Polynom selbst ab, sondern auch von seiner Darstellung?
Ilyaraz

@ilyaraz: Nicht sicher, was du meinst. Das Polynom ist nicht Teil der Eingabe.
Arnab

Joshua, kannst du die Frage zur besseren Lesbarkeit "latexisieren"?
Suresh Venkat

4
Ich fand eine Arbeit von Valiant ( dx.doi.org/10.1016/0020-0190(76)90097-1 ) "Relative Komplexität des Überprüfens und Bewertens", die im Wesentlichen dieselbe Frage berücksichtigt, aber in der Standardeinstellung der Turing-Maschine, anstatt eine algebraische Einstellung. Er beantwortet meine Frage nicht, aber wenn Sie diese Frage interessant fanden, könnten Sie auch seine Arbeit interessant finden.
Joshua Grochow

1
Makowskis "Algorithmische Verwendungen des Feferman-Vaught-Theorems" sind möglicherweise relevant. Er definiert Polynome, indem er über MSOL-definierbare Strukturen auf Graphen summiert, und zeigt, dass sie leicht zu bewerten sind, wenn Graphen baumbreitenbeschränkt sind
Jaroslaw Bulatow

Antworten:


4

Ü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 ,CfCV(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 1h m an und erhalten f g =h1,,hmV(f)V(f)vV(hm)f(x)=0hixh1hm 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=h1hmgfff(x)=0fgg


Die Komplexität des Testens von wird also im Wesentlichen durch die Komplexität der Auswertung von f g erfasst . Da f irreduzibel ist, ist die Komplexität der Auswertung von f polynomial begrenzt durch die Komplexität der Auswertung von f g , den Grad von f g und die Anzahl der Variablen. Wenn also f einen Polynomgrad hat und das Testen von f ( x ) = 0 ausreichend einfach ist, dann sind das Testen und das Bewerten äquivalent. (Wenn jedoch entweder d e g ff(x)=0 fgfffgfgff(x)=0degfist groß oder wenn das Testen schwierig ist - sagen wir, der Grad von ist sehr groß - dann sagt dies sehr wenig.)g
Joshua Grochow

Ich verstehe es nicht: Wenn Sie auswerten können , können Sie am Ende mit nur einer weiteren Operation, nämlich einer Gleichheitsprüfung, auf Null testen. Was schief gehen könnte, ist, dass die Bewertung von f g aus irgendeinem Grund billiger ist als die Bewertung von f . (Hinweis: Die Bewertung von f bedeutet, dass die Bewertung an einem generischen Punkt erfolgt, dh an einem unbestimmten Punkt.)ffgff
Markus Bläser,

Genau. Die Auswertung von möglicherweise einfacher als die Auswertung von f . (Ich weiß, dass das Bewerten von f das Bewerten an einem generischen Punkt bedeutet. Ich verstehe nicht wirklich, warum Sie dachten, dass Ihre letzte Bemerkung in Klammern notwendig war, aber das mag vielleicht etwas anderes sein.) Was genau verstehen Sie nicht? Anhand Ihres letzten Kommentars würde ich sagen, dass wir beide die Situation verstehen und dem Verständnis des anderen zustimmen ... Siehe auch "Die Komplexität der Faktoren multivariater Polynome" von Burgisser, was dieselbe Schlussfolgerung ergibt, die ich in meinem vorherigen Kommentar dargelegt habe. fgff
Joshua Grochow

Additional interesting conclusion from this discussion: although testing if the permanent of a nonnegative matrix is zero or not is easy, testing if the permanent of an arbitrary complex matrix is zero is easy if and only if evaluating the permanent is easy.
Joshua Grochow

Sorry, I misunderstood your first comment. Everything is fine.
Markus Bläser

5

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


3

I'm going to venture the idea that evaluating a polynomial q(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 in F2[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 for Fq where q=pn where p is prime. note that if n isn't fixed, this statement no longer is valid


1
Carter: by your reasoning, which is technically correct, the same holds true for any finite set of polynomials. However, in order to be considering asymptotic complexity in any meaningful fashion, we must consider infinite families of polynomials. This implies working either over finite fields but allowing the field (size) to vary, or working over infinite fields. For example, when we say "the permanent" in fact we are talking about the infinite family {permn:n0}, where permn is the permanent of an n×n matrix.
Joshua Grochow

1
fair enough, lets clarify the question statement with "polynomials in an infinite field" rather than downvote an answer attempt that points out a needed clarification :) your example with the permanent doesn't make this obvious, because the matrices are still over some fixed ring or field. Also, in the case of F2, i am not actually restricting myself to considering only those 4 polynomials, but rather using the equivalence relation of x2=x to reduce any higher degree polynomial to one of those four in time linear in the polynomial's degree.
Carter Tazio Schonwald

1
Carter: I thought it was clear that I was asking about asymptotics, but I have now clarified. You could also use multivar polys where the num of vars is not fixed. Sorry for the downvote, but I don't think you deserve half the bounty (+25) for pointing out that finite sets of 1-var polys can be evaluated with O(1) ops. I know you were actually pointing out something less obvious, but that wasn't relevant to the question: as already pointed out in the comments on the Q, the poly is not part of the input. So over F_2 there are indeed only 4 1-var polys to consider (using x^2=x is unnecessary).
Joshua Grochow

umm, your clarification still is broken, you need to have a fixed ring or field for the permn stuff or its nonsense.
Carter Tazio Schonwald

1
I agree with you in general, so I fixed the clarification. Interestingly, in the case of polynomials with 0,1,-1 coeffs (such as perm and det), allowing the field to vary is not total nonsense. One could imagine a result such as: "Testing whether detn is 0 is as hard as evaluating detn by over Fpn" (for some specified sequence pn of prime powers, not necessarily all of the same characteristic). Admittedly though, this wouldn't be as natural a result as over a fixed field.
Joshua Grochow

3

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 has nO(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 substitution xiy2i. The resulting polynomial is say iSαiyai. This could be an exponential degree polynomial of course but let us go modulo yr1 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 yr1. Or in other words, r divides ab. Thus as long as r does not divide i,jS(aiaj), 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.


Unless I'm missing some connection with identity testing, I think you may have misunderstood. In addition to the fact that the polynomials are not part of the input for my question---I am rather interesting in a decision problem and a function problem defined by a family of polynomials---I am not asking about identity testing, but testing, given input x, whether f(x)=0. This is a priori easier than the general problem: given input x, evaluate f(x). Hopefully the clarification I just added to the question makes this more clear.
Joshua Grochow

Ah! I see... Thanks for the clarification; my answer is not too relevant in that case.
Ramprasad

1

Any #P problem, or even #P/poly, can be written as a polynomial: make a circuit out of NAND gates, write these as 1xy 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.


Yes. This is a slightly more general version of the example of the permanent. Such a decision problem is in NP (or NP/poly). It is thought that #P is significantly harder than NP (since it is as hard as the whole polynomial hierarchy). Do you know of a general condition on #P problems that, if satisfied by a #P function f implies that f is no harder than its decision version?
Joshua Grochow

There's a conjecture that the natural counting versions of NP-complete problems are always #P-complete, but I don't know any other relationship. A sort of trivial condition would be that the problem is self-reducible and f is bounded by a polynomial.
Colin McQuillan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.