Pour le rendre plus intuitif, regardons ce qui se passe de manière plus abstraite!
Nous avons deux transformations, une pour les entrées et une pour les problèmes. Je les désignerai toutes les deux par , il sera clair d'après le contexte quand il s'agit de la première et quand il s'agit de la seconde.pad
Ces deux transformations ont la propriété suivante:
I. pour tous les problèmes , pour toutes les entrées x ∈ Σ ∗ :A⊆Σ∗x∈Σ∗
ssi x ∈ A ,pad(x)∈pad(A)x∈A
II. si est dans E X P ( N E X P ), alors p a d ( A ) est dans P ( N P ).AEXPNEXPpad(A)PNP
III. la transformation des entrées est dans la classe de complexité ,EXP
Il est clair que les transformations de remplissage ont ces propriétés.
Maintenant, la raison pour laquelle nous ne savons pas faire la même chose dans le sens inverse est que nous n'avons pas de transformations comme le remplissage dans le sens inverse (lorsque nous échangeons avec P et N E X P avec N P ). Donc la question est pourquoi?EXPPNEXPNP
Je n'ai pas d'argument formel pourquoi il n'y a pas de telles transformations pour le moment, mais intuitivement ce qu'András Salamon a dit est correct. Il est facile d'augmenter la taille des entrées, mais on ne sait pas comment les compresser?
Une autre façon de le comprendre est de penser de la manière suivante. Supposons que , et nous voulons résoudre un problème N E X P = N T i m e ( 2 n O ( 1 ) ) . On nous donne une entrée x de longueur n , nous la considérons comme une entrée de longueur N = 2 n O ( 1 ) :P=NPNEXP=NTime(2nO(1))xnN=2nO(1)
NEXP(n)=NTime(2nO(1))=NTime(N)⊆NP(N)⊆P(N)=Time(NO(1))=Time(2nO(1))=EXP(n)