Portanto, representa problemas nos quais temos pequenas testemunhas verificáveis para instâncias e para pequenas testemunhas verificáveis para instâncias. Como isso funciona para
e assim por diante?
fonte
Portanto, representa problemas nos quais temos pequenas testemunhas verificáveis para instâncias e para pequenas testemunhas verificáveis para instâncias. Como isso funciona para
e assim por diante?
Há uma interpretação lógica dos vários níveis da hierarquia polinomial, que estende a caracterização de testemunha de e .
Um idioma está em se houver um predicado de politempo e um polinômio tal que
Aqui:
Da mesma forma, está em se puder ser escrito de maneira semelhante, começando apenas com .
Como exemplo, é e consiste em todos os idiomas, de modo que
Como outro exemplo, é .
Seu terceiro exemplo é , que é . Não sei qual é a caracterização lógica.
DizerNP contém problemas com "pequenas testemunhas verificáveis" é conceitualmente imprecisa. As testemunhas são limitadas apenas polinomialmente porque queremos que o verificador seja eficiente (ou seja, executado em tempo polinomial). Nesse cenário, apenas um prefixo polinomialmente longo de qualquer testemunha pode ser relevante; daí, por que insistimos em testemunhas polinomialmente longas. Além disso, "pequeno" significa potencialmente constante ou logarítmico; essas não são usadas, é claro, porque podem ser forçadas de maneira bruta por algoritmos de tempo polinomial (e apenas nos dão problemas emP )
A maneira como a noção de sistema de prova deNP generaliza para produzir a hierarquia polinomial é muito parecido com o ponto de vista lógico que Yuval Filmus descreve em sua resposta. Deixe-me apresentar a visão menos técnica por trás disso.
Consideramos jogos de duas partes baseados em QBFs. Uma instância (ou o "tabuleiro", se você quiser imaginá-lo como um jogo de tabuleiro como xadrez ou damas) de um jogo desse tipo é uma fórmulaφ(x1,y1,…,xm,ym) e os dois jogadores dizem A e B , revezando-se escolhendo valores para xi e yi , respectivamente. Cada uma dessas escolhas constitui um movimento . Quando não restam mais valores, a fórmula (ou seja, a posição final do jogo) é avaliada;A vence se for verdade e B ganha se for falso.
Este jogo modela quantificadores existenciais e universais da seguinte maneira: Se a fórmula for um verdadeiro QBF, entãoA (que desempenha o papel de quantificadores existenciais) sempre terá uma estratégia vencedora e poderá escolher uma série de x1,…,xm que causa φ para ser verdade, independentemente dos valores y1,…,ym escolhido por B (que desempenha o papel de quantificadores universais). As instâncias "yes" são aquelas nas quais o QBF é verdadeiro, ou seja,UMA sempre tem uma estratégia vencedora, independentemente de como B tocam.
Note também queΣ1=NP e Π1=coNP são casos bastante degenerados desses jogos porque B e A , respectivamente, não têm a chance de se mover! Por exemplo, para as instâncias "yes" deΠ1=coNP , A consegue vencer simplesmente sem fazer nada (já que uma instância "yes" é uma tautologia e é verdadeira independentemente do que B escolhe).
Há também uma versão mais generalizada do anterior, baseada em jogos genéricos (e não especificamente em QBFs). Você pode encontrá-lo, por exemplo, na seção 5.4 "PSPACE e jogos" de "Complexidade computacional: uma perspectiva conceitual" de Goldreich ( aqui está um link gratuito para a versão preliminar; consulte a página 174 e as páginas 118–121) .
fonte
Observe queP é uma classe de função disfarçada e que PNP também é uma classe de função disfarçada. Vamos escreverPF para a classe de funções parciais computáveis em tempo polinomial, ou seja, a classe de função correspondente a P e PFNP para a classe de função correspondente a PNP . A inclusão de funções parciais permite usar a notação estabelecida (usada em A. taxman da complexidade classes de funções de A. Selman, 1994) que evita o conflito de nomes com a classe não relacionadaFP .
A redução de cozimento parece mais natural para as classes de funções. Você provavelmente encontrou uma redução de Cook (e implicitamente também a classePFNP ) no ponto em que seu livro ou professor explicou por que não há problema em analisar apenas os problemas de decisão. Normalmente, algo como um algoritmo (dePFNP ) para calcular a última atribuição lexicograficamente satisfatória de uma determinada instância SAT é descrita. Primeiro, pergunta-se ao oráculo se existe alguma atribuição satisfatória e depois determina os valores das variáveis (binárias)xk perguntando sucessivamente ao oráculo se existe uma tarefa satisfatória onde x1,…,xk−1 são definidos com os valores já determinados e xk está configurado para 1 . Se sim, então um definexk para 1 , caso contrário, um define xk para 0 . (Observe que essa é uma função parcial, pois a função é indefinida caso não haja uma atribuição satisfatória.)
Deixe-me tentar dizer algumas palavras sobre a observação de Yuval Filmus:
Há duas dificuldades a serem superadas: (1) a caracterização de uma classe de função tem uma sensação diferente da caracterização lógica de uma classe de decisão e (2) pelo menos paraPA temos que modelar o caráter determinístico das consultas para o oráculoA .
Se olharmos para a classeUPF de funções parciais correspondentes à classe UP problemas de decisão primeiro, então podemos ignorar (2) por um momento: uma função parcial pf é em UPFΣPk se houver uma função parcial polytime p , um predicado polytime f e um polinômio ℓ de tal modo que pf(x)=p(x,z) Onde ∃≤1|z|≤ℓ(|x|)p(x,z)≠⊥∧∃|y1|≤ℓ(|x|)∀|y2|≤ℓ(|x|)⋯Q|yk|≤ℓ(|x|)f(x,y1,…,yk,z).
Aqui:
Pode-se tentar superar (2) introduzindo os operadoresBIT(z,i):=z[i] e TRUNC(z,i):=z∣∣[1,i) . Mas ainda assim seria feio, e pode-se argumentar se isso realmente constituiria uma caracterização lógica.
fonte