O Problema do Examinador (geração uniforme de instâncias / respostas de decisão do SAT)

11

O assistente de ensino de um curso conseguiu escrever um programa que (deterministicamente) gera perguntas difíceis para os exames. Agora, ela gostaria de escrever um programa que gere as respostas correspondentes. O problema do examinador pergunta se isso é sempre possível; a Conjectura de Examiner afirma que, assumindo, , énãoPNP : chegando com problemas é mais fácil do que chegar com suas soluções.

Mais formalmente, seja uma Máquina de Turing determinística que, na entrada 1 n , gera em tempo polinomial uma fórmula booleana de tamanho n . Gostaria de saber se, para todo esse M , existe uma Máquina de Turing determinante em tempo polinomial M que, na entrada 1 n , gera " 1 " se M ( 1 n ) tiver uma atribuição satisfatória e " 0 " caso contrário .M1nnMM1n1M(1n)0

Supondo , esta pergunta já foi feita ou respondida? Se não for respondido, que tipos de suposições adicionais ( por exemplo,PNP , funções unidirecionais?) Podem afetar o resultado? Exceto qualquer das opções acima, minha "conjectura" é que nem sempre a TM "respondente" existe, mas qual é a sua intuição?

Obrigado!

usul
fonte
Deixe-me garantir que os quantificadores estejam corretos. Você está perguntando se "para todo , existe um M ' , de modo que M ' possa resolver com eficiência a saída de M " é verdade? MMMM
Tyson Williams
@TysonWilliams: Sim, editei um pouco a redação para tentar deixar isso claro. Acho que sua afirmação é equivalente à minha!
Usul1
1
Como Emanuele ressalta que provavelmente não é isso que você realmente está procurando, você provavelmente deseja gerar pares de solução-instância em que a solução da instância é "difícil". Possivelmente relacionado ao que você está procurando: 1. Resposta de David aqui e 2. seção 6 de Stephen A. Cook e David G. Mitchell, " Encontrando instâncias difíceis do problema de satisfação: uma pesquisa ", 1997
Kaveh

Respostas:

12

A pergunta que você está fazendo é equivalente a NP unário = P unário, que por sua vez é equivalente a NE = E, pelo preenchimento.

No título, talvez você queira perguntar se é possível gerar pares de entrada / saída, de modo que a distribuição nas entradas seja "difícil". A possibilidade de fazer isso está em algum lugar entre P NP e funções de mão única.

Em modelos computacionais restritos, sabe-se que isso é possível. Por exemplo, pode-se gerar pares de entrada / saída para as funções de paridade ou maioria em AC 0 ou abaixo. Consulte A complexidade das distribuições .0

Manu
fonte
1
Você pode explicar por que é equivalente? ... Por "uniforme", quero dizer "modelo uniforme de computação" - se fizéssemos a pergunta sobre circuitos, a resposta seria trivialmente sim : cada codificaria um ou um zero, dependendo de M n é satisfatório ou não. MnMn
usul
4
Cada fornece uma linguagem de registro em NP: L M = { 1 n : M ( 1 n )  é satisfatório. } . Portanto, se unária-NP é igual a unária-P, então H ' representa a máquina que decide G H . Na outra direção, use qualquer linguagem de registro no NP e considere M como a máquina que a reduz para SAT. Se M ' existe, então a linguagem de registro também está em P, então P unário = NP unário. Para a segunda equivalência, você pode verificar Hartmanis et al. (mas uma direção é muito fácil) dl.acm.org/citation.cfm?id=808769MLM={1n:M(1n) is satisfiable.}MLMMM
Sasho Nikolov
4

Pergunta: Deixe gerar fórmulas. Faz { M ( 1 n ) | n NM ( 1 N ) S A T } pertencem a P ?MPF{M(1n)nNM(1n)SAT}P

succinctSATE Sim:

A suposição sobre a geração das fórmulas no tempo polinomial de significa que a fórmula pode ser dada de forma sucinta . Você quer decidir a satisfação deles no tempo n O ( 1 ) .1nnO(1)

Dado , podemos encontrar um n no tempo polinomial em | & Phi; | . Então φ pode ser indicado de forma sucinta na lg n + S ( 1 ) bits utilizando M e n . Podemos usar os nossos s u c c i n t S A T algoritmo em E para decidir isso em tempo 2 O ( lg n ) = n (φ=M(1n)n|φ|φlgn+O(1)MnsuccintSATE2O(lgn)=nO(1) .

sim succinctSATE :

Se dado um circuito C em unário , M calcula a sequência codificada de forma sucinta por C e retorna o resultado se for uma fórmula e MPFCMC caso contrário.

Assume-se que pertencem a P . Para resolver s u c c i n c t S A T{M(1n)nNM(1n)SAT}PsuccinctSAT escrevemos a fórmula dada sucinta em unário e, em seguida, usar a nossa suposição de resolvê-lo.

Pergunta: Podemos gerar em pares de instâncias e soluções de tempo polinomial para SAT modo que a instância seja difícil?

Temos que esclarecer o que entendemos por a instância ser difícil, já que qualquer instância por si só é (teoricamente) fácil, pois pode ser resolvida pelo algoritmo que sempre diz sim ou pelo algoritmo que sempre diz não. Parece-me que você tentou contornar esse problema impondo uniformidade. Pensando em termos criptográficos, sem algumas informações que não são reveladas ao adversário, não há sentido em ocultar o restante da computação, pois o adversário pode simular o protocolo.

Suponha que temos um algoritmo de tempo polinomial que gera pares de instância-solução. O adversário pode usar o mesmo algoritmo para encontrar a resposta se souber e encontrar n não for difícil da fórmula. A maneira mais razoável é usar uma chave secreta escolhida aleatoriamente para contornar isso e relaxar a condição de dureza para ser probabilística: nenhum algoritmo de tempo polinomial pode encontrar uma solução com alta probabilidade (sem conhecer a chave secreta).nn

A
k{0,1}n
φkwk
D
A

Ou, mais formalmente,

APFDP/polySAT(A(k)1)=A(k)2k

Prk{0,1}n{D(A(k)1)=SAT(A(K)1)}<1poly(n)

kφkA(k)2

ff(x)=yfyφf,y(x)xφf,y(x)SATff ).

Veja também os capítulos 29 e 30 do livro de Jan Krajicek "Forçando com variáveis ​​aleatórias", 2011, sobre geradores de complexidade de prova .

Kaveh
fonte
M