A noção de redução de tempo polinomial (reduções de Cook) é uma abstração de um conceito muito intuitivo: resolver um problema com eficiência usando um algoritmo para um problema diferente.
No entanto, na teoria de -completeness, a noção de -hardness é capturado por meio de reduções de mapeamento (reduções Karp). Esse conceito de reduções "restritas" é muito menos intuitivo (pelo menos para mim). Parece até um pouco artificial, pois cria uma noção um pouco menos intuitiva de dureza; estou me referindo ao fato de que não contém trivialmente . Embora na teoria da complexidade estamos muito acostumados ao conceito de que poder resolver um problema como não implica que possamos resolver, em configurações naturais (que são capturadas pelas reduções de Cook), assumindo que temos um algoritmo para resolver , podemos resolver apenas executando o algoritmo para e retornando o oposto.
Minha pergunta é por que devemos usar as reduções de Karp para a teoria da ? Que noção intuitiva ele captura? Como isso se relaciona com a maneira como entendemos a "dureza da computação" no mundo real?