Un buon riferimento per gli operatori di classe di complessità?


16

Sono interessato se esistono buoni articoli o sondaggi espositivi a cui posso fare riferimento quando scrivo sugli operatori delle classi di complessità : operatori che trasformano le classi di complessità facendo cose come l'aggiunta di quantificatori.

Esempi di operatori

Quanto segue può essere interpretato come un elenco minimo di operatori che una risposta dovrebbe essere in grado di descrivere. Qui, C è un insieme arbitrario di lingue, sopra un alfabeto finito arbitrario Σ .

C:={LΣ|ACfO(poly(n))xΣ:[xLcΣf(|x|):(x,c)A]}

  • L' operatore fu apparentemente introdotto da Wagner [1], sebbene con la notazione piuttosto cheC . L'esempio più noto di una classe così costruito è N P = P . Questo operatore è dotato di un quantificatore complementare , in cui ilc nella definizione è sostituito dac , che permette di definire facilmente l'intera gerarchia polinomiale: per esempio, Σ P 2 P = P . Questo potrebbe essere il primo operatore che è stato definito.CCNP=PccΣ2PP=P

C:={LΣ|ACfO(poly(n))xΣ:[xL#{cΣf(|x|):(x,c)A}0(mod2)]}

  • Il operatore è simile al operatore che C riguarda il numero di certificati che esistono verificabili nella classe C , ma invece conta il numero di certficiates modulo 2 . Questo può essere usato per definire le classi P e L . Operatori simili " M o d k " esistono per altri moduli k .CC2PLModkk

coC:={LΣ|ACxΣ:[xLxA]}

  • Questo è l'operatore complementare, ed è tacitamente usato per definire , c o C = P , c o M o d k L , e una miriade di altre classi da quelle che non sono note per essere chiuse sotto complementi.coNPcoC=PcoModkL

BPC:={(Π0,Π1)|Π0,Π1Σ&ACfO(poly(n))xΣ:[(xΠ0#{cΣf(|x|):(x,c)A}13|Σf(|x|)|)&(xΠ1#{cΣf(|x|):(x,c)A}23|Σf(|x|)|)]}

— with apologies for the spacing

  • The BP operator was apparently introduced by Schöning [2], albeit to define languages (i.e. he did not permit a probability gap) and without using the explicit constants 13 or 23. The definition here yields promise-problems instead, with YES-instances Π1 and NO-instances in Π0. Note that BPP=BPP, and AM=BPNP; this operator was used by Toda and Ogiwara [3] to show that P#PBPP.

Remarks

Other important operators which one can abstract from the definitions of standard classes are C=C (from the classes C=P and C=L) and CC (from the classes PP and PL). It is also implicit in most of the literature that F (yielding function problems from decision classes) and # (yielding counting classes from decision classes) are also complexity operators.

There is an article by Borchert and Silvestri [4] which propose to define an operator for each class, but which does not seem to be referred to much in the literature; I also worry that such a general approach may have subtle definitional issues. They in turn refer to a good presentation by Köbler, Schöning, and Torán [5], which however is now over 20 years old, and also seems to miss out .

Question

What book or article is a good reference for complexity class operators?

References

[1]: K. Wagner, The complexity of combinatorial problems with succinct input representations, Acta Inform. 23 (1986) 325–356.

[2]: U. Schöning, classi di complessità probabilistica e lowness , in Proc. 2ª Conferenza IEEE sulla struttura nella teoria della complessità, 1987, pagg. 2-8; anche in J. Comput. System Sci., 39 (1989), pagg. 84-100.

[3]: S. Toda e M. Ogiwara, Le classi di conteggio sono almeno difficili quanto la gerarchia dei tempi polinomiali , SIAM J. Comput. 21 (1992) 316–328.

[4]: B. e Borchert, R. Silvestri, operatori Dot , Theoretical Computer Science Volume 262 (2001), 501-523.

[5]: J. Köbler, U. Schöning e J. Torán, The Graph Isomorphism Problem: Its Structural Complexity, Birkhäuser, Basel (1993).


A noteworthy predecessor to the notion of a complexity operator is the treatment of [6]: S. Zachos, Probabilistic Quantifiers, Adversaries, and Complexity Classes: An Overview, Proc. of the Conference on Structure in Complexity Theory (pp.383--400), Berkeley, California, 1986, which is cited by Schöning [2] above in connection with BPNP.
Niel de Beaudrap


@NieldeBeaudrap Zachos is the one that first came up with the notion of complexity class operators. I recall from his lectures that he explicitly stated this. There is also one for overwhelming majority, +.
Tayfun Pay

@TayfunPay: infatti, il quantificatore è utile per descrivere B P , sebbene usando il formalismo su due lati descritto in [6] (nel mio commento sopra) piuttosto che nel modo descritto da Schöning. +BP
Niel de Beaudrap,

@NieldeBeaudrap Esiste anche un altro che può essere utilizzato per definire illimitata errore due lati . 1/2
Tayfun Pay

Risposte:


15

Here is a reference with many definitions of operators (not many details though):

S. Zachos and A. Pagourtzis, Combinatory Complexity: Operators on Complexity Classes, Proceedings of 4th Panhellenic Logic Symposium (PLS 2003), Thessaloniki, Jul 7-10 2003.

  • It defines an identity operator E, as well as operators co- , N (corresponding to above), BP, R (corresponding to bounded one-sided error), , U (corresponding to non-determinism with a unique accepting transition), P (corresponding to unbounded two-sided error), and Δ (which for a class C forms CcoC).

  • It shows that:

    1. E is an identity element with respect to composition [Definition 1];
    2. co- is self-inverse [Definition 2];
    3. N is idempotent [Definition 3] — implicit is that BP, R, , U, and P are also idempotent;
    4. BP and P commute with co-  [Definitions 4 and 8], while is invariant under right-composition with co- [Definition 6];
    5. The above operators are all monotone (that is, C1C2OC1OC2 for all operators O above):

Throughout, it also describes a handful of ways that these operators relate to traditional complexity classes, such as Σ2pP, ZPP, AM, MA, etc.


14

As an introductory reference to the notion of a complexity operator (and demonstrating some applications of the idea), the best I have found so far is

D. Kozen, Theory of Computation (Springer 2006)

which is derived from lecture notes on computational complexity and related topics. On page 187 ("Supplementary Lecture G: Toda's Theorem"), he defines the operators

  • R (for random certificates with bounded one-sided error, as in the class RP)
  • BP (for random certificates with bounded two-sided error, see above)
  • P (for random certificates with unbounded error, c.f. C in the remarks above)
  • (for an odd number of certificates, see above)
  • Σp (for existence of polynomial-length certificates, c.f. above)
  • Σlog (for existence of O(logn)-length certificates, c.f. above)
  • Πp and Πlog (complementary operators to Σp and Σlog: see remarks on above)
  • # (defining a counting class, c.f. remarks above)

and tacitly defines co- on page 12 in the usual way.

Kozen's treatment of these operators is enough to indicate how they are connected with the "usual" complexity classes, and to describe Toda's theorem, but does not much discuss their relationships and only mentions them for a total of 6 pages (in what is after all a book covering a much wider topic). Hopefully someone can provide a better reference than this.

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.