Le NPI est-il contenu dans P / poly?


29

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.NPP/polyPH=Σ2PNPNPI:=NP(NPCP)P/polyNPIP/polyNPNPCP/poly

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?NPP/polyNPIP/poly


5
donc, "que se passerait-il si tous les problèmes dans NP étaient NP-complets ou dans P \ poly"? d'une part, cela impliquerait de petits circuits pour l'affacturage
Sasho Nikolov

1
ps: le post serait plus lisible si vous épelez "it" dans la partie citée. Vous pouvez également utiliser à la place de comme hypothèse. N PPNPP/polyNPP
Kaveh

4
Un argument de remplissage ne montrera-t-il pas que cela ne peut se produire que si NP P / poly?
Peter Shor

3
@ PeterShor: Je suis probablement dense, mais comment cela fonctionnerait-il exactement?
Vanessa

8
@Squark: vous n'êtes pas dense ... Je n'avais pas déterminé exactement comment cela fonctionnerait, et je pense que j'ai mal dit le résultat légèrement. Mais voici mon idée de base. Supposons que les problèmes NP-complets ne puissent pas être résolus en un temps et des conseils sous-exponentiels. Prenez un problème X NP-complet, et remplissez-le de sorte que l'algorithme le plus rapide pour lui soit à peine sous-exponentiel. Ensuite, c'est NPI, donc il peut être résolu en P / poly. Cela signifie que le problème NP-complet X peut être résolu dans le temps à peine plus lentement que le temps P / poly. Par réduction polynomiale, tous les problèmes NP-complets peuvent maintenant être résolus en un temps légèrement plus lent que le temps P / poly.
Peter Shor

Réponses:


18

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):

Uwe Schöning. Une approche uniforme pour obtenir des ensembles diagonaux dans les classes de complexité. Informatique théorique 18 (1): 95-103, 1982.

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:A1A2C1C2

  • (ou n'importe quelle langue en P )A1=P
  • A2=SAT
  • C1=NPC
  • C2=NPP/poly

Par souci de clarté, le fait que nous prouverons que implique N P IP / p o l y .NPP/polyNPIP/poly

Dans l'hypothèse que nous avons A 1C 1 et A 2C 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.NPP/polyA1C1A2C2C1C2C1C2

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 1P , 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 PP / p o l y , il s'ensuit que N PAC1C2A1PAA2ANPANPNPNPP/poly .NPIP/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 PP / p o l y = { L ( M k ) : k = 1 , 2 , }NPP/polyM1,M2,NPP/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 kMkMkMk 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.PNPC


7
Ceci est un lien vers les publications de Schöning disponibles en ligne gratuitement, y compris celle à laquelle vous vous référez: uni-ulm.de/in/theo/m/schoening/…
Alessandro Cosentino

1
Merci beaucoup pour votre réponse! Le plus drôle, c'est que je connaissais le théorème de Shoening, mais pour une raison stupide, je pensais qu'il ne s'applique pas dans ce cas. Au fait, le texte est disponible gratuitement même dans scienceDirect
Vanessa

1
@Squark: Il n'est pas stupide de soupçonner que le théorème de Schöning ne s'applique pas, étant donné que P / poly comprend des langages non récursifs. Je suppose que c'est une chance que nous puissions l'intersecter avec NP et toujours obtenir le résultat.
John Watrous

1
@JohnWatrous: Oui, c'est précisément la raison pour laquelle j'étais confus
Vanessa

15

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:fnf(n)gg(n)=o(f(n))nng(n)

  • SAT 'est en NP (voir ci-dessous!)
  • SAT 'n'est pas en P / poly: pour des circuits de taille pour SAT', on obtient des circuits de taille n g ( n ) k pour SAT, mais c'est moins que n f ( n ) pour certains n .nkng(n)knf(n)n
  • Il n'y a pas de réduction P / poly de SAT à SAT ': supposons par contradiction qu'il existe des circuits de taille n k pour SAT, permettant des portes SAT'. Choisissez N assez grand pour que g ( CnnkNet laissern>N. Chaque porte SAT 'enCna au plusnkentrées. En supprimant les entrées de remplissage, nous pouvons découper les portes SAT 'enCnà une porte SAT avec moins deg(N)>2kn>NCnnkCn entrées, que nous pouvons simuler en utilisantCn - les portes SAT résultantes ont au plusnk/2entrées. En répétant cela et en traitantCNà la main, SAT aurait des circuits d'environ la tailleO(nknk/2nk/4)O(n2k)qui est inférieur ànf(n)pour certainsn.Cnnk/2CNO(nknk/2nk/4)O(n2k)nf(n)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)ng(n)f(m)m=1,2,nm=ng(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)=0g(n)nnf(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)knn22ii


1
Après avoir vu la réponse de @ JohnWatrous, je me suis souvenu de la preuve d'Impagliazzo du théorème de Ladner par remplissage (voir l'annexe de Downey et Fortnow "Uniformly Hard Languages": cs.uchicago.edu/~fortnow/papers/uniform.pdf ). En fait, votre preuve est fondamentalement la preuve d'Impagliazzo de Ladner, mais adaptée à cette situation. Soigné!
Joshua Grochow

1
Merci beaucoup pour votre réponse! Je m'excuse de ne pas l'avoir sélectionné mais j'ai dû en choisir un et l'argument de Watrous était plus facile à suivre car il utilisait un résultat que je connaissais déjà. C'est une façon plutôt subjective de choisir mais je ne pourrais pas faire mieux. Quoi qu'il en soit, c'est génial d'avoir plus d'une façon d'arriver à un résultat intéressant
Vanessa

1
@Squark: absolument - et j'ai également supposé que le théorème de Schöning ne s'appliquait pas.
Colin McQuillan

-13

(NPI P / poly)(P NP)


8
il est à la fois connu et trivial: si P = NP, alors . aussi ce n'est pas la question, la question est l'inverse de ce que vous avez écrit, et Colin a répondu de façon convaincante pour autant que je puisse voir. NPINP=PP/pol
Sasho Nikolov

la question est intitulée "est NPI contenu dans P / Poly" et pense que c'est une réponse raisonnable, pas sûr que ce soit vraiment trivial en raison de la façon dont NPI est généralement défini (comme dépendant de P NP) ... cette réponse n'est pas en conflit avec l'autre réponse ...
vzn

9
En fait, c'est encore plus évidemment trivial: si P = NP, NPI est vide. La question est clairement énoncée comme "le NP ne figure pas dans P / poly implique NPI pas dans P / poly. Donc votre réponse 1) prétend qu'un fait trivial est un problème ouvert 2) ne répond pas à la question
Sasho Nikolov

8
Je me moquais des points. Pour la dernière fois: mon premier commentaire, la réponse de Colin et la question elle-même sont liés à la conversation beaucoup moins triviale et plus intéressante de l'implication vide que vous avez notée.
Sasho Nikolov

11
-1: parfois perdre le point semble juste
Alessandro Cosentino
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.