Peut-on montrer la dureté NP en réduisant Turing?

19

Dans l'étude Complexity of the Frobenius Problem de Ramírez-Alfonsín, un problème s'est révélé être NP-complet en utilisant les réductions de Turing. Est-ce possible? De quelle façon précisément? Je pensais que cela n'était possible que par une réduction polynomiale de plusieurs fois. Y a-t-il des références à ce sujet?

Existe-t-il deux notions différentes de dureté NP, voire de complétude NP? Mais alors je suis confus, parce que d'un point de vue pratique, si je veux montrer que mon problème est NP-difficile, que dois-je utiliser?

Ils ont commencé la description comme suit:

Un temps polynomial Réduction de Turing d'un problème à un autre problème P 2 est un algorithme A qui résout P 1 en utilisant un sous-programme hypothétique A 'pour résoudre P 2 de telle sorte que, si A' était un algorithme de temps polynomial pour P 2 alors A serait un algorithme de temps polynomial pour P 1 . On dit que P 1 peut être Turing réduit à P 2 .P1P2P1P2P2P1P1P2

Un problème est appelé (Turing) NP-difficile s'il y a un problème de décision NP-complet P 2 tel que P 2 peut être Turing réduit à P 1 .P1P2P2P1

Et puis ils utilisent une telle réduction de Turing à partir d'un problème NP-complet pour montrer NP-exhaustivité d'un autre problème.

user2145167
la source

Réponses:

17

Il existe (au moins) deux notions différentes de dureté NP. La notion habituelle, qui utilise des réductions Karp, indique qu'une langue est NP-difficile si toutes les langues NP-Karp réduit à L . Si nous changeons les réductions Karp en réductions Cook, nous obtenons une notion différente. Chaque langue qui est Karp-NP-hard est aussi Cook-NP-hard, mais l'inverse est probablement faux. Supposons que NP est différent de coNP, et prenez votre langue NP-complet favori L . Ensuite, le complément de L est Cook-NP-hard mais pas Karp-NP-hard.LLLL

La raison pour laquelle est Cook-NP-hard est la suivante: prenez n'importe quelle langue M dans NP. Etant donné que L est NP-dur, il existe une fonction polynomial f de telle sorte que x M ssi f ( x ) L ssi f ( x ) ¯ L . Une réduction de Cook de M à ¯ L prend x , calcule f ( x ) , vérifie si f ( x ) ¯L¯MLfxMf(x)Lf(x)L¯ML¯xf(x) , et génère l'inverse.f(x)L¯

La raison pour laquelle n'est pas NP-dur (en supposant que NP est différent de coNP) est la suivante. Supposons que ¯ L était NP-dur. Ensuite , pour chaque langue M dans coNP, il y a une réduction de polynomial f tel que x ¯ M ssi f ( x ) ¯ L , ou en d' autres termes, x M ssi f ( x ) L . Puisque L est dans NP, cela montre que M est dans NP, et donc coNP L¯L¯MfxM¯f(x)L¯xMf(x)LLMNP. Cela implique immédiatement que NP coNP, et donc NP = coNP.

Si une langue Cook-NP-dur est P, alors P = NP: pour toute langue M dans NP, utilisez la réduction Cook L pour donner un algorithme polynomial pour M . Donc, dans ce sens, les langages complets Cook-NP sont également "les plus difficiles en NP". D'autre part, il est facile de voir que Cook-NP-dur = Cook-coNP dur: une réduction Faire cuire L peut être converti en une réduction Laisser cuire ¯ L . Nous perdons donc une certaine précision en utilisant les réductions Cook.LMLMLL¯

Il y a probablement d'autres inconvénients à utiliser les réductions Cook, mais je laisse cela aux autres répondeurs.

Yuval Filmus
la source
Je n'ai pas encore complètement compris tout cela, je dois dire. Mais j'ai une autre question, vous pouvez peut-être y répondre (car il n'y a pas tant d'autres réponses): et si j'ai un rouge de Turing. du problème NP-complet A à un problème B et un rouge Karp. du problème B au problème C. Est-ce que cela établit la complétude NP du problème C (l'appartenance n'est pas un problème)? Et en général, puis-je appeler le problème B NP-difficile ou plutôt (Turing) NP-difficile? Merci!
user2145167
4
Deux réductions Karp composent une réduction Karp et deux réductions Cook composent une réduction Cook. Puisqu'une réduction Karp est également une réduction Cook, si vous composez une réduction Karp et une réduction Cook, vous obtenez une réduction Cook. Mais en général, vous n'obtenez pas de réduction Karp.
Yuval Filmus
xMf(x)Lf(x)L¯
MLfxMf(x)L f,xf(x)Lf(x)L¯L¯Lf
6

C'est très bien. Une réduction de Turing en temps polynomial est une réduction de Cook (comme dans le théorème de Cook-Levin) et la réduction d'un problème NP-complet au nouveau problème donne une dureté NP (tout comme une réduction plusieurs-un de polynôme-tiem, réduction AKA Karp). En effet, les réductions de Karp ne sont de toute façon que des réductions de Turing restreintes.

Là où ils diffèrent (en ce qui concerne cette question), c'est en montrant l'adhésion. Une réduction de Karp d'un problème à un problème dans NP montre que le premier est dans NP. Une réduction Cook dans la même direction ne fonctionne pas.

Luke Mathieson
la source
Merci. Je ne savais même pas que l'on montre l'adhésion en utilisant explicitement une réduction de Karp. Mais cela a du sens. Mais on peut montrer l'appartenance à NP en utilisant une réduction de Turing dans les deux sens, non?
user2145167
1
@ user2145167 non, la réponse de Yuval donne toute l'histoire ici, mais en bref, les réductions Cook sont plus faibles, alors permettez-en plus - par exemple, vous pouvez passer de tout problème co-NP via une réduction Cook à tout problème NP-complet, ce qui n'est pas vrai pour les réductions Karp.
Luke Mathieson