Oto możliwa alternatywa dla argumentu wypełniającego, oparta na uogólnieniu twierdzenia Ladnera przez Schöninga. Aby zrozumieć argument, musisz mieć dostęp do tego dokumentu (który niestety będzie dla wielu za ścianą płatną):
Uwe Schöning. Jednolite podejście do uzyskiwania zestawów diagonalnych w klasach złożoności. Theoretical Computer Science 18 (1): 95-103, 1982.
Zastosujemy główne twierdzenie z tego artykułu dla i będących językami, a i będącymi klasami złożoności w następujący sposób:A 2 C 1 C 2A1A2C1C2
- PA1=∅ (lub dowolny język w )P
- A2=SAT
- C1=NPC
- C2=NP∩P/poly
Dla jasności udowodnimy, że implikuje .N P I ⊈ P / p o l yNP⊈P/polyNPI⊈P/poly
Zakładając, że mamy i . Oczywiste jest, że i są zamknięte w skończonych odmianach. Artykuł Schöninga zawiera dowód, że jest rekurencyjnie prezentowalny (dokładną definicję można znaleźć w artykule), a najtrudniejszą częścią argumentu jest udowodnienie, że jest rekurencyjnie prezentowalny.A 1 ∉ C 1 A 2 ∉ C 2 C 1 C 2 C 1 C 2NP⊈P/polyA1∉C1A2∉C2C1C2C1C2
Zgodnie z tymi założeniami twierdzenie implikuje, że istnieje język który nie jest ani w ani w ; i biorąc pod uwagę, że , utrzymuje, że jest do redukcji Karpa do , a zatem . Ponieważ znajduje się w ale nie jest -kompletny, ani w , wynika z tego, że .C 1 C 2 A 1 ∈ P A A 2 A ∈ N P A N P N P N P ∩ P / p o l y N P I ⊈ P / p o l yAC1C2A1∈PAA2A∈NPANPNPNP∩P/polyNPI⊈P/poly
Pozostaje udowodnić, że można rekurencyjnie prezentować. Zasadniczo oznacza to, że istnieje wyraźny opis sekwencji deterministycznych maszyn Turinga które zatrzymują się na wszystkich wejściach i są takie, że . Jeśli w moim argumencie występuje błąd, prawdopodobnie jest on tutaj, a jeśli naprawdę chcesz użyć tego wyniku, zrób to ostrożnie. W każdym razie, poprzez dopasowywanie do wszystkich niedeterministycznych maszyn Turinga w czasie wielomianowym (które można symulować deterministycznie, ponieważ nie dbamy o czas działania każdegoM 1 , M 2 , … N P ∩ P / p o l y = { L ( M k ) : k = 1 , 2 , … } M k M k M kNP∩P/polyM1,M2,…NP∩P/poly={L(Mk):k=1,2,…}Mk) i wszystkie wielomiany reprezentujące górne granice wielkości rodziny obwodów boolowskich dla danego języka, uważam, że nie jest trudno uzyskać wyliczenie, które działa. Zasadniczo, każdy może przetestować, czy odpowiadający mu NTM czasu wielomianowego zgadza się z pewną rodziną obwodów wielomianowych aż do długości ciągu wejściowego, który jest podany, przeszukując wszystkie możliwe obwody boolowskie. Jeśli istnieje zgoda, wyprowadza tak jak NTM, w przeciwnym razie odrzuca (iw rezultacie reprezentuje skończony język).MkMk
Podstawowa intuicja stojąca za argumentem (ukrytym w wyniku Schöninga) jest taka, że nigdy nie można mieć dwóch „ładnych” klas złożoności (tj. Tych z rekurencyjnymi prezentacjami), które są rozłączne i siedzą naprzeciwko siebie. „Topologia” złożonych klas nie pozwala na to: zawsze możesz poprawnie zbudować język między dwiema klasami, w jakiś sposób naprzemiennie między nimi dla bardzo długich odcinków długości wejściowych. Twierdzenie Ladnera pokazuje to dla i , a uogólnienie Schöninga pozwala zrobić to samo dla wielu innych klas.N P CPNPC