Parece-me que os argumentos de diagonalização que podem ser usados são apenas ligeiramente diferentes dos argumentos padrão, por exemplo , os que podem ser encontrados nessas notas de aula sobre o Teorema de Baker – Gill – Solovay ( ou seja , que existem oráculos para os quais e também oráculos para os quais ). Basicamente, você deve descrever como 'projetar' uma entrada do adversário de maneira um pouco diferente.APA=NPAAPA≠NPA
Veja como podemos usar essa abordagem para provar a existência de um oráculo para o qual . Para qualquer oráculo , defina um idioma
Está claro que pela simples razão de que uma máquina de Turing não determinística pode examinar se a entrada tem o formato para alguns e, em seguida, adivinhar uma string para o qual se esse existir. O objetivo é mostrar queANPA⊈BQPAALA={1n∣∣∃z∈{0,1}n:A(z,0)=(z,1)}.
LA∈NPA1nnz∈{0,1}nA(z,0)=(z,1)zLAnão pode ser decidido em tempo polinomial, com erro limitado, por uma família de circuitos unitários uniforme, usando o limite inferior no problema de pesquisa.O(2n/2)
Seja tal que o problema de pesquisa em oráculos com entradas de bits exija pelo menos consultas oracle para decidir corretamente (com probabilidade de pelo menos 2/3), para todos os .c,N>0nc2n/2n>N
Vamos,, ser uma enumeração de todas as famílias unitárias de circuitos oracle , de modo que a sequência da porta do circuitoatuar em entradas de bits pode ser produzido em tempo estritamente menor que . (Esse tempo limite refere-se à condição de 'uniformidade', na qual estaremos interessados em circuitos podem ser calculados por uma máquina de Turing determinística em tempo polinomial - uma condição mais forte do que a que impomos aqui. A enumeração dessas famílias de circuitos poderia ser feita, por Por exemplo, representando-os indiretamente pelas máquinas determinísticas de TuringC(1)C(2)…C(k)={C(k)n}n⩾0C(k)nnc2n/2T(k) , que produzem as suas sequências de porta, e enumerando aqueles .) Nós enumerar as famílias de circuito de modo a que cada família circuito ocorre infinitamente muitas vezes na enumeração.
A partir dos limites de tempo de execução na descrição da sequência do gate, segue-se, em particular, que possui menos de portas para todos os e, em particular, produz menos que consultas ao oráculo.C(k)nc2n/2kc2n/2
Para qualquer , considere o circuito. Pelo limite inferior do problema de pesquisa, sabemos que para existem valores possíveis da função oracle avaliada pelo oracle, como que com probabilidade 2/3, a saída produzida porna entrada não é a resposta correta para se .nC(n)nn>Nf:{0,1}n→{0,1}C(n)n1n∃z∈{0,1}n:f(z)=1
Para cada , selecione a função para a qual "falha" dessa maneira.n>NfnC(n)n
Seja um oráculo que, nas entradas de tamanho , avalia .An>Nfn
Tendo construído dessa maneira, cada família de circuitos falha em decidir corretamente com probabilidade de pelo menos 2/3, para alguns (e infinitamente muitos desses de fato). Então, nenhuma das famílias de circuitos decide corretamente com probabilidade de sucesso limitada abaixo de 2/3 em todas as entradas, de modo que não possa ser resolvido com tais limites por nenhuma família uniforme de circuitos unitários construtível no tempo .AC(n)LAn>NnC(k)LALAp(n)
Assim, , a partir do qual se segue que .LA∉BQPANPA⊈BQPA