Benefícios para classes sintáticas e semânticas

9

Este é um post separado de Consequências da UP igual a NP , e também uma pergunta de acompanhamento para as Classes de complexidade semântica versus sintática .


No post acima, aprendemos sobre as classes semântica e sintática . Resumidamente, quando uma classe pode ser caracterizada como uma classe de linguagem foliar , então uma classe é sintática se L 1L 2 = Σ , ou seja, aceitar a linguagem L 1 é o complemento da linguagem rejeitada L 2 ; caso contrário, chamamos de classe semântica. Pode-se ver que P , N P e P PL[L1|L2]L1L2=ΣL1L2PNPPPsão classes sintáticas, enquanto classes como e I P são classes semânticas.BPPIP

Resultado clássico como e conjectura P ? = B P P ambos podem ser vistos, pois as classes semânticas têm caracterizações sintáticas. Parece-me que as classes sintáticas são mais fáceis de lidar, pois possuem problemas completos naturais. Também técnicas como diagonalização são mais fáceis de serem aplicadas em classes sintáticas, uma vez que possuem uma enumeração de máquina natural. Mas ainda B P P como uma classe semântica parece ter propriedades muito mais agradáveis do que a classe sintática P P .PSPACE=IPP=?BPPBPPPP

Que benefícios temos se tivermos uma representação sintática de uma classe semântica ou vice-versa? Existem resultados ou técnicas de prova aplicadas apenas a classes sintáticas / semânticas?

Hsien-Chih Chang 張顯 之
fonte
11
Nunca é demais ter uma caracterização sintática de uma classe semântica. Não vejo como comparar os benefícios de ter uma caracterização sintática ou semântica de uma classe. Não se sabe que o BPP possui uma caracterização sintática, mas acredita-se que ele tenha um (se P = BPP); portanto, o fato de o BPP ter "boas propriedades" não parece ter nada a ver com o fato de ser uma classe semântica .
Robin Kothari
UP
no "ou vice-versa": qual seria a caracterização semântica de uma classe sintática? Existem exemplos de uma classe semântica sem essa caracterização semântica?
Artem Kaznatcheev
11
NPNL=ULNL

Respostas:

4

Aqui estão algumas vantagens.

  1. n3=n2
  2. É mais fácil criar oráculos que separam classes sintáticas, pois você só precisa diagonalizar infinitamente com frequência e não se importa com o que acontece nos outros comprimentos de entrada. Por outro lado, é mais fácil recolher classes semânticas, pois você pode eliminar máquinas que não cumprem a promessa.
Lance Fortnow
fonte
3

Eu acho que, nesse nível de generalidade, você já destacou alguns dos principais valores das classes sintáticas na pergunta: eles têm uma enumeração de máquinas e, como conseqüência, eles têm problemas naturais completos e é possível mais facilmente fazer a diagonalização. Obviamente, classes semânticas específicas (como UP) podem ter outros benefícios, mas, para apenas "sintático versus semântico" em geral, acho que a enumeração da máquina e suas conseqüências são o principal benefício.

Joshua Grochow
fonte
0

Acredito que o benefício de criar uma classe semântica é poder isolar as respostas que você realmente deseja. Por exemplo, na UP, estamos preocupados se há uma solução ou nenhuma solução e não nos importamos se houver mais de uma solução. Acredito que a classe semântica é uma maneira de ajustar as classes sintáticas.

Tayfun Pay
fonte