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 .
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 .
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.
la source
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.
la source