Como posso mostrar que o teorema de Cook-Levin não se relativiza?

7

A seguir, um exercício no qual estou preso (fonte: Sanjeev Arora e Boaz Barak; não é tarefa de casa):

Mostre que existe um oráculo A e uma lingua LNPA de tal modo que L não é redutível em tempo polinomial para 3SAT, mesmo quando a máquina que computa a redução tem acesso permitido a A.


O que eu tentei foi, pegue A ser o oráculo para deter o problema e deixar L={1n|M,ws.t.|M,w|=n and Turing machine M halts on w}.

Com esta tarefa, garantoLNPA e Lnão é polinomial redutível para 3SAT se o oracle não for fornecido à máquina que está executando a redução. Embora para mapear uma instância1n Eu teria que procurar 2nmesmo que o oracle seja fornecido para a máquina de redução. Mas isso não parece uma prova da ausência de redução polinomial neste caso.

Existe uma maneira de provar isso usando o mesmo exemplo? Existe um exemplo mais simples?

sashas
fonte
Também aqui: cs.stackexchange.com/questions/37749/… .
Yuval Filmus
Não é essa a mesma pergunta que Baker Gill Solovay, 1975 ?
vzn

Respostas:

8

Consulte o Teorema de Cook Levin relativizado? .

Consulte também o artigo de Arora, Implagiazo e Vazirani: Técnicas de relativização versus não relativização: o papel da verificação local .

No artigo de Baker, Gill e Solovay (BGS) sobre relativizações do P =? Pergunta NP (SIAM Journal on Computing, 4 (4): 431–442, dezembro de 1975) eles fornecem uma linguagemB e UB de tal modo que UBNPB e UBPB, provando assim que existem oráculos B para qual PBNPB.

Vamos modificar o UB e B para UB e B para que possamos obter um novo idioma que não possa ser reduzido para 3SAT, mesmo que exista disponibilidade de B como um oráculo.

Primeiro, suponha que possamos preencher todos os 3SAT instância booleana ϕ para ϕ com algumas expressões fictícias adicionais 3CNF, tais que |ϕ| é ímpar e eles são equivalentes, ou seja, ϕ é satisfatório se ϕé satisfatório. Nós podemos fazer isso emn+O(1) tempo e com O(1) preenchimento, mas mesmo que demore tempo polinomial e preenchimento extra polinomial, isso não importa.

Agora precisamos combinar o B e 3SAT para B de alguma forma, para que o teorema de BGS ainda se mantenha, mas adicionalmente 3SATPB. Então, fazemos algo como o seguinte.

UB={1n  |  xB, de tal modo que |x|=12n} e

B=Bconstructed {ϕ  |  ϕ3SAT e |ϕ| é estranho }.

Agora vamos construir Bconstructed de acordo com o teorema tal que se a máquina determinística MiB para entrada 1n (n é determinado como no teorema) pergunta ao oráculo B uma consulta de comprimento ímpar, verificamos se está 3SATe responda corretamente, mas se ele solicitar uma consulta de tamanho uniforme, procederemos de acordo com a construção, ou seja, respondendo corretamente se já estiver na tabela, caso contrário, não responda sempre. Então, como estamos concorrendo1n lançamos as respostas em 2n comprimento para que MiB não decide UB.

Podemos provar da mesma forma que no teorema BGS que, para esse B e UB também, nós temos UBNPB e UBPB.

UBNPBé fácil de provar. Construímos uma máquina de Turing não determinística que, para entrada1n cria ramificações não determinísticas que são executadas para 2n etapas para gerar um diferente 2nde comprimento e depois pergunta ao oracle B se o 2nde comprimento está em Be, se a resposta for sim, ela aceita 1n senão ele rejeita 1n. Essa construção mostra queUBNPB.

UBPBpode ser provado com a ajuda do argumento da diagonalização. Basicamente, é diferente de cadaL(MiB) para cada máquina de Turing da Oracle que tenha Bcomo um oráculo. Isto é por causa de como construímosBconstructed.

Agora, provaremos por contradição que não existe uma redução de UB para 3SAT mesmo com a disponibilidade do oracle B.

Suponha que haja uma redução usando o oracle B, ou seja, UBPB3SAT.

Isso significa que podemos reduzir uma string do formulário 1n para uma instância 3SAT ϕ usando uma máquina determinística de tempo polinomial que usa B como oráculo.

Agora podemos descrever uma MT determinística MB que decidirá as strings UB em tempo polinomial usando Bcomo um oráculo. Primeiro, esta máquina reduz a entrada1n para uma instância 3SAT ϕ usando Bcomo um oráculo. Isso pode ser feito porque temos a redução acima. Então seϕ não é comprimento ímpar MB vai preenchê-lo para fazer ϕqual é o comprimento impar. Em seguida, isso dará a issoϕ oráculo Be obtenha a resposta sim / não. Ele aceitará se a resposta for sim e rejeitará se a resposta for não.

Esta máquina é deterministicamente polinomial e usa oracle B.

Assim, provamos que UBPB, uma contradição .

Portanto UBPB3SAT.

Shreesh
fonte
Como é LPBpossível ? Eu decidiria ser membro deLno tempo polinomial e mapeie-o para uma pequena fórmula SAT, dependendo da associação da string. Estou esquecendo de algo ?
sashas
O primeiro link não fornece a prova. Você poderia dar alguma dica de por que esse idiomaUBmencionados em Sanjeev Arora e Barak não são reduzidos em tempo polinomial para 3SAT. Além disso, o segundo link não funciona.
sashas
Como UBNP? Cada ramo da máquina de Turing não determinisítica não funciona por 2 ^ n?
Sashas
11
Observe que redefini UB. Além dissoUBNPB. Pode não pertencer a (não !!)NP.
Shreesh 22/02
11
Cada ramificação é executada para 2n etapas para gerar um diferente 2nde comprimento total e, em seguida, pergunta à Oracle se está em Be, se a resposta for sim, ela aceita ou rejeita 1n.
Shreesh 22/02