Une bonne référence pour les opérateurs de classes de complexité?

16

Je suis intéressé s'il existe de bons articles ou enquêtes expositifs auxquels je peux me référer lorsque j'écris sur les opérateurs de classes de complexité : des opérateurs qui transforment les classes de complexité en faisant des choses telles que leur ajouter des quantificateurs.

Exemples d'opérateurs

Ce qui suit peut être interprété comme une liste minimale d'opérateurs qu'une réponse devrait pouvoir décrire. Ici, est un ensemble arbitraire de langages, sur un alphabet fini arbitraire .C ΣCΣ

C : = { L Σ |A Cf O ( p o l y ( n ) )x Σ :[ xLc Σ f ( | x | ) : ( x , c ) A ] }C : = { L ΣA CfO ( p o l y ( n ) )x Σ:[ xLcΣf(|x|):(x,c)A]}

  • L' opérateur a apparemment été introduit par Wagner [1], bien qu'avec la notation CC plutôt queCC . L'exemple le plus célèbre d'une classe construite de cette manière est N P = PNP=P . Cet opérateur est livré avec un quantificateur complémentaire , dans lequel lecc dans la définition est remplacée parcc ,qui permet de définir facilement une toute hiérarchie polynomiale: par exemple, Σ P 2 P = PΣP2P=P . Il peut s'agir du premier opérateur défini.

C : = { L Σ |A Cf O ( p o l y ( n ) )x Σ :[ xL# { c Σ f ( | x | ) : ( x , c ) A } 0( mod2 ) ] }C:={LΣACfO(poly(n))xΣ:[xL#{cΣf(|x|):(x,c)A}≢0(mod2)]}

  • L' opérateur est similaire à l' opérateur en ce que C concerne le nombre de certificats existants qui sont vérifiables dans la classe C , mais compte à la place le nombre de certficiates modulo 2 . Cela peut être utilisé pour définir les classes de P et L . Des opérateurs similaires " M o d k " existent pour d'autres modules k .CC2PLModkk

c o C : = { L Σ |A Cx Σ : [ x Lx A ] }coC:={LΣACxΣ:[xLxA]}

  • C'est l'opérateur complémentaire, et est tacitement utilisé pour définir c o N P , c o C = P , c o M o d k L , et une foule d'autres classes parmi celles qui ne sont pas connues pour être fermées sous des compléments.coNPcoC=PcoModkL

B PC : = { ( Π 0 , Π 1 )|Π 0 , Π 1Σ &A Cf O ( p o l y ( n ) )x Σ :[(xΠ0#{cΣf(|x|):(x,c)A}13|Σf(|x|)|)&(xΠ1#{cΣf(|x|):(x,c)A}23|Σf(|x|)|)]}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 BPBP 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 1313 or 2323. The definition here yields promise-problems instead, with YES-instances Π1Π1 and NO-instances in Π0Π0. Note that BPP=BPPBPP=BPP, and AM=BPNPAM=BPNP; this operator was used by Toda and Ogiwara [3] to show that P#PBPPP#PBPP.

Remarks

D'autres opérateurs importants que l'on peut déduire des définitions des classes standard sont C =C (des classes C = P et C = L ) et CC (des classes P P et P L ). Il est également implicite dans la plupart de la littérature que F C=CC=PC=LCCPPPLF (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, Classes de complexité probabiliste et manque , dans Proc. 2e Conférence de l'IEEE sur la structure dans la théorie de la complexité, 1987, pp. 2-8; également dans J. Comput. System Sci., 39 (1989), pp. 84-100.

[3]: S. Toda et M. Ogiwara, Les classes de comptage sont au moins aussi dures que la hiérarchie polynomiale-temporelle , SIAM J. Comput. 21 (1992) 316–328.

[4]: B. et Borchert, R. Silvestri, Opérateurs de points, Theoretical Computer Science Volume 262 (2001), 501–523.

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

Niel de Beaudrap
la source
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 BPNPBPNP.
Niel de Beaudrap
3
Again by Zachos, this might help too: Combinatory Complexity: Operators on Complexity Classes
Alessandro Cosentino
@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: en effet, le quantificateur + est utile pour décrire B P , mais en utilisant le formalisme bilatéral décrit dans [6] (dans mon commentaire ci-dessus) plutôt que la manière décrite par Schöning. +BP
Niel de Beaudrap
@NieldeBeaudrap Il y a également un autre qui peut être utilisé pour définir des bornes d' erreur à deux faces 1 / deux . 1/2
Tayfun Payez

Réponses:

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 EE, as well as operators coco- , NN (corresponding to above), BPBP, RR (corresponding to bounded one-sided error), , UU (corresponding to non-determinism with a unique accepting transition), PP (corresponding to unbounded two-sided error), and ΔΔ (which for a class CC forms CcoCCcoC).

  • It shows that:

    1. EE is an identity element with respect to composition [Definition 1];
    2. coco- is self-inverse [Definition 2];
    3. NN is idempotent [Definition 3] — implicit is that BPBP, RR, , UU, and PP are also idempotent;
    4. BPBP and PP commute with coco-  [Definitions 4 and 8], while is invariant under right-composition with coco- [Definition 6];
    5. The above operators are all monotone (that is, C1C2OC1OC2C1C2OC1OC2 for all operators OO above):

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

Alessandro Cosentino
la source
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.

Niel de Beaudrap
la source