Il me semble que les arguments de diagonalisation qui peuvent être utilisés ne sont que légèrement différents d'un argument standard, comme ceux que l'on trouve dans ces notes de cours sur le théorème de Baker – Gill – Solovay ( c'est -à- dire qu'il existe des oracles pour lesquels et aussi les oracles pour lesquels ). Fondamentalement, vous devez décrire un peu différemment la manière de «concevoir» une entrée contradictoire.APA=NPAAPA≠NPA
Voici comment nous pourrions utiliser cette approche pour prouver l'existence d'un oracle pour lequel . Pour tout oracle , définissez une langue
Il est clair que pour la simple raison qu'une machine de Turing non déterministe peut examiner si l'entrée est de la forme pour certains , puis deviner une chaîne pour lequel si un tel existe. Le but est de montrer queANPA⊈BQPAALA={1n∣∣∃z∈{0,1}n:A(z,0)=(z,1)}.
LUNE∈ N PUNE1nnz∈ { 0 , 1 }nA ( z, 0 ) = ( z, 1 )zLUNE O ( 2 n /ne peut pas être décidé en temps polynomial, avec une erreur bornée, par une famille de circuits unitaires uniformes, en utilisant la borne inférieure sur le problème de recherche.O ( 2n / 2)
Soit tel que le problème de recherche sur les oracles avec des entrées à bits nécessite au moins requêtes oracle pour décider correctement (avec probabilité au moins 2/3), pour tout .c , N> 0nc 2n / 2n > N
Soit,, soit une énumération de toutes les familles de circuits oracle unitaires , de telle sorte que la séquence de portes du circuitagir sur des entrées à bits peut être produit dans un temps strictement inférieur à . (Cette limite de temps se rapporte à la condition «d'uniformité», où nous serons intéressés par les circuits qui peuvent être calculés par une machine déterministe de Turing en temps polynomial - une condition plus forte que celle que nous imposons ici. L'énumération de ces familles de circuits pourrait être faite, par par exemple, en les représentant indirectement par les machines déterministes de TuringC( 1 )C( 2 )…C( k )= { C( k )n}n ⩾ 0C( k )nnc 2n / 2T( k ) qui produisent leurs séquences de porte, et énumérer les .) Nous énumérons les familles de circuit de sorte que chaque famille de circuit se produit infiniment souvent dans l'énumération.
Des bornes d'exécution de la description de la séquence de portes, il s'ensuit notamment que a moins de portes pour tout , et en particulier fait moins de requêtes à l'oracle.C( k )nc2n/2kc2n/2
Pour tout , considérons le circuit. De la borne inférieure du problème de recherche, nous savons que pour il existe des valeurs possibles de la fonction oracle évaluées par l'oracle, telles que qu'avec la probabilité 2/3, la sortie produite parsur l'entrée n'est pas la bonne réponse pour savoir si .nC(n)nn>Nf:{0,1}n→{0,1}C(n)n1n∃z∈{0,1}n:f(z)=1
Pour chaque , sélectionnez une telle fonction pour laquelle "échoue" de cette manière.n>NfnC(n)n
Soit un oracle qui, sur des entrées de taille , évalue .An>Nfn
Ayant construit de cette manière, chaque famille de circuits ne parvient pas à décider correctement avec une probabilité d'au moins 2/3, pour certains (et une infinité de tels en fait). Alors aucune des familles de circuits décide correctement avec une probabilité de succès bornée ci-dessous par 2/3 sur toutes les entrées, de sorte que ne peut être résolu avec de telles limites par aucune famille de circuits unitaires uniformes constructible dans le temps .AC(n)LAn>NnC(k)LALAp(n)
Ainsi, , d'où il résulte que .LA∉BQPANPA⊈BQPA