No artigo Complexidade do Problema de Frobenius, de Ramírez-Alfonsín, um problema foi comprovado como NP-completo usando reduções de Turing. Isso é possível? Como exatamente? Eu pensei que isso só era possível por um tempo polinomial de muitas reduções. Há alguma referência sobre isso?
Existem duas noções diferentes de dureza NP, mesmo a completude NP? Mas então eu estou confuso, porque, do ponto de vista prático, se eu quero mostrar que meu problema é NP-difícil, qual uso?
Eles começaram a descrição da seguinte maneira:
Um tempo polinomial Redução de Turing de um problema para outro problema é um algoritmo A que resolve usando uma subrotina hipotética A 'para resolver modo que, se A' fosse um algoritmo de tempo polinomial para , A seria um tempo polinomial algoritmo para . Dizemos que pode ser Turing reduzido para .P 2 P 1 P 2 P 2 P 1 P 1 P 2
Um problema é chamado (Turing) NP-hard se houver um problema de decisão completo NP modo que possa ser Turing reduzido para .P 2 P 2 P 1
E então eles usam essa redução de Turing de um problema NP-completo para mostrar a completude NP de algum outro problema.