Ecco una possibile alternativa a un argomento di imbottitura, basato sulla generalizzazione di Schöning del teorema di Ladner. Per capire l'argomento, devi avere accesso a questo documento (che sfortunatamente sarà dietro un muro di paga per molti):
Uwe Schöning. Un approccio uniforme per ottenere set diagonali in classi di complessità. Theoretical Computer Science 18 (1): 95-103, 1982.
il teorema principale di quel documento per e come lingue e e come classi di complessità come segue:A 2 C 1 C 2A1A2C1C2
- PA1=∅ (o qualsiasi lingua in )P
- A2=SAT
- C1=NPC
- C2=NP∩P/poly
Per motivi di chiarezza, il fatto che dimostreremo è implica .N P I ⊈ P / p o l yNP⊈P/polyNPI⊈P/poly
dal presupposto che abbiamo e . È chiaro che e sono chiusi con variazioni finite. Il documento di Schöning include una prova che è presentabile in modo ricorsivo (la definizione precisa può essere trovata nel documento) e la parte più difficile dell'argomento è dimostrare che è presentabile in modo ricorsivo.A 1 ∉ C 1 A 2 ∉ C 2 C 1 C 2 C 1 C 2NP⊈P/polyA1∉C1A2∉C2C1C2C1C2
In base a questi presupposti, il teorema implica che esiste una lingua che non è né in né in ; e dato che , sostiene che è Karp-riducibile ad , e quindi . Dato che è in ma non è né completo né in , ne consegue che .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
Resta da dimostrare che è presentabile in modo ricorsivo. Fondamentalmente questo significa che esiste una descrizione esplicita di una sequenza di macchine Turing deterministiche che si fermano su tutti gli input e sono tali che . Se c'è un errore nel mio argomento, probabilmente è qui e se hai davvero bisogno di usare questo risultato, vorrai farlo con attenzione. Ad ogni modo, collegandosi su tutte le macchine di Turing non deterministiche a tempo polinomiale (che possono essere simulate in modo deterministico perché non ci interessa il tempo di esecuzione di ogniM 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) e tutti i polinomi, che rappresentano i limiti superiori delle dimensioni di una famiglia di circuiti booleani per un determinato linguaggio, credo che non sia difficile ottenere un elenco che funzioni. In sostanza, ogni può verificare che il suo corrispondente NTM a tempo polinomiale sia d'accordo con una famiglia di circuiti di dimensioni polinomiali fino alla lunghezza della stringa di input che viene data cercando su tutti i possibili circuiti booleani. Se c'è un accordo, viene come farebbe NTM, altrimenti rifiuta (e di conseguenza rappresenta un linguaggio finito).MkMk
L'intuizione di base dietro l'argomento (che è nascosto nel risultato di Schöning) è che non si possono mai avere due "belle" classi di complessità (cioè, quelle con presentazioni ricorsive) che sono disgiunte e sedute l'una contro l'altra. La "topologia" di classi complesse non lo consentirà: è sempre possibile costruire correttamente una lingua tra le due classi alternando in qualche modo tra le due per tratti estremamente lunghi di lunghezze di input. Il teorema di Ladner lo mostra per e e la generalizzazione di Schöning ti consente di fare lo stesso per molte altre classi.N P CPNPC