Uma boa referência para operadores de classe de complexidade?

16

Estou interessado em saber se existem bons artigos ou pesquisas expositivos aos quais posso me referir quando escrevo sobre operadores de classes de complexidade : operadores que transformam classes de complexidade fazendo coisas como adicionar quantificadores a eles.

Exemplos de operadores

O seguinte pode ser interpretado como uma lista mínima de operadores que uma resposta deve poder descrever. Aqui, é um conjunto arbitrário de idiomas, sobre um alfabeto finito arbitrário . ΣCΣ

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

  • O operador aparentemente foi introduzido por Wagner [1], embora com a notação em vez de . O exemplo mais conhecido de uma classe construído desta maneira é . Esse operador vem com um quantificador complementar , no qual o na definição é substituído por , que permite definir facilmente toda a hierarquia polinomial: por exemplo, . Este pode ser o primeiro operador que foi definido.C N P = Pc c Σ P 2 P = PCCNP=PccΣ2PP=P

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

  • O operador é semelhante ao operador \ existente em que \ oplus \ mathbf C refere-se ao número de certificados existentes verificáveis ​​na classe \ mathbf C , mas conta o número de certficiates módulo 2 . Isso pode ser usado para definir as classes \ mathsf {\ oplus P} e \ mathsf {\ oplus L} . Operadores similares " \ mathsf {Mod_k \ cdot} " existe para outros módulos k .C C 2 P L M o d k kCC2PLModkk

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

  • Este é o operador complementar e é tacitamente usado para definir , , e uma série de outras classes das que não são conhecidas por serem fechadas com complementos.c o C = P c o M o d k LcoNPcoC=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|)|)]}

- com desculpas pelo espaçamento

  • O operador BP foi aparentemente apresentado por Schöning [2], embora para definir linguagens (ou seja, ele não permitiu uma diferença de probabilidade) e sem usar as constantes explícitas 13 ou 23 . A definição aqui gera problemas de promessa, com instâncias YES Π1 e NO-instâncias emΠ0 . Observe que e ; esse operador foi usado por Toda e Ogiwara [3] para mostrar que .A M = B P N P P # PB P PBPP=BPPAM=BPNPP#PBPP

Observações

Outros operadores importantes que podemos abstrair das definições das classes padrão são (das classes e ) e (das classes e ). Também está implícito na maior parte da literatura que (produzindo problemas de função das classes de decisão) e (produzindo classes de contagem das classes de decisão) também são operadores de complexidade.C = P C = L C C P P P L F C=CC=PC=LCCPPPLF#

Há um artigo de Borchert e Silvestri [4] que propõe definir um operador para cada classe, mas que não parece ser muito referido na literatura; Também me preocupo que essa abordagem geral possa ter sutis questões de definição. Eles se refiram a uma boa apresentação por Köbler, Schöning, e Torán [5], que no entanto é agora mais de 20 anos de idade, e também parece perder .

Questão

Que livro ou artigo é uma boa referência para operadores de classes de complexidade?

Referências

[1]: K. Wagner, A complexidade dos problemas combinatórios com representações sucintas de entradas , Acta Inform. 23 (1986) 325-356.

[2]: U. Schöning, classes probabilísticas de complexidade e baixa , no Proc. 2ª Conferência do IEEE sobre Estrutura em Teoria da Complexidade, 1987, pp. 2-8; também em J. Comput. System Sci., 39 (1989), pp. 84-100.

[3]: S. Toda e M. Ogiwara, As classes de contagem são pelo menos tão difíceis quanto a hierarquia de tempo polinomial , SIAM J. Comput. 21 (1992) 316-328.

[4]: B. e Borchert, R. Silvestri, operadores de ponto , Volume Teórico de Ciência da Computação 262 (2001), 501-523.

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

Niel de Beaudrap
fonte
Um predecessor notável da noção de operador de complexidade é o tratamento de [6]: S. Zachos, Quantificadores Probabilísticos, Adversários e Classes de Complexidade: Uma Visão Geral, Proc. da Conferência sobre Estrutura em Teoria da Complexidade (pp.383--400), Berkeley, Califórnia, 1986, citada por Schöning [2] acima em conexão com . BPNP
Niel de Beaudrap 18/03/2014
3
Novamente por Zachos, isso também pode ajudar: Complexidade combinatória: operadores em classes de complexidade
Alessandro Cosentino
@NieldeBeaudrap Zachos foi o primeiro que surgiu com a noção de operadores de classe de complexidade. Lembro-me de suas palestras que ele afirmou isso explicitamente. Também existe um para a esmagadora maioria, . +
Tayfun Pay
@TayfunPay: de fato, o quantificador é útil para descrever , embora usando o formalismo de duas faces descrito em [6] (no meu comentário acima), e não da maneira descrita por Schöning. B P +BP
Niel de Beaudrap 18/03/2014
@NieldeBeaudrap Também existe outro que pode ser usado para definir um erro frente e verso ilimitado . 1/2
Tayfun Pay

Respostas:

15

Aqui está uma referência com muitas definições de operadores (mas não muitos detalhes):

S. Zachos e A. Pagourtzis, Complexidade Combinatória: Operadores em Classes de Complexidade , Anais do 4º Simpósio de Lógica Panhellenic (PLS 2003), Thessaloniki, 7-10 de julho de 2003.

  • Ele define um operador de identidade , assim como os operadores c o -, N (correspondente a acima), B P , R (correspondente ao erro unilateral limitado), , U (correspondente ao não determinismo com uma aceitação única) transição), P (correspondente a erro bilateral ilimitado) e Δ (que para uma classe C forma Cc o C ).EcoNBPRUPΔCCcoC

  • Isso mostra que:

    1. é um elemento de identidade em relação à composição [Definição 1];E
    2. - é auto-inverso [Definição 2];co
    3. é idempotente [Definição 3] - implícito é que B P , R , , U e P também são idempotentes;NBPRUP
    4. e P comutam com c o - [Definições 4 e 8], enquanto é invariável na composição correta com c o - [Definição 6];BPPcoco
    5. Os operadores acima são todos monotônicos (ou seja, para todos os operadores O acima):C1C2OC1OC2O

Ao longo, que também descreve um punhado de maneiras que estes operadores referem-se a classes de complexidade tradicionais, tais como , Z P P , Um H , H A , etc.Σ2pPZPPAMMA

Alessandro Cosentino
fonte
14

Como referência introdutória à noção de operador de complexidade (e demonstrando algumas aplicações da ideia), o melhor que encontrei até agora é

D. Kozen, Teoria da Computação (Springer 2006)

que é derivado de notas de aula sobre complexidade computacional e tópicos relacionados. Na página 187 ("Palestra Suplementar G: Teorema de Toda"), ele define os operadores

  • (para certificados aleatórios com erro unilateral limitado, como na classe R P )RRP
  • (para certificados aleatórios com erro nos dois lados delimitado, veja acima)BP
  • (para certificados aleatórios com erro ilimitado, cf C nas observações acima)PC
  • (para um número ímpar de certificados, veja acima)
  • (para existência de certificados de comprimento polinomial, cf acima)Σp
  • (para a existência decertificados de comprimento O ( log n ) , cf acima)ΣlogO(logn)
  • e Π l ó g (operadores complementares para Σ p e Σ l ó g : ver observações sobre acima)ΠpΠlogΣpΣlog
  • (definindo uma classe de contagem, cf. observações acima)#

e define tácitamente na página 12 da maneira usual.co-

O tratamento de Kozen desses operadores é suficiente para indicar como eles estão conectados às classes de complexidade "usuais" e para descrever o teorema de Toda, mas não discute muito seus relacionamentos e apenas os menciona por um total de 6 páginas (no que é afinal de contas). um livro que cobre um tópico muito mais amplo). Espero que alguém possa fornecer uma referência melhor que essa.

Niel de Beaudrap
fonte