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ão : 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 .
Supondo , esta pergunta já foi feita ou respondida? Se não for respondido, que tipos de suposições adicionais ( por exemplo, , 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!
Respostas:
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
fonte
Pergunta: Deixe gerar fórmulas. Faz { M ( 1 n ) | n ∈ N ∧ M ( 1 N ) ∈ S A T } pertencem a P ?M∈PF {M(1n)∣n∈N∧M(1n)∈SAT} P
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 ) .1n nO(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) M n succintSAT E 2O(lgn)=nO(1) .
sim⟹succinctSAT∈E :
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 ⊥M∈PF C M C ⊥ caso contrário.
Assume-se que pertencem a P . Para resolver s u c c i n c t S A T{M(1n)∣n∈N∧M(1n)∈SAT} P succinctSAT 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 paraSAT 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).n n
Ou, mais formalmente,
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 .
fonte