Wydaje mi się, że argumenty diagonalizacji, które można zastosować, różnią się tylko nieznacznie od standardowego, np. Takie, jakie można znaleźć w tych notatkach z wykładu na temat twierdzenia Baker – Gill – Solovay ( tj. Że istnieją wyroki dla których a także wyrocznie dla których ). Zasadniczo musisz nieco inaczej opisać „inżynierowanie” przeciwnika.APA=NPAAPA≠NPA
Oto w jaki sposób możemy użyć tej metody, aby udowodnić istnienie oracle , dla których . Dla dowolnej wyroczni zdefiniuj język
Oczywiste jest, że z tego prostego powodu, że niedeterministyczna maszyna Turinga może sprawdzić, czy dane wejściowe mają postać dla jakiegoś , a następnie odgadnąć ciąg dla których jeśli takie istnieje. Celem jest pokazanie, żeANPA⊈BQPAALA={1n∣∣∃z∈{0,1}n:A(z,0)=(z,1)}.
LA∈NPA1nnz∈{0,1}nA(z,0)=(z,1)zLAnie może być ustalony w czasie wielomianowym, z błędem ograniczonym, przez jednolitą rodzinę obwodów jednolitych, przy użyciu dolnej granicy dla problemu wyszukiwania.O(2n/2)
Niech będzie takie, że problem wyszukiwania na wyroczniach z wejściami bitowymi wymaga co najmniej zapytań wyroczni, aby poprawnie podjąć decyzję (z prawdopodobieństwem co najmniej 2/3), dla wszystkich .c,N>0nc2n/2n>N
Niech,, będzie wyliczeniem wszystkich rodzin obwodów jednolitych wyroczni , tak że sekwencja bramki obwoduoddziaływanie na bitowych wejściach może być wytwarzane w czasie ściśle mniejszym niż . (Ten limit czasowy odnosi się do warunku „jednorodności”, w którym będziemy zainteresowani obwodami, które mogą być obliczone przez deterministyczną maszynę Turinga w czasie wielomianowym - warunek silniejszy niż tu narzucamy. Można wyliczyć te rodziny obwodów, ponieważ instancja, reprezentując je pośrednio przez deterministyczne maszyny TuringaC(1)C(2)…C(k)={C(k)n}n⩾0C(k)nnc2n/2T(k) , które wywołują sekwencji brama i wymienienie tych ). W wyliczyć rodziny układu tak, że każdy obwód rodziny następuje bezstopniowo często wyliczenia.
Z granic wykonawczych opisu sekwencji bramek wynika w szczególności, że ma mniej niż bramek dla wszystkich , a w szczególności tworzy mniej niż zapytań do wyroczni.C(k)nc2n/2kc2n/2
Dla dowolnego rozważ obwód. Z dolnej granicy problemu wyszukiwania wiemy, że dla istnieją możliwe wartości funkcji oracle ocenione przez wyrocznię, takie jak że z prawdopodobieństwem 2/3 dane wyjściowe wygenerowane przezna wejściu nie jest poprawną odpowiedzią na pytanie, czy .nC(n)nn>Nf:{0,1}n→{0,1}C(n)n1n∃z∈{0,1}n:f(z)=1
Dla każdego wybierz taką funkcję dla której „zawiedzie” w ten sposób.n>NfnC(n)n
Niech będzie wyrocznią, która przy wejściach o rozmiarze ocenia .An>Nfn
Po skonstruowaniu w ten sposób, każda rodzina obwodów nie poprawnie decyduje z prawdopodobieństwem co najmniej 2/3, dla niektórych (i nieskończenie wiele takich faktycznie). Wówczas żadna z rodzin obwodów poprawnie nie decyduje z prawdopodobieństwem sukcesu ograniczonym poniżej 2/3 na wszystkich wejściach, tak że nie może zostać rozwiązany z takimi granicami przez żadną jednorodną rodzinę obwodów jednolitych konstruowalną w czasie .AC(n)LAn>NnC(k)LALAp(n)
Tak więc, , z którego wynika, że .LA∉BQPANPA⊈BQPA