On que car l'inverse impliquerait . Le théorème de Ladner établit que si alors . Cependant, la preuve ne semble pas généraliser à donc la possibilité ie semble ouvert.
En supposant que (ou même que la hiérarchie polynomiale ne s'effondre à aucun niveau), est connu pour être vrai ou faux? Quelles preuves peuvent être avancées pour ou contre?
cc.complexity-theory
complexity-classes
advice-and-nonuniformity
p-vs-np
np-intermediate
Vanessa
la source
la source
Réponses:
Voici une alternative possible à un argument de remplissage, basé sur la généralisation de Schöning du théorème de Ladner. Pour comprendre l'argument, vous devez avoir accès à ce document (qui sera malheureusement derrière un mur de rémunération pour beaucoup):
Nous appliquerons le théorème principal de cet article pour et A 2 étant des langues et C 1 et C 2 étant des classes de complexité comme suit:A1 A2 C1 C2
Par souci de clarté, le fait que nous prouverons que implique N P I ⊈ P / p o l y .NP⊈P/poly NPI⊈P/poly
Dans l'hypothèse que nous avons A 1 ∉ C 1 et A 2 ∉ C 2 . Il est clair que C 1 et C 2 sont fermés sous des variations finies. L'article de Schöning comprend une preuve que C 1 est récursivement présentable (dont la définition précise peut être trouvée dans l'article), et la partie la plus difficile de l'argument est de prouver que C 2 est récursivement présentable.NP⊈P/poly A1∉C1 A2∉C2 C1 C2 C1 C2
Sous ces hypothèses, le théorème implique qu'il existe un langage qui n'est ni en C 1 ni en C 2 ; et étant donné que A 1 ∈ P , il estime que A est Karp réductible à A 2 , et donc A ∈ N P . Étant donné que A est dans N P mais n'est ni N P- complet ni dans N P ∩ P / p o l y , il s'ensuit que N PA C1 C2 A1∈P A A2 A∈NP A NP NP NP∩P/poly .NPI⊈P/poly
Il reste à prouver que est présentable récursivement. Fondamentalement, cela signifie qu'il existe une description explicite d'une séquence de machines de Turing déterministes M 1 , M 2 , … qui s'arrêtent toutes sur toutes les entrées et sont telles que N P ∩ P / p o l y = { L ( M k ) : k = 1 , 2 , … }NP∩P/poly M1,M2,… NP∩P/poly={L(Mk):k=1,2,…} . S'il y a une erreur dans mon argument, c'est probablement ici, et si vous avez vraiment besoin d'utiliser ce résultat, vous voudrez le faire avec soin. Quoi qu'il en soit, en alignant sur toutes les machines de Turing non déterministes à temps polynomial (qui peuvent être simulées de manière déterministe parce que nous ne nous soucions pas du temps de fonctionnement de chaque ) et tous les polynômes, représentant les limites supérieures de la taille d'une famille de circuits booléens pour un étant donné la langue, je pense qu'il n'est pas difficile d'obtenir un dénombrement qui fonctionne. En substance, chaque M k peut tester que son NTM à temps polynomial correspondant est en accord avec une famille de circuits de taille polynomiale jusqu'à la longueur de la chaîne d'entrée qui lui est donnée en recherchant sur tous les circuits booléens possibles. S'il y a accord, M kMk Mk Mk sorties comme le ferait le NTM, sinon il rejette (et en conséquence représente un langage fini).
L'intuition de base derrière l'argument (qui est caché dans le résultat de Schöning) est que vous ne pouvez jamais avoir deux classes de complexité "agréables" (c'est-à-dire, celles avec des présentations récursives) étant disjointes et assises l'une contre l'autre. La "topologie" des classes complexes ne le permet pas: vous pouvez toujours construire correctement un langage entre les deux classes en alternant d'une manière ou d'une autre entre les deux pour des tronçons extrêmement longs de longueurs d'entrée. Le théorème de Ladner le montre pour et N P C , et la généralisation de Schöning vous permet de faire de même pour de nombreuses autres classes.P NPC
la source
Je voudrais juste écrire une version d'un argument de remplissage comme décrit dans les commentaires. Je ne vois pas pourquoi un écart est nécessaire. Nous voulons montrer que si NP n'est pas contenu dans P / poly alors il y a un problème NP-intermédiaire non contenu dans P / poly.
Il existe une fonction illimitée telle que SAT n'a pas de circuits de taille inférieure à n f ( n ) , et il existe donc une fonction g illimitée, croissante et g ( n ) = o ( f ( n ) ) . Soit SAT 'le langage obtenu en remplissant les chaînes SAT de longueur n à n g ( n ) . Ensuite:f nf(n) g g(n)=o(f(n)) n ng(n)
Modifier:
Le choix de est un peu délicat. Si vous êtes heureux de mettre SAT 'dans la version promise de NP, ce bit n'est pas nécessaire.g
Définissez comme étant l'entier maximal de sorte qu'il n'y ait pas de circuit de taille n f ( n ) pour les chaînes de longueur n pour SAT. Définissez g ( n ) par un algorithme qui calcule f ( m ) pour m = 1 , 2 , … et s'arrête après le temps n ou lorsque m = n , et renvoie le plancher de la racine carrée de la valeur la plus élevée trouvée à ce moment. Alors g ( n )f(n) nf(n) n g(n) f(m) m=1,2,… n m=n g(n) est illimitée et et g ( n ) peut être calculé dans le temps n . Notez maintenant que les arguments ci-dessus reposent uniquement sur SAT n'ayant pas de circuits de taille n f ( n ) pour une infinité de n .lim infg(n)/f(n)=0 g(n) n nf(n) n
Je trouverais également intéressant de voir une preuve en faisant des trous dans SAT comme dans http://blog.computationalcomplexity.org/media/ladner.pdf . Sans l'exigence NP, cela est assez facile: il existe une séquence telle qu'aucune taille de circuit os ( n k ) k ne détecte les chaînes SAT de longueur n ; restreindre SAT aux chaînes de longueur n 2 2 i pour certains i .n1<n2<… (nk)k n n22i i
la source
(NPI P / poly)⊈ ⟹ (P NP)≠
la source