Teaser
Como o problema é longo, aqui está um caso especial que captura sua essência.
Problema: Seja A um algoritmo detrminístico para o 3-SAT. É o problema de simular completamente o algoritmo A (em todas as instâncias do problema). Espaço P difícil?
(Mais precisamente, existem razões para acreditar que esta tarefa é difícil no espaço P, faz alguma coisa nessa direção seguir conjecturas CC comuns e há esperança de provar que essa tarefa é difícil no X para alguma classe de complexidade X que se presume ser estritamente acima de NP.)
Perguntas relacionadas : are-pspace-complete-problems-inerentemente-menos tratável-que-np-complete-problems ;
ATUALIZAÇÃO EDITADA : Existem várias interpretações para "Simular completamente A". E pode haver diferentes respostas interessantes de acordo com a interpretação. (Também Ryan Williams propôs uma interpretação para simular um algoritmo não determinístico.) Para uma certa maneira de associar um problema de decisão à tarefa computacional "Simular completamente A", Joe Fitzsimons encontrou um algoritmo A para o qual esse problema de decisão associado ainda está em NP . Se "simular completamente" se refere à capacidade de gerar todo o registro do computador em uma determinada etapa então, para o algoritmo de Joe, parece que é o necessário. Para esta versão (eu acho, mas não tenho certeza), a resposta de Ryan esboça um argumento de dureza. Joe observou que, se você é obrigado a fornecer todos os registros (o que não é mais um problema de decisão), não é de surpreender que você precise avançar e as classes de complexidade não sejam as mesmas.
De qualquer forma, se precisarmos de saída do estado dos registros em um passo prescrito , em seguida, as respostas de Ruan e Joe sugere (mas, novamente, eu não tenho certeza sobre isso) que é essencialmente . Podemos spaculate que por esta interpretação da operação empurra para cima um passo maior no hiearachy polinomial, e que .
Em qualquer caso, por essas interpretações, a resposta para minha pergunta inicial é NÃO .
Eu tinha uma interpretação mais drástica para "simular completamente um algoritmo A" em mente. (Mas talvez a interpretação de Joe e Ryan seja mais interessante.) Minha interpretação ao "simular completamente o algoritmo A" é que você supera o estado dos registros a cada passo . Em particular, se o algoritmo não for polinomial, sua saída também não será polinomial. Sob essa interpretação drástica, perguntei-me se deveríamos acreditar que, para todo algoritmo A, C A é difícil para o P-SPACE, e o que podemos provar.
Motivação:
Esta questão foi motivada por uma palestra de Paul Goldberg ( slides , vídeo , artigo ) descrevendo um artigo com Papadimitriou e Savani. Eles mostraram que o espaço P é completo para encontrar qualquer equilíbrio calculado pelo algoritmo de Lemke-Howson. O problema para encontrar algum ponto de equilíbrio é apenas completo com o PPAD. Essa lacuna é bastante surpreendente e resultados semelhantes já estão descritos no conhecido artigo de Papadimitriu: A complexidade da argumentação de paridade e outras provas ineficientes da existência (1991) . (Sabe-se que os problemas completos do PPAD não podem ser nem NP-difíceis (a menos que coisas terríveis aconteçam, então isso está muito distante no mundo da complexidade em comparação ao espaço P)).
Sobre o que é a pergunta
Minha pergunta é sobre lacunas semelhantes para problemas de complexidade computacional ainda mais antigos e clássicos. (Talvez isso já seja familiar.)
Dado um problema computacional, podemos distinguir entre três questões
a) Resolva o problema algoritmicamente
b) Alcance a mesma solução que um algoritmo específico A
c) Simule todo o algoritmo A
É claro que c) é pelo menos tão difícil quanto b) que é pelo menos tão difícil quanto a). Os resultados mencionados acima mostram uma lacuna entre a dificuldade computacional das tarefas a) eb) para o problema dos equilíbrios computacionais. Gostaríamos de entender a situação (e principalmente a diferença entre a) e c)) para outros problemas computacionais.
A questão:
A forma básica da pergunta com um exemplo
Começamos com um problema computacional, Problema X
Um exemplo pode ser
Problema X: Resolva uma instância do SAT com n variáveis
nós também especificamos
A: um algoritmo que executa o Problema X
e colocamos um novo problema
Problema Y: simule exatamente o algoritmo A
e estamos interessados na dificuldade computacional do Problema Y. Desejamos entender a classe de tais problemas Y para todos os algoritmos A que resolvem o Problema X original. Especialmente, queremos saber quão fácil pode ser o problema Y (ou quão difícil deve ser) be) se for permitido escolher o algoritmo A à vontade.
A operação proposta em classes de complexidade
Comece com uma classe de complexidade descrita por alguma tarefa computacional. Dado um algoritmo A para executar cada instância desta tarefa computacional, considerar uma nova classe de complexidade C Um que é descrito pela tarefa computacional de completamente simular A . Então podemos (espero) definir um "ideal" de classes de complexidade
para todos os algoritmos A}.
Se permitirmos que descreva o que um computador digital pode fazer em tempo polinomial (portanto, não quero restringir a atenção, por exemplo, a problemas de decisão), P + é o ideal estendido pelo próprio P.
Finalmente, minhas perguntas
Minhas perguntas são:
1) A definição faz sentido (no sentido amplo da palavra sentido). É bem conhecido ou o mesmo que (ou semelhante a) alguma coisa bem conhecida. (Minha formulação foi informal e, em particular, quando passamos de problemas específicos como o SAT para uma classe de complexidade como o NP, precisamos nos preocupar com várias coisas que negligenciei.)
As próximas duas perguntas assumem que a definição pode fazer sentido ou ser recuperada para fazer sentido.
2) Suponha que nos equiparmos com todas as conjecturas padrão em relação à conformidade computacional. Podemos dizer o que deve ser para algumas classes familiares de complexidade. (Por exemplo, C = N P , C = P-espaço, ..)? EDIT: Várias pessoas apontaram que P S P A C E + . Então> podemos perguntar o que é ( P N P ) + ? é P H + = P H ?
Podemos adivinhar quais são as classes de compexity para que seja o ideal estendido por C ?
Portanto, a questão de quão fácil pode a tarefa computacional de simular um algoritmo A para 3-SAT (quando podemos escolher o algoritmo para torná-lo o mais fácil possível) é um caso especial interessante.
3) Há esperança de provar algo sobre esta operação?
Obviamente, se você provar que todas as classes de complexidade em têm espaço no espaço P, isso mostrará que P = N P implica P = P S P A C E , o que (eu acho) seria um resultado enorme e altamente inesperado . Mas se você mostrar que todas as classes de complexidade em N P + são difíceis de dizer no terceiro nível da hierarquia polinomial (por exemplo, Δ P 3 ), isso implicaria apenas coisas que já sabemos, coisas que decorrem do fato de P = N P faz com que o PH entre em colapso.