La noción de reducciones de tiempo polinomiales (reducciones de Cook) es una abstracción de un concepto muy intuitivo: resolver eficientemente un problema utilizando un algoritmo para un problema diferente.
Sin embargo, en la teoría de la completitud de , la noción de dureza de N P se captura mediante reducciones de mapeo (reducciones de Karp). Este concepto de reducciones "restringidas" es mucho menos intuitivo (al menos para mí). Incluso parece un poco artificial, ya que crea una noción algo menos intuitiva de dureza; con esto me estoy refiriendo al hecho de que N P no contiene no trivial C O - N P . Aunque en la teoría de la complejidad estamos muy acostumbrados al concepto de que poder resolver un problema como S A T no implica que podamos resolver ¯ S A T, en entornos naturales (que son capturados por las reducciones de Cook), suponiendo que tengamos un algoritmo para resolver , podemos resolver ¯ S A T simplemente ejecutando el algoritmo para S A T y devolviendo lo contrario.
Mi pregunta es ¿por qué deberíamos usar las reducciones de Karp para la teoría de la completitud de ? ¿Qué noción intuitiva captura? ¿Cómo se relaciona con la forma en que entendemos la "dureza de la computación" en el mundo real?