Edit : Comme Ravi Boppana l'a correctement souligné dans sa réponse et Scott Aaronson a également ajouté un autre exemple dans sa réponse , la réponse à cette question s'est avérée «oui» d'une manière à laquelle je ne m'attendais pas du tout. J'ai d'abord pensé qu'ils n'avaient pas répondu à la question que je voulais poser, mais après réflexion, ces constructions répondent à au moins une des questions que je voulais poser, à savoir: «Existe-t-il un moyen de prouver un résultat conditionnel 'P = NP ⇒ L ∈P 'sans prouver le résultat inconditionnel L ∈PH? ”Merci, Ravi et Scott!
Existe-t-il un problème de décision L tel que les conditions suivantes soient toutes les deux remplies?
- L n'est pas connu pour être dans la hiérarchie polynomiale.
- On sait que P = NP impliquera L ∈P.
Un exemple artificiel est aussi bon qu'un exemple naturel. De plus, bien que j'utilise la lettre « L », cela peut être un problème de promesse au lieu d'une langue si cela aide.
Contexte . Si nous savons qu'un problème de décision L est dans la hiérarchie polynomiale, alors nous savons que «P = NP ⇒ L ∈P». L'intention de la question est de demander si l'inverse est vrai. Si un langage L satisfaisant aux deux conditions ci-dessus existe, il peut être considéré comme une preuve de l'échec de l'inverse.
La question a été motivée par le commentaire intéressant de Joe Fitzsimons à ma réponse à la question de Walter Bishop « Conséquences de #P = FP ».
Réponses:
Puisque cela ne vous dérange pas un langage artificiel, que diriez-vous de définir comme étant vide si P est égal à NP et comme étant le problème d'arrêt si P n'est pas égal à NP. D'accord, c'est un peu une triche, mais je pense que vous devrez reformuler le problème pour éviter de telles tricheries.L
la source
Si un exemple artificiel est vraiment aussi bon qu'un naturel, alors je peux en effet fournir un tel exemple!
Edit: En outre, mon exemple est "un peu" moins une triche que celui suggéré par Ravi Boppana (où nous prenons L pour être la langue vide si P = NP et le problème d'arrêt autrement), en ce que je définirai la langue L en donnant une procédure finie pour décider si L pour toute entrée x. A aucun moment, décider si x∈L nécessite de résoudre une question mathématique "non bornée" telle que P vs. NP.x∈
Sans plus tarder: laisserM1,M2,... être une énumération des machines Turing polytime. Pour tout , soit M t ( n ) le premier lexicographiquement M i qui décide correctement 3SAT sur toutes les entrées de longueur n ou moins. Définissez ensuite le langage L comme suit: pour toutes les entrées x de taille n , x ∈ L si et seulement si la machine de Turing codée par x s'arrête au plus n t ( n )n Mt(n) Mi n x n x∈ x nt(n) étapes lors de l'exécution sur une bande vierge.
Allégation 1: si P = NP, alors L P.∈
Preuve: si P = NP, alors il y a un certain fixe qui résout 3SAT pour toutes les entrées; d'où t ( n ) ≤Mi pour tout n . QEDt(n)≤i n
Allégation 2: Si P NP, alors L ∉ P.≠ ∉
Preuve: si augmente sans limite, alors nous pouvons simplement appliquer le théorème de la hiérarchie temporelle. QEDt(n)
Maintenant, non seulement L n'est pas dans P en supposant P NP: on suppose qu'il ne serait pas non plus en PH (ou même PSPACE)!≠
Par ailleurs, je me demande si quelqu'un peut améliorer la construction ci-dessus, pour obtenir un langage L qui est en P si P = NP, mais prouvablement pas en PH ou PSPACE si P≠ NP?
la source
Répondant à la question de Scott Aaronson, mais un peu trop long pour un commentaire, voici une construction d'un langage tel que P = NL implique L ∈ P , mais P ≠ N P implique L ∉ P HP=NP L∈P P≠NP L∉PH .
Soit et t ( n ) comme dans la construction de Scott. On fait en sorte que L ne se réduise pas à Σ k S A T pour chaque k , mais on ne le fait que si t ( n ) → ∞ (ie si P ≠ N P ). La construction se déroule par étapes. Au stade s = ( i , j )M1,M2,M3,… t(n) L ΣkSAT k t(n)→∞ P≠NP s=(i,j) (en utilisant une bijection facilement calculable et facilement inversible ), nous nous assurons que M i n'est pas une réduction de plusieurs de L à Σ j S A T . Soit nΣ∗→Σ∗×Σ∗ Mi L ΣjSAT le plus petit entier tel quet( n s )>t( n s - 1 )(cas de base: n 0 =1). S'il existe un tel entier n sns t(ns)>t(ns−1) n0=1 ns , alors définissez . S'il n'y a pas un tel entier n s , nous laissons L vide pour toujours.L(1ns)=1−ΣkSAT(Mi(1ns)) ns L
Si , alors t ( n ) → ∞ comme n → ∞ , donc il y a toujours un tel n s , d' où L est pas dans P H . Si P = N P , alors mon L est différent de ne finiment Scott de L , et est donc dans P .P≠NP t(n)→∞ n→∞ ns L PH P=NP L L P
la source