Mi sembra che gli argomenti di diagonalizzazione che possono essere utilizzati siano solo leggermente diversi da uno standard, ad esempio quelli che si possono trovare in questi appunti delle lezioni sul teorema Baker – Gill – Solovay ( cioè che ci sono oracoli per i quali e anche oracoli per i quali ). Fondamentalmente, devi descrivere come "ingegnerizzare" un input contraddittorio in modo leggermente diverso.APA=NPAAPA≠NPA
Ecco come potremmo utilizzare questo approccio per dimostrare l'esistenza di un oracolo per i quali . Per qualsiasi oracolo , definisci una lingua
È chiaro che per la semplice ragione che una macchina di Turing non deterministica può esaminare se l'input è della forma per qualche , e quindi indovinare una stringa per cui se esiste tale . L'obiettivo è mostrare cheANPA⊈BQPAALA={1n∣∣∃z∈{0,1}n:A(z,0)=(z,1)}.
LA∈NPA1nnz∈{0,1}nA(z,0)=(z,1)zLAnon può essere deciso in tempo polinomiale, con errore limitato, da una famiglia di circuiti unitaria uniforme, usando il limite inferiore sul problema di ricerca.O(2n/2)
Sia tale che il problema di ricerca su oracoli con input -bit richieda almeno interrogazioni oracolari per decidere correttamente (con probabilità almeno 2/3), per tutti .c,N>0nc2n/2n>N
Lascia che,, essere un censimento di tutti i circuiti oracolo unitaria famiglie , tale che il porta-sequenza del circuitoagendo su input -bit può essere prodotto in tempi strettamente inferiori a . (Questo limite di tempo si riferisce alla condizione di "uniformità", in cui saremo interessati ai circuiti che possono essere calcolati da una macchina di Turing deterministica nel tempo polinomiale - una condizione più forte di quella che imponiamo qui. L'enumerazione di queste famiglie di circuiti potrebbe essere fatta, perché esempio, rappresentandoli indirettamente dalle macchine deterministiche di TuringC(1)C(2)…C(k)={C(k)n}n⩾0C(k)nnc2n/2T(k) che producono le loro sequenze di gate ed enumerando quelle .) Enumeriamo le famiglie di circuiti in modo che ogni famiglia di circuiti si presenti all'infinito spesso nell'enumerazione.
Dai limiti di runtime sulla descrizione della sequenza di gate, segue in particolare che ha meno di porte per tutti i , e in particolare rende meno di interroga l'oracolo.C(k)nc2n/2kc2n/2
Per ogni , considera il circuito. Dal limite inferiore del problema di ricerca, sappiamo che per ci sono possibili valori della funzione oracolo valutati dall'oracolo, ad esempio che con probabilità 2/3, l'output prodotto dasull'input non è la risposta corretta a .nC(n)nn>Nf:{0,1}n→{0,1}C(n)n1n∃z∈{0,1}n:f(z)=1
Per ogni , selezionare tale funzione per la quale "non riesce" in questo modo.n>NfnC(n)n
Sia un oracolo che, su input di dimensione , valuta .An>Nfn
Avendo costruito in questo modo, ogni famiglia di circuiti non riesce a decidere correttamente con probabilità almeno 2/3, per alcuni (e infinitamente molti di questi in effetti). Quindi nessuna delle famiglie di circuiti decide correttamente con probabilità di successo limitata sotto di 2/3 su tutti gli ingressi, in modo che non possa essere risolto con tali limiti da alcuna famiglia di circuiti unitaria uniforme costruibile nel tempo .AC(n)LAn>NnC(k)LALAp(n)
Così, , da cui ne consegue che .LA∉BQPANPA⊈BQPA