Complessità del test per un valore rispetto al calcolo di una funzione


36

In generale sappiamo che la complessità di testare se una funzione assume un determinato valore in un dato input è più facile che valutare la funzione in quell'input. Per esempio:

  • La valutazione del permanente di una matrice di numeri interi non negativi è # P-difficile, ma indica se tale permanente è zero o diverso da zero è in P (corrispondenza bipartita)

  • Esistono n numeri reali , in modo tale che il polinomio abbia le seguenti proprietà (in effetti la maggior parte degli insiemi di numeri reali avrà queste proprietà) . Per un dato input , verificare se questo polinomio è zero richiede moltiplicazioni e confronti e confronti (in base al risultato di Ben-Or , poiché il set zero ha componenti), ma la valutazione del polinomio sopra richiede almeno passi, di Paterson-Stockmeyer .a1,...,ani=1n(xai)nxΘ(logn)nΩ(n)

  • L'ordinamento richiede passaggi su un albero di confronto (anche passaggi su un albero decisionale algebrico reale, sempre secondo il risultato di Ben-Or), ma testare se un elenco è ordinato utilizza solo confronti .Ω(nlogn)Ω(nlogn)n1

Esistono condizioni generali su un polinomio che sono sufficienti per suggerire che la complessità (algebrica) del test se il polinomio è zero è equivalente alla complessità della valutazione del polinomio?

Sto cercando condizioni che non dipendono dal conoscere in anticipo la complessità dei problemi.

( Chiarimento 27/10/2010 ) Per essere chiari, il polinomio non fa parte dell'input. Ciò significa che, data una famiglia fissa di funzioni (una per ogni dimensione di input (lunghezza bit o numero di input)), voglio confrontare la complessità del problema lingua / decisione con la complessità della valutazione delle funzioni .{fn} {X:fn(X)=0 where n is the "size" of X} {fn}


Chiarimento: sto chiedendo della complessità asintotica della valutazione / test delle famiglie di polinomi. Ad esempio, su un campo fisso (o anello, come Z ) "il permanente" non è un singolo polinomio, ma una famiglia infinita {permn:n0} dove permn è il permanente di una matrice n×n su quel campo (o anello).


La risposta alla tua domanda non dipende non solo dal polinomio stesso, ma anche dalla sua rappresentazione?
ilyaraz,

@ilyaraz: non sono sicuro di cosa intendi. Il polinomio non fa parte dell'input.
Arnab,

Giosuè, puoi "latexizzare" la domanda per una migliore leggibilità?
Suresh Venkat,

4
Ho trovato un documento di Valiant ( dx.doi.org/10.1016/0020-0190(76)90097-1 ) "Complessità relativa di controllo e valutazione", che considera essenzialmente la stessa domanda ma nell'impostazione standard della macchina di Turing, piuttosto che un'ambientazione algebrica. Non risponde alla mia domanda, ma se hai trovato questa domanda interessante potresti trovare interessante anche il suo articolo.
Joshua Grochow,

1
Gli "usi algoritmici del teorema di Feferman – Vaught" di Makowski sono probabilmente rilevanti. Definisce i polinomi sommando le strutture definibili da MSOL sui grafici e mostra che sono facili da valutare quando i grafici sono limitati dalla larghezza dell'albero
Yaroslav Bulatov,

Risposte:


4

Nel corso , il test per lo zero e la valutazione è "quasi" lo stesso nel senso seguente: Si supponga di avere un albero di decisione che verifica se qualche irriducibile polinomio f è diverso da zero. Stiamo lavorando su C , quindi possiamo solo verificare l'uguaglianza ma non abbiamo "<". Questa è la differenza importante rispetto al secondo esempio nella domanda! Ora prendiamo il percorso tipico, cioè il percorso seguito da quasi tutti gli input (seguiamo sempre il "- " -branch). Inoltre, prendi il percorso tipico di tutti gli elementi nella varietà V ( f ) . Sia v il nodo in cui questi due percorsi prendono per la prima volta un ramo diverso. Lascia h 1 ,CfCV(f)v sia i polinomi che vengono testati lungo il prefisso comune dei due percorso. Poiché V ( f ) è chiuso, tutti gli elementi che si trovano in V ( f ) e che raggiungono v si trovano anche in V ( h m ) . Pertanto, se f ( x ) = 0 , allora uno dei h i annulla su x . Applichiamo la Nullstellensatz di Hilbert a h 1h m e otteniamo che f g =h1,,hmV(f)V(f)vV(hm)f(x)=0hixh1hm per alcuni polinomi g che sono coprimi di f . In breve, mentre non stiamo calcolando f , quandodecidiamose f ( x ) = 0 , dobbiamo calcolare f g per alcuni coprimi g .fg=h1hmgfff(x)=0fgg


Quindi la complessità del test è essenzialmente catturata dalla complessità della valutazione di f g . Quindi, poiché f è irriducibile, la complessità della valutazione di f è limitata polinomialmente dalla complessità della valutazione di f g , dal grado di f g e dal numero di variabili. Quindi se f ha un grado polinomiale e test f ( x ) = 0 è sufficientemente semplice, allora test e valutazione sono equivalenti. (Tuttavia, se d e g ff(x)=0 fgfffgfgff(x)=0degf is large or if testing is difficult - say the degree of g is very large - then this says very little.)
Joshua Grochow

I don't get it: If you can evaluate f, then you can test for zero by just one more operation, namely, one equality test in the end. What could go wrong is that evaluating fg is cheaper than evaluating f for some reason. (Note: Evaluating f means evaluating at a generic point, that is, at an indeterminate.)
Markus Bläser

Precisamente. Valutare potrebbe essere più semplice che valutare f . (So ​​che valutare f significa valutare in un punto generico; non capisco davvero perché hai pensato che la tua ultima osservazione tra parentesi fosse necessaria, ma potrebbe essere oltre il punto.) Cos'è esattamente che non ottieni? In base al tuo ultimo commento direi che entrambi capiamo la situazione e siamo d'accordo con la comprensione reciproca ... Vedi anche "La complessità dei fattori dei polinomi multivariati" di Burgisser, che fornisce la stessa conclusione che ho affermato nel mio commento precedente. 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.

This doesn't say much about difference in complexity of testing/evaluation beyond being FPT. Testing for a value means asking if there exists a setting of variables such that given MSO2 formula on given graph evaluates to true, whereas evaluating involves enumerating over satisfying assignments of MSO2 formula. This seems to be related to the question of how complexity of counting SAT relates to complexity of SAT.

Edit 10/29 Another useful concept might be to look into Uniform Difficult Point Property. Apparently polynomials with this property are either easy to evaluate in all points, or hard to evaluate almost at every point. Makowski gives some references on slides 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.